Success in the improvement in process requires five common features. These features come from the Capability Maturity Model, Software Engineering Institute.
- Commitment to Perform: Commitment to Perform describes the actions the organization must take to ensure that the process is established and will endure. Commitment to Perform typically involves establishing organizational policies and senior management sponsorship.
- Ability to Perform: Ability to Perform describes the preconditions that must exist in the project or organization to implement the software process competently. Ability to Perform typically involves resources, organizational structures, and training.
- Activities Performed: Activities Performed describes the roles and procedures necessary to implement a key process area. Activities Performed typically involve establishing plans and procedures, performing the work, tracking it, and taking corrective actions as necessary.
- Measurement and Analysis: Measurement and Analysis describes the need to measure the process and analyze the measurements. Measurement and Analysis typically includes examples of the measurements that could be taken to determine the status and effectiveness of the Activities Performed.
- Verifying Implementation: Verifying Implementation describes the steps to ensure that the activities are performed in compliance with the process that has been established. Verification typically encompasses reviews and audits by management and software quality assurance.
It's the Capability to Perform and the Ability to Performance that must be in place before any progress can be made. This is all obvious of course, but being obvious does not mean it is easy to execute.