Smarter ideas worth writing about.

Accept Uncertainty to Achieve Agility: Go With the Flow of What You Know

Why is software development so slow? 

Consciously and subconsciously we think about and manage risks.  It feels safe to get enough information to understand the schedule and cost estimate within a narrow margin of error before programming begins.    The question is, does that line of thinking generate risk?

The reality is that the effort spent gathering information for an estimate with a narrow margin of error before software development begins is likely to be a poor use of limited resources for several reasons including:

  1. Extra time spent in upfront planning is likely to translate to higher initial costs. 
  2. Planning for and implementing low value features can increase future maintenance costs. 
  3. Your competition is moving fast and you could lose market share. 
  4. Use of resources is an opportunity cost. 

How do you change how you think to accept uncertainty and begin work at a point much sooner than you have in the past? 

Evidence that the problem is how we think.  
I worked for a company where the CEO liked to personally deliver important messages.  He didn’t want his message to get lost in the translation.  During a meeting with approximately 30 managers from various departments, the CEO told us that while we were moving cautiously, the competition was gaining market share by taking risks. We would take a risk and return to the way we worked where it felt safe (Figure 1).  Our competition would take a risk, learn something new, make an adjustment, and move forward from there (Figure 2). 

Figure 1

Figure 2

Hanging around a false safety zone was dangerous to our business and we needed to change.

Why did we run back to a false safety zone like horses that run into a burning barn?  External influences generated fear, uncertainty, and doubt.  The company had a culture of finger pointing and clobbering managers for taking risks that did not generate the expected benefits.  This career limiting behavior happened even when the risk and the risk management plan was approved!  It was a risk!  Guess what?  People don’t like having their career clobbered so they play it safe. 

The problem is how we think and it drives our behavior to ‘play it safe.'   

While working with a client on a confidential software product, I received a promotional flyer in the mail for the exact product that my customer was trying to get to market before the competition.  The client’s software development process was to gather the requirements, understand the cost and schedule, and then receive approval to proceed.  After approval, the work would be assigned to developers who would then work in iterative development-test-feedback cycles.  The day that promotion arrived in the mail, my client was gathering requirements. 

Software development is complex.  There is more information unknown than known.  New information will emerge as development progresses.  We will know all that we need to know after we get the product into the hands of the customer and the customer gives us the gift of feedback.    

What drives you and I to want all of the requirements upfront before the Development team begins work?  Our internal thinking style preferences.  We want to gather facts to manage the risk of making a mistake.  

The problem is how we think and it drives our behavior to ‘play it safe.'

Why change how you think?

Software development involves Portfolio Managers, Project Managers, Scrum Masters, Architects, Database Analysts, Developers, Testers, and Release Managers. Why should you change how you think?

As professionals we want to improve.  If our behavior is a contributing factor to the reason why software development is too slow, then we need to inspect what is happening and adapt.

What risks are you trying to manage?  Are you concerned about rework? Rework is learning something new, making an adjustment, and moving forward.  Are you anticipating an unpleasant conversation with those in attendance at the approval meeting if the project takes longer than the ESTIMATED schedule or exceeds the ESTIMATED cost?  You need to understand that escalation is a component of the business decision process.  How do people with the authority to make a decision want to proceed?  What is their business decision?

How do you change how you think?

Try my 10 step program to change how you think.  This program addresses your attitude, how to manage your internal thinking style preferences and how to manage external influences.

Christy’s 10 Step Program to Think Differently:

    Step 1:  Admit it.  (How you think is slowing you down and causing you to stay near a false safety zone).  
    Step 2:  Want to change.
    Step 3:  Believe you can change.

    Step 4:  Review your Thought History.  (Could you have reached your decision sooner?
    Step 5:  Work with people who think differently.  Use Personas.
    Step 6:  Use Risk Management to manage the risk of ‘playing it safe’.  Go with the flow of what you know.
    Step 7:  Look for, Recognize, and Seize Opportunities within the Scrum Framework.

    Step 8:  Acknowledge the presence of Fear, Uncertainty, and Doubt (FUD).  
    Step 9:   Communicate.  (Remind stake holders that software development is complex.)
    Step 10:  Collaborate. 


Companies have strategies to remain competitive.  Your contribution to the success of a strategy is to deliver quality, valuable software as quickly as possible.  When you move too slow you are generating risk.

If you want to move faster you need to change your behavior.

In order to change your behavior you need to change how you think.

Follow my 10 step program to think with a positive attitude, to adjust your natural preferences, and to manage external influences.

How you think is everything. Accept uncertainty to achieve agility.  Learn to go with the flow of what you know and don't move too slow.

Note: Christy gives a presentation on this topic that goes into more detail on the external influences and internal preferences that drive how we think. If you are interested in having her speak to your organization, please contact her at


About The Author

Principal, Project Services
Christy is a Principal Consultant for Cardinal Solution’s Columbus Office. She is a seasoned IT project manager with over ten years of experience managing a portfolio of projects varying in size. She applies leadership, facilitation, collaboration, mentoring, prioritization, problem-solving, and decision making skills to accomplish projects with the help of geographically distributed, culturally diverse, cross-functional business and IT units, and matrixed resources. Christy’s experience includes software development delivery using waterfall and the agile Scrum Framework. She is curious about how people process information and the impact and implications regarding how we think.