To maximize the velocity of business value delivery Alistair Cockburn talks of having a process that is "barely sufficient". At Landmark Graphics we developed some guidelines as to what "barely sufficient" means for our various software projects. We examined over 60 projects and observed two primary attributes that influenced the type of process used: complexity and uncertainty. We provide a scoring model for plotting projects onto a four quadrant graph, which we use to categorize projects into dogs - simple projects with low uncertainty, colts - simple projects with high uncertainty, cows - complex projects with low uncertainty, or bulls - complex projects with high uncertainty. We adapt our agile process from a core set of barely sufficient practices that all projects use and add processes and practices according to a project's profile. One key benefit of this approach has been identifying project drivers and providing early guidance to project teams so that they can start with a process that is close to appropriate.
[1]
James A. Highsmith,et al.
Adaptive Software Development: A Collaborative Approach to Managing Complex Systems
,
1999
.
[2]
Alistair Cockburn,et al.
Agile Software Development
,
2001
.
[3]
Sang Joon Kim,et al.
A Mathematical Theory of Communication
,
2006
.
[4]
Todd Little,et al.
Value creation and capture: a model of the software development process
,
2004,
IEEE Software.
[5]
Ruth Milkman,et al.
Microsoft Secrets: How the World's Most Powerful Software Company Creates Technology, Shapes Markets, and Manages People
,
1995
.
[6]
C. E. SHANNON,et al.
A mathematical theory of communication
,
1948,
MOCO.
[7]
Ken Schwaber,et al.
Agile Software Development with SCRUM
,
2001
.
[8]
Rob Thomsett.
Radical Project Management
,
2002
.
[9]
Kent L. Beck,et al.
Extreme programming explained - embrace change
,
1990
.