Implementing the Agile Manifesto

The Agile Manifesto is a short document outlining four values and twelve principles of agile software development. Over 20 years since the Manifesto was first published, many businesses have ‘gone agile’, but we’ve strayed from the founding principles, says Craig Cook, chief engineer at Agile consultancy Catapult.

The Agile Manifesto is an acknowledgement of two things. First, software is often wrong and secondly, even if you get it “right”, the software is never done. The best way to get it closer to “right” is to deliver it in small increments and get regular feedback. You may have given customers exactly what they need today, but tomorrow those needs will change. To build successful software, companies must welcome these facts — and act on them.

Today, many businesses champion agile and claim to have adopted agile methods. However, what most people understand by agile is often very different from what the Manifesto set out.

Interpreting the Manifesto

Because the Manifesto doesn’t say much, its values and principles have been open to interpretation, which we’re seeing a lot in software development today. Agile is a billion-pound industry and countless people have made money using the promises of agile (faster/better/cheaper) without sticking to many of the principles of the manifesto and actually being agile. Scrum and the Scaled Agile Framework (SAFe®) are prime examples. The Manifesto doesn’t mention these, or any framework at all.

The effects of prioritising scaling frameworks are clear. The 2018 State Of Agile report found that 96 per cent of agile transformations could not adapt to changing market conditions. This is because many companies focus on training, certifications and milestones in the transformation plan, rather than business objectives and improving customer experience (CX)

Agile isn’t something that businesses ‘do’, it’s something they achieve. It’s not a verb or a noun, as the frameworks would have you believe, it’s an adjective. Many businesses will quote the Manifesto’s values and say they are agile, but aren’t really focusing on the real issues or asking themselves how they can do software development better. This idea of changing software development for the better is the whole reason the Agile Manifesto was created — and we need to go back to first principles.

How can we apply the Manifesto?

Often, those quoting the Manifesto miss its opening statement: “We are uncovering better ways of developing software by doing it and helping others do it.” The point here is that we don’t uncover the “good” ways of doing software development working alone. By doing it and helping others, we learn and improve. Software experts must be practitioners and share what they’ve learned with colleagues and fellow companies so that they too can hone their development skills.

At its heart, the Agile Manifesto is a reaction to the fact that changing digital products quickly is important whether it’s to keep up with customer demands or regulatory guidelines. This is what the Manifesto is about, so companies should be asking themselves how they can adapt their software quickly. Here, feedback loops are essential. Often, good engineering is achieved by having short, regular feedback loops that provide user insights that developers can act on rapidly with incremental updates.

Perfect is the enemy of good. With this in mind, it’s important to realise that no software is perfect — it just needs to be good. Usually, several feedback cycles are needed before a digital product becomes anything like what customers need. Rather than carrying out lots of upfront analysis and creating various documents of requirements and design, companies must do just enough to get out the next increment of software so that they can capture the feedback and go again. This is good engineering.

Twenty years after it was created, the Agile Manifesto can still teach us a lot about good software engineering, providing businesses stick to the document’s founding principles. Working with an experienced, hands-on agile specialist can help by developing your digital product incrementally while adapting it to changing customer needs.

Are you interested in moving your product development towards agile? If so, contact Catapult.CX, our experienced team can help.

Manufacturing Update