Wednesday, November 01, 2006 12:51 PM
by
mitchl
Scrum and Agile Planning: Ideal Days Do Not Exist
I was watching the Chiefs - Seahawks football game last Sunday when it hit me. Ideal days do not exist.
Damon Huard was starting for the injured Trent Green for the Kansas City Chiefs. Huard was playing with an injured hamstring and sat out most of practice last week. In fact, while I was watching the pregame warmup highlights, Huard was barely able to take a snap and drop back to throw the ball.
This got me thinking that no player in the National Football League ever has an ideal day. Players in the NFL routinely play through pain, often on a year-round basis. Players inject cortisone into their bodies to mask the pain that haunts them throughout the long NFL season.
Then I started thinking about my own life, my own history. When I was 19, I broke a bone in my left foot playing soccer in college. I played through the pain it did not tell my parents about the injury until I was much older (about one month ago). I only told them because I had to have surgery on the foot to have the bone removed.
This seems extreme, except when you factor in that I have been breaking and re-breaking the same bone since that original day when I was 19, well, I guess I'm just a little stupid sometimes.
The point is, the last time I had an ideal day playing soccer must've been on the first day that I ever played. I think I was three years old.
Let's jump forward. I was working with a team and one of the program managers on the team told me that he scheduled his work and built his Gantt charts based on ideal developer days. I was confused because I did not know what an ideal developer day was.
Every developer that I know today, with the exception of one or two, plays World of Warcraft. I asked my developer friends what an ideal day was for them. Ironically, almost all of them said "an ideal day for me would be playing World of Warcraft, or writing code and add-ons for the game. It is just so engrossing."
I went back to the program manager who was building his wonderful Gantt charts and asked him if he had factored in World of Warcraft. He was astonished! Of course he had not factored that in, because what an ideal developer day meant to him was having developers write code to make his project successful. Note, this does not even address testing.
As his project progressed, he was surprised by the fact that no one was on schedule. He did not do anything wrong, he asked all the developers in the testers for their functional estimates based on the work that needed to be done based on the loose documentation requirements that he had.
From that he made a commitment to stakeholders in the organization that he would deliver his project on time and on budget. He estimated in ideal days, not in a practical team based estimation approach is such as Wideband Delphi or planning poker.
Call me crazy, but I assert that ideal days do not exist. If they do, they come far and few between.
Here is what an ideal day is to me:
- Have a full night's sleep which consists of eight to nine hours of undisturbed rest.
- Start the day with a good breakfast, and feel very refreshed.
- Have everything throughout the day work out exactly as it should with no interruptions, missteps, surprises or anything else that would throw our monkey wrench into my well-planned out, carefully thought day.
- Go home and spend time with my family, who also has had a wonderful day. My kids are happy to see the do everything that my wife and I ask of them without talking back are procrastinating and having them going straight to bed without a peep.
- Spend the rest of the evening with my wife, playing games or talking about the days events - basically having some good quality time together.
- Go to bed and get another full night of undisturbed sleep.
Now reality sets in, because the last time that actually happened was years ago.
So the next time you hear someone thinking of estimating, or actually estimating, in "ideal days”, assert that they do not exist and go watch a football game.