Home > Articles > Software Development & Management

Making Bug-Resistant Software: Techniques to Make Maintainability the Rule, Not the Exception

  • PrintPrint
  • Share ThisShare This
  • DiscussDiscuss
Is your development process actually adding bugs to your custom code? If your testing and change processes are manual, Aaron Erickson points out that you might be adding as many defects as you think you're eliminating.

We all aspire to write software that doesn't burden us with massive costs for maintenance down the line, but mere words about "doing better next time" are not enough. In the world of custom software development, we have an obligation to make sure that the commitment sticks.

In this article, I'll discuss various techniques that you can employ to help make these commitments stick. When people are committed to increasing maintainability of systems, these techniques can help to provide visibility into that maintainability.

Foundational Techniques

Very few organizations today allow a software change to go into production without some form of regression testing. Change-control procedures generally require at least a manual script that provides an install procedure, a way to know whether the install worked, and a scripted means to back out any change that fails.

Let's start from the minimal assumption that such basics exist. The problem at this first phase is that all the steps are manual. Manual change application and manual regression testing both provide many opportunities to introduce errors. As configurations, software, or both become more complex, performing manual procedures can lead to even more errors. For example, the software for one of my clients had an install procedure that was 300 pages long—assuming only a 1% error rate per page, a procedure that long is virtually guaranteed to produce at least three errors per install.

  • Share ThisShare This
  • Save To Your Account

Discussions

comments powered by Disqus

Related Resources

#TuesdayTrivia: Spotlight on WP7 (Win a copy of Sams Teach Yourself Windows Phone 7 Application Development)
By on May 2, 2012Comments
These days, what CAN'T a smartphone do? Microsoft is putting their own spin on things to help you experience "life in motion" when using your device. Instead of containing static application icons, the re-imagined Start screen features live Tiles showing real-time content updates.

April Trivia #1: Test Like a Pro (Win How Google Tests Software)
By on April 2, 2012Comments

Even "Nooglers" (new Google employees) ask it as soon as they walk out of orientation: How does Google test software? Here's your chance to get the inside scoop.

March Trivia #1: Let there be light! (Win Microsoft Visual Studio LightSwitch Unleashed)
By on March 13, 2012Comments
Want a simplified self-service tool to help you build business applications for the desktop and beyond? Microsoft programmers… meet Visual Studio LightSwitch.

See All Related Blogs

There are currently no related articles. Please check back later.