Context-adaptive agility: managing complexity and uncertainty

At Landmark Graphics, we have worked with various software practices and processes and over the last several years have begun to better comprehend some of the guidelines that define "barely sufficient" for our software projects. One thing has become quite apparent: what's barely sufficient for one project can be insufficient for another yet overly bureaucratic for another. As we looked at our project history, we found that two primary attributes influenced the type of process we used: complexity and uncertainty. To better quantify these attributes, we devised a scoring model and plotted each project's results on a four-quadrant graph. We have developed an approach to help determine what process practices are "barely sufficient" for any given project. We start with a core set of common practices. Then, depending on complexity and uncertainty, we can recommend additional practices. By identifying these project drivers, we can provide earlier guidance to project teams so that they can start with a process that's close to appropriate.