Spread Knowledge

CS605 - Software Engineering II - Lecture Handout 26

User Rating:  / 0
PoorBest 

Related Content: CS605 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Software Engineering II

Error Tracking

Error tracking can also be used to estimate the progress of the project. In this case we track errors in work products (requirement specifications, design documents, source code etc) to assess the status of a project. The process works as follows:

We collect error related metrics over many projects and determine our defect removal efficiency in the following manner:

Defect removal efficiency, DRE = E / (E+D), where

  • E – errors found before shipment
  • D – errors found during operation

It provides a strong indication of the effectiveness of the quality assurance activities.

Now let us assume that we have collected the following errors and defect data over the last 24 months:

    • Errors per requirement specification page – Ereq
    • Error per component – design level – Edesign
    • Errors per component – code level – Ecode
    • DRE – requirement analysis
    • DRE – architectural design
    • DRE – coding
    We now record the number of errors found during each SE step and calculate current values for Ereq, Edesign, and Ecode. These values are then compared to averages of past projects. If the current results vary more than 20% from average, there may be cause for concern and there is certainly cause for investigation.

    Example

    • Ereq for the current project = 2.1
    • Organizational average = 3.6
      • Two possibilities
        • The team has done an outstanding job
        • The team has been lax in its review approach
      • If the second scenario appears likely
        • Build additional design time

    This can also be used to better target review and/or testing resources in the following manner:

        • 120 components
        • 32 exhibit Edesign > 1.2 average
        • Adjust code review resources accordingly

        Time Boxing

        Time-boxing is used in severe deadline pressure. It is a use incremental strategy where tasks associated with each increment are time-boxed in the following manner:

          • Schedule for each task is adjusted by working backward from the delivery date.
          • A box is put around each task
          • When a task hits the boundary of the box, work stops and next task begins
          The principle behind time-boxing is the 90-10 rule (similar to Pareto Principle) – rather than becoming stuck on the 10% of a task, the product proceeds towards the delivery date in 90% of the cases.