We have heard the adage, “Cost, schedule, quality: pick two.” It has been my recent experience on big government projects that quality often suffers due in part to schedule constraints. In fact, sometimes project managers choose schedule with little apparent regard to quality and sometimes little regard to cost.
Are you asked to compromise? What are your experiences in commercial worlds? When you are the program manager – perhaps you are self-employed or work on projects at home and on weekends – and you control cost, schedule, and quality, do you “pick two?” Do you have favorite parts of your development methodology(ies) for which you never compromise (e.g. automated testing)?
Finally, which development methodology do you suggest for a team forced to choose schedule and cost over quality? Thanks in advance.
I suggest we vote up well-reasoned comments.
It’s been my experience that rather the opposite is true: concentrating on quality (especially early on) tends to reduce cost and schedule. From what I’ve seen, I’d say most projects that have serious overruns do so mostly because they get close to what they thought was the end, and they find that their code doesn’t work. At that point, they try to fix things by putting in lots of extra time debugging and such, but it’s really too late to do much good. Worse, they have to undo quite a bit of what they did, because some parts depend on poor design decisions elsewhere and such.