Home

Manifesto

Values and Principles

About Us

The People

Whitepapers

Risk management

Contact

Links

Forums

Resources

Muse Cases

The Appropriate Process Movement Manifesto

The Appropriate Process Manifesto arises from conversations between its founders, Paul Oldfield and Hüseyin Angay, with contributions from the other initial signatories.

Appropriate Process is about the identification of a Software Development Process appropriate to the risks of a Project, the migration (with minimum disruption) toward that Process, the transfer of skills to enable that Process, and the adaptation of that Process to track the changing needs of the Project and of the Enterprise undertaking the Project.

  • Appropriate Process - Software Development Process that is appropriate to the immediate and future needs of the Project and the Enterprise, and adaptable to their future needs.
  • Approaches to Risk - Risks recognized, and appropriate approaches taken to deal with them; Prevention, Cure or Lay-off.
  • Migration - Adopting a new process is in itself a risk, and a migration plan selects preventative and curative measures to take the pain out of the change.
  • Adaptation - Risks change with time, so Appropriate Process evolves with time.
  • People Before Process – The best possible approach to Software Development is to use the best possible people.
  • Skills Transfer - The target is: everybody knows what needs to be done, and how to do it, so they get on and do what needs to be done.
  • Joined up Process - The resultant process should be joined up; the outputs of one part of the process should be suitable as inputs for the following part. The process should produce the desired product.
  • Sustainable - The Appropriate Process provides a cost-effective development path and does not rely on committing more resources and effort than it saves the Project and the Enterprise.

Appropriate Process initially concentrates on OO software development process for new build and maintenance. It is the intention to cover all approaches to systems definition and development in the fullness of time.

Approaches to Risk

Robust approaches to systems development attempt to identify and prevent the majority of risks. Lightweight approaches identify and deal with fixed key risks, either by prevention or by specific approaches to reduction of the cost of cure. Appropriate Process espouses the adaptive approach of assessing key risks and, for each, choosing to adopt:

  • Prevention; preventative approaches to avoid the risk,
  • Amelioration; reduction of the cost of cure,
  • Acceptance; taking the hit if it happens, or
  • Delegation; identifying the problem as being somebody else's responsibility.

Migration

Appropriate Process specifically identifies one of the key risks as the inability of the project members to implement the identified appropriate process. It explicitly condones the temporary adoption of a less than ideal process as a step in the migration path toward the process identified as appropriate. It explicitly espouses methods to aid the transfer of required skills between project members with both permanent and brought-in experts. Where necessary, an Appropriate Process will include a Migration Plan.

Adaptation

Appropriate Process specifically recognizes that risks change, needs change and skills change. All these impact on the process that is appropriate to the immediate needs, so the process should adapt to meet these changed needs. Appropriate Process specifically accepts that the process changes with time.

People Before Process

The Agile Alliance, whose principles are supported by the Appropriate Process Movement, recommends People before Process. Invest in good people and nurture their development, because good people will win out over poor process, but good process will not win out over poor people.

Skills Transfer

Appropriate Process specifically identifies the need for approaches to optimize transfer of skills in order to enable team workers to implement the appropriate process. An Appropriate Process will address this need both as part of the Migration Plan and as part of the ongoing process of staff development and turnover within the Project and within the Enterprise. The Appropriate Process covers skills transfer both to enable the team workers to be productive within the process framework and, more specifically, in carrying out their roles. The team need to know not only what to do and how to do it, but also why it is the right thing to do.

Joined up Process

In the process of selecting from the vast range of available techniques and best practices that are the building blocks of an Appropriate Process, explicit consideration is given to the risk that the techniques may be incompatible. As with other risks, the Process Engineer may choose to deal with the problem if it arises. However, the option of prevention will explicitly be considered; prevention by ensuring that the process is 'Joined Up', that, in all cases, outputs of one part of the process are suitable as inputs for the next part.

Sustainable

An Appropriate Process identifies techniques that make cost-effective use of the resources available to the Project and the Enterprise. The process balances the resource utilization in order to provide the best returns in the long term with a view also to providing tangible benefits in the short term.

 

 

Copyright 2002, Appropriate Process Movement