Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

Previously

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

Agile Methods

Slide 11

Slide 11 text

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.

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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)

Slide 20

Slide 20 text

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)

Slide 21

Slide 21 text

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)

Slide 22

Slide 22 text

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)

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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.

Slide 30

Slide 30 text

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.

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

How to select a Process Model?

Slide 33

Slide 33 text

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.

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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.

Slide 36

Slide 36 text

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.

Slide 37

Slide 37 text

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)?

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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.