Information Communication Technology Tools for Software Review and Verification

Information Communication Technology Tools for Software Review and Verification

Yuk Kuen Wong
Copyright: © 2009 |Pages: 7
DOI: 10.4018/978-1-59904-845-1.ch057
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

While information communication technology (ICT) can be considered a well-established discipline, software development projects are still prone to failure. Even if a software project is not classified as a failure, the general level of software quality leaves room for much improvement. It has been suggested that one of the most prevalent and costly mistakes made in software projects today is deferring the activity of detecting and correcting software problems until the end of the project. Hence, the cost of rework in the later stages of a project can be greater than 100 times the project costs. About 80% of avoidable rework comes from 20% of defects. As a result, techniques such as software review for improving software quality are important. Software review (inspection/verification) was originally introduced by Fagan (1976). The review process essentially includes six major steps: 1. Planning: Organize and prepare the software review, typically for preparing the review materials and review procedure, forming review team and scheduling review meeting, selecting review participants, and assigning roles. 2. Overview: Author explains overall scope and the purpose of the review. 3. Individual preparation: Individual reviewers analyze and review the software artefact. 4. Group review meeting: Find errors, sometimes also called “logging meeting.” Review teams correct and the reader summarizes the work. 5. Rework: Defect correction, which involves the author in resolving problems by reviewing, revising, and correcting the identified defect or by decreasing the existence of errors of the software artefact. 6. Follow-up: Validate the correction quality and decide if re-inspection is required
Chapter Preview
Top

Introduction

While information communication technology (ICT) can be considered a well-established discipline, software development projects are still prone to failure. Even if a software project is not classified as a failure, the general level of software quality leaves room for much improvement. It has been suggested that one of the most prevalent and costly mistakes made in software projects today is deferring the activity of detecting and correcting software problems until the end of the project. Hence, the cost of rework in the later stages of a project can be greater than 100 times the project costs. About 80% of avoidable rework comes from 20% of defects. As a result, techniques such as software review for improving software quality are important.

Software review (inspection/verification) was originally introduced by Fagan (1976). The review process essentially includes six major steps:

  • 1.

    Planning: Organize and prepare the software review, typically for preparing the review materials and review procedure, forming review team and scheduling review meeting, selecting review participants, and assigning roles.

  • 2.

    Overview: Author explains overall scope and the purpose of the review.

  • 3.

    Individual preparation: Individual reviewers analyze and review the software artefact.

  • 4.

    Group review meeting: Find errors, sometimes also called “logging meeting.” Review teams correct and the reader summarizes the work.

  • 5.

    Rework: Defect correction, which involves the author in resolving problems by reviewing, revising, and correcting the identified defect or by decreasing the existence of errors of the software artefact.

  • 6.

    Follow-up: Validate the correction quality and decide if re-inspection is required

Since Fagan (1976) introduced software review and verification as an important technique to assure the quality of software projects, researchers have investigated ways to improve software review performance. It has been suggested that ICT software review tools are one of the important elements to the support software review process. This article overviews ICT tools to assist software review and verification during this software review process. The overall objective of this article is to identify various ICT tools that support software review and verification. This includes a discussion of the importance of software quality and identifies ICT tools for effective software reviews and verification.

Key Terms in this Chapter

Online Software Review: Online software review tools support some major functions: document support, individual preparation, and meeting support. It can meet online and share data and documents in flexible time, thus it may reduce time of review.

Fagan Inspection: Software review was originally proposed by Michael Fagan at IBM in the early 1970s. Fagan’s software review and forms of review structures. Fagan’s software review includes six-step review processes: planning, overview, preparation, group meeting, re-review, and follow up.

Software Verification: Aims to find and remove defects during the software development cycle.

Synchronous Review: All review activities in the synchronous software review happen in a linear fashion, and the meetings are located in same place at the same time.

Asynchronous Review: The review activities can be performed at the same time. Asynchronous review must rely on the ICT tools supported.

Defects: The term “defect” is defined as any issue or problem that does not meet the requirements.

Information Communication Technology (ICT) Review Tools: Tools provide documentation facilities that allow software review documents to be shared across networks, browsed online, and edited by reviewers. The current trend of software review is for using software review tools to support the software review process.

Software Review: Software review or inspection is one of the techniques for improving software quality. Software review is an industry-proven process for eliminating defects. It has been defined as a non-execution-based technique for scrutinizing software products for defects, deviations from development standards.

Complete Chapter List

Search this Book:
Reset