Creative chaos in high-performance teams: an experience report

anagement has traditionally viewed chaos as negative, indicating an organization at risk, a group out of control, or a state of confusion. For science also, chaos was negative. The molecular theory presented to baby boomers in Chemistry 101 modeled electrons in clearly defined orbital rings forever circling the nucleus in their proper order. In ancient Chinese philosophy the universe began in a state called chaos, the symbol for which is a combination of two signs: the symbol for confusion, and the symbol for light. In recent years, both science and management have come to view chaos more in line with Chinese philosophy. Today's Chemistry 101 portrays electrons as free to move in random patterns, while in management, chaos has become a popular term to describe working conditions characterized by changing or unpredictable customer requirements, rapid evolution of applicable technology, or sudden changes in funding, strategy, or priorities [5]. This experience report includes an additional dimension of chaos, one resulting from exponential growth over a short period of time. This article will examine the efforts that were undertaken to control and harness the chaos, converting and focusing the confusion and light into the synergy of a highperformance organization. The Software Reusability Department of A R I N C Research Corporation began in 1986 as a five-member project team. The department has grown to include over 80 people, serving 1,000 users at more than 20 installations worldwide. These installations consist of local (LANs) and wide-area networks (WANs) hosting distributed client-server applications under both DOS and Unix operating systems employing graphical user interface (GUI) and client-server database technologies. The department has been providing logistics management system software for a DoD customer base, including applications for financial management, contracts management, inventory tracking, scheduling, resource management, and communication. The rapid expansion of the program yielded a chaotic business environment which was further complicated by the clients' need for rapid application development of what was considered mission-critical software. The technical challenges of this environment were met through object technology (OT). The use of OT has enabled us to create libraries of reusable software components, which in turn provide an average of 50% code reuse across the various logistics applications. The reusable software is specifically targeted toward encapsulating the complexities and idiosyncrasies of the G U I and database management system (DBMS) to provide a cleaner and more maintainable application programming interface. Encapsulating the complexities of Motif and the database engine allowed developers to learn only the high-level tools interface, enabling them to quickly become more productive. On the other hand, the individual applications developer had to forego use of low-level facilities and trust the code of the tools developer. The team goal of supporting rapid prototyping and costeffective integration of new technologies superseded individual goals of learning the low-level workings of the system. Our path to success in solving customer problems and delivering high-quality, maintainable systems was not a straight upward line, but rather an upward trend along circuitous routes. Although object technology has been an enabling factor for developing quality systems within cost constraints, the most important factor enabling the software reusability department to survive exponential growth has been the team dynamics of the organization. Survival from a managerial perspective has meant handling multiple, concurrent, and often conflicting goals. We needed to leverage the specific strengths of individual people but maintain uniformity and stability across the development of various applications. We also needed to reduce the overhead and red tape that can hinder rapid prototyping and responsiveness, but still maintain the comp rehens ive d o c u m e n t a t i o n and m a n a g e m e n t controls needed to ensure reliability and repeatability. It was most important for project teams to have the freedom to explore new technologies in order to solve complex problems and at the same time reduce risk on mission-critical applications. These are issues of management , not technology. As DeMarco and Lister [2] have noted, we so often focus on the technical rather than the human side of work not