prev next

Proper measurements

How do you measure performance?

Many IT development projects used to pay too much attention to the lines of code programmers wrote. There’s the famous story of a company that hired a great programmer, and they asked him to report how many lines of code he had written after the first month, and the answer was a negative number! The programmer had cleaned up and fixed a lot of code, which mainly involved removing unnecessary code.

Most IT development projects are not like that anymore, mainly thanks to the Agile methods that have been fighting against these poor practices. However, some of the good practices of Agile methods have been deformed and used inappropriately as well. For example, most Agile methods work in fixed-duration iterations. At the beginning of each iteration, they pick a number of items from a big to-do list and create a simple plan for their iteration (which helps increase focus). Unfortunately, the main measurement for some projects has become counting the number of items the team has finished compared to what they had picked. This is obviously wrong, because it pushes them to be more conservative when planning their iteration, and then they end up delivering less because “work expands to fill the time available for its completion” (Parkinson’s law).

Don’t forget that what you measure in your project becomes the goal for people working in the project. Therefore, your measurement must be aligned with the real goals.

Measuring progress toward the abstract goals of a project is not easy; for example, measuring how much value has been created based on the organizational strategies. In view of this, we have to select the best possible proxies, which are the project targets (time, cost, quality, scope, etc.). More sophisticated alignment evaluations can be done in the portfolio management system using the target evaluations done in projects.

There are different ways of measuring the targets, but there’s only one effective way: forecasting the targets for the completion of the project; for example, how much money do we need to finish the project.

Next: Reporting