Page 147 -
P. 147

118           PART TWO  MANAGING SOFTWARE PROJECTS


                          For some projects in established areas the answers are easy. You have done projects
                       like this one before. After a few hours or sometimes a few weeks of investigation, you are
                       sure you can do it again.
                          Projects on the margins of your experience are not so easy. A team may have to spend
                       several months discovering what the central, difficult-to-implement requirements of a new
                       application actually are. Do some of these requirements pose risks that would make the
         Technical feasibility is  project infeasible? Can these risks be overcome? The feasibility team ought to carry initial
         important, but  architecture and design of the high-risk requirements to the point at which it can answer
         business need is even  these questions. In some cases, when the team gets negative answers, a reduction in require-
         more important. It
                       ments may be negotiated.
         does no good to build  Meantime, the cartoon people [senior managers] are drumming their fingers nervously
         a high tech system or
                       on their large desks. Often, they wave their fat cigars in a lordly manner and yell impatiently
         product that no one
         really wants.  through the smoke screen, “Enough. Do it!”
                          Many of the projects that appear in the newspapers a few years later as whopping fail-
                       ures got started this way.
                       Putnam and Myers correctly suggest that scoping is not enough. Once scope is under-
                       stood, the software team and others must work to determine if it can be done within
                       the dimensions just noted. This is a crucial, although often overlooked, part of the
                       estimation process.

                       5.3.3  A Scoping Example
                       Communication with the customer leads to a definition of the data and control that
                       are processed, the functions that must be implemented, the performance and con-
                       straints that bound the system, and related information. As an example, consider
                       software for a conveyor line sorting system (CLSS). The statement of scope for CLSS
                       follows:
                       The conveyor line sorting system (CLSS) sorts boxes moving along a conveyor line. Each
                       box is identified by a bar code that contains a part number and is sorted into one of six bins
                       at the end of the line. The boxes pass by a sorting station that contains a bar code reader
                       and a PC. The sorting station PC is connected to a shunting mechanism that sorts the boxes
                       into the bins.  Boxes pass in random order and are evenly spaced. The line is moving at five
                       feet per minute. CLSS is depicted schematically in Figure 5.1.
                          CLSS software receives input information from a bar code reader at time intervals that
                       conform to the conveyor line speed. Bar code data will be decoded into box identification
                       format. The software will do a look-up in a part number database containing a maximum
                       of 1000 entries to determine proper bin location for the box currently at the reader (sorting
                       station). The proper bin location is passed to a sorting shunt that will position boxes in the
                       appropriate bin. A record of the bin destination for each box will be maintained for later
                       recovery and reporting.  CLSS software will also receive input from a pulse tachometer that
                       will be used to synchronize the control signal to the shunting mechanism. Based on the
                       number of pulses generated between the sorting station and the shunt, the software will
                       produce a control signal to the shunt to properly position the box.
   142   143   144   145   146   147   148   149   150   151   152