Warning: This blog entry was written two or more years ago. Therefore, it may contain broken links, out-dated or misleading content, or information that is just plain wrong. Please read on with caution.
How Is CPI Activated - cont.
As with all people, developers are affected by outside stress in their lives, but because the nature of their work requires a level of creativity this can be doubly problematic.
While this cannot be dealt with directly, if you give your developers a calm positive work environment the affects can be reduced.
Warning Signs To Look Out For
When looking for CPI the first and post prominent warning sign will often be that a programs code base is rapidly growing in size relative to the number of developer hours being spent on a system.
Another sign to look out for is ambiguous names for variables or variables whose name do not relate to the function of that code group.
Finally a strong warning sign will be friction with other developers. This is particularly true of maintenance programmers who are subjected to the results of CPI more than any other person and will over time react accordingly.
Results of Untreated CPI
If left untreated CPI will result in a code-base which rapidly grows in size while at the same time duplicating and increasing the damaging potential of code bugs.
Maintenance will become almost impossible with error fixes and updates having to be replicated numerous times throughout the working code of a program.
In extreme cases a system can become so unstable as to require a complete rewrite or replacement.
How To Treat CPI
As mentioned before, the key to treating and preventing CPI is active positive management participation. Peer code reviews should be encouraged with an emphasis on open discussion about improving the code rather than negativity about problems identified.
Finally workloads should managed by management not the developers themselves so that developers do not get burned out and demotivated and management is seen as a positive rather than a negative.
It is important to realise that 99% of developers who suffer from CPI want to get better, they just either do not recognize they have CPI or lack the resources to deal with the issue themselves.