$30 off During Our Annual Pro Sale. View Details »

CSC307 Lecture 03

CSC307 Lecture 03

Introduction to Software Engineering
Agile Methods
(202306)

Javier Gonzalez-Sanchez
PRO

June 25, 2023
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs
    CSC 307
    Introduction to Software Engineering
    Lecture 03:
    Agile Methods
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    www.javiergs.com
    Building 14 -227
    Office Hours: By appointment

    View Slide

  2. CSC 308 | Dr. Javier Gonzalez-Sanchez | 2
    jgs
    Plan-Based Models:
    • Waterfall
    • V-model
    • Incremental
    • Spiral
    • Prototype
    Examples
    Agile Methodologies:
    • SCRUM
    • Kanban
    • XP (extreme programming)
    • Feature Driven
    Development

    View Slide

  3. jgs
    Agile Methods

    View Slide

  4. CSC 308 | Dr. Javier Gonzalez-Sanchez | 4
    jgs
    § 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.
    Agile Manifesto

    View Slide

  5. CSC 308 | Dr. Javier Gonzalez-Sanchez | 5
    jgs
    Agile in Action

    View Slide

  6. CSC 308 | Dr. Javier Gonzalez-Sanchez | 6
    jgs
    Agile in a Nutshell
    2 weeks

    View Slide

  7. CSC 308 | Dr. Javier Gonzalez-Sanchez | 7
    jgs
    § 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.
    Applicability

    View Slide

  8. CSC 308 | Dr. Javier Gonzalez-Sanchez | 8
    jgs
    § 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.
    Pros

    View Slide

  9. CSC 308 | Dr. Javier Gonzalez-Sanchez | 9
    jgs
    § 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.
    Cons

    View Slide

  10. CSC 308 | Dr. Javier Gonzalez-Sanchez | 10
    jgs
    Reading
    Read Software Process Models
    (PDF available on Canvas)

    View Slide

  11. CSC 308 | Dr. Javier Gonzalez-Sanchez | 11
    jgs
    Chapter 1, 2 and 3
    References

    View Slide

  12. CSC 308 | Dr. Javier Gonzalez-Sanchez | 12
    jgs
    Questions

    View Slide

  13. CSC 308 | Dr. Javier Gonzalez-Sanchez | 13
    jgs
    Office Hours
    Tuesday and Thursday 3 - 5 pm
    But an appointment required
    Sent me an email – [email protected]

    View Slide

  14. jgs
    CSC 307 Introduction to Software Engineering
    Javier Gonzalez-Sanchez, Ph.D.
    [email protected]
    Summer 2023
    Copyright. These slides can only be used as study material for the class CSC307 at Cal Poly.
    They cannot be distributed or used for another purpose.

    View Slide