Tips for Minimizing Software Defects via Inspections
 
  December 2003 - Pragmatic Software Newsletters 
 
 
Tips for Minimizing Software Defects via Inspections
In this month's newsletter, we discuss tips for minimizing software defects via inspections.  A major ingredient to reducing development life cycle time is to eliminate defects before they happen. By reducing the number of defects that are found during your quality assurance testing cycle, your team can greatly reduce the time it takes to implement your software project.
 

Newsletter Sponsored by Software Planner

This newsletter is sponsored by Software Planner: http://www.SoftwarePlanner.com

Software Planner is a project collaboration tool that allows you to manage all phases of your software development. In the initial stages of the project, it allows you to post functional specifications and post project related documents (like meeting minutes, client proposals, etc.). As the project progresses, it allows you to post baseline documents (like detailed designs and project plans). As development proceeds, it allows your project managers and developers to track project deliverables.

The developers can update the percentage complete for all items assigned to them. Once testing begins, it allows your testers to create test cases and track software defects. Developers are automatically alerted, by email, as defects are assigned to them. Team members are alerted as new documents are uploaded or re-uploaded (like project plan updates, etc.). And each person has the ability to control the email alerts they wish to receive. Use the discussion forums to communicate all issues with clients and project team members. Keep your appointments and to do list on-line and updated at all times. Try Software Planner FREE for 2 weeks.

 

Tips for Minimizing Software Defects via Inspections

Many of us have experienced projects that drag on much longer than expected and cost more than planned.  Most times, this is caused either from inadequate planning (requirement collection and design) or from an inordinate number of defects found during the testing cycle. 

A major ingredient to reducing development life cycle time is to eliminate defects before they happen. By reducing the number of defects that are found during your quality assurance testing cycle, your team can greatly reduce the time it takes to implement your software project.

The key to reducing software defects is to hold regular inspections that find problems before they occur.  Below is a list of 5 Tips for Reducing Software Defects:

  1. Conduct Requirement Walkthroughs - The best time to stop defects is before coding begins.  As the project manager or requirements manager begins collecting the requirements for the software, they should hold meetings with two or more developers to ensure that the requirements are not missing information or are not flawed from a technical perspective.  These meetings can bring to surface easier ways to accomplish the requirement and can save countless hours in development if done properly.  As a rule of thumb, the requirements should be fully reviewed by the developers before the requirements are signed off.

  2. Conduct Peer Code Reviews - Once coding begins, each programmer should be encouraged to conduct weekly code reviews with their peers.  The meeting is relatively informal, where the programmer distributes source code listings to a couple of his/her peers.  The peers should inspect the code for logic errors, reusability and conformance to requirements.  This process should take no more than an hour and if done properly, will prevent many defects that could arise later in testing. 

  3. Conduct Formal Code Reviews - Every few weeks (or before a minor release), the chief architect or technical team leader should do a formal inspection of their team's code.  This review is a little more formal, where the leader reviews the source code listings for logic errors, reusability, adherence to requirements, integration with other areas of the system, and documentation.  Using a checklist will ensure that all areas of the code are inspected.  This process should take no more than a couple of hours for each programmer and should provide specific feedback and ideas for making the code work per the design.

  4. Document the Results - As inspections are held, someone (referred to as a scribe) should attend the meetings and make detailed notes about each item that is found.  Once the meeting is over, the scribe will send the notes to each team member, ensuring that all items are addressed. The scribe can be one of the other programmers, an administrative assistant, or anyone on the team.  The defects found should be logged using your defect tracking system and should note what phase of the life cycle the defect was found.

  5. Collect Metrics - Collect statistics that show how many defects (along with severity and priority) are found in the different stages of the life cycle.  The statistics will normally show over time that when more defects are resolved earlier in the life cycle, the length of the project decreases and the quality increases.

Below are some helpful templates to aid you in developing software solutions on-time and on-budget:


 

Pragmatic Software Co., Inc.
383 Inverness Parkway
Suite 280
Englewood, CO 80112

 

Phone: 303.768.7480
Fax: 303.768.7481
Web site:
http://www.PragmaticSoftware.com
E-mail:
info@pragmaticsw.com