How to Avoid Software Inspection Failure and Achieve Ongoing

Document Sample
How to Avoid Software Inspection Failure and Achieve Ongoing Powered By Docstoc
					               Software Engineering Technology

                         How to Avoid Software Inspection Failure
                              and Achieve Ongoing Benefits
                                                                                                                                    Roger Stewart and Lew Priven
                                                                                                                                              Stewart-Priven Group
                The objectives of this article are to examine why software inspections are not used more widely, identify the issues contribut-
                ing to their lack of use, identify why inspection benefits deteriorate for many companies, and recommend what can be done to
                address and solve these issues. The proven benefits of inspections are too significant to let them fall by the wayside!


F   or the purpose of this article, an inspec-
    tion is defined as a preemptive peer
review of work products – by trained indi-
                                                           cost, and schedule impact of
                                                           inspections is overwhelming. They
                                                           are an indispensable part of engi-
                                                                                                                It is clear from these testimonials that
                                                                                                            inspections are the most effective way to
                                                                                                            improve the quality, schedule, and cost of
viduals using a well defined process – to                  neering high-quality software. [3]               developing software, but after all the years
detect and eliminate defects as early as                                                                    after their introduction, why are they not
possible in the Software Development                   •   Inspections are surely a key topic,              an integral part of all software develop-
Life Cycle (SDLC) or closest to the points                 and with the right instrumentation               ment life cycles?
of defect injection.                                       and training they are one of the                     The authors of this article, Roger
                                                           most powerful techniques for                     Stewart and Lew Priven each spent more
Background                                                 defect detection. They are both                  than 20 years developing projects that
According to a National Institute of                       effective and efficient, especially              used inspections and, for the past eight
Standards and Technology (NIST) study,                     for up-front activities. In addition             years, each has trained a wide variety of
the problem of continued delivery of bug-ridden            to large-scale applications, we are              companies in the use of Fagan inspec-
software is costing the U.S. economy an esti-              applying them to smaller applica-                tions. They consistently observed that
mated $59.5 billion each year. The study                   tions and incremental development                soon after inspection training completes,
also found the following:                                  (Chris Ebert). [3]                               malicious compliance sets in by critical inspec-
                                                                                                            tion execution deviations being intro-
    …although all errors cannot be                     •   Inspection repeatedly has been                   duced and/or ineffective shortcuts being
    removed, more than a third of                          demonstrated to yield up to a 10-                employed. This results in inspection bene-
    these costs, or an estimated $22.2                     to-1 return on investment. . . .                 fits being compromised, leads to limited
    billion, could be eliminated by an                     depressingly few practitioners                   use or discontinuation, and allows too
    improved testing infrastructure                        know about the 30-year-old tech-                 many defects to escape to later, more cost-
    [reviews, inspections, etc.] that                      nique of software inspection. Even               ly phases of test and customer use.
    enables earlier and more effective                     fewer routinely perform effective
    identification and removal of soft-                    inspections or other types of peer               Back to Basics
    ware defects. These are the savings                    reviews. [4]                                     In order to deal with the problem of
    associated with finding an                                                                              inspections not being widely used (or not
    increased percentage [but not 100                  •   Formal inspections can raise the                 used correctly for the maximum benefit),
    percent] of errors closer to the                       [defect] removal efficiency to over              we need to go back and look at the origi-
    development stages in which they                       95 percent. But part of the prob-                nal approach. Inspections were an out-
    were introduced. Currently, over                       lem here is that not a lot of com-               growth of the quality message from gurus
    half of all errors are not found                       panies know how to use these                     W. Edwards Demming and J.M. Juran to
    until ‘downstream’ in the develop-                     things. [5]                                      design in quality at the beginning of the
    ment process (testing) or during                                                                        development process, instead of testing in
    post-sales software use. [1]                       •   The software community has used                  Figure 1: Cost of Fixing a Defect [2]
                                                           inspections for almost 28 years.
Figure 1 shows a typical relationship                      During this timeframe, inspections
                                                                                                                    Relative Cost of Software Fault Propogation

