One of the common anti-patterns which comes from a more traditional project management toolbox is estimating work time. This estimate is later used as a tool to hold employees accountable. To help managers steer the ship, while making sure that utilization stays high. In particular, the measuring stick for good management is that employees are efficient. Over time, employees take less and less time to do a particular type of task.
Call me crazy, but this feels short-sighted to me.
If you are looking improving output and velocity of work (as opposed to employee efficiency) it goes up significantly when you have a solid team dynamic. Where people reach out and help one another, especially if they have different skill sets required to ship a particular feature. This a classic case of conventional management wisdom not tying true causes and effects together.
Ultimately what you care about is finished work. And finished work comes about quickly when a good team dynamic exists, not when individuals are efficient. To be blunt, this comes down to peer pressure dynamics among team members. For a team to work, they need to know what to expect of each other.
Any given player needs to pay attention to what everyone else on the court is doing, in order to figure out where to go next. Yes there is a coach on the sidelines, and a captain on the court, but the responsibility rests with the individual.
As the game is playing, could you imagine the coach getting off the bench and running after every player with a stopwatch? Telling them–one after another–to run faster? Anyone who the coach wouldn’t be yelling at would slow down most likely. Because he’s not getting grief from the coach, so why should he care? This might be more acceptable during practices, but even then, it takes away agency from the employee. And emotional skin in the game.
If you start measuring and tracking individual employee output:
Maybe that’s acceptable, and you want the extra control, but usually this will reduce your output. Because the motivation lies solely in the relationship between the employee and the manager. A hub-and-spoke dynamic among a group of people. Not a real team.
Speaking for myself, adding elements of control doesn’t feel like it addresses the real issue of people not being self-motivated to work as a real team. It was kind of like buying additional dumbbells or books when wanting to shed a few kilos, like Keith Cunningham points out. It’s helpful to have a one new pair, but buying 100x more dumbbells on its own won’t burn the fat that much faster.
The root of the problem lies elsewhere: a misaligned team dynamic leading to a lack of individual motivation in the form of manager reprisal.
In contrast, if a player consistently gets the ball and fumbles with it or misses shots on goal, the team won’t trust him. That’s much more powerful motivator. They understand the consequences (to others) of dropping the ball on any given task.
Conversely, if there are a few good players who trust they can pass the ball to one another and to move their play forward, then things start to happen. Having a team dynamic where everyone chips in matters. Where people know who they can turn to if needed. So they’re implicitly clear on priorities, as they enforce them from one another.
Or if you do have a star player, at least the team self-organizes around helping that star contribute significantly on the playing field.
In scenarios requiring serial processing of work to ship something, like for example a software feature, you naturally start to observe bottlenecks. In particular, a lot of partially finished but unreleased work lies in the “wait states”. The amount of time a given piece of work lies in between BA, development, and QA usually exceeds the amount of actual work time spent on it.
Here’s a case study. Same time, same year, same product, same technology stack:
This was a team that I ran when developing a new product. And what I’m showing here is pretty common. Few delivery people can overcome their “cringe factor”. To figure out how much flab there is in a delivery process. In this case above, the aggregate elapsed time was over 3x longer than the work time.
Let’s say we achieve a nearly impossible feat: halve the amount of developer work time without reducing the rate at which features were completed. All that would mean is that the purple bar in the stack above would be smaller. But the overall elapsed time wouldn’t budge. The story would just wait longer for QA to be able to look at it.
Or halve the QA time required without reducing quality and rate of bug discovery. That would reduce the size of the gold bar. Which is admittedly a win at the story level. Because the elapsed time to the end of QA would go down.
But then you have the next step out: release elapsed time.
How much time elapses in between when all of the stories are QAed and the release goes out the door? If you don’t have a continuous delivery pipeline, it could be weeks. So it doesn’t matter if QA or dev go 20% faster, because the product won’t end up in the client’s hands until the product is released.
In practice all features are released together anyway. So even this pinkish elapsed time stack would need to be much taller when you count the time to release.