We are uncovering better ways of developing software by doing it and helping others do it. 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. (Manifesto for Agile Software Development)

Learning Objectives

  • List the tenants of the “Manifesto for Agile Software Development”
  • Illustrate the cost of change for prescriptive process models and agile software development
  • Compare agile software development to prescriptive process models
  • Recognize the principles of agile software development

How to Complete this Lesson

Complete the following learning activities: (3–3.5 hours total)

  1. Read the “Manifesto for Agile Software Development” and Principles behind the Agile Manifesto (5 minutes)
  2. Read the following in Software Engineering and (optionally) complete the reading guide:
    • Chapter 3: Agile software development (90–120 minutes)
  3. Attend the class meeting (60 minutes)
  4. Work on the process models homework (30 minutes)

Resources

Agile is not an excuse to ignore formal software project management. The following tests can be used to determine if an organization is embracing agile principles or merely buzzwords:

Videos

Notes

Agile is not a single methodology, yet it is not uncommon for people to refer to it as such. This distinction is pedantic in the context of this course. Nevertheless, you should always ask for more information if a project uses “agile” because mixing and matching practices from different methods is often unsuccessful. It is best to follow an established agile method (Scrum, Extreme Programming (XP), Kanban, etc.) instead.