between the costs of repairing a defect in                 have consistently added value for
                                                                                                                                                 368


a given phase of the development cycle                     many software organizations. Yet
                                                                                                              400
                                                                                                             400

versus which phase the defect was intro-                   for others, inspections never suc-
                                                                                                                                                                    Relative
                                                                                                                                                                    Relative
                                                                                                              350                                                   Cost to
                                                                                                                                                                    Cost to
                                                                                                             350

duced. This relationship gives rise to the                 ceeded as well as expected, primar-
                                                                                                                                                                     Repair
                                                                                                                                                                    Repair
                                                                                                             300

development costs described in the NIST                    ily because these organizations did               250

report.                                                    not learn how to make inspections
                                                                                                              250
                                                                                                                                          130
                                                                                                                                           130

                                                                                                             200                                              64

     The following testimonials answer the                 both effective and low cost. [6]
                                                                                                              200
                                                                                                                                                                         37
                                                                                                                                                                         37
                                                                                                             150
                                                                                                              150                        50
                                                                                                                                         50



question: What is the evidence that inspections
                                                                                                                                                         26
                                                                                                                                                         26                       7
                                                                                                                                                                                  7
                                                                                                                                                                   13
                                                                                                                                                                    13                     3
                                                                                                                                                                                           3
                                                                                                             100                                   10
                                                                                                                                                    10                        3
                                                                                                                                                                              3
                                                                                                                                                                                                Customer

                                                       •
                                                                                                               100


address the cost and quality issues described earli-       I continue to be amazed at the num-
                                                                                                                                   10
                                                                                                                                    10                         5
                                                                                                                                                               5                       1
                                                                                                                                                                                       1
                                                                                                                                               2
                                                                                                                                               2                         11                   Integration
                                                                                                                              55                          11
                                                                                                              5050                        11

er but are not widely used correctly to maximize           ber of software development orga-
                                                                                                                          1
                                                                                                                          1                                                                 Test
                                                                                                                                                                                                    ed




                                                                                                               0    0                                                                    Code
                                                                                                                                                                                                     ir




defect detection and removal?                              nizations that do not use this pow-
                                                                                                                                                                                                  pa




                                                                                                                         ts                                                             Design
                                                                                                                       en
                                                                                                                                                                                               Re




                                                                                                                                 n
                                                                                                                     m        sig       de

                                                           erful method [inspections] to
                                                                                                                  ire                Co          st                                   Requirements
                                                                                                                                                                                                e




                                                                                                                qu          De                 Te           n
                                                                                                                                                                                             as




                                                                                                                                                         tio
                                                                                                              Re                                       ra

•   The data in support of the quality,                    improve quality and productivity. [7]
                                                                                                                        Phase De
                                                                                                                                                                                           Ph




                                                                                                                     “1” Identifiesfect In                                                      Phase
                                                                                                                                           troduced g
                                                                                                                                                    te                                         Repaired
                                                                                                                     Phase Defect                 In
                                                                                                                        Introduced



January 2008                                                                                                                                                              www.stsc.hill.af.mil            23
Software Engineering Technology


                                Development                                                                                   menting inspections.
                                                                                                     Maintenance
 Requirement           Design                          Code / Implementation              Testing       Customer
   Phase               Phase                                   Phase                      Phases          Use                 Why Is the Supporting
                                                                                                                              Development Infrastructure
     ALL            ALL
                                                                                                                              Important?
                                                                                                                              The supporting infrastructure of a well-
    Reqt s         Design

                                                                                                                              defined development process is important
                                                       Qualit y - Cr it ical Areas;

                                                                                                                              because it requires management at all lev-
                                                         ( exam ples)

                                                                                                                              els – and during all development phases –
                                                       • Securit y


                                  Selection Criteria
                                                       • Error handling
                                                       • Algor it hm s
                                                                                                                              to actively support the inspection process.
                                                                                                                              A life-cycle view is needed because the
                                                       • I nt erfaces ( ex : user)
                                                       and Com plex Areas                                                     cost and schedule impact are primarily
                                                                                                                              borne by the requirements, design, and
                                                                          Feat ure Enhancem ent s
                                                                                                                              implementation components of the orga-
                                                                                                                              nization. However, while these compo-
                                                                                                                              nents also realize some of the reduced
                                                            Rem aining Areas,

                                                                                                                              cost, higher quality, and improved sched-
                                                           if econom ic payoff

                                                                                                Defect Fixes
                                                                                                                              ule benefits, the majority of these benefits
                                                                                                                              are primarily realized in testing and main-
                                                                                                                              tenance.
                                                                               Defect - Prone Areas

