Nine Steps to Delivering Defect-Free Software - PowerPoint PPT Presentation

About This Presentation
Title:

Nine Steps to Delivering Defect-Free Software

Description:

Nine Steps to Delivering Defect-Free Software. By: Terence M. Colligan ... Terence Colligan has been working in software development for 30 years at the ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 15
Provided by: hard
Category:

less

Transcript and Presenter's Notes

Title: Nine Steps to Delivering Defect-Free Software


1
Nine Steps to Delivering Defect-Free Software
  • By Terence M. Colligan
  • Presented by Isaac Bailey

2
Outline
  • Introduction
  • 1. Believe Defect-Free Software is Possible
  • 2. Think Defect-Free Software is Important
  • 3. Commit to Delivering Defect-Free Software
  • 4. Design Your Code for Simplicity and
    Reliability
  • 5. Trace Every Line of Code When Written
  • 6. Review Code by Programmer Peers
  • 7. Build Automated QA into Your Code
  • 8. Build and Test Daily
  • 9. Use Automated Checking Wherever Possible
  • Summary

3
Introduction
  • Terence Colligan has been working in software
    development for 30 years at the time this article
    was written.
  • One engineer changed his entire outlook on how
    software should be written.
  • They have come up with these nine steps.

4
1. Believe Defect-Free Software is Possible
  • The first reaction is Its just not possible.
  • This attitude is the biggest obstacle.
  • The average engineer
  • Defects are inevitable.
  • The defect-free engineer
  • Defects embarrass them.
  • They are disgusted to find defects in other
    peoples code

5
2. Think Defect-Free Software is Important
  • Why is defect-free software important?
  • Reduces support costs.
  • Reduces programming costs.
  • Reduces development time.
  • Can provide a competitive advantage.

6
3. Commit to Delivering Defect-Free Software
  • Colligan used to make decisions based on short
    schedule time instead of focusing on the
    defect-free side.
  • In reality the schedules were longer, there were
    more bugs in the software, more support was
    required, higher costs and lower profits.

7
4. Design Your Code for Simplicity and
Reliability
  • A clean, well structured design simplifies
    producing reliable code. Whereas a poor design
    cripples the engineer.
  • Each function should be precise and have only one
    purpose.
  • If a bug is found then the programmer can find
    and fix the code fast, saving time and money.

8
5. Trace Every Line of Code When Written
  • Using a debugger trace every new line of code.
  • Try to predict the outcome before each line is
    executed.
  • By stepping through each line of code, you ensure
    that the new code is fully tested.
  • You confirm that the code is functioning as
    intended.

9
6. Review Code by Programmer Peers
  • Single most cost-effective way to remove bugs
    from code.
  • This process forces the engineer to articulate
    assumptions.
  • Allows for more than one engineer to view the
    code while it is still easy to change.
  • Encourages cross-training and sharing of
    techniques.

10
7. Build Automated QA into Your Code
  • Automated test are designed to exercise every
    part of the program.
  • Use the power of the computer.
  • Avoid human error.

11
8. Build and Test Daily
  • This gives developers feedback about changes made
    and management gets objective feedback about the
    project status.
  • This helps in making better estimates about costs
    and shipping dates.

12
9. Use Automated Checking Wherever Possible
  • Set your compilers warning level to maximum.
  • Use the memory trace subsystem.
  • Other commercial tools

13
Summary
  • It take a lot of work.
  • Some details will be adapted to your situation.
  • By demanding defect-free software you can deliver
    it.

14
  • http//www.tenberry.com/errfree/steps.htm
Write a Comment
User Comments (0)
About PowerShow.com