CSE360 Flipped Lecture 3

CSE360 Flipped Lecture 3

Introduction to Software Engineering
Agile Methods
(202009)

B546a9b97d993392e4b22b74b99b91fe?s=128

Javier Gonzalez

June 03, 2020
Tweet

Transcript

  1. CSE 360 Introduction to Software Engineering Lecture 03: Agile Methods

    Dr. Javier Gonzalez-Sanchez javiergs@asu.edu javiergs.engineering.asu.edu | javiergs.com PERALTA 230U Office Hours: By appointment
  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
  3. Previously

  4. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 4 Types

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

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

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

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

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

    Spiral Model
  10. Agile Methods

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

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

    in Numbers
  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
  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
  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
  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
  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)
  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)
  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)
  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)
  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
  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
  25. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 25 Sprints

    Sprint 1 Sprint 2 Plan Build Test Deploy Plan Build Test Deploy
  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
  27. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 27 Burndown

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

    Chart | Test Yourselves A B C D
  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.
  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.
  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
  32. How to select a Process Model?

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

    and Plan-based factors
  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.
  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.
  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)?
  38. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 38 Homework

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

    Chapter 3
  40. CSE360 – Introduction to Software Engineering Javier Gonzalez-Sanchez javiergs@asu.edu 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.