Figure 2: Prioritizing What to Inspect
pseudo-quality at the end of the produc-                               the data collected from inspections can be             Theory Is Good, but Why Are
tion line.                                                             used as the basis for predicting the quality of
    What naturally followed was the idea                               the delivered product.
                                                                                                                              Inspections Not Embraced?
                                                                                                                              In addition to being viewed as a stand-
of applying sampling quality control tech-                                                                                    alone process, which lacks a life-cycle view
niques to the software development life                                How Have Inspections Evolved?                          of investment and associated savings,
cycle as if it were a production line.                                 In 1972, Priven published an IBM Technical             inspections have also been characterized
Specifically, this involves sampling the                               Report which described a software develop-             by a number of myths. These myths dis-
product periodically (detect defects), mak-                            ment management system including points of             courage implementation. While there is a
ing adjustments as defects are found (fix                              management control using process monitors              kernel of truth in each myth, each can be
defects and improve the development                                    that evolved into inspections [8]. The man-            turned into a positive. Some examples fol-
process), and predicting the shipped prod-                             agement system was based on a well-defined             low:
uct quality based on the results of the sam-                           development process – which satisfied the              • Inspections are time consuming.
pling.                                                                 need for a production line as described ear-               Yes, they add up-front development
    Application of the sampling quality con-                           lier. With the production line in place, Priven            time to requirements, design and code.
trol techniques to the software development                            hired Michael Fagan, a quality engineer with               However, rather than being viewed as
cycle led to the development of the software                           a hardware and manufacturing background,                   a problem, this additional up-front
inspection process. The most widely known                              to work with the development team to find                  time for inspections should be viewed
and practiced inspection process was intro-                            a way to improve the quality of delivered                  as an investment in obtaining the over-
duced to the IBM software community in                                 software [6-10]. The IBM (Fagan)                           all quality, cost, and schedule benefits
1972 by a team led by Michael Fagan and                                Inspection Process then evolved as a critical              over the project’s life cycle.
managed by Lew Priven (co-author of this                               component of the end-to-end software                   • Inspections are bureaucratic and
article) [6].                                                          development life cycle. Over the years, the                one size fits all. System engineers and
    In the case of software, the develop-                              integration of inspections into the software               software engineers, with support from
ment life cycle is the production line, and                            development life cycle has been lost as the                management, need to have the flexibil-
inspections are the sampling and prediction                            inspection process came to be viewed as a standalone       ity to adjust their inspection process to
technique. Inspections are the vehicle to                              quality process with inspection execution becoming         the needs of the product under devel-
sample the product in the earlier phases of                            the prime focus. However, the supporting                   opment. For example, the difference
the development life cycle to detect and fix                           infrastructure of a software development                   between inspecting software to control
defects closest to the point of injection, and                         life cycle is still critical to successfully imple-        a jet fighter (where a defect could be a
                                                                                                                                  matter of life and death) and software
