By Melvyn Pullen
Why would a company want to change to Agile? There are two reasons known about since I was trained, which I’ll explain in part two.
To help answer the question, I’ve looked at many articles over the past few years. It’s been interesting to see how knowledge and understanding of Agile practices has increased and spread outside of purely software development areas.
Originally, Agile was seen as valuable for three main reasons:
- Time to market
- Cost savings
Time to market
Assuming you can concentrate on just the features that create a minimal viable product, you may have a ﬁrst mover advantage. Or you may be in the market before some of your competitors.
In theory you only build what is needed. In software development this has a fundamental basis: you don’t create a perfect solution. You write the necessary parts and resist the temptation to improve the product until the customer asks for it.
Quality is the foundation of the “Iron Triangle”. You don’t want to create a substandard product or provide a substandard service. You have to manage the time, cost and features of the product, but usually something has to give. In Agile you control time and cost, and only provide the features that your customer really needs. Note: needs, not wants.
Something that does what the customer needs allows the customer to do their job and can be considered a quality solution. It doesn’t force the customer to work the way the designers thought the customer worked. At the development level, quality is improved by a technique called refactoring.
Time to market, cost savings and quality still apply, but there are other, subtler beneﬁts now. Also, these reasons mean something diﬀerent today.
Time to market now
If you get to market quicker, you can ﬁnd out what the customer wants. Today, you would attempt to engage customers and use their feedback to add new features. It’s an integrated and collaborative development – working with customers to ensure you deliver just the features they really need.
Cost savings now
It’s more that you can control your costs now. Agile teams are the indivisible unit. You don’t break a team up when they’ve completed one project. You bring more work to them. Projects become easier to cost and the return on investment becomes easier to evaluate because you know the cost of the resource – the team. You can also get reasonably good estimates from the team because they’re used to providing estimates at the beginning of their sprints.
Quality is still important, and pervades the whole of an organisation. It is imperative that a quality product or service is not spoiled by mediocre documentation or incoherent training.