There is this thing.
It’s coming up again and again.
I would say it is the root of all evil.
At least some of it.
I am referring to the need of many software development managers to make sure all their employees are fully utilized. It usually surfaces when you start talking about real team work or about agile execution.
Having all your employees fully utilized is not a bad thing for itself. It is just not the goal. The goal is to get software development done. The problem starts when “people fully utilized” gets in the way of getting software development done.
Making a sprint plan with people having exact tasks for the next two weeks is a very good way to make sure everyone are busy. This will also kill flexibility to respond to arising issues, something that usually happens in software development. Making a sprint plan with just a list of stories and then assigning people per need is a good way to make sure stories get done.
Having a daily meeting, asking each person for what they did yesterday and their plans for today is a good way to make sure people are working. having the daily meeting around stories and what happened with them yesterday and the plan for today is a good way to make sure they will get done.
Should we get stories done at all costs? No. We should balance between speed and throughput, depending on our context. In some places speed is more important, in others throughput. However, it seems that “people fully utilized” is so prevalent we can safely give it some blows and it will still be there , guarding us from doing really silly stuff.
Once you get the utilization thing off your mind things become easier. This is because suddenly you have one clear goal – getting these stories done. Remember – this is your real goal. And don’t worry about the people, they will find something to do.