Page 167 -
P. 167

138           PART TWO  MANAGING SOFTWARE PROJECTS


                          If the system is to be built from scratch, there is a 70 percent probability that the
                       job will be difficult. Using the estimation techniques discussed earlier in this chapter,
                       the project planner projects that a difficult development effort will cost $450,000. A
                       "simple" development effort is estimated to cost $380,000. The expected value for
                       cost, computed along any branch of the decision tree, is

                            expected cost =   (path probability) x (estimated path cost) i
                                                         i
                       where i is the decision tree path. For the build path,

         WebRef             expected cost build  = 0.30 ($380K) + 0.70 ($450K) = $429K
         An excellent tutorial on
         decision tree analysis can  Following other paths of the decision tree, the projected costs for reuse, purchase
         be found at   and contract, under a variety of circumstances, are also shown. The expected costs
         www.demon.co.uk/  for these paths are
         mindtool/dectree.
         html               expected cost reuse  =  0.40 ($275K) + 0.60 [0.20($310K) + 0.80($490K)] = $382K
                            expected cost buy  =  0.70($210K) + 0.30($400K)] = $267K
                            expected cost contract  =  0.60($350K) + 0.40($500K)] = $410K

                       Based on the probability and projected costs that have been noted in Figure 5.6, the
                       lowest expected cost is the "buy" option.
                          It is important to note, however, that many criteria—not just cost— must be con-
                       sidered during the decision-making process. Availability, experience of the devel-
                       oper/vendor/contractor, conformance to requirements, local "politics," and the
                       likelihood of change are but a few of the criteria that may affect the ultimate deci-
                       sion to build, reuse, buy, or contract.

                       5.8.2   Outsourcing
                       Sooner or later, every company that develops computer software asks a fundamen-
                       tal question: “Is there a way that we can get the software and systems we need at a
         “As a rule,   lower price?” The answer to this question is not a simple one, and the emotional dis-
          outsourcing requires
          even more skillful  cussions that occur in response to the question always lead to a single word: out-
          management than  sourcing.
          in-house        In concept, outsourcing is extremely simple. Software engineering activities are
          development.”  contracted to a third party who does the work at lower cost and, hopefully, higher
          Steve McConnell
                       quality. Software work conducted within a company is reduced to a contract man-
                       agement activity.
                          The decision to outsource can be either strategic or tactical. At the strategic level,
                       business managers consider whether a significant portion of all software work can
                       be contracted to others. At the tactical level, a project manager determines whether
                       part or all of a project can be best accomplished by subcontracting the software work.
                          Regardless of the breadth of focus, the outsourcing decision is often a financial
                       one. A detailed discussion of the financial analysis for outsourcing is beyond the
   162   163   164   165   166   167   168   169   170   171   172