Page 77 - DCAP405_SOFTWARE_ENGINEERING
P. 77

Software Engineering




                    Notes          As projects become increasingly complex, the balance swings much more toward the latter.
                                   At times it seems almost mystical, but in field after field, from physics to cellular automata to
                                   some of my client’s projects, emergence has, well, . . . emerged . We have all experienced
                                   emergent results on some special project, but it somehow seemed nearly accidental, not
                                   something to count on in a crunch. CAS provides some comfort that it is not accidental.
                                   For a project manager, maintaining this balance means two things. First, he or she has to decide
                                   which parts of the project are predictable. For example, we can predict that without appropriate
                                   configuration control procedures, a software project of any size can implode. For parts that are
                                   unpredictable, he or she has to establish an environment in which the wild and wonderful
                                   properties of emergence — basically open, collaborative, messy, exciting, diverse, anxiety-
                                   ridden, and emotion-laden — can exist.

                                   Unfortunately, at least for some people, CAS postulates certain conditions for emergent behavior.
                                   The most important is that it happens at the edge of chaos. Whether in physics, biology, business,
                                   or human behavior, it appears that there are three broad categories of environments — stable,
                                   unstable (or chaotic), and a transition zone labeled the “edge of chaos.”
                                   The edge of chaos is the constantly shifting battle zone between stagnation and anarchy, the one
                                   place where a complex system can be spontaneous, adaptive, and alive.
                                   In human terms, being in chaos is analogous to being psychotic. So the trick is to lead a project
                                   team away from the familiar and the stable toward chaos, but not all the way. Success comes to
                                   those who can hold anxiety, who can attune themselves to paradox and uncertainty. Innovation,
                                   creativity, and emergent results are born in the transition zone at the edge of chaos.

                                   Learn

                                   Collaborative activities build products. Learning activities expose those products to a variety of
                                   stakeholders to ascertain value. Customer focus groups, technical reviews, beta testing, and
                                   postmortems are all practices that expose results to scrutiny.
                                   Learning, according to the dictionary, is gaining mastery through experience. In an adaptive
                                   environment, learning challenges all stakeholders, including both developers and customers,
                                   to examine their assumptions and use the results of each development cycle to learn the direction
                                   of the next. The cycles need to be short, so teams can learn from small rather than large mistakes.
                                   They also need to be double-loop, so teams learn both about product changes and more
                                   fundamental changes in underlying assumptions about how the products are being developed.

                                   Speculate—Collaborate—Learn

                                   If you examine the speculate — collaborate — learn cycle, even briefly, it becomes obvious that
                                   the three stages overlap. It is difficult to collaborate without learning or to learn without
                                   collaborating. They are purposely messy, nonlinear, overlapping terms — how could terms that
                                   describe an adaptive framework be otherwise?
                                   For many project leaders and project teams, adaptive development is a terrifying prospect. First,
                                   we knock away the foundation pillar of cause and effect, so we can’t say for sure what needs to
                                   be done next. Next we force the team into meeting deliverable goals, but we admit we don’t
                                   know exactly what they are. Then when they then get anxious and concerned about all the
                                   “seemingly inefficient” groping around for solutions (because of the needed diversity and
                                   multiple interactions), we have to say that high anxiety is part of the new game, and it won’t go
                                   away. And finally, when a successful product emerges, to many it seems almost accidental. It is
                                   not a place for the timid.





          70                                LOVELY PROFESSIONAL UNIVERSITY
   72   73   74   75   76   77   78   79   80   81   82