Presentation: The Ethics of Error Prevention

| by David West Follow 0 Followers on Mar 20, 2009. Estimated reading time: 1 minute |

A note to our readers: You asked so we have developed a set of features that allow you to reduce the noise: you can get email and web notifications for topics you are interested in. Learn more about our new features.

No one wants programming errors. We have many tools to detect and correct errors in code. We also have a number of techniques we can use to prevent the introduction of errors. In this presentation, Michael Feathers looks at error prevention while posing a number of interesting questions.

Watch: The Ethics of Error Prevention (56 min.)

Michael starts his presentation noting that we are very aware of the need for error prevention and most of us are aware of several techniques to achieve this goal. But do we practice these techniques, and if so how many of them, and why or why not? If we fail to practice these techniques are we less than professional? Are we unethical practitioners?

Five "Good Ideas" are introduced and discussed:

  • Abstraction
  • Design by Contract
  • Clean Room Engineering
  • Test Driven Development
  • Pair Programming / Software Inspection

Each idea is examined and the manner in which it helps prevent errors is explored. He also discusses the advantages and disadvantages of each idea. For example: an advantage of contracts and test driven techniques is automation, an advantage not shared by software inspections.

In the last part of his talk, Michael suggests that all of these ideas share a common purpose - to make us reflect on our code, to actually think about what it does and why. Not only does this reflection help prevent errors, it also motivates us to write better code - code that is simpler, easier to read, properly refactored, and better designed.

Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Dowloadable version? by Brad Bruce

Is there a downloadable version of this presentation? My company doesn't allow streaming video. I have a team of about 10 developers who SO need to watch this!!!

Re: Dowloadable version? by Dmitry Tsygankov

Not sure if it's legal, but you can:
- at home
- with Firefox
- and DownloadHelper extension
- click Play once, so that DownloadHelper can see the video (DownloadHelper doesn't seem to support directly)
- then download it with DownloadHelper

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

2 Discuss

Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you