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)

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

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

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

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

    Construction of prototype communication Quick plan Modeling Quick design Construction of prototype Deployment delivery & feedback
  7. 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.
  8. 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
  9. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 13 Agile

    vs Plan-driven Requirements, design, implementation (and testing) are inter-leaved
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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)
  15. 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)
  16. 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)
  17. 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)
  18. 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
  19. 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
  20. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 25 Sprints

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

    Chart Work Remaining (Hour / Day) days
  23. 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.
  24. 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.
  25. 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
  26. 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.
  27. 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.
  28. 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.
  29. 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)?
  30. Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 38 Homework

    Complete This Week’s Hybrid Activities
  31. 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.