We’d like it if things always went smoothly, but in life, they seldom do. This truth holds for custom software projects as well—we struggle with unforeseen bugs, scope creep, a third-party integration that doesn’t work, team velocity lower than expected, projects more complex than originally thought, etc. In these situations, it’s helpful to remember how to deliver bad news effectively, in a way that moves the project forward.
Communicate Risk Early and Often
Ideally, the bad news you are giving has been discussed as a potential risk prior to this point. The worst reactions occur when people feel blindsided by unexpected bad news. This is why we share risks as well as scope and budget projections regularly. Talking about risk makes it less scary and builds common vocabulary that makes problem solving easier.
Give a Heads-Up
This should be obvious, but remember to share an agenda ahead of time to set expectations for what will be covered. This also lets others know that while you will be giving them news (possibly bad), the meeting will also include a discussion of possible solutions.
Healthcare professionals are advised to deliver bad news clearly and unequivocally. We aren’t dealing with life-and-death issues, but we follow the same guidelines. It’s best to present the bad news clearly and without excuse, backing it up with data and visualizations that make it easy for clients to understand.
In custom software, the most common bad news is that the project has fallen behind schedule. A good way to share that information is using a burn up chart.
Burn up charts communicate team progress through scope only if a client knows ahead of time what they are looking at, so share this chart with them as early as possible on a project. Sharing information transparently gets all stakeholders up to speed as quickly as possible, demonstrates a deep understanding of the issues at play, and builds confidence in your proposed paths forward.
Admit a mistake if you’ve made one. Successful people and teams admit when they are wrong. There is a difference between making mistakes and acting irresponsibly. Pointing out that “despite our best efforts, a mistake was made” is a powerful part of giving bad news.
In my life, I’ve experienced understanding and grace from family, friends, clients, bosses, and customers when I made myself vulnerable by admitting an honest mistake. Moreover, admitting a mistake allows you to avoid arguments and move on to the important part: How will we solve the problem?
It is important to give the recipient of the bad news a chance to respond and express what they are thinking. In meetings that become “crucial conversations” with multiple stakeholders, I recommend going around the room and asking those who haven’t said anything directly, “How are you feeling?” Then listen carefully.
Sometimes, their answers may surprise you: I’ve seen everything from people not caring, to blaming me directly, to trying to take the blame on themselves. This way, everyone gets to speak their mind and feels they have been heard. As an added bonus, you learn something useful going forward.
Prepare solutions ahead of time. The most common “bad news” experience in custom software development is a team falling behind and coming to the realization that they won’t finish all the features before the budget runs out.
The best options in these cases involve controlling scope by cutting some “nice to have” features or simplifying core requirements. Present options by creating several viable scenarios: cutting various sets of features will remove some number of points from the total scope. Use a burn chart to communicate this information by adding several horizontal lines representing scoping scenarios.
Preparing ahead of time demonstrates that you care and aren’t coming empty-handed to the meeting. In the case of custom software and scope control, it puts the recipient of the bad news in the driver’s seat.
Don’t go through the stress of delivering bad news and discussing options without a clear path forward. Leave the meeting with an agreed-upon solution, or schedule a follow-up meeting to continue the discussion.