Page 76 - DCAP405_SOFTWARE_ENGINEERING
P. 76

Unit 5: An Agile View of Process




                                                                                                Notes

              Task  Visit the website of which incorporates the extreme programming and make a note
            on the advantages of extreme programming.

          5.2.2 Adaptive Software Development


          Speculate

          In complex environments, planning is a paradox. According to CAS theory, outcomes are
          unpredictable. Yet wandering around, endlessly experimenting on what a product should look
          like is not likely to lead to profitability either. “Planning,” whether it is applied to overall
          product specifications or detail project management tasks, is too deterministic a word. It carries
          too much historical baggage. “Speculate” is offered as a replacement.
          When we speculate, it’s not that we don’t define a mission to the best of our ability. (I use
          “mission” as a summary term for objectives, vision, goals, and outline requirements.) It simply
          admits the obvious — in some important dimensions of our mission statements, we are more
          than likely wrong. Whether we misread our customer’s needs, or technology changes, or
          competitors come out with a better mousetrap, the probability of mistakes is high. So let’s be
          honest, postulate a general idea of where we are going, and put mechanisms in place to adapt. In
          a complex environment, following a plan produces the product you intended — just not the
          product you need.

                                    Figure 5.2: The Adaptive Cycle




                                                              Speculate
                           Collaborate










                                                     Learn
          Collaborate


          Managing in a complex environment is scary as hell — it is also a blast. If we can’t predict (plan),
          then we can’t control in the traditional management sense. If we can’t control, then a significant
          set of current management practices is no longer operable, or more specifically, only operable
          for those parts of the development process that are predictable.


                       What are the uses of collaboration in adaptive software development?
             Did u know?
            Collaboration, in this context, portrays a balance between managing the doing (the main
            thrust of traditional management) and creating and maintaining the collaborative
            environment needed for emergence.




                                           LOVELY PROFESSIONAL UNIVERSITY                                   69
   71   72   73   74   75   76   77   78   79   80   81