Chapter 3 - Agility and the Agile Process
📌 3.1 What Is Agility?
- Agility = ability to adapt to change quickly and effectively.
- Software projects face uncertainty (requirements, market, technology).
- Agile development focuses on rapid delivery of working software, customer collaboration, and embracing change.
📌 3.2 What Is an Agile Process?
1- Agile processes are incremental, iterative, and evolutionary.
2- Core values (from Agile Manifesto):
- Individuals & interactions > processes & tools
- Working software > comprehensive documentation
- Customer collaboration > contract negotiation
- Responding to change > following a plan
3- Agile methods emphasize time-boxed iterations, frequent delivery, and stakeholder feedback.
📌 3.3 Agility and the Cost of Change
1- Traditional models: cost of change increases exponentially over time.
2- Agile: reduces the slope of cost of change by:
- Frequent iterations.
- Early testing.
- Continuous integration and delivery.
- Emphasis on communication.
📌 3.4 What Is an Agile Team?
1- Agile teams are self-organizing and cross-functional.
2- Team roles: Developers, testers, designers, product owner, scrum master.
3- Traits: collaborative, empowered, small (5–9 members).
4- Goal: deliver working software at the end of each iteration (usually 1–4 weeks).
📌 3.5 Agility and the Project Manager
1- Project manager in Agile = servant leader (not commander).
2- Responsibilities:
- Facilitate communication.
- Remove obstacles.
- Ensure team has resources.
- Help prioritize backlog with product owner.
📌 3.6 The Agile Manifesto Principles
12 key principles include:
- Satisfy the customer through early & continuous delivery.
- Welcome changing requirements.
- Deliver working software frequently.
- Business & developers work together daily.
- Build projects around motivated individuals.
- Face-to-face conversation is best.
- Working software = primary measure of progress.
- Maintain sustainable pace.
- Continuous attention to technical excellence.
- Simplicity is essential.
- Best architectures, requirements, and designs emerge from self-organizing teams.
- Reflect regularly and adjust.
📌 3.7 Summary
- Agility = ability to deliver value continuously while adapting to change.
- Agile processes stress collaboration, iteration, and working software.
- Teams and managers shift from command-control to collaboration-support.
- Agile reduces risks and cost of late changes.
✅ This chapter establishes Agile as a response to rigid prescriptive models (like waterfall).
It highlights principles, mindset, and team roles that make agility work in practice.