- pretentious misused term for “process”
- If situation X, do Y...
- Do activity A, then B, then C...
- Use template 1, diagram 2...
- The output of M is the input of N...
Methodologies: Scrum, XP, Kanban...
Agile is Principles & Values
12 Agile Principles
4 XP Values
7 Principles of Lean Software Development
Agile reduces process, which must be
replaced by values to work.
Agile is Principles & Values
Customer Satisfaction, Customer Value
Feedback, Visibility, Courage
Agile Has Equal (or greater) Focus
Early Agile methodologies were heavy on
– Test-Driven Development, Coding Practices,
Design Patterns, etc.
Scrum originally focused on just project
management, but lately is reemphasizing
“There's a mess I've heard about with quite a few
projects recently. It works out like this:
“They want to use an agile process, and pick Scrum
“They adopt the Scrum practices, and maybe even
“After a while progress is slow because the code
base is a mess”
- - Martin Fowler
Agile Manifesto Signatory, ThoughtWorks Chief Scientist, Author
1. Project budget and detailed requirements are set in beginning.
2. Requirements are achieved, with plenty of overtime, and
3. System is unusable because of mismatch to business needs
4. Additional project phases needed to accommodate actual
business needs and fix bugs.
5. Repeat X times.
So what happened to the fixed budget?
Budgets are fixed.
– Based on team composition and duration.
Business objectives are defined.
– First to market? Win customers from competition? Reduce cost? Integrity
of financial transactions? Reduce human error? Reduce process time?
Scope is variable.
Deliver something early that meets business needs.
– Early ROI
Base succeeding iterations on feedback.
– Customer uptake, stakeholder feedback, etc.
When project ends, organization is left with a valuable, useful product,
within a fixed budget.
Agile is Evidence-Based
Requirements of future iterations based on
user feedback from previous iterations.
Schedules are based on experience from
Architecture based on Spikes, not literature.
Agile Design is Evidence-Based
Architectures are based on Spikes
– Subjected to tests (ex. performance)
Enough detail for team to get started.
– Design expected to evolve, collaboratively.
Waterfall design is... yes, creative writing.
– Designs are not validated by code.
– Details not based on feedback.
Agile Means Documentation that is
User Stories are in a form that is meaningful to
all parties, expresses business objectives.
Acceptance Tests removes ambiguity from
Unit Tests describe the behavior of methods.
Use Cases, etc, are devoid of business
– Developers & stakeholders do not have basis to
discuss better solutions that still meet business
No automated way to validate if requirements
and code are aligned.
Agile will make problems visible,
early and often.
…so that they are easier to fix.
– Expect to initially experience more problems,
Waterfall reveals problems only later, when they
are hard to fix.
“There’s a reason we use the term
'self-organizing' rather than 'self-organized' or
“That’s because it’s a process and a
characteristic, not something that is done once
and for all.”
- Esther Derby
Self-Organizing Team: Mature, responsible,
self-directed courageous people.
– Aligned with company objectives
– Solicits and provides feedback
– Productivity visible to the organization
– Works within financial and regulatory boundaries.
To get there: Different people/teams need different
– Maturity, culture, motivation, discipline, awareness,
Most companies think it will only take months to
… it usually takes years
… because it is mainly a cultural shift.
Painful mistakes will be made along the way.
Organizational changes will need to be made,
throughout the company.
Performance Management process, Marketing involvement,
Budgeting Cycles, etc.
Agile is a Continuum
No such thing as a “perfectly Agile” team.
Constraints – other departments, maturity of team
members, clients, schedules, regulation, etc.
Continuous improvement – always something that
can be done better
Be iterative in your Agile adoption.
Take small steps that will achieve quick wins.
What one value or practice can you adopt this
week/month that will show visible gains?