Business-focused custom software

Go Back

Gracefully handling the unexpected (deer edition)

If you plan on enjoying your evening, I recommend that you do not ram a deer with your car. Really. Truly.

I did not follow that advice. Last weekend as we drove home from a family gathering, a deer jumped into the road directly in front of the car.

There was nothing I could do. There was not enough time to stop. Swerving would have put me in the lane of oncoming traffic, or the ditch. So I hit the deer.

As you can imagine, the evening went downhill from there. I won’t bore you with all the details: the car damage, the waiting for a ride, navigating the insurance maze, etc. Not to mention the guilt over the certain death of what I’m sure was some other deer’s sibling or spouse.

But here’s how accidentally running over Bambi’s mom relates to software development and working with programmers.

Sometimes bad stuff happens. You can’t always anticipate the specific problem, but it is a given that something will go wrong at some point. And how the software responds to the bad stuff can make the difference between user forgiveness and their desire to hunt down the programmer and run them over.

Good software gives you brakes to help you stop and prevent the accident. It gives you airbags and seatbelts to protect you when the accident happens anyway. And it gives you insurance to help deal with the damage.

Good software tries to make the unexpected disaster as painless as possible.

On the other hand, bad software reacts poorly to the unforeseen catastrophe. It ends suddenly with a cryptic message. It mangles your data so that it is unreliable or unusable.  It makes you curse and wring your hands and stomp your feet.

Sometimes bad software can become good software, if the developer learns a lesson from the tragedy and improves things. But it can be hard to regain the trust of the end user. They may never forgive the software for forcing them to rekey in 500 customers that were lost. Or for lying to them by showing them data that looked true, but was actually wrong. So it is a harder road to travel.

But even if software starts out bad, it is worth the effort to try to make it good. It is easier to support. And it makes users happier. Good programmers know this.

Bad programmers throw their hands up in the air, shrug their shoulders, and force users to keep driving without safety features or insurance.

  • Facebook
  • Twitter
  • Digg It!
  • StumbleUpon
  • Technorati
  • Del.icio.us
  • Reddit

Post a comment!

Formatting options
   
 
 
 
 
   

Wanna Subscribe?
Here's the RSS Feed

What the critics are saying...

As someone with over 20 years of software development experience and currently a small business owner, it has been a pleasure working with Avonelle. In addition to being a talented developer, Avonelle also has database expertise and system design skills. Avonelle is open minded and willing to discuss various methodologies for achieving a project goal. She is also not afraid to ask questions which is vital in a software development project. Her up-front project cost (not estimate) is very helpful in budgeting for a project.

--Dwayne Wolterstorff, Owner @ Fair