Our CIO frequently refers to the project management triangle. He will say that if he is given the functionality and resource/cost axis of the project, then the executives cannot choose the time-scale; because with two sides of the triangle given, the third is outside of the realm of specification. I do not accept this model, for it fails to take into account a fourth variable; the triangle is wrong because it fails to consider quality. If you look at a project not as a triangle, but as a quadrangle you can see that management can impose time, resource/cost, and functionality upon developers and if quality is sacrificed all three constraints can be met.
The triangle is a wonderful theory, like universal peace. It assumes that quality is an unchangeable absolute from which nothing can can be removed. In the real world quality is not a diamond under a tin blade. Sacrificing quality to meet a plan is short sighted, yet frequently used approach to resolving the problems of a project that is failing to meet its goals. I have seen software projects slip and then be brought back onto schedule by reducing the time alloted for testing. I have all to often seen resistance to code reviews justified by pointing at a schedule that is looming and the accompanying claim that there is not enough time.
There is always enough time for quality. It is quicker and cheaper to correct a defect at the design stage than it is is in the coding stage. It is quicker and cheaper to correct a defect at the coding stage than it is in the testing stage. It is far cheaper and quicker to correct a defect at the testing stage than in production.
Projects are not triangles. Projects are quadrangles. The Project Manager must start start with the line that represents the required quality; then circumstances will dictate which of the other three variables are given. Sometimes a project must be delivered by a certain date with the team at ones disposal; thus constraining the functionality, or any one of the other available combinations. If the quality is not the first line in the sand it will be overlooked and projects will ignore it, compromising it to that short sighted triangle.


