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

CSE360 Flipped Lecture 3

CSE360 Flipped Lecture 3

Introduction to Software Engineering
Agile Methods
(202009)

Javier Gonzalez-Sanchez
PRO

June 03, 2020
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. CSE 360
    Introduction to Software Engineering
    Lecture 03: Agile Methods
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    javiergs.engineering.asu.edu | javiergs.com
    PERALTA 230U
    Office Hours: By appointment

    View Slide

  2. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 2
    Announcements
    • Remember, always use your ASU email.
    • Follow Email etiquette rules, among others: who you
    are, which course/section is this about, what
    activity…
    • Any question regarding grades contact your TA.
    • Exercise 02 will open after the lecture, it is due as
    usual, the day before our next lecture

    View Slide

  3. Previously

    View Slide

  4. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 4
    Types of Process (Strategies)
    Plan-based Agile
    process
    and
    activities
    Process
    model

    View Slide

  5. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 5
    The Waterfall Model

    View Slide

  6. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 6
    The V-Model
    this arrows point at
    what we are testing

    View Slide

  7. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 7
    The Incremental Model
    Option A: Linear Increments (not all colors (activities) are repeated)

    View Slide

  8. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 8
    Prototyping
    Construction
    of prototype
    communication
    Quick
    plan
    Modeling
    Quick design
    Construction
    of prototype
    Deployment
    delivery &
    feedback

    View Slide

  9. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 9
    The Spiral Model

    View Slide

  10. Agile Methods

    View Slide

  11. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 11
    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

  12. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 12
    Definition
    software development under which requirements and
    solutions evolve through the collaborative effort of
    self-organizing cross-functional teams
    a) adaptive planning to provide a rapid and flexible
    response to change
    b) Incremental lightweight process
    c) early delivery,
    d) Feedback-driven empirical approach

    View Slide

  13. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 13
    Agile vs Plan-driven
    Requirements, design, implementation (and testing) are inter-leaved

    View Slide

  14. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 14
    Agile in Numbers

    View Slide

  15. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 15
    Process and Ceremonies
    Daily
    Meeting
    mary raj …
    john jane …
    Ira O
    X
    -
    Product
    Backlog
    Sprint
    Backlog
    Product
    Burndown
    Chart
    Sprint
    Sprint
    Planning
    Review
    Retrospective

    View Slide

  16. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 16
    Resources
    Product Owner (Product):
    § Vision
    § Prioritize
    § Conceptual and Technical Integrity
    Master (Team)
    § Leader – Enables teams to self-organize, self-manage
    § Clearing obstacles
    § Enforce the process

    View Slide

  17. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 17
    Resources
    Team Members (Work)
    § Do the work to get the product done (7 +/- 2)
    § Developers, Testers, Etc.
    § Skilled and Cross-functional team
    § Able to work towards a common goal
    § Team makes decisions
    § Team is measured constantly

    View Slide

  18. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 18
    Process and Ceremonies
    Daily
    Meeting
    mary raj …
    john jane …
    Ira O
    X
    -
    Product
    Backlog
    Sprint
    Backlog
    Product
    Burndown
    Chart
    Sprint
    Sprint
    Planning
    Review
    Retrospective

    View Slide

  19. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 19
    Requirements
    mary raj …
    john jane …
    Ira O
    X
    -
    Product Requirement Task
    As a (role),
    I want (feature),
    So that (benefit)

    View Slide

  20. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 20
    Requirements
    mary raj …
    john jane …
    Ira O
    X
    -
    Product Requirement Task
    As a (role),
    I want (feature),
    So that (benefit)

    View Slide

  21. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 21
    Product Backlog –A Wish List
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)

    View Slide

  22. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 22
    Quantify and Prioritize
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)

    View Slide

  23. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 23
    Quantify and Prioritize
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    time
    t
    t
    t
    t
    t
    t
    t
    t

    View Slide

  24. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 24
    Sprints Backlog
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    As a (role),
    I want (feature),
    So that (benefit)
    Sprint 1
    t t
    t
    t
    t
    t
    t
    t
    t
    t
    Sprint 2

    View Slide

  25. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 25
    Sprints
    Sprint 1 Sprint 2
    Plan
    Build
    Test
    Deploy
    Plan
    Build
    Test
    Deploy

    View Slide

  26. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 26
    Process and Ceremonies
    Daily
    Meeting
    mary raj …
    john jane …
    Ira O
    X
    -
    Product
    Backlog
    Sprint
    Backlog
    Product
    Burndown
    Chart
    Sprint
    Sprint
    Planning
    Review
    Retrospective

    View Slide

  27. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 27
    Burndown Chart
    Work
    Remaining
    (Hour / Day)
    days

    View Slide

  28. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 28
    Burndown Chart | Test Yourselves
    A B C D

    View Slide

  29. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 29
    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

  30. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 30
    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

  31. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 31
    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.
    • Agile methods are designed for small co-located
    teams

    View Slide

  32. How to select a Process Model?

    View Slide

  33. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 33
    Which one is the best?
    § It can’t, therefore, be said that one process model is
    better than another.
    § While all software projects have to be professionally
    managed and developed, different process
    models and techniques are appropriate for different
    types of system.

    View Slide

  34. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 34
    Agile and Plan-based factors

    View Slide

  35. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 35
    Agile and Plan-based factors: System
    • How large is the system being developed?
    o Agile methods are most effective for small to medium.
    • What type of system is being developed?
    o Systems that require a lot of analysis before
    implementation need a detailed design to carry out this
    analysis.
    • What is the expected system lifetime?
    o Long-lifetime systems require documentation to
    communicate the intentions of the system developers to
    the support team.
    • Is the system subject to external regulation?
    o If a system is regulated, you will probably be required to
    produce detailed documentation as part of the system
    safety case.

    View Slide

  36. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 36
    Agile and Plan-based factors: Team
    • How good are the designers and programmers in the
    development team?
    o It is sometimes argued that agile methods require higher
    skill levels than plan-based approaches in which
    programmers simply translate a detailed design into code.
    • How is the development team organized?
    o Design documents may be required if the team has limited
    communication skills or trust issues.
    • What support technologies are available?
    o IDE support for visualisation and program analysis is
    essential if design documentation is not available.

    View Slide

  37. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 37
    Agile and Plan-based factors: Organization
    • Traditional engineering organizations have a culture of plan-
    based development, as this is the norm in engineering.
    • Is your organizational practice to develop a detailed system
    specification?
    • Will customer representatives be available to provide
    feedback of system increments?
    • Can informal agile development fit into the organizational
    culture (of detailed documentation)?

    View Slide

  38. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 38
    Homework
    Complete This Week’s Hybrid Activities

    View Slide

  39. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 39
    References
    Chapter 3

    View Slide

  40. CSE360 – Introduction to Software Engineering
    Javier Gonzalez-Sanchez
    [email protected]
    Fall 2020
    Disclaimer. These slides can only be used as study material for the class CSE360 at ASU. They cannot be distributed or used for another purpose.

    View Slide