Figure 3: Assessment Methodology                                                                                                  that displays a Web form (where the
      Development Infrastructure                                                                                                  impact of a defect may be an inconve-
                                                                                                                                  nience). The former may require a
                                                                                                                                  broader comprehensive set of inspec-
   1. Review & and

                                                                                                                                  tions while the latter could employ
      Assessment of

                                                                                                                                  other visual analysis techniques to sup-
      Development
      Infrastructure

                                                                                                                                  plement a base set of inspections.
                            2. Tuning
                               Recommendation;

                                                                                                                              • All work products must be inspect-
                               & any Prerequisite
                               and any Prerequisite                      Tools and Training
                                                                                                                                  ed. There is a lack of guidance on
                               Infrastructure
                                                                        3. Inspection                Implementation
                                                                                                                                  when, where, and how to start an
                               Implementation
                                                                           Methodology:

                                                                                                                                  inspection process. An approach to
        Assessment Methodology                                                                         4. Performance,
                                                                          Tools and Training

                                                                                                                                  prioritizing what work products to
                                                                                                          Consulting
                                                                                                          and Coaching


24 CROSSTALK The Journal of Defense Software Engineering
Figure 3: Assessment Methodology                                                                                                                                 January 2008
                                                                                          How to Avoid Software Inspection Failure and Achieve Ongoing Benefits

    inspect needs to be intelligently
    applied.
                                                              Product/Project

    While these are myths that we typical-
                                                              Inspection
                                                              Planning Tools
ly hear about inspections, upon further
examination they are symptoms of a
much larger underlying set of issues. The
remainder of the article will focus on deal-                  Inspection Execution

ing with those issues which we will later
                                                              Analysis and Reporting

refer to as inspection pitfalls.
                                                              Tools



A Realistic Approach
Although complete inspection coverage
                                                               Inspection Monitoring
                                                            and Tracking Tools
may be ideal, a realistic approach to inspec-
          to formulate a set of selection criteria
tions isDevelopment Infrastructure
(see Figure 2). These criteria guide the iden-
tification of those areas of the product
most critical to success or where problems
     1. Review &and

are most likely to occur. At the least these
        Assessment of

        should be inspected. This addresses
areas Infrastructure
        Development

the common complaint that there is not Figure 4: Computerized Inspection Tool Overview
                               2. Tuning

                                  & any into
enough time to integrate inspectionsPrerequisite 2 shows how an Inspection Methodology can solve and prevent the 10 inspection pitfalls.
                                  Recommendation;
                                                     Table

tight schedules yet allows for using inspec- most costly to fix when discovered later in injected in requirements and 28 percent are
                                  and any Prerequisite              Tools and Training
                                                           Pitfall 3. cycle (see
tions for finding defects where they are the developmentInspection Figure 1). The injected Assessment[11].             in design
                                  Infrastructure
                                  Implementation No.                                                         Implementation
                                                                                                                   Pitfall Solutions

most likely to cause problems.                     focus onLack of supportive and design is partic-
                                                     1
                                                            requirements SDLC infrastructure
                                                                      Methodology:                                The step 1 assess client SDLC.
                                                                                                                        most successful implementations
                                                                                                                   •                 methodology

     Figure 2 addresses this no-time issue by ularly important because ourTraining has of Consulting
           Assessment Methodology
                                                                      Tools and experience                     4.inspections have been in organizations
                                                                                                                   –
                                                                                                                  Performance,
showing the prioritization of what to inspect                                                                that • Upper management overview.
                                                   shown that the largest numbers of of the inspection have multi-level active management
                                                           Poor management understanding defects
                                                                                                                   – step 2 recommends any changes.


                                                                                                                        of inspections and a well-defined
related to the development cycle phases of are injected during these two phases of support Student feedback from inspection class.
                                                     2
                                                           process, its benefits, and their responsibilities       • Coaching
                                                                                                                  and Management performance class.

the project. There should be a strong focus development. One example from a TRW development life cycle with pre-existing
                                                                                                                   •

on requirements and design, which are the study shows about 52 percent of defects are emphasis on planning, monitoring, and
                                                     3     No computerized management planning tools               • Planning-counter tool.
                                                                                                                   • Savings/cost estimator tool.
 Figure 3: Assessment Methodology                     4       Too little schedule time for inspections         • Inspection planning-counter tool.

