Embracing Uncertainty in Custom Software Projects Part 2

In part one of this three-part series, we discussed why uncertainty is inevitable in custom software projects and why it’s not always bad. Uncertainty is a constant. And when team members ignore the discomfort it causes, it can be costly. Even teams set up for success can encounter setbacks when faced with uncertainty:

  • stress and decreased morale
  • dwindling communication and engagement
  • lack of motivation/procrastination
  • decreased quality of work
  • analysis paralysis/poor decision making
  • opting for overly conservative approaches when problem solving
  • stakeholder doubt
  • lack of team trust

In response, many teams try to reduce or eliminate uncertainty at all costs. Doing so can consume a huge amount of resources and divert attention from real goals. Many teams try to create certainty through a waterfall approach — using Gantt charts to predict outcomes (typically resulting in stakeholder disappointment.)

Even worse, I’ve seen teams try to ignore the elephant in the room entirely, hoping it will work itself out. What I rarely see is teams embracing uncertainty, recognizing it as an inevitable and even valuable part of the project.

Helping Your Team Members Respond to the Unknown

How do you react to project curveballs? Maybe new information or requirements surface. There’s an unexpected change in the team structure. Perhaps something completely out of your control emerges (like a global pandemic!) Do you bury your head in the sand or go immediately into problem-solving mode?

For a long time, I responded to uncertainty in unhealthy ways. I’d immediately begin listing all the possible negative impacts on the project and team members in my head. I’d worry about how the client would perceive this change and whether it would make me or my team look bad. If I could just get out ahead of the issue, everything would be fine.

Fear-based thinking clouded my ability to think clearly and made me feel alone in facing the issue.

Only through many years of learning the hard way have I found better options. I’ve learned to let go a little. When facing the unexpected, I resist the urge to minimize the issue and micromanage. Instead of trying to control the outcome, I focus on setting the team up for success. When you feel uncertainty on the rise, try asking yourself a question. How might I create an environment that allows the whole team to work through the issue — together?

Communicate transparently.

At the first sense of changing project tides, focus on communicating openly. It’s tempting to keep new information to yourself until you feel certain. Perhaps crafting a full list of talking points and mitigation strategies will mean the news is better received. But, don’t do this. It’s important to let your team members know the facts upfront. Of course, timing is important. I’m not suggesting you interrupt a pairing session or sprint ceremony with dire news. But don’t sit on the information too long. Wait only until you can deliver the news without catastrophizing. Share the facts calmly, along with some encouragement that you’ll work through any fallout together.

Create certainty where you can.

Amidst the upheaval, take stock of what you do know. As a team, solidify the facts you’ve learned as well as any assumptions you might hold. Revisit your project’s purpose and goals; does this new information change your overall strategy? Or just your approach to a single part of the project? Most surprises that seem like the end of the world are actually much more contained. If facing paralysis by analysis, try setting a time deadline within which to make a decision. What is your gut telling you to do? You can always revisit later, but how might you move forward now based on what you do know?

This is also the time to lean into your routines. Don’t begin canceling all your usual scrum ceremonies in an effort to refocus everyone’s attention. Set aside some structured time as needed to address the issue together but maintain your sprint cadence. If the contents of the project are called into question, at least the team’s schedule can remain predictable. There’s some comfort in that.

Be flexible.

You can’t ask your team to go with the flow if you don’t lead by example. If you want your team to roll with changing requirements in the middle of a sprint, you may need to accept if estimates are off or the sprint commitment isn’t met. The way you respond to change will set the tone for the rest of the team. In my experience, the teams most hesitant to proceed without exact requirements are those who have been saddled with unrealistic expectations and blame when things don’t go according to plan.

Invest in relationships.

If you’ve been investing in relationships up to this point, you’ll now start to see the dividends. Trust is the glue that will bind your team together when fear and stress arise. Take time to understand how each team member feels about the situation. Does this event have any impact on relationships between individual team members? Consider how the unexpected can affect your team dynamic. A few one-on-one coffee chats or a team-building activity can go a long way toward keeping everyone in step and focused on a solution.

When uncertainty strikes, focus less on trying to engineer an immediate solution and more on keeping lines of communication open. Think about ways you can create a safe environment for your team to work together toward a positive outcome.

In the third and final part of this series, we’ll take a look at the difference between uncertainty and risk.


Join the conversation

Your email address will not be published. Required fields are marked *