What’s Agile? Harness Change (Principle #2)
Agile Embraces Change – But Not All Changes
The second principle of Agile is:
Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.Principles behind the Agile Manifesto
Agile embraces only those changes that increase the customer’s competitive advantage. Agile resists all other changes.
Test each proposed change to determine how much competitive advantage it adds. Rank order such changes in the product backlog accordingly.
Harness those changes that increase the customer’s competitive advantage. Resist the rest.
People Change Their Minds
People change their minds about what they want when they actually see it and use it. Especially for things as foreign and fluid as software.
Mockups and prototypes can help people to visualize how it will work. But nothing beats the customer actually using the system to learn whether it’s really what they want.
Think of it as a test drive. Or house hunting.
The sooner you can get the customer’s feedback, the better. Before you’ve spent a lot of time designing, building, and polishing.
First find out if it’s really what they want. How? By following the first principle of Agile: delivering working software early and often.
Don’t see this as an annoyance. See it as the most effective way to really learn what the customer wants. Delivering small bits of value with each sprint is quicker and more reliable than exhaustive documentation.
It’s not that they can’t make up their minds. It’s that this is the best way to elicit requirements. Anything else is one step away from the real thing, and is bound to result in gaps. Better to identify and fix these gaps early, than to deliver a final system with gaps.
Agile harnesses the changes that come from learning by delivering.
The Markets Change
Some changes come because the market changes faster than the project can deliver. Or the project delivered on target, but now the target has moved, so the system needs to move as well.
You’re not painting the Sistine Chapel. Many developers are more artistic than practical. They want their work to last for ages.
But for software to be high quality, it needs to meet the needs of the customer. And those needs can change overnight due to changing markets.
Agile harnesses such changes rather than resisting them.
New Opportunities are Discovered
Organizations should be continuously looking for new opportunities. These will often launch new projects. Or they may affect projects already underway.
You shouldn’t be surprised by this. Rather, you should expect it. And plan for it.
You wouldn’t want them to miss or ignore such opportunities. Instead, you want to stay in front of the market in order to be successful.
Harness change, and harness the market.
Seek Out Change Rather Than Avoiding It
Change is disruptive. When change is thrust upon you, it can be annoying.
Agile teams need to learn to move past the instinct to be annoyed by change.
In order to harness change, you need to not only embrace it, you need to encourage it. Work with key stakeholders on a daily basis, and especially in sprint reviews.
Give them suggestions and help them identify other ways to do things.
Stay up-to-date with the market, and collaborate with them on possible opportunities that market changes bring.
Read this next: What’s Agile? Deliver Frequently (Principle #3)