Agile value: 4 – Responding to change

The Agile Manifesto describes four key Agile values which are expressed in pairs and each covered in separate articles:

While there is value in the items on the right, we value the items on the left more

Manifesto for Agile Software Development

The last of the Manifesto values is probably the best known.  In training courses, if I ask people to quote a Manifesto value, this is the one that comes up first probably 80% of the time.  Agile is viewed as being closely tied to change and of course this ties in with the conventional meaning of the word “agile”.

Responding to change over following a plan

Manifesto for Agile Software Development

Let’s look at this with the structure which we’ve learned to use with the other Agile values.  Firstly, the item on the right is not “bad”.  It is a basic requirement to start.  Having a plan is necessary (yes, even in Agile development planning should be a significant factor). 

Complicated or complex?

In a complicated environment, we can reduce the overall problem to smaller and more controllable elements. This is a reductionist approach. We build a plan, decompose it to small elements and then address those elements. Having solved these, we can reassemble the solutions and we will have solved the overall problem.

Since this approach works in this environment, we can focus on “up front” planning. Expert planners create plans at the start. We expect these plans to stay stable over the project and to answer the questions which we need. In this environment it is the most efficient way to work.

However in a complex environment, more detailed planning does not indefinitely add more value.  The more you break the problem down, the more unpredictable the elements.  We expect emergent knowledge. The plans are affected by change and learning

Eventually you reach a trade-off where any benefit in detailed planning is balanced by the constant reworking as the elements change. This means that a different approach is needed based on continual planning or backlog refinement.

The Manifesto suggests that a basic plan is important.  But that beyond this, you scale by improving your ability to manage change.  It is not the initial plan which makes you succeed in a complex environment, it is the way you evolve the plan as you learn.

If the plan is only a model or guidance, then we do not measure success by compliance to the plan. Instead, success is based on value delivered to customers. The plan simply helps us achieve that. “Performance” – the delivery of what was expected – becomes replaced by “Productivity” – the delivery of value.

Leave a Reply

Your email address will not be published. Required fields are marked *

Discover more from Agile Plays

Subscribe now to keep reading and get access to the full archive.

Continue reading