Schedule Board at Union Station Picture Los Angelese

If you are having issues generating reliable builds at the end of a release, pulling the deadline in so that there is more time to get to a reliable build isn’t solving the real problem.  It is true that you have more time to fix things and still release on time, however you’re spending those extra cycles fixing things when you could be doing something else.

My thoughts here are in the context of three week iterations (sprints) where the culmination is pushing to production.  While you may ship on time because of the added buffer, you’re taking more time away from your development cycle because it has been replaced by allocating time  for “cleaning up messes.”  That part hasn’t been fixed.  What if you took the time to address the problem of messes and preventing them or minimizing there affects?

It all became clear for me the other day.  We were having trouble with a particular chain of processes completing on time.  The end goal was more predictability and finishing on time.  To accomplish that the project team made the deadline for one part of the process earlier than it has been in the past.

This is the third or fourth time we’ve made this particular deadline earlier.  The thought behind making it earlier was to “pad the schedule” and build in some buffer for things to still go wrong while still completing our process on time.

If this had been the first adjustment we’d made I might have gone along with it.  Padding or buffer space was always something I tried to build into the Fedora schedules when I was program manager there, but it rarely worked.  Here’s why.

First, people sense false or “shadow” deadlines and they tend not to take them seriously.  Most people are naturally good at finding the loopholes or soft spots in a system and where they don’t have to be exact or that they don’t have to take seriously.

Second, adding a buffer doesn’t address the real problem that is causing you to miss your deadlines to begin with.  It takes time away from the wrong area.  So,  what are the core reasons getting reliable builds at the end of the release cycle are challenging?

Photo credit to pferriola