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

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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size 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 full-size slide

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

    View full-size slide

  9. jgs
    Scenario 1

    View full-size slide

  10. jgs
    0516 0010
    Case Study

    View full-size slide

  11. jgs
    0516 0010
    Case Study

    View full-size slide

  12. jgs
    0516 0010
    Case Study

    View full-size slide

  13. jgs
    0516 0010
    Case Study

    View full-size slide

  14. jgs
    0516 0010
    Error
    This are not Sprints!

    View full-size slide

  15. jgs
    Scenario 2

    View full-size slide

  16. jgs
    0516 0010
    Just Programming ...

    View full-size 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 full-size 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 full-size 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 full-size 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 full-size 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 full-size slide

  22. jgs
    How we start?

    View full-size slide

  23. jgs
    0516 0010
    Pacman

    View full-size slide

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

    View full-size 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 full-size slide

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

    View full-size 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 full-size slide