Don’t go chasing waterfalls
In 1910 Henry Gantt laid out a framework that was used in World War 1 to manage the manoeuvring of weaponry, “The Gantt Chart” has been part of project management vocabulary ever since.
In his book “The art of doing twice the work in half the time” Jeff Sutherland explains:
It’s so tempting: all the work needed to be done on a massive project laid out for everyone to see. I’ve visited many companies that have people whose only job is to update that Gantt chart every day. The trouble is, once that beautifully elegant plan meets reality, it falls apart. But instead of scrapping the plan, or the way they think about the plan, managers instead hire people to make it look as if the plan is working. Essentially, they’re paying people to lie to them.
Gantt chants symbolise ‘waterfall’ project management, a relay approach where the previous task/stage must be completed before progressing to the next (Discover ⇒ Design ⇒ Develop ⇒ Test). The major issue here is uncertainty, all projects (regardless of approach) face a level of uncertainty, either of requirements or maybe technical solution. Waterfall projects attempt to counteract this by investing time upfront specifying & estimating every work item required to meet the solution.
Unfortunately, human beings just aren’t good at estimating! In fact, the wonderfully named Cone of Uncertainty¹ states that estimates are regularly up to 600% wrong when made at the beginning of a project, if they are so badly wrong why bother?
On top of the inaccurate planning and the fictitious timescales, the amount of man power used to create this all-encompassing plan means that any need for change is met with great resistance and is discouraged.
To summarise, the model is outdated, resists change, is likely to overrun and the main artefact ‘The Gantt Chart’ is inevitably always wrong.
So, what’s the alternative?
At Cristie we subscribe to the Agile Manifesto², defined by the principles stated below:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That’s not to say we don’t value those on the right, but we prioritise those on the left. To be specific we actually use SCRUM which is a flavour of Agile and takes its name from the sport of Rugby; the parallel being that a team of cross-functional members work together to move the ball up the pitch (i.e. towards the goal).
SCRUM allows us to manage uncertainty by reducing the risk to the business. We do this by working in short iterations or sprints. In a sprint we work as one team regardless of job title or skill. The sprint is time boxed and we work on all the same steps of waterfall (Discover, Design, Develop, Test) but rather than working in a relay system, we work together as a single unit and perform the tasks concurrently.
By attacking complex problems in this piecemeal fashion, we give ourselves the freedom to innovate and to try new ideas and approaches.
How do we do it?
The essence of SCRUM is to deliver value quickly and to continuously improve, which is achieved by abiding the following statements:
- Keeping our Rituals
Our focus is always on added value. As such we don’t have many meetings, but those we do are fiercely timeboxed; none more so than the daily SCRUM. This meeting lasts no longer than 15 minutes where we set our commitments as a team each day and flush out any blockers early.
- Demoing every Sprint
Each sprint is timeboxed and has a user centric goal set at the beginning, which means that we focus on delivering value to the user and the team commit to achieving the goal. At the end of a sprint the team presents their progress with the whole business invited to see progress and give feedback.
- Inspecting & Adapting Always
This is a mantra that can apply not only to the product, but to the process and the team. We don’t stand still; at the end of every sprint we have to ask ourselves ‘What we should continue doing & what we should stop doing?’ This helps remove waste from our processes and ensures that we are always delivering value and improving our output and speed.
The result of our SCRUM adoption is that we foster a culture that embraces change and looks for customer feedback whenever possible. We are able to deliver new innovative functionality in very short timescales, and to react to market trends and priorities as required.
Author: Adam Tilley, Delivery Manager (Cristie)
Have a suggestion?
If you have any feedback for the team send them a message by emailing firstname.lastname@example.org