The problem with velocity isn’t poor metrics, the problem with velocity is it’s trying to measure a meaningless quantity.
The problem with velocity isn’t poor metrics, the problem with velocity is it’s trying to measure a meaningless quantity.
I think the word choice of "velocity" indicates that its original intention was to have direction, otherwise it would be "speed" :).
What you're defining as velocity here is the exact 'micromanagement software tracking velocity metrics' that the parent comment is arguing against.
Velocity is probably more accurately thought of as the rate at which we can improve or create the right products for our business goals. But as the parent said, this is a qualitative and difficult to capture with metrics.
But to help clarify the point, if the project knew what was useless then people wouldn’t be working on it. Essentially, the team is defining useful work by what’s being worked on which robs the direction of any meaning.
When I hear such things I have the strong urge to factor in how lasting such solutions are.
A company that puts up 100 bridges a year of which 90 collapse within two years is a worse engineering company than one that puts up one a year that lasts for 50 years.
It's a similar property to "code quality" in that regard. There are metrics like 'test coverage' or 'dependency graph complexity' but these can also be gamed intentionally or unintentionally much like LoC.
There are lots of descriptive metrics you can come up with that can be useful in exploring how you are performing or how your performance is changing with regard to quality or velocity. But treating such a metric as an actual proxy for the underlying property is not useful and sometimes counterproductive as you point out.
I think this is where the notion of software craftsmanship appears. We are still at the point where it requires an expert who is engaged in the process to essentially sense how they or their team is performing on these properties. They can use metrics to inform that sense or to help in determining what actions should be taken.
But this is frustrating for larger organizations where frequently the people who want to measure a certain property are not actually participating in the process because they are separated by multiple layers of management. You essentially have to trust that every management layer below you is able to accurately assess a qualitative property, which is difficult to standardize and scale.
Velocity is important but I think it's an orthogonal concept to quantifying useful output. In my mind, velocity is how quickly developers are able to unblock themselves and overcome obstacles. It's very possible that people can have extremely high velocity working on pointless stuff but that's not what velocity is meant to track anyway.
that's exactly right, it's taking 2 dimensions (estimate and fitness of estimate) and quashing it down into 1 dimension, where you necessarily lose information.
It's a point in that it's an abstract idea that can represent an atom or a universe.
It's not useful for anything outside of the abstract.