One of our biggest questions when we bring a new client on-board is ‘Do they understand the Agile approach?’ In fact, going back a step, our biggest question when we consider working with a new client is ‘Do they understand the Agile approach?’
Of course we don’t expect most of our clients to understand Agile already, so the question should be better phrased ‘Can this client understand the benefits of the Agile approach?’
Long, hard experience tells us that both parties will end up dissatisfied if the project cannot be conducted in an Agile manner so better not to accept the job if the client will not work Agile.
For the client, this can be seen as a big ask. Working with an Agile team, you need to accept that:
- You don’t know exactly what you want
- We don’t know exactly what you want
- What you want will change frequently
- The product will never be ‘finished’
- There is no limit to what you can spend
Not the greatest pre-sales pitch! Well, we don’t quite phrase it like that… but you see the problem.
When we meet a client who understands that this is inherent in the nature of bespoke software development, then we know we have a winning partnership that will allow the client to achieve their business goals.
A shift in mind-set, technically and financially
We’ve also noticed a shift in the financial mind-set of our successful clients away from ‘web development is a big capital expense that we’ll do every few years’ to ‘web development is an integral part of our day-to-day operations and we’ll budget for it on our monthly P & L.’
There’s a great fit between this enlightened mind-set and the Agile working model and we’ve seen it bring substantial benefits:
- Minimise the risk of needing a complete rebuild after X years
- Make sure the product keeps pace with the changing demands of the business
- Keep the users engaged and satisfied by the regular roll-out of new features
- Introduce the latest interface widgets to keep on top of usability
- Show stakeholders that the company invests in the latest tech
- Minimise time between incurring cost and receiving business benefit
- Easy comparison between cost/benefit of agency spend and in-house staff spend
You could sum this up as ‘little and often,’ both as a technical and financial strategy.
Fine, but then reality bites
So, you’ve probably read similar stuff before about the Agile approach but there’s a big challenge that the Agile guys don’t usually tell you. It’s called The Real World.
Attending an Agile conference recently (at the excellent Skills Matter in London) the most common questions from the audience to the Agile presenter were about these ‘Real World’ snags: “We understand what you are saying, Mr Agile Presenter Sir, but in my company we can’t do XYZ.”
If you are managing an in-house team of developers you might have the freedom to work full-time Agile without any other distractions and with a flexible budget (i.e. salaries are paid for, the deadline can be moved and it will take as long as it takes). Lucky you!
If you work with an agency (or have a less accommodating boss!) the transaction has to be much more tightly controlled for the benefit of both parties so you need ‘transactional certainty’, like buying a car. How to reconcile this with the uncertainties of software development?
This series of blogs will go through each of the building blocks of Agile and explain why it is needed, as a client what to insist on and what to be relaxed about, with the goal of creating working software with the minimum of risk. We’ll show how to get closer to that ‘transactional certainty’ that a client needs. And there’s not a ‘software specification’ in sight!