A recent conversation leads me to discuss some basic issues.
But, if we assume that the Product Owner is taking us in the right direction (having us build high business value items) and on the MMFS (minimum marketable feature set), then higher velocity is better.
And, when we remove impediments, one of our key reasons for doing so is higher velocity. Yes, we want more fun, we want more creativity (which does not always result in higher velocity per se), we want higher quality, we want less technical debt (which should come out as higher velocity eventually), etc. Still, I assume the other things, and so higher velocity is the key thing.
Not that it doesn't happen. It does. But no self-respecting manager should think this way. About teams doing knowledge creation work.
If as a manager you have an important project, and you think the only way to be more productive is to work harder (higher stress) and longer hours, then, based on over 20+ years of experience, I think you either have a bad team or you are a bad manager.
Higher velocity never means working harder (well, more than 40 hours per week). Often it means working fewer hours.
Velocity should never be used to drive the team into a death march.
The team should use velocity to protect themselves from what I call "the magical thinking managers", which just stamp their foot in demanding 'higher productivity'. Stamping of feet and slogans are useless. In overly-simple terms, we must remove impediments.
An predicting things related to human behavior is hard. Predicting things related to multiple variables is hard, but always required in business (or so I find). There are timing issues related to prediction (when will the benefits start to show).
My recommendation is to under-estimate the velocity impact to some degree. And to explain the issues of prediction to the manager. A decent manager understands these issues. A decent manager does not expect the team to be accurate in predicting each team. A decent manager expects the team, over a series of A3's, to achieve somewhat more results than they predict on average.
Remember that we only have to predict enough improvement to justify the cost of investing in the fix. Again, I find that we can under-estimate the velocity improvement and still easily justify the cost of the fix. Usually.
Remember that the main reason to spend time or money in fixing an impediment is the benefit, and the main benefit is improved velocity. At least to a manager.
However, it is my experience that velocity improvement is more important a factor than most team's think. Largely because most teams are not used to thinking about velocity.
This is the major problem, I find. This belief that we as a team are almost perfect. It is, of course, usually expressed in the negative of "we can hardly go any faster." Everyone recognizes the idiocy of saying "we are perfect", but to suggest we are close to reaching some upper threshold of productivity sounds reasonable. I mean, we are all smart people around here, right? And we run a professional IT shop, right? And we are a strong team, right? And we have all the right tools to run Agile, right?
To be honest, there is so much improvement to be made, it is unbelievable! To be honest, "it's not what you don't know, it's what you know that ain't so." We are smart, but some of our smarts are unbelievably dumb! And all the rest of those assumptions above (and others) leave even more room for improvement.
Now, it is true that the team is working hard already, probably already too many hours. And so "being more productive" feels like a request for more hours. And a request for more hours is wrong! I won't try to explain here why it is wrong. But it is wrong! Wrong!
But that does not lead, logically or any other way, to the notion of "we can hardly go any faster".
Usually we can easily go twice as fast in the next 6 months. If... And the main "if" is (I think)....if we will open our minds to identifying some of the real impediments around here. But, to be honest, there are many "if's".
It is like saying "I ran a mile at sustainable pace", but in fact it was 8/10's of a mile and you are just about dead.
A real velocity should accumulate zero (well, almost zero) technical debt and should be achieved at a sustainable pace. And it should be based on a strong definition of done. That the team actually follows.
So, once you identify your real velocity (much lower), then doubling it will be relatively easy.
***
Enough for today.
- Why do we care about velocity?
But, if we assume that the Product Owner is taking us in the right direction (having us build high business value items) and on the MMFS (minimum marketable feature set), then higher velocity is better.
And, when we remove impediments, one of our key reasons for doing so is higher velocity. Yes, we want more fun, we want more creativity (which does not always result in higher velocity per se), we want higher quality, we want less technical debt (which should come out as higher velocity eventually), etc. Still, I assume the other things, and so higher velocity is the key thing.
- Higher velocity is just another way for managers to screw the team members
Not that it doesn't happen. It does. But no self-respecting manager should think this way. About teams doing knowledge creation work.
If as a manager you have an important project, and you think the only way to be more productive is to work harder (higher stress) and longer hours, then, based on over 20+ years of experience, I think you either have a bad team or you are a bad manager.
Higher velocity never means working harder (well, more than 40 hours per week). Often it means working fewer hours.
Velocity should never be used to drive the team into a death march.
The team should use velocity to protect themselves from what I call "the magical thinking managers", which just stamp their foot in demanding 'higher productivity'. Stamping of feet and slogans are useless. In overly-simple terms, we must remove impediments.
- For the A3, it is difficult to estimate the velocity impact of fixing an impediment
An predicting things related to human behavior is hard. Predicting things related to multiple variables is hard, but always required in business (or so I find). There are timing issues related to prediction (when will the benefits start to show).
My recommendation is to under-estimate the velocity impact to some degree. And to explain the issues of prediction to the manager. A decent manager understands these issues. A decent manager does not expect the team to be accurate in predicting each team. A decent manager expects the team, over a series of A3's, to achieve somewhat more results than they predict on average.
Remember that we only have to predict enough improvement to justify the cost of investing in the fix. Again, I find that we can under-estimate the velocity improvement and still easily justify the cost of the fix. Usually.
Remember that the main reason to spend time or money in fixing an impediment is the benefit, and the main benefit is improved velocity. At least to a manager.
- For some impediment fixes, the main benefit is not velocity improvement
However, it is my experience that velocity improvement is more important a factor than most team's think. Largely because most teams are not used to thinking about velocity.
- We can only make minor improvements in velocity
This is the major problem, I find. This belief that we as a team are almost perfect. It is, of course, usually expressed in the negative of "we can hardly go any faster." Everyone recognizes the idiocy of saying "we are perfect", but to suggest we are close to reaching some upper threshold of productivity sounds reasonable. I mean, we are all smart people around here, right? And we run a professional IT shop, right? And we are a strong team, right? And we have all the right tools to run Agile, right?
To be honest, there is so much improvement to be made, it is unbelievable! To be honest, "it's not what you don't know, it's what you know that ain't so." We are smart, but some of our smarts are unbelievably dumb! And all the rest of those assumptions above (and others) leave even more room for improvement.
Now, it is true that the team is working hard already, probably already too many hours. And so "being more productive" feels like a request for more hours. And a request for more hours is wrong! I won't try to explain here why it is wrong. But it is wrong! Wrong!
But that does not lead, logically or any other way, to the notion of "we can hardly go any faster".
Usually we can easily go twice as fast in the next 6 months. If... And the main "if" is (I think)....if we will open our minds to identifying some of the real impediments around here. But, to be honest, there are many "if's".
- If we go faster, we'll get into more technical debt
It is like saying "I ran a mile at sustainable pace", but in fact it was 8/10's of a mile and you are just about dead.
A real velocity should accumulate zero (well, almost zero) technical debt and should be achieved at a sustainable pace. And it should be based on a strong definition of done. That the team actually follows.
So, once you identify your real velocity (much lower), then doubling it will be relatively easy.
***
Enough for today.
4 comments:
Love the attitute towards technical debt… tech debt should occur because situations change, and past decisions are no longer the best solution. Just writing bad code is not doing your job properly, and not having a good definition of done.
Hi Stewart,
Yes, I think we have to, in general, be very aggressive against technical debt. Glad you like the attitude! And, yes, even if you do a very professional job, you will still find yourself in some technical debt.
Regards,
Joe
Hi Joe,
Great post!
Maken more hours / expanding the sprint length...
I do feel it's not the best way to deal with productivity.
Could you tell us briefly why it's wrong?
Thanks!
Greetz
Kishen
Hi Kishen,
There are several reasons why working more hours or extending the length of the Sprint is wrong.
1. It's about creativity or at least a fresh brain.
Thus, more hours (beyond day 40 per week) leads to an unfresh brain, and LESS productivity. Sometimes in the form of buggy code.
2. Death March
The team members, almost always historically have been asked to do a death march. That's where they work harder and harder, usually in close to inhuman circumstances, to "catch up". This never works. More importantly, when we try to do it now, even a little, the morale goes way down, and usually the real productivity with it.
3. Real velocity
We want a real velocity. For a defined period. Moving the measuring sticks (cheating) does not mean the real velocity went up. It just means you moved the measuring sticks.
4. Cleverness
My hypothesis is that the main and best way to increase productivity, esp if we measure it as increased velocity (story points), is cleverness....meaning, fixing impediments for the team. NOT working harder.
Is that enough? There is more.
Regards,
Joe
Post a Comment