Page 206 -
P. 206

CHAPTER 7  PROJECT SCHEDULING AND TRACKING                         177

                        7.4   SELECTING SOFTWARE ENGINEERING TASKS

                              In order to develop a project schedule, a task set must be distributed on the project
                              time line. As we noted in Section 7.3, the task set will vary depending upon the proj-
                              ect type and the degree of rigor. Each of the project types described in Section 7.3
                              may be approached using a process model that is linear sequential, iterative (e.g., the
                              prototyping or incremental models), or evolutionary (e.g., the spiral model). In some
                              cases, one project type flows smoothly into the next. For example, concept develop-
                              ment projects that succeed often evolve into new application development projects.
               An adaptable process  As a new application development project ends, an application enhancement proj-
               model (APM) includes a  ect sometimes begins. This progression is both natural and predictable and will occur
               variety of task sets and is
               available for your use.  regardless of the process model that is adopted by an organization. Therefore, the
                              major software engineering tasks described in the sections that follow are applica-
                              ble to all process model flows. As an example, we consider the software engineering
                              tasks for a concept development project.
                                Concept development projects are initiated when the potential for some new tech-
                              nology must be explored. There is no certainty that the technology will be applica-
                              ble, but a customer (e.g., marketing) believes that potential benefit exists. Concept
                              development projects are approached by applying the following major tasks:
                                   Concept scoping determines the overall scope of the project.

                                   Preliminary concept planning establishes the organization’s ability to
                                   undertake the work implied by the project scope.
                                   Technology risk assessment evaluates the risk associated with the tech-
                                   nology to be implemented as part of project scope.
                                   Proof of concept demonstrates the viability of a new technology in the soft-
                                   ware context.
                                   Concept implementation implements the concept representation in a
                                   manner that can be reviewed by a customer and is used for “marketing” pur-
                                   poses when a concept must be sold to other customers or management.
                                   Customer reaction to the concept solicits feedback on a new technology
                                   concept and targets specific customer applications.
                              A quick scan of these tasks should yield few surprises. In fact, the software engi-
                              neering flow for concept development projects (and for all other types of projects as
                              well) is little more than common sense.
                                The software team must understand what must be done (scoping); then the team
                              (or manager) must determine whether anyone is available to do it (planning), con-
                              sider the risks associated with the work (risk assessment), prove the technology in
                              some way (proof of concept), and implement it in a prototypical manner so that the
                              customer can evaluate it (concept implementation and customer evaluation). Finally,
                              if the concept is viable, a production version (translation) must be produced.
   201   202   203   204   205   206   207   208   209   210   211