This principle states that it is critical to rightsize the development process to the needs of the project. It is not a question of more being better, or of less being better. Rather, the amount of ceremony, precision, and control present in a project must be tailored according to a variety of factorsincluding the size and distribution of teams, the amount of externally imposed constraints, and the phase the project is in. More processwhether usage of more artifacts, production of more detailed documentation, development and maintenance of more models that need to be synchronized, or more formal reviewsis not necessarily better. Rather, you need to rightsize the process to project needs. As a project grows in size, becomes more distributed, uses more complex technology, has more stakeholders, and needs to adhere to more stringent compliance standards, the process needs to become more disciplined. But for smaller projects with collocated teams and known technology, the process should be more streamlined. Second, a project should adapt process ceremony to lifecycle phase. The beginning of a project is typically accompanied by considerable uncertainty, and you want to encourage a lot of creativity to develop an application that addresses the business needs. More process typically leads to less creativity, not more, so you should use less process at the beginning of a project, when uncertainty is an everyday factor. On the other hand, late in the project you often want to introduce more control, such as feature freeze or change control boards, to remove undesired creativity and risks associated with late introduction of defects. This situation translates to more process late in the project. Third, an organization should strive to continuously improve the process. Do an assessment at the end of each iteration and at the project's end to capture lessons learned, and leverage that knowledge to improve the process. Encourage all team members to look continuously for opportunities to improve. Fourth, you need to balance project plans and associated estimates with the uncertainty of a project. This means that early on in a project, when uncertainty typically runs fairly high, plans and associated estimates need to focus on big-picture planning and outlines rather than aim to provide five-digit levels of precision where clearly none exist. Early development activities should aim to drive out uncertainty and enable gradual increases in planning precision. Figure 7.1. Factors Driving the Amount of Process Discipline.Many factorsproject size, team distributions, complexity of technology, the number of stakeholders, compliance requirements, the particular stage of the projectdetermine how disciplined a process you need.
An anti-pattern to following this principle would be to see more process and more detailed up-front planning as always better, including insistence on early estimates and adherence to those estimates. Another anti-pattern would be to use the same amount of process throughout the project. This chapter describes a series of practices that will help you to adapt the process to the context of your project or organization:
Let's have a look at these practices! |