Yesterday night I deployed a new design for my blog. It was created by Lucas,…
I’m an idiot, I have fooled myself. I’m usually quite good at fooling others, but this time I have fooled myself. And I did it with what I might call a false velocity.
Velocity Defined
Velocity is the rate at which you complete your work, in a certain period of time. This might refer to the number of stories completed, the number of issues processed, the number of exams passed, the number of kilometers driven, the number of hamburgers baked and served, or (for some guy I know) the number of girls dated and dumped.
The Velocity of Writing a Book
I might have mentioned earlier that I’m trying to write a book. It’s a book about managing software development, and the things we can learn from complexity science. Last year I did a lot of research, a tremendous effort that will continue to the end of this year. And I started writing my first pages of text in January this year. I am planning to write around 350 pages in 1.5 years, which equals to an average of 5 pages per week. After 15 weeks I have completed 75 pages of text, which is… 5 pages per week! It’s exactly the velocity I need to finish the book as scheduled. Right?
Wrong!
Last week I came to realize that I still haven’t finished the latest book that I had picked up two months ago. In fact, I still want to read another 15+ books that I consider essential for my project. It now appears that my writing is on schedule simply because I have been neglecting my reading! I have deluded myself. My velocity is all wrong!
The Trap of Measurements
I sometimes see people make a similar mistake in their software projects. It is the trap that people can fall into when measuring progress. People tend to optimize their work according to that what is being measured. And they tend to neglect what is not being measured. In my case, I measured the writing of pages of text. So that’s what I did. I wrote pages of text. My measurements did not include finishing my research. So I neglected it. I fooled myself into thinking that I was on schedule. I’m an idiot.
Measure Everything!
In any software project you have to take care to measure everything that is essential in delivering a succesful product. If you measure only functionalities, you might neglect your work on quality stuff. And if you measure only story points, you might forget about time that must be spent on research, education or communication. I don’t care if progress in your project requires issues processed, exams passed, kilometers driven, hamburgers baked, or girls dated and dumped. Measure everything that counts! Don’t fool yourself as I fooled myself.