I read an article by Tobias Mayer on dzone which actually started quite promising. But after reading it, I was kind of disappointed. I usually enjoy Tobias’ articles but there a few things disturbing me in this one.
The point of the article is basically that many people put the blame for their failures on time-boxing although the real issues are other factors in their time-boxed environment. I fully agree with this. What I actually didn’t like at first was that Tobias basically presents things like: “Do you like your cool, funny, generous and nice uncle X or your lame, boring, stingy and rude uncle Y better ?”. I really think that presenting an extreme picture like this actually hurts the argument.
Of course on second thought, after reading this article, I did start thinking and eventually decided to write a post about it. So even though the article describes the greatest and the ugliest although in most organizations a much lesser level of good or ugly can be found, it did trigger a thought process. So maybe Tobias did reach his goal with the article after all.
So now the thought process has been started, let me share what I think about this time box and commitment topic and how they are related to failure.
First, what’s time boxing ? It just means you divide your project in many smaller fixed-length periods of time. Each of these periods are a full cycle and produce deliverables. It’s important that the length of a period is fixed and will not be changed if you see you cannot deliver what you had planned.
One advantage of time boxing is that you get at the end of each period of time a picture of where you stand. You know what you got until now. You can see whether you are still on track. If something goes horribly wrong, you’ll know latest at the end of the current period. And of course a big advantage is also that big things aren’t easy to manage and smaller ones are easier. So extrapolating, it’s easier to manage many small cycles than a large one.
OK, so it sounds great, where’s the problem ? Well now comes the commitment part… Usually, the customer, its representative, management are all interesting in knowing what they will get for the money. So they want the team to tell them before they start the period. And of course this only makes sense to tell them something if you first think you can achieve it and second actually aim at achieving it. So the team commits something before the start or at the start of the time boxed period of time.
Now what happens if because of unforeseen circumstances you see half way that you will probably not make it ? Well, you have different possibilities:
- You communicate that and say sorry we won’t make it.
- You do what you can and just present it in the end.
- You work even harder until late in the night, on weekends to achieve the goal.
Number 1 is fine depending on how the customers and management reacts. If this means the period is extended or aborted than… well… its then not time boxed, is it ?
Number 2 is also fine although combining it with number 1 is probably best. Since we work in a time boxed project, we basically fix time and costs and accept the fact that the scope in the end might not be what we initially expected. Of course, you’ll see the disappointed faces of customers and management. But since you really love seeing these guys happy, next time you’ll probably commit less. Or you’re make sure you commit on things which are really clear. Overall, it will probably make the commitment better and more reliable and everybody will be happier.
Number 3 is what Tobias described so nicely. Well, if you have to work a few hours overtime and make it, it’s not so bad. But you have to also keep in mind that when you make a commitment and achieve the target, people will expect you to commit at least as much next time. Actually, since you’re also expected to get better at it over time being more and more experienced, you should actually be in a position to commit more next time. So next time, you won’t sleep at all. You will not only work on Saturdays but also on Sunday and as Tobias states, you’ll probably die. But it is kind of a worst case scenario, right ?
Sometimes the pressure to do everything in your power to achieve committed goals does not come from others (customers, managers…) but from the team itself. we all want to achieve what we’ve committed to. But to honestly say that something cannot be done as planned is the better honest way to go around with it. If you try till the end to work overtime to achieve it and succeed, nobody will see a need to improve anything since we made it. On the other hand, if you eventually fail anyway, you’ve just wasted a lot of energy but also time.
Sticking to the plan no matter what is not going to save you. But adapting the plan as soon as a delay occurs will make sure that you have a realistic and feasible plan which is more useful than having a plan looks better but is disconnected from reality.
So the message is basically:
- Customers and management need to accept that working time boxed means you might not be able to achieve 100% of the goal but it’s OK, since you have a short cycle and soon a chance to mitigate this.
- You have to accept that it’s OK not to achieve 100% of the goal if new issues pop up or if things are more difficult to implement than expected.
- Customers, management and the team need to understand that working overtime to mitigate delays due to unexpected difficulties is not a good long term solution. Make sure you implement the most important features first so that even if after the planned X cycles you haven’t implemented 100% of what was planned, you’ll still have the most critical features.
So does it mean commitment is bad and you should just work time boxed without any commitment ? Well, even though you should stretch it too much with hard commitments which you want to fulfill no matter what, I feel that giving a commitment is important. I personally feel motivated when I’ve committed to something. Second, giving commitments, being wrong about them and trying to better assess what you can achieve during the next cycles, does help you better access what you can deliver in the future.
So the main issue is neither the time box or the fact that commitments are delivered but how you handle change in the project.