ERROR TRACKING Throughout the software process, a project team creates work products (e.g., require-
7.9 ERROR TRACKING Throughout the software process, a project team creates work products (e.g., require-
ments specifications or prototype, design documents, source code). But the team also creates (and hopefully corrects) errors associated with each work product. If error-
Error tracking allows you to compare current related measures and resultant metrics are collected over many software projects, a work with past efforts
project manager can use these data as a baseline for comparison against error data and provides a
collected in real time. Error tracking can be used as one means for assessing the sta- quantitative indication
tus of a current project. of the quality of the
In Chapter 4, the concept of defect removal efficiency was discussed. To review work being conducted. briefly, the software team performs formal technical reviews (and, later, testing) to In Chapter 4, the concept of defect removal efficiency was discussed. To review work being conducted. briefly, the software team performs formal technical reviews (and, later, testing) to
be defects, D. Defect removal efficiency (Chapter 4) has been defined as DRE = E/(E + D) DRE is a process metric that provides a strong indication of the effectiveness of
quality assurance activities, but DRE and the error and defect counts associated with it can also be used to assist a project manager in determining the progress that is being made as a software project moves through its scheduled work tasks.
Let us assume that a software organization has collected error and defect data over the past 24 months and has developed averages for the following metrics:
• Errors per requirements specification page, E req • Errors per component—design level, E design • Errors per component—code level, E code • DRE—requirements analysis • DRE—architectural design • DRE—component level design • DRE—coding
As the project progresses through each software engineering step, the software team records and reports the number of errors found during requirements, design, and code reviews. The project manager calculates current values for E req ,E design , and
E code . These are then compared to averages for past projects. If current results vary by more than 20% from the average, there may be cause for concern and there is cer- tainly cause for investigation.
For example, if E req = 2.1 for project X, yet the organizational average is 3.6, one of two scenarios is possible: (1) the software team has done an outstanding job of developing the requirements specification or (2) the team has been lax in its review approach. If the second scenario appears likely, the project manager should take
The more quantitative immediate steps to build additional design time 12 into the schedule to accommodate your approach to
the requirements defects that have likely been propagated into the design activity. project tracking and
control, the more likely These error tracking metrics can also be used to better target review and/or test- you’ll be able to
ing resources. For example, if a system is composed of 120 components, but 32 of foresee potential
these component exhibit E design values that have substantial variance from the aver- problems and respond
age, the project manager might elect to dedicate code review resources to the 32 to them proactively.
components and allow others to pass into testing with no code review. Although all Use earned value and
tracking metrics. components should undergo code review in an ideal setting, a selective approach (reviewing only those modules that have suspect quality based on the E design value) might be an effective means for recouping lost time and/or saving costs for a proj- ect that has gone over budget.
12 In reality, the extra time will be spent reworking requirements defects, but the work will occur when the design is underway.
CHAPTER 7
PROJECT SCHEDULING AND TRACKING
Parts
» The Concurrent Development Model
» SUMMARY Software engineering is a discipline that integrates process, methods, and tools for
» PEOPLE In a study published by the IEEE [CUR88], the engineering vice presidents of three
» THE PROCESS The generic phases that characterize the software process—definition, development,
» THE PROJECT In order to manage a successful software project, we must understand what can go
» METRICS IN THE PROCESS AND PROJECT DOMAINS
» Extended Function Point Metrics
» METRICS FOR SOFTWARE QUALITY
» INTEGRATING METRICS WITHIN THE SOFTWARE PROCESS
» METRICS FOR SMALL ORGANIZATIONS
» ESTABLISHING A SOFTWARE METRICS PROGRAM
» Obtaining Information Necessary for Scope
» An Example of LOC-Based Estimation
» QUALITY CONCEPTS 1 It has been said that no two snowflakes are alike. Certainly when we watch snow
» SUMMARY Software quality assurance is an umbrella activity that is applied at each step in the
» R diagram 1.4 <part-of> data model; data model <part-of> design specification;
» SYSTEM MODELING Every computer-based system can be modeled as an information transform using an
» Facilitated Application Specification Techniques
» Data Objects, Attributes, and Relationships
» Entity/Relationship Diagrams
» Hatley and Pirbhai Extensions
» Creating an Entity/Relationship Diagram
» SUMMARY Design is the technical kernel of software engineering. During design, progressive
» Data Modeling, Data Structures, Databases, and the Data Warehouse
» Data Design at the Component Level
» A Brief Taxonomy of Styles and Patterns
» Quantitative Guidance for Architectural Design
» Isolate the transform center by specifying incoming and outgoing
» SUMMARY Software architecture provides a holistic view of the system to be built. It depicts the
» The User Interface Design Process
» Defining Interface Objects and Actions
» D E S I G N E VA L U AT I O N
» Testing for Real-Time Systems
» Organizing for Software Testing
» Criteria for Completion of Testing
» The Transition to a Quantitative View
» The Attributes of Effective Software Metrics
» Architectural Design Metrics
» Component-Level Design Metrics
» SUMMARY Software metrics provide a quantitative way to assess the quality of internal product
» Encapsulation, Inheritance, and Polymorphism
» Identifying Classes and Objects
» The Common Process Framework for OO
» OO Project Metrics and Estimation
» Event Identification with Use-Cases
» SUMMARY Object-oriented analysis methods enable a software engineer to model a problem by
» Partitioning the Analysis Model
» Designing Algorithms and Data Structures
» Program Components and Interfaces
» SUMMARY Object-oriented design translates the OOA model of the real world into an
» Testing Surface Structure and Deep Structure
» Deficiencies of Less Formal Approaches 1
» What Makes Cleanroom Different?
» Design Refinement and Verification
» SUMMARY Cleanroom software engineering is a formal approach to software development that
» Structural Modeling and Structure Points
» Describing Reusable Components
» SUMMARY Component-based software engineering offers inherent benefits in software quality,
» Guidelines for Distributing Application Subsystems
» Middleware and Object Request Broker Architectures
» An Overview of a Design Approach
» Consider expert Web developer will create a complete design, but time and cost can be appropriate
» A Software Reengineering Process Model
» Reverse Engineering to Understand Data
» Forward Engineering for Client/Server Architectures
» SUMMARY Reengineering occurs at two different levels of abstraction. At the business level,
Show more