and Resources. • Change in one of these constraints has a necessary effect on one or both of the others. • If out of balance then one or more of them must change/break. • Or the resulting quality is destroyed by artificially meeting the constraints by cutting corners.
problem: It is easy, even unavoidable, for the constraints to be out of balance at the beginning of a project. • To make matters worse, they can get more out of balance as the project proceeds. • Many reasons for this problem that all stem for them fact that we have only limited ability to control, or even truly understand, all three constraints and the relationships between them.
complex software should work before it is built. • Conditions that control Scope tend to change: – Understanding of the domain evolves. – Business has new ideas on project. – Underlying needs/priorities shift. • Waterfall projects lock scope at the beginning and intentionally make it hard to change. • Successful projects must accept & embrace significant changes in scope as they proceed.
• We never build the same thing twice! “Construction” analogies are false. • Still need to estimate, but use estimates properly. Useful for planning and baseline, but not as guarantee or promise. • Given that scope is likely to change, detailed estimates aren't valuable anyway.
some hardware/software. • Need motivated, qualified people with good chemistry. • Avoid “Mythical Man Month” thinking: – "Adding manpower to a late software project makes it later." – Larger teams have diminishing, even negative, returns. • Can use agile to parallelize work, but this still adds overhead and has costs
one of the points of the triangle to vary, making it “elastic”. • Hard to accept, since it means uncertainty. • Which to vary? – Resources easiest to control, and changes have negative impact, so lock this in. – Allow either scope or schedule, or both, to vary as best suits the project. • Overall, flexibility and quickly adapting to change is the key to project success.