You’re finally at the point where the project is moving forward, there is light at the end of the tunnel, the team is working at their peak, the project is a well-oiled machine and then it happens.  Your lead BA comes to you with that look…


Ya…THAT LOOK.    A seemingly minor issue has uncovered a major project Gap.  It’s going to take days if not weeks to sort out, price, get buy in and move forward.

We’ve seen this many times on the work we do, and it usually goes 1 of 3 ways:

1)      You go through all the upheaval, find out it’s going to be prohibitively expensive to change and the business agrees to move forward without it… for now.

2)      It is show stopping  and you really do have to make the change

3)      Through the chaos, a hack / work around  / minor adjustment gives you 80% of what you need and that is what you move forward with

In our experience we’d say option 1 and 3 make up 80% of the outcomes.   The project is thrown in disarray only to end up fairly close to where you were heading anyway, but now, a few weeks late.

A lesson from CPU design has helped us in the past.

The concept is called branch prediction.  When a computer program is executing an “if … else “ statement, the computer has to wait until the answer is computed before moving forward.  This  significantly slows down the processing.  For those of you that are non-technical, it usually goes a little something like this

{If answer = a do something

Otherwise do something else}

Instead of waiting for the answer, what computers do is predict the outcome and continue processing.  If it predicted correctly, then no time was wasted.  If it predicted incorrectly, it would be no worse off than waiting.

You see where I am going here.  In the situation with the project above, pushing forward with your best educated guess will yield better results more often than not.  Losing momentum not only costs time and $ but, impacts team morale and synergy.  If you make your team aware of what you are doing, and they are mostly bought into your choice of outcome, you can manage any deviations or rework the team has to do in case you predicted wrong.  There’s nothing like facing your development team and telling them to throw away the last few weeks of work  … How have you guys handled that in your projects?