Several years ago I was a programmer for a large telecom company. The project manager felt like the development team were not producing enough results and the project faced typical issues - deadlines were missed, the project was lagging, it was over budget... To fix the 'problem', a competition was organized. The 'lines of code', a typical software metric, were used to determine who was the 'best' programmer. This lead to big quality problems as employees were focusing on quantity instead of quality.
Realizing this, the manager decided to tweak the contest rules. The winner would have the best (lines of code) / defect ratio. This helped a bit with the quality, but employees were still focusing on writing code, disregarding some of their other tasks like documentation, mentoring junior employees, trying to fix existing defects, etc. Everyone was also trying to avoid any 'difficult code' to reduce the chances of creating defects.
The competition ended up being cancelled...
To this story, Paul answered with a very insightful comment:
... The solution for your project manager should have started with "root causes" not incentives. If he/she had gone through an analysis to find out "why" the problem existed the program could have been designed around that issue. Too often we measure results - not the steps to the results - which is where the issue lies.
No comments:
Post a Comment