Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SER516 Lecture 02

SER516 Lecture 02

Software Agility
Introduction
(202101)

Javier Gonzalez-Sanchez
PRO

January 15, 2019
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs
    SER 516
    Software Agility
    Lecture 02: Introduction
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    javiergs.engineering.asu.edu | javiergs.com
    PERALTA 230U
    Office Hours: By appointment

    View Slide

  2. jgs
    0516 0010
    Software Agility
    § Agile – Process Model
    § Definition:
    Organized set of steps

    View Slide

  3. jgs
    0516 0010
    Process Models
    Linear
    Parallel
    Plan-driven
    Waterfall
    Change
    Iterative

    View Slide

  4. jgs
    0516 0010
    Process Models
    Linear
    Parallel
    Plan-driven
    Waterfall
    Change
    V-model
    testing
    Iterative

    View Slide

  5. jgs
    0516 0010
    Process Models
    Linear
    Iterative
    Parallel
    Plan-driven
    Incremental
    Change

    View Slide

  6. jgs
    0516 0010
    Process Models
    Linear
    Iterative
    Parallel
    Plan-driven
    Agile
    Change

    View Slide

  7. jgs
    0516 0010
    Process Models
    Linear
    Iterative
    Parallel
    Plan-driven
    Agile
    Change
    Agile emerged in the late 1990s and it
    aim was to radically reduce the
    delivery time for working software
    systems

    View Slide

  8. jgs
    0516 0010
    Process Models
    Linear
    Iterative
    Parallel
    Plan-driven
    Agile
    Change
    An Adaptive (Informal) Plan
    + daily work tracking
    A Contract

    View Slide

  9. jgs
    Scenario 1

    View Slide

  10. jgs
    0516 0010
    Case Study

    View Slide

  11. jgs
    0516 0010
    Case Study

    View Slide

  12. jgs
    0516 0010
    Case Study

    View Slide

  13. jgs
    0516 0010
    Case Study

    View Slide

  14. jgs
    0516 0010
    Error
    This are not Sprints!

    View Slide

  15. jgs
    Scenario 2

    View Slide

  16. jgs
    0516 0010
    Just Programming ...

    View Slide

  17. jgs
    0516 0010
    Agile Manifesto
    § Through this work we have come to value:
    Individuals and interactions over processes and tools,
    Working software over comprehensive documentation,
    Customer collaboration over contract negotiation,
    Responding to change over following a plan.
    § That is, while there is value in the items on the right, we value the items on
    the left more.

    View Slide

  18. jgs
    0516 0010
    Agile Manifesto
    Human-Human
    Interaction Process
    Working Software Documents
    Plan
    Change
    while there is value
    in the items on the right,
    we value
    the items on the left
    more.

    View Slide

  19. jgs
    0516 0010
    Applicability
    § Product development where a software company is developing a small or
    medium-sized product for sale.
    Several software products and apps nowadays are small or medium-
    sized; therefore, they are developed using an agile approach.
    § Custom system development within an organization, where there is a clear
    commitment from the customer to become involved in the development
    process and where there are few external rules and regulations that affect
    the software.

    View Slide

  20. jgs
    0516 0010
    Pros
    § The product is broken down into a set of manageable and understandable
    chunks.
    § Unstable requirements do not hold up progress.
    § The whole team have visibility of everything and consequently team
    communication is improved.
    § Customers see on-time delivery of increments and gain feedback on how
    the product works.

    View Slide

  21. jgs
    0516 0010
    Cons
    § The informality of agile development is incompatible with the legal approach
    to contract definition (requirement specification) that is commonly used
    in large companies.
    § Agile methods are most appropriate for new software development rather
    than software maintenance (documentation). Yet most software costs in
    large companies come from maintaining their existing software systems.

    View Slide

  22. jgs
    How we start?

    View Slide

  23. jgs
    0516 0010
    Pacman

    View Slide

  24. jgs
    0516 0010
    Pacman
    Independent
    loosely coupled with one another
    Small
    (sized appropriately)
    Testable
    (pass or fail)

    View Slide

  25. jgs
    0516 0010
    Homework
    § Working alone or in a team of 2, 3, 4, or 5 define the requirements for the
    Pac-man videogame
    § Submit a list with at least 25 functional requirements
    § You can add non-functional requirements (they are extra to the 25 required)
    § Remember, check each of your candidates for the the (1) is it Small?, (2) is it
    Testable?, (3) is it Unambiguous/Clear?

    View Slide

  26. jgs
    0516 0010
    References
    § Process Models
    Somerville Chapter 2
    § Introduction to Agile
    Somerville Chapter 3

    View Slide

  27. jgs
    SER 516 Software Agility
    Javier Gonzalez-Sanchez
    [email protected]
    Spring 2021
    Disclaimer. These slides can only be used as study material for the class SER516 at ASU. They cannot be distributed or used for another purpose.

    View Slide