Page 151 -
P. 151

122           PART TWO  MANAGING SOFTWARE PROJECTS


                            built for the current project. Members of the current software team have had
                            full experience in the application area represented by these components.
                            Therefore, modifications required for full-experience components will be rel-
                            atively low-risk.
                            Partial-experience components.  Existing specifications, designs, code, or
                            test data developed for past projects that are related to the software to be
                            built for the current project but will require substantial modification. Mem-
                            bers of the current software team have only limited experience in the appli-
                            cation area represented by these components. Therefore, modifications
                            required for partial-experience components have a fair degree of risk.
                            New components.  Software components that must be built by the soft-
                            ware team specifically for the needs of the current project.
                          The following guidelines should be considered by the software planner when
                       reusable components are specified as a resource:

          ?  What issues  1. If off-the-shelf components meet project requirements, acquire them. The
            should we
                            cost for acquisition and integration of off-the-shelf components will almost
         consider when we   always be less than the cost to develop equivalent software. In addition, risk
                                                                              6
         plan to reuse
         existing software  is relatively low.
         components?     2. If full-experience components are available, the risks associated with modifi-
                            cation and integration are generally acceptable. The project plan should
                            reflect the use of these components.
                         3. If partial-experience components are available, their use for the current proj-
                            ect must be analyzed. If extensive modification is required before the compo-
                            nents can be properly integrated with other elements of the software,
                            proceed carefully—risk is high. The cost to modify partial-experience compo-
                            nents can sometimes be greater than the cost to develop new components.
                       Ironically, reusable software components are often neglected during planning, only
                       to become a paramount concern during the development phase of the software
                       process. It is better to specify software resource requirements early. In this way tech-
                       nical evaluation of the alternatives can be conducted and timely acquisition can occur.

                       5.4.3   Environmental Resources
                       The environment that supports the software project, often called the software engi-
                       neering environment (SEE),  incorporates hardware and software. Hardware provides
                       a platform that supports the tools (software) required to produce the work products
                                                                        7
                       that are an outcome of good software engineering practice. Because most software


                       6  When existing software components are used during a project, the overall cost reduction can be
                          dramatic. In fact, industry data indicate that cost, time to market, and the number of defects
                          delivered to the field all are reduced.
                       7  Other hardware—the target environment—is the computer on which the software will execute
                          when it has been released to the end-user.
   146   147   148   149   150   151   152   153   154   155   156