Software Engineering, Security, Management & Leadership. I work for Microsoft as an Application Development Manager (ADM). Views are mine.


Banish Ostriches from your development lifecycle

3rd October 2016

Do Ostriches really bury their head in the sand? I've always wondered that so it's time for a quick Google.The answer is a definite no! Never mind, it's a nice blog title so let's continue on the assumption they do.

Fact #1: Clients will get angry

Lets face it. In any job your client is going to get pissed. They've paid a load of cash and someone somewhere has messed up. People always mess up. We're humans. It's what we do. If we didn't mess up, we would never learn from our mistakes and life would be pretty boring.

Fact #2: Clients are people. They mess up all the time too.

The people that are pissed at us, are also being shouted at by their clients. Someone has paid them a load of cash for their services. Someone, somewhere has messed up. Surprise surprise, they're getting grief too.

Fact #3: Talking to clients early makes them happier

If my car was in the garage and they'd put a huge dent in it then I would want to know as soon as it happened. I would want to know details of how they were going to fix it. I would be pretty angry but glad they were honest and trying hard to remedy the situation.
On the flip-side, if I had turned up to the dealership to collect the car and found a huge dent and no one had told me I'd probably go ballistic.

There is one major point that is clear from those two examples;

Someone was going to call me but it was the timing that was important

It was probably the same person in both scenarios that would need to call me, but by delaying the call made their life much more difficult. By delaying the call, they are metaphorically burying their head in the sand. They are what I call Ostrich Managers.

Fact #4: Accept that mistakes happen. Resolve them quickly.

I found a bug in a new system we had deployed. Part of this were some new reports that would be run on the 1st of every month. I noticed the Closed Date of some cases (it is a case management system) was NULL when it was expected to be filled. This would mean that the end of month reports that would run automatically would be incorrect. It was no big deal, or so I thought, as I had already identified a workaround. It would just need someone to call the customer to explain the issue, the incorrect number of records on the reports and what we were doing about it. I could've called them myself, but I have found in big company politics that this would be frowned upon. Remember I am merely a software developer and talking to a customer is a ridiculous idea! I send an appropriate email to the higher-ups expecting a call to be made. Bear in mind the customer would be coming in to work, to find their lovely new end-of-month reports sitting in their inbox, unknown to them the results are wrong! What plans will & decisions will they be making based on those reports?

To cut a long story short, despite speaking to the higher-ups in person, the call was avoided. It will be made tomorrow. Why will the call be made tomorrow? Cast your mind back to my dent-in-the-car-scenario-#2 - this is the same situation. The customer will be thinking nothing is wrong, making all sorts of plans, forecasting and decisions with invalid data.

This is literally sticking our heads in the sand. Why put off the inevitable call? It would be difficult today but it will be more difficult tomorrow.

Don't be an Ostrich.

Software Engineer with interests in security and business processes.

View Comments