Slide 1

Slide 1 text

CSE360 Introduction to Software Engineering Lecture 03: Agile Process Models Javier Gonzalez-Sanchez [email protected] javiergs.engineering.asu.edu Office Hours: By appointment

Slide 2

Slide 2 text

Test Yourselves

Slide 3

Slide 3 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 3 Test Yourselves What is a process?

Slide 4

Slide 4 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 4 Test Yourselves What is a process model?

Slide 5

Slide 5 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 5 Test Yourselves What types of process model according with its structure?

Slide 6

Slide 6 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 6 Test Yourselves What set of activities are common in the software lifecycle?

Slide 7

Slide 7 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 7 Test Yourselves a) Pros and Cons of the Waterfall model b) Pros and Cons of the V-Model model c) Pros and Cons of the Incremental model

Slide 8

Slide 8 text

Plan-based Process Models

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 10 The Waterfall Model § Key idea: Separate and distinct phases of specification and development. A phase has to be complete before moving onto the next phase. § Type: Linear model. § Recommended for: Embedded systems and Large systems(developed by several partner companies) § Disadvantage: difficulty of accommodating change after the process is underway.

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 12 The V-Model § Key idea: It is an extension of Waterfall where instead of moving down in a linear way, the process steps are bent upwards after the coding phase. While tests are just one of five steps in Waterfall, it looks like practically half of the process in V-model. § Type: Linear model. § Recommended for: well-suited for projects that must maintain a strict deadline and meet key milestone dates throughout the process. Example: medical device industry § Disadvantage: same that waterfall

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 14 Prototyping § Definition: a prototype is an initial version of a system used to demonstrate concepts and try out design options. § Evolutionary model § Recommended for: a prototype can be used to help with requirements elicitation and validation; or in design processes to explore options and develop a UI design.

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 16 The Spiral Model • Key idea: High amount of risk analysis hence, avoidance of Risk is enhanced. • Evolutionary model • Recommended for: (1) Good for large and mission- critical projects. (2) Strong approval and documentation control. (3) Significant changes are expected (research and exploration). • Doesn’t work well for smaller projects. • Doesn’t work well when users are unsure of their needs • Doesn’t work well when requirements are complex

Slide 17

Slide 17 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 17 The Incremental Model Option A: Linear Increments (not all colors (activities) are repeated) Option B: Parallel Increments (most than 1 activity at the same time)

Slide 18

Slide 18 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 18 We’re going to try something… 🤔

Slide 19

Slide 19 text

Agile Methods

Slide 20

Slide 20 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 20 Previously… Plan-based Agile

Slide 21

Slide 21 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 21 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 22

Slide 22 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 22 Agile in a Nutshell

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 24 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 25

Slide 25 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 25 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 26

Slide 26 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 26 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 the majority of software costs in large companies come from maintaining their existing software systems. • Agile methods are designed for small co-located teams yet much software development now involves worldwide distributed teams.

Slide 27

Slide 27 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2018 | 27 Homework Read Chapter 2 and 3

Slide 28

Slide 28 text

CSE360 – Introduction to Software Engineering Javier Gonzalez-Sanchez [email protected] Summer 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.