Concept: Adapt the Process
This Principle motivates the need to right-size the development process to project needs.
Main Description

Introduction

This principle states that it is critical to right-size the development process to the needs of the project. More is not better, less is not better: Instead, the amount of ceremony, precision, and control present in a project must be tailored according to a variety of factors including the size and distribution of teams, the amount of externally imposed constraints, and the phase the project is in.

   
Benefits
  • Lifecycle efficiency
  • Increased project agility.
  • Realistic Plans and estimates.
Pattern
  1. Right-size the process to project needs including:
    • the size and distribution of the project team,
    • the complexity of the application
    • the need for compliance.
  2. Adapt process ceremony to lifecycle phase
    (allow formality to evolve from light to heavy as uncertainties are resolved)
  3. Improve the process continuously
  4. Balance plans and estimates with level of uncertainty
Anti-Patterns
  • Always see more process and more detailed up front planning as better:
    • Force early estimates, and stick to those estimates.
    • Develop precise plans and manage project by tracking against static plan.

Discussion

More process, such as usage of more artifacts, production of more detailed documentation, development and maintenance of more models that need to be synchronized, and more formal reviews, is not necessarily better. Rather, we need to right-size the process to project needs. As a project grows in size, becomes more distributed, uses more complex technology, has larger number of stakeholders, and needs to adhere to more stringent compliance standards, the process needs to become more disciplined. But, for smaller projects with co-located teams and known technology, the process should be more lightweight.

Summary of how to customize a development process as a function of its characteristics

Factors driving the amount of process discipline.
Many factors determine how disciplined the process must be, including project size, team distributions, complexity of technology, number of stakeholders, compliance requirements, and position in the project lifecycle.

A project should adapt process ceremony to lifecycle phase. In the beginning of the project on the one hand, we are usually faced with a lot of uncertainty, and we must strongly encourage creativity to develop an application that addresses business needs. More process typically leads to less creativity, not more; we must therefore  minimize process in the early stages of a project where uncertainty is an every day factor. Late in the project, on the other hand, we will need to introduce more control, such as change control boards, to prevent undesired creativity and associated risk, which often leads to the late introduction of defects into the product: This translates to more process.

An organization should strive to continuously improve the process. Consider performing an assessment after each iteration and at project end to capture lessons learned, and leverage that knowledge to improve the process. Encourage all team members to continuously look for opportunities to improve.

Finally, it is critical to balance project plans and associated estimates with the uncertainty of a project. This means that, early in projects, when uncertainty is typically large, plans and associated estimates will focus on big-picture planning and estimates, rather than aiming at providing high levels of precision when there is in fact none. Early development activities should aim at driving out uncertainty to gradually enable increased precision in planning.