"Everything should be made as simple as possible, but not simpler."
- Albert Einstein
How’s your software measurement program doing? Is it well funded and supported by management, or do you worry about your job the next time the organization decides it needs to be “leaner and meaner”? Many measurement programs are cancelled or fade into meaningless obscurity. Why? Some things are out of your control; but here are a few that will improve your odds for success:
- Remember that you are providing a service. You have customers and you want them to feel that they are appreciated. If you are viewed as the “metrics cop”, you have some serious work ahead turning that perception around.
- People are busy and your metrics program is (initially) just one more piece of work they have to do that they don’t have time for. Metrics programs are hungry for data. Providing that data (reasonably accurately) requires time and effort. Seek out opportunities to demonstrate value to those who provide you data and the level of cooperation, the quality, and quantity of data you receive will improve.
- Set short term goals. Yes, metrics programs have long term goals; but your program won’t be around to achieve them unless you demonstrate value early and often. Software estimates are an excellent way to achieve this goal. Provide a project manager with graphs and charts he or she can use to support their case to upper management and you have turned a doubter into a supporter.
- Keep it simple. When possible, utilize processes that are already in place, such as time tracking systems and problem logs, to obtain your data. Make providing data to the metrics program as simple and unobtrusive as possible. This will also improve the consistency and quality of the data. Metrics programs are based on a very few core metrics: effort, cost, size, defects, and duration. Focus on obtaining them in the least invasive manner possible and you will have the foundation for extensive and effective metrics analysis.
- Provide definitions of your metrics. And keep them simple. To quote Albert Einstein again, "Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."