Cost Quality and Time
Customers always want all three – a lovely job, nice and cheap and as soon as possible – but in reality it’s impossible. Something has to give. The question is which one of the three is a little bit flexible?
And I am wondering if this might influence our choice of Project methodology: Agile or Waterfall?
1 – “We have a fixed budget that cannot be exceeded, and we must have a great job with all the features, but we don’t mind when we get it”.
Agile people would do their myopic but exciting two week sprints, producing great quality, until the money runs out. If this takes longer than the client had in mind then so be it. At least they are keeping in close contact with the client, although nobody will really know when the finish date is going to be until we actually finish, or are nearly there, by which time it is too late, but then if the finish doesn’t really matter everyone can end up happy.
Waterfall people will have a plan at the start, and when inevitably things don’t go exactly to plan they will just take a bit longer than planned – they will know how much behind schedule they are at any one point, which is useful, although of course there always MORE delays still to come, so their prediction half way won’t be completely accurate! But I think better to have one than not at all…
2 – “We have a fixed budget that cannot be exceeded, and a fixed delivery date / launch date which cannot be moved, but if we have to miss out a few features then that’s how it’ll have to be”.
Agile people would do their myopic but exciting two week sprints, producing great quality, until the time runs out. Since they know their weekly costs, the time and money will probably run out at about the same time, so that’s fine. If they do the most important features first (assuming that’s possible! Sometimes the important things depend on the boring things being done before them) then the client gets the things they REALLY want, so they are reasonably happy with the outcome. So Agile has got away with it again. (yes, I know I’m biased, but this is my article).
Waterfall people (I don’t even like the name, I’d rather call it PMBOK or PPM: Proper Project Management, but maybe waterfall is clearer) will have a plan at the start, probably with a Gantt chart, and so they can monitor the time and the money as they gradually get used up. If the project is behind plan they will know. The plan can be adjusted easily (and VISIBLY) by reducing the specification in order to keep the budget and finish date on target. We know DURING the project how much we have to reduce the spec, rather than discovering at the end how much we have failed to do. So again I think Waterfall is better, but I can see that Agile can get away with it in this type of project.
3 – “We must have a great job with all the features, and there is a fixed delivery date / launch date which cannot be moved, and if we have to pay a bit more in order to achieve that then I guess we’ll have to”.
This is the one where I think Agile really struggles. The team will do their sprints, completing all the features on their KanBan board or whatever, and then suddenly they find that the finish date has arrived and they haven’t finished everything. If only they had had a plan and known that they were going too slowly! Stopping on time but with the specification in complete is not an option, and going late is also not an option, so they are really in trouble.
Waterfall on the other hand will know about the rate of progress compared to the plan, and will be able to spend more (extra people, working weekend, subcontracting, or whatever) in order to get back onto plan, so everything WILL be finished correctly and on time. So although it doesn’t go exactly to the initial plan, there is always an amended plan with the finish date achievable, so unless there’s a disaster in the last few days, when it’s too late to correct things, the plan WILL be achieved.
So that’s the three options and how Agile and Waterfall fare.
To be honest, as a Gantt fan I’m not very happy about saying that Agile would work “quite well” in two out of the three situations. I certainly can’t imagine how it could work in the third one. But in the other two it could work. Whether it’s BETTER than waterfall/Gantts I don’t know, but I am still left with the feeling that it’s better to have an overview plan (ie waterfall Gantt) for all three of the above combinations….