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

CSE360 Lecture 05

CSE360 Lecture 05

Introduction to Software Engineering
Agile Process
(201805)

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. CSE360 Introduction to Software Engineering Lecture 05: Agile Process Javier

    Gonzalez-Sanchez [email protected] javiergs.engineering.asu.edu Office Hours: By appointment
  2. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 3 Test

    Yourselves • Main difference between prototyping and spiral model • Main difference between incremental and spiral model • Would you apply prototyping for a final project? • Would you apply spiral for a final project?
  3. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 4 Test

    Yourselves • Pros of the Unified Process • Cons of the Unified Process
  4. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 5 Test

    yourselves • Pac-man video game • Blackboard • A new web page for ASU • Programming labs • Research project or an start up project
  5. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 6 Just

    Programming ... Agile emerged in the late 1990s and it aim was to radically reduce the delivery time for working software systems
  6. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 8 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.
  7. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 9 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) Iterative and incremental lightweight process c) early delivery, d) Feedback-driven empirical approach
  8. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 10 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) Iterative and incremental lightweight process c) early delivery, d) Feedback-driven empirical approach
  9. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 11 Agile

    vs Plan-driven Requirements, design, implementation (and testing) are inter-leaved
  10. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 13 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.
  11. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 14 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.
  12. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 15 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.
  13. CSE360 – Introduction to Software Engineering Javier Gonzalez-Sanchez [email protected] Summer

    2017 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.