Table 1: Risks Associated With Inspection Pitfalls
                                                                                                               • Management performance class.
                                                                                                               • Criteria for prioritizing what to inspect.
                                                       5        No computerized inspector tools                • Preparation tool.
   No.           Pitfall                                                                                       • Inspection meeting tool.
                                                                      Pitfall Risks                                     Pitfall Solutions
                                                                                                               • Data analysis tool, team analysis tool.
   1    Lack of supportive                                                                                •
                                                  • Immature practicesmonitoring of inspection execution andAssessment methodology and code.
                                                       6        Inadequate for planning, data                  • ROI calculators for text
        SDLC infrastructure                         collection, reporting, monitoring, and tracking
                                                                tracking of results                            • Data Analysis tool, SDLC
                                                                                                            ° Step 1: Assess clientteam analysis tool.
                                                  • Leads to Pitfalls #3, 4, 6, 10                          ° Step 2: Recommend any changes
                                                                                                               • Aggregate results calculator tool.
                                                       7         No post-class practitioner refresher          • Seminar for previous students.
   2    Poor management understanding             • Leads to Pitfalls #4, 6, 8, 9                         • UpperInspection role reference card.
                                                                                                               • management overview
        of the Inspection Process, its               ° Inadequate inspection: schedules, tools            • Management performance class
                                                                                                               • Inspection product checklist kit.
        benefits, and their responsibilities           8facilitation, implementation / project champion
                                                                No inspection facilitator                 • Student feedback from inspection class
                                                                                                               • Upper management overview.
                                                                                                               • Management performance class.
   3    No computerized                                9        Slow inspection implementation                 · Inspector training
                                                  • Inadequate schedule time (Pitfall #4)by project teams• Planning counter tool accommodating multiple. classes, of t
        management-planning tools                 • No savings appreciation, leads to no                          less, per week.
                                                                                                          • Savings/cost-estimator tool
                                                                 No inspection inspections
                                                    inspections or too fewprocess capture
                                                       10                                                      • Course material tailoring.
                                                                                                               • Inspection process capture tool
   4      Too little schedule time                 • Defects escape to more costly phases to fix       • Inspection planning counter tool
          for inspections                          • Inspections not correctly executed                • Management performance class
                                                      Table to How an Inspection Methodology Can Solve • Criteria forthe Pitfalls what to inspect
                                                   • Leads 2 –malicious compliance                     and Prevent prioritizing

    5     No computerized inspector tools                             Figure 4 – Computerized         Tool Overview
                                                   • Inconsistency, compromising shortcuts Inspection • Preparation tool
                                                   • Defects, escape to more costly phases to fix     • Inspection meeting tool
                                                                                                      • Data analysis tool, team analysis tool
                                                      The Road Map to Success
    6     Inadequate monitoring of                 • Inspection process execution deteriorates                • ROI calculators for text and code
          inspection execution and                 • Defects escape to more costly phases to fix              • Data analysis tool, team analysis tool
          tracking of results                      • Employees lose interest when savings                     • Aggregate results calculator tool
                                                      summaries are not periodically shared
    7     No post-class                            • Process misunderstood, compromising                      • Seminar for previous students
          practitioner refresher                     shortcuts introduced, defects escape                     • Inspection role-reference card
                                                                                                              • Inspection product checklist kit
    8     No inspection facilitator/               • Inspection process issues not addressed,                 • Upper management overview
          project champion                           coordinated, or resolution disseminated                  • Management performance class
                                                   • Inconsistent or incorrect inspection execution
                                                   • Little useful feedback to management
    9     Slow inspection implementation           • Ineffective start or no-start occurs                     • Inspector training accommodating
          by project teams                         • Inspection training forgotten; incorrect                   multiple classes, of 2 days or less,
                                                     execution                                                  per week

   10     No inspection process capture            • Process misunderstood, inconsistent                      • Course material tailoring
                                                     execution, defects escape                                • Inspection process capture tool
                                                   • No repository for project lessons learned


January 2008
  Table 1:     Risks Associated With Inspection Pitfalls                                                                                  www.stsc.hill.af.mil   25
Software Engineering Technology

                                                                                                                                            sary framework (i.e., development infra-
                                                                                                                                            structure) for ongoing success and for
      Road Map to Successful Inspection Implementation
                                                                                                                                            inspections to be accepted as a very inte-
                                                                                  4
                                                                                                                                            gral part of the end-to-end development
                                                                                                                                            life-cycle.
                                                                             4. Time for




                                                                                                     Successful inspection implementation
                                                3. Management
                                                             t                Time for
                                                                            Inspections
                                                Planning Tools
                                                              s            Inspections
                                                                           In Schedule
                                                                           in Schedule
       1. SDLC          2. Management
                         Man        t
    Infrastructure      Understanding
                        Und          g                                    6. Execution
                                                                            6. Execution                                                    How an Inspection Methodology
                                                  5. Inspector              Monitoring
                                                                           Monitoring and
                                                                                                                                            Can Reinvigorate Inspections
                                                                                                                                            Inspections will only be successful long
                                                   I
                                                      Tools                Tracking Tools
                                                                         & Tracking Tools

                                                                                                                                            term if they are integral to a well-defined
                                                                                                                                            development process that has active man-
                                                                            7. Training




                                                                                                                           I
                                                                            Refresher

                                                                                                                                            agement support in each phase of devel-
                                                                           8. Inspection
                                                                                                                                            opment. The methodology shown in
                                                                                                                                            Figure 3 (see page 25) starts with an
                                                                            Champion

                                                                                                                                            assessment to ensure an adequate devel-
                                                                                                                                            opment life-cycle infrastructure is in place




                                                                                                                I
                                                                         9. Rapid Project

                                                                                                                                            prior to inspection training. Steps 1 and 2
                                                                             Training
                     Inspection Methodology
                     Includes Practitioner Training                                                                                         in Figure 3 are the assessment steps.
                                                                                                                                                Once the development infrastructure
                                                                           10. Inspection
                                   AND                               I        Process

                                                                                                                                            is in place, what else needs to be done?
                                                                            Capture Tool
                           Pitfall Prevention
                                                                                                                                            Based on our experience in training more
                                                                                                                                            than 5,000 inspectors in companies at
                                                                                                                                            more than 50 locations, evaluating the data
                             All Inspection Pitfalls Must Be Solved
Figure 5: Inspection Infrastructure                                                                                                         collected and observing the ongoing
measurements use.                                             project culture that does not believe in and                                  implementation or lack thereof, we have
                                                              have a development infrastructure that                                        identified 10 inspection pitfalls, each of
Development Infrastructure                                    actively supports these activities is fraught                                 which inhibits inspection implementation.
to Support Inspections                                        with risk.                                                                    These inspection pitfalls must be resolved
There is a lot of guidance on the structure                        Developing an appropriate infrastruc-                                    to achieve lasting benefits from inspec-
of inspections such as the Institute for                      ture begins with selecting a framework                                        tions.
Electronics and Electrical Engineers                          upon which to build your development                                              The 10 inspection pitfalls and associat-
(IEEE) Standard 1028-1997 [12] and how                        life cycle. A widely accepted framework is                                    ed risks are shown in Table 1 (see page
to conduct an inspection, but little guid-                    the Capability Maturity Model® (CMM®),                                        25). Note: The lack of a well-defined
ance on the following:                                        and its successor CMM-Integration                                             SDLC infrastructure, discussed earlier, is
1. How to select what to inspect (see                         (CMMI®). However, as Watts Humphrey                                           the first pitfall.
    Figure 2).                                                points out in [13], “Although the CMM                                             Table 1 identifies how each inspection
2. How to develop an appropriate soft-                        [and CMMI] provides a powerful                                                pitfall leads to findable defects not being
    ware development life-cycle infrastruc-                   improvement framework, its focus is nec-                                      discovered with inspections, resulting in
    ture that provides the necessary frame-                   essarily on what organizations should do –                                    the following:
    work for successful implementation of                     not how they should do it.”                                                   A. Development cost savings are not fully
    inspections.                                                   There are four key steps to filling out                                      realized.
3. How to determine what computerized                         the development framework:                                                    B. Quality improvements are not fully
    tools are needed to ensure proper                         1. Select a development model (e.g., iter-                                        achieved.
    inspection execution and management                            ative, incremental, waterfall, spiral,                                   C. Maintenance and support savings are
    visibility into results, project savings,                      agile).                                                                      not realized.
    and return on investment (ROI). For                       2. Clearly define the development life                                        D. Inspections could become a total cost,
    example, because of the lack of                                cycle by identifying and recording for                                       not a savings.
    inspection tools, data collection –                            each process within the life cycle, its                                      We distinguish between the develop-
    which is too often left to the discretion                      required inputs, the input’s entrance                                    ment life-cycle infrastructure – within
    of the inspection teams – is often not                         criteria, the what and how of the                                        which inspections fit (previous section),
    performed or is performed inconsis-                            process, the expected outputs, and the                                   and the inspection infrastructure – which
    tently. Therefore, data needed to eval-                        output’s exit criteria.                                                  enables proper inspection execution for
    uate inspection effectiveness is not                      3. Get process agreement by all compo-                                        achieving the maximum benefit. An
    easily available to management.                                nents of the development organization                                    enabling inspection infrastructure must
    These three items will be discussed                            (e.g., requirements generators, design-                                  address all 10 pitfalls and would consist of
further in the next section.                                       ers, coding/implementers, testers, etc.).                                the following:
    Successful inspection implementation                      4. Determine which project tools will be                                      1. Computerized management tools for
requires a software development life-cycle                         used for planning, data collection,                                          use in planning inspections and pre-
infrastructure that demands planning, data                         reporting, monitoring, and tracking                                          dicting the overall project costs and
collection, reporting, monitoring, and                             (tool examples are critical path, earned                                     savings from applying inspections (see
tracking. Introducing inspections into a                           value, etc.).                                                                Figure 4 on page 25 for an inspection
®
    CMMI is registered in the U.S. Patent and Trademark            When these steps are completed, the                                          tool overview example).
    Office by Carnegie Mellon University.                     introduction of inspections has the neces-                                    2. Computerized tools to aid inspectors

26 CROSSTALK The Journal of    Defense Software Engineering                                                                                                                   January 2008
                                                                             How to Avoid Software Inspection Failure and Achieve Ongoing Benefits

    in correctly and consistently perform-         agement in each phase of develop-           5. Jones, Capers. “Interview.” Computer
    ing inspections, gathering inspection          ment.                                           Aid Inc. July 2005.
    related data, and performing analysis      •   Inspections are flexible in determining     6. Radice, Ron. High Quality Low Cost
    to identify how future inspections can         what to inspect.                                Software Inspections. Andover, MA:
    be improved.                               •   Computerized tools are available to             Paradoxicon Publishing, 2002.
3. Monitoring and analysis computerized            assist management in planning inspec-       7. Weller, Ed. “Calculating the Eco-
    tools for management’s post-inspec-            tions and estimating project savings
    tion evaluation of individual inspec-                                                          nomics of Inspections.” StickyMinds
                                                   before commitment.
    tions.                                                                                         Jan. 2002.
                                               •   Computerized tools are available to
4. Computerized management tools for                                                           8. Priven, L.D. “Managing the Program-
                                                   guide the inspection teams.
    analyzing inspection ROI and an            •   Management tools are available for              ming Development Cycle.” IBM
    aggregate calculator for assessing and         monitoring inspection process confor-           Technical Report 21.463 Mar.1972.
    tracking the resulting project savings         mance (not an individual’s perfor-          9. Fagan, Michael E. “Design and Code
    from multiple inspections.                     mance) and tracking resulting inspec-           Inspections and Process Control in the
5. An inspection process that provides             tion benefits.                                  Development of Programs.” IBM
    flexibility for prioritizing what to       •   Project personnel are provided with             Technical Report 21.572. Dec. 1974.
    inspect as shown in Figure 2.                  the proper training and follow-up sup-      10. Priven, L. and F. Tsui. “Implementa-
6. Ability to have customized training             port.N                                          tion of Quality Control in Software
    material which incorporates your ter-
    minology and is based on your needs.                                                           Development.” AFIPS Conference
7. Rapid training (two days or less) of
                                               References                                          Proceedings, 1976 National Computer
                                               1. NIST. “The Economic Impacts of                   Conference 45 (1976):443-449.
    project personnel in a comprehensive
    training course with significant focus        Inadequate Infrastructure for Software       11. McGraw, Gary. Making Essential
    on requirements and design.                   Testing.” NIST Planning Report 02-3.             Software Work. Cigital, Inc. Mar. 2003
8. An overview briefing for upper man-            May 2002.
                                                                                                   <http://citigal.com/whitepapers>.
    agement along with a more rigorous         2. Bennett, Ted L., and Paul W.
                                                                                               12. Software Engineering Standards
    management performance course so              Wennberg. “Eliminating Embedded
                                                  Software Defects Prior to Integration            Committee of the IEEE Computer
    upper managers and project leaders                                                             Society. “IEEE Standard for Software
    can fully understand the inspection           Test.” CrossTalk Dec. 2005.
                                               3. McConnell, Steve. “Best Influences on            Reviews, Section 6. Inspections.”
    process, its benefits, and their respon-
    sibilities                                    Software Engineering Over Past 50                IEEE Std. 1028-1997, 1997.
9. Follow-up practitioner refreshers to           Years.” IEEE Software Jan./Feb. 2000.        13. Humphrey, Watts. “Three Dimensions
    deal with any implementation prob-         4. Wiegers, Karl. “The More Things                  of Process Maturity.” CrossTalk
    lems – focused on making inspection           Change.” Better Software Oct. 2006.              Feb. 1998.
    implementation successful both initial-
    ly and long-term.                                                         About the Authors
10. An inspection process capture tool to
    enable inspections to quickly become                         Roger Stewart is co-                           Lew Priven is co-
    an integral part of a company’s SDLC                         founder of the Stewart-                        founder of the Stewart-
    infrastructure.
                                                                 Priven Group. Previous-                        Priven Group. He is an
    Table 1 shows how an Inspection
Methodology can solve and prevent the 10                         ly, he spent 30 years with                     experienced executive
inspection pitfalls.                                             IBM’s Federal Systems                          with systems and soft-
                                                                 Division managing and                          ware management and
The Road Map to Success                        developing systems for air traffic con-           technical background. Priven was vice-
The pitfall solution road map in Figure 5      trol, satellite command and control, on-          president of engineering and application
shows the solution relationships that pro-     board space shuttle, LAMPS helicopter             development at General Electric
vide for successful software inspection        and in commercial banking, telecommu-             Information Services and vice president
implementation that will endure over the
                                               nication and networking systems.                  of application development for IBM’s
long term. The pitfall solutions provide
the inspection infrastructure that, together   Stewart has a bachelor’s degree in math-          Application Systems Division. He has a
with a comprehensive inspector training        ematics from Cortland University.                 bachelor’s degree in electrical engineer-
program, forms an inspection methodolo-                                                          ing from Tufts University and a master’s
gy for achieving a lasting and successful                                                        degree in management from Rensselaer
inspection program.
                                                    The Stewart-Priven Group
                                                    7962 Old Georgetown RD                       Polytechnic Institute.
                                                    STE B
Summary
Our experience has shown us that inspec-
                                                    Bethesda, MD 20814                                The Stewart-Priven Group

tions can live up to their potential and be
                                                    Phone: (865) 458-6685                             7962 Old Georgetown RD

embraced by the development community
                                                    Fax: (865) 458-9139                               STE B

if the following happens:
                                                    E-mail: spgroup@charter.net                       Bethesda MD 20814
• Inspections are integral to a well-
                                                                                                      Phone: (865) 458-6685
    defined software development life-                                                                Fax: (865) 458-9139
    cycle infrastructure supported by man-                                                            E-mail: spgroup@charter.net

January 2008                                                                                                                 www.stsc.hill.af.mil   27

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:28
posted:6/12/2009
language:English
pages:5