How does a CIO keep their software project on course?
During a recent Agile Scrum Boot Camp in Toronto the instructor, Rod Bray, made the statement that a plane traveling from Toronto Pearson Airport to Heathrow Airport was off course 85% of the time, but since it’s always making course corrections the aircraft arrives at its destination. Generally students are surprised by this comment. I wanted demonstrate this comment, but since I don’t have a jumbo jet I will be showing the navigation system of our family boat while traveling at the end of last summer.
Here are some of data points:
The total length of the video is 36 seconds
The required course heading to hit the destination is 252 degrees
The total time during video we were on course 7 seconds or 19%
Course variation was from 245 degrees to 255 degrees (pretty wide, but I will explain later)
Speed toward destination (not boat speed) varied between 17.7mph – 19.9 mph
How is a marine navigation system like an Agile software project?
Based on these 36 seconds, Rod would appear to be correct that we are off course and correcting more than we are on course. In the case of the boat example we were off course 81% of the time. However, the boat navigation system is not designed to keep the boat on course 100% of the time, the navigation system is designed to get the boat to the destination which means it has to be able to adapting to changing conditions. Much like a good software project delivery system, the goal is to complete the project and deliver on the expectations of the business while adapting to changing business conditions.
The reason for the wide variation between 245 and 255 degrees in course heading was due to poor sea conditions. We were traveling south and the wind was blowing from the west at 20 KM/hour which created less than ideal conditions, including a 4 waves. The wind and waves were pushing the boat off course and moving it easterly. That easterly movement was seen by the 245 degree heading. Correcting back to the west took some additional effort. Had it been calm seas that effort to correct the course, the amount of fuel used and time spent would all have been reduced.
What does sea conditions have to do with a well-run software project? It’s as simple as this – if we create an environment of collaboration, team work and reduced hand offs between subject matter experts we will reduce a projects friction which results in faster delivery with less effort. If your SDLC has the following conditions then you might be trying to steer in a storm. One thing to consider, after the sea conditions become bad enough an automatic navigation system cannot deliver to boat to its destination as shown in the picture of a ship after Hurricane Sandy.
Software projects with poor conditions have the following attributes
- Lots of hand offs between subject matter experts, BA’s, architects, governance stakeholders, steering committees
- No mechanism to apply lessons learned within an ongoing project
- Churn between requirement and development
- Churn and pressure to complete testing as development took longer than expected
- High defect rate
WFS are a software project optimization firm. Feel free to contact me (John Munro) if you have questions or would like more information, phone (416) 505-4756 or email email@example.com. Also if you are interested in learning more feel free to join our Virtual Agile Lean Coffee on Friday mornings at 10am.