Perfection lies in small things, but perfection is no small thing. ~ Henry Royce

Code Quality

Learning Objectives

  • Summarize factors that have led to high-profile software failures
  • List and describe techniques to improve software quality, including formal methods

How to Complete this Lesson

Complete the following learning activities: (1.75–2 hours total)

  1. Read “The Joel Test: 12 Steps to Better Code(15–20 minutes)
  2. Read “Software’s Chronic Crisis(30–45 minutes)
  3. Attend the class meeting (60 minutes)

Due

As a reminder, the following is due this lesson:

Resources

Further Reading

Somers, “The Coming Software Apocalypse,” The Atlantic, 26 September 2017

Fishman, “They Write the Right Stuff,” Fast Company, 31 December 1996

Bugayenko, “Talented Programmers Don’t Tolerate Chaos,” BLOG@CACM, 11 February 2020

Tatham, “How to Report Bugs Effectively,” 1999

Software Engineering

  • Chapter 24: Quality management