The typical project variables are scope (or features), time, cost, and quality. The most important thing to understand about these variables is that they need to be balanced with each other. Therefore, at least one of them must be dynamic to adjust and cancel out the variations in others. (Like in the old saying: “good, cheap, fast, pick two”.)
Variables in predictive projects
In predictive projects, scope is fixed, and while there are targets for time and cost, they are practically dynamic; i.e., if you’re building a house and there’s a variation, you won’t finish the project on time without installing windows, but you will install the windows and deliver the project later. This is a demonstration of what it means to have a fixed scope and a dynamic time (with targets).
Predictive projects try to fix quality as well. However, because of pressures that come with a fixed scope, they sometimes have to compromise and make quality dynamic, mainly because a large portion of quality activities are concentrated at the end of the project (at least, in IT projects).
Variables in DSDM projects
In DSDM projects, time, cost, and quality are fixed, and scope is dynamic. It means that the project will always be delivered on time, but only with as many features as possible. Since typical IT projects don’t have procurement and use stable teams, a fixed time typically implies a fixed cost.
Since there’s less pressure when scope is dynamic, it’s easier to have fixed quality, which is great support for the “never compromise quality” principle.
Having fixed time helps the project focus on the most important features, and the most important aspects of those, instead of spending resources on fancy features.
Variables in other Agile methods
Most Agile methods use timeboxed iterations (e.g., Sprints in Scrum), which is a form of having fixed time with dynamic scope. However, most of them do not have such a constraint for the whole project. DSDM projects timebox the whole project the same way they timebox iterations.
Note: iterations are called timeboxes in DSDM.
Written by Nader K. Rad
This is (and will be) a work in progress: More details will be added in the future, depending on the feedback.
This wiki is developed and managed by an accredited trainer, independent of Agile Business Consortium and APMG. While aligned with their guidelines, it’s not an official resource.