Have you ever noticed how colourfully the best-laid plans disintegrate when they come head to head with the real world?
The popular adage
Whatever can go wrong, will go wrong
seems to hold its own.
In the world of software development, its common to have an agreement with the stakeholders the product you are developing will be fault free and meet their needs. What then happens once the delivered product fails to meet these agreements?
Yes, even with Agile, sometimes you miss the mark and now have to hash it out with the client.
In this entry, we will be looking at how such situations can be handled in a way that makes you better for it.
Raise issues as soon as possible
Bad news does not age well
In my experience, the most tempting reason for withholding information about the fires going on is to try to fix it before anyone else notices. Sometimes the strategy works out and you are solid. Most times, it just doesn’t. What ends up happening is you dig an even bigger hole for yourself.
Years ago when mobile phones had just hit the market, I was playing around with my parent’s phone, somehow I ended up turning it off. When I turned it back on, it requested a PIN. So I did what any reasonable child would do, started guessing! The effect was the SIM locked and the phone now asked for a PUK. Again, I continued guessing the numbers. In the end, the SIM card permanently locked and we had to part with Kshs 2000 to get a new line. If at any one point before the number blocked I fessed up, the problem would have been trivial to solve.
In your own professional practice, when a problem arises, drop the hero mentality and instead see if you can enjoin the other stakeholders to jointly solve the problem.
Take the journalist approach
It’s very easy to blame. After all, our brains love certainty even when there are no grounds for it. Thus when an issue comes up, it is easy to blame another stakeholder or even yourself.
Even if you are right, it doesn’t matter, the problem is still there!
My personal philosophy is never let any good disaster go to waste. If you have encountered a problem, this is the time to establish the what, how, when and why. By probing the incident, you will end up with insights into how you can improve your work process.
As a side effect, you learn how to separate the facts of the issue from the opinions formed around it. Humans are attached to their opinions, thus by focusing wholly on the facts, you are able to get a more productive approach going.
Prioritize the relationship
A Pyrrhic victory is a victory that inflicts such a devastating toll on the victor that it is tantamount to defeat.
In almost all engagements, the relationship is more important than the product delivered. We will allow great latitude for someone we trust.
Problems are by their very nature divisive, you must fight the urge to prove yourself right and the other parties wrong. When things do go south, this is the time to think deeply how you can use the opportunity to instil even more trust in your clients. No one is perfect, this means mistakes are inevitable, it is however quite valuable to know the other person will always be straight with you.
When complaints do come, the contract is not your shield and defender. Even if you somehow captured this case in writing and thus are not to blame, the client is not happy and that is a problem. It is better to then engage in a conversation to find out where you misunderstood each other and how best you can mitigate the situation with the remaining time and resources.
Keep moving forward
Peter Palchinsky was a Russian engineer who came up with a formula to improve almost any process.
first: seek out new ideas and try new things; second: when trying something new, do it on a scale that is survivable; third: seek out feedback and learn from your mistakes as you go along.
There you have it, to grow you must make mistakes, the key is to ensure the mistakes are survivable.
Thus after the mistake is done, comfort yourself, see it as a ladder to even greater things. After all, if it did not kill you, you learnt something from it.
How do you handle missteps in your own organization? Talk to me in the comment section below or on my twitter @jchex