In next days I'd like to write down our CM story. How a CM process has changed over the last years in our organization and project.
Once upon a time - before has the project really started - few people wrote a configuration management plan. All the experience was written down and reviewed until all participants were tired of reviewing. That was a trigger to consider the plan as final version and document was successfully released under complex process.
CM process itself was pretty simple. Three groups of developers were defined: two of them distributed and local one. Every supplier was supposed to submit their changes to the local build once a week. Together with changes from local team all changes were submitted to the common build. This was then next day used as a new baseline for further development.
Episode 1: How CM process contributes to the dependency between feature velocity and baseline quality.
Picture below shows the causal loop diagram [1], [2]. The term “build quality” should be interpreted as stability expressed e.g. in number of exceptions per hour…
- As every developer submits his changes to the local build without the integration and testing of unwanted side effects the quality of local build goes down.
- Local build result is submitted to the common baseline which goes consequently also down.
- Decreased baseline quality has bad influence on the development velocity on both constructions: featured development and also the bug fixing.
- The lower is feature velocity the higher project pressure is created by management.
- This makes the developers morale low but also decreases the bug fixing rate, while developer will rather decide to implement new feature as to fix reported bug.
- Low bug fixing rate decreases again the baseline quality etc…
Consequence of this is a reinforcing loop depicted in the red box.
With some delay a process change came introducing so called bring-up tests. And the story continues with the episode 2.
With some delay a process change came introducing so called bring-up tests. And the story continues with the episode 2.
Reference: