Have you thought sometimes that you are doing too much debugging and bug fixing or spending too much time in meetings while other developers are having fun writing code? Or maybe you’ve heard that someone said “writing less or more code”?
In both cases conclusion must be wrong! I have a story that made me think that in most cases Software Developers and their managers don’t know their and others numbers.
I was working in CQG Inc, company with a very interesting development processes. People were obsessed with high quality code and metrics. There were Personal Software Process (PSP) and Team Software Process (TSP). Company wanted developers to know their and others numbers. I loved it.
I’ve started to ask candidates during interview about their numbers. Most just replied “I don’t know”, “hard to tell”, “it depends” and the rest came up with ridiculous numbers. This is how and why I believe that Software Developers don’t know their numbers and they don’t know others numbers to make conclusions. Later, working in other companies and projects I’m convinced about it.
Do you use git? Don’t trust opinions and make Data Driven conclusions. It’s quick, fun and surprising, believe me.
If you have OS X or Linux machine with git repository, I recommend to start with http://gitstats.sourceforge.net. Note that for OS X, currently there is no gitstats package. But it’s not a problem: clone gitstats repo and then
brew install gnuplot because this is required dependency. Run script
gitstats from cloned repo.
I will use my numbers of one of the project as example.
mkdir ~/gstatistics cd ~/gstatistics $ gitstats ~/gitrepo ./
It will generate set of reports. Open report
Personally I like Author Of Year report. Don’t treat it too seriously though
At the end I want to share some interesting observation. When new project is released and you see final numbers with ratio like
It tells me that the project had one or all set of problems: bad design, poor implementation, wrong requirements. Possible that there is another explanation but it’s something that may worth to think why it happened and what you can do better next time.