Velocity ignores direction making it completely useless for quantifying useful output or just about anything else. Replacing a buggy design as part of a bug fix can be more productive than individually fixing dozens of subtle errors that take months or even years to discover and work through. However it’s easy to endlessly refactor without making net progress, and unfortunately the exact same culture can do both.
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.
Depends on context, in music, economics, etc velocity doesn’t include a vector.
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.
What is the unit of velocity? LoC per hour? Then people would just spread out their code. Businesspoints per hour?
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.
That's the problem that was raised by the parent comment. There is no single 'unit' for this formulation of velocity because it is too qualitative.
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.
How about measuring time until a customer (or plural) gains value from a feature? I know it's very ephemeral, but in general building a bridge is not the end goal, what if no one uses it or even knows about it?
> Velocity ignores direction making it completely useless for quantifying useful output or just about anything else
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.
> The problem with velocity isn’t poor metrics, the problem with velocity is it’s trying to measure a meaningless quantity.
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.
The problem with velocity isn’t poor metrics, the problem with velocity is it’s trying to measure a meaningless quantity.