David Dikel, David Kane, Bill Loftus
Applied Expertise
1925 North Lynn Street
Suite 802
Arlington, VA 22209
Tel: (703) 516-0911
Email:
ddikel@aecorp.com
dkane@aecorp.com
william.loftus@wpl.com
A growing number of technologists believe that an architecture-based approach to software development can enable smaller teams to build better products faster and maintain those products more effectively. However, growing experience indicates that the primary problems to evolving and maintaining a long-standing architecture are organizational, not technical. Applied Expertise conducted a case study at Nortel to learn how the organizational challenges of maintaining a software architecture once fielded were overcome. Out of the study emerged six principles that appeared to be key to success. Applied Expertise in association with WPL Labs is now extending this work through a multi-site benchmark.
Keywords: architecture, product-line, organizational processes, case study
Workshop Goals: learning; networking; receiving feedback and input on our case study.
Working Groups: reuse management, organization and economics.
The Applied Expertise team has long-standing experience with software reuse. Dave Dikel's 1987 case studies of commercial Ada use identified reuse as a key driver for adopting Ada. [dikel87] Since then, Dikel has developed and worked with customers to implement reuse-related operating concepts, strategies and plans for NASA, DoD and Fortune 500 clients. For example, Dikel drafted key elements of DOD's plan for its Software Reuse Initiative (SRI), submitted to Congress in April 1994. Dikel led a case study for the ARPA Software Technology for Adaptable, Reliable Systems (STARS) focusing on software reuse criteria within Bell Canada's Trillium capability model. Later AE's team, including Dave Kane and Dikel, captured and applied Bell Canada's use of Trillium to manage risks related to software reuse. Dikel also lead a team including Kane, Jim Wilson and others to benchmark software reuse at eleven leading industry and government organizations. [wilson96]
Since the mid 80's William Loftus has also maintained an important role in DoD's STARS program. As an AE Senior Associate, Loftus helped developed a software reuse strategy for a major Wall Street firm. Mr. Loftus recently completed a major software re-engineering project for a Fortune 500 firm, on time and below budget, leveraging software reuse and object oriented programming technologies.
Architecture-based software development is an emerging technology. [perry92] There are few case-studies that provide guidance on how to use, re-use, maintain and terminate these architectures. As a result, the organizational problems, issues, and solutions that can be learned from the long-term users of a software architecture are not widely known. For these and other reasons, it is important that these long-term software architectures be studied to learn how these organizational challenges can be overcome.
A growing number of technologists believe that an architecture approach can enable smaller teams to build better products faster and maintain those products more effectively. There is a growing body of knowledge about how to design and build a software or systems architecture, as evidenced in programs such as the Software Technology for Adaptable, Reliable Systems (STARS). The STARS program has developed and increased the maturity, visibility and viability of architecture-based software engineering technology. In addition the Software Engineering Institute's Product Line Systems Program works towards product line practice through architecture-based development.
Growing experience indicates that the primary problem in implementing, evolving and maintaining a long-standing architecture is often organizational, not technical. [collins95] Introducing an architecture-based approach and achieving product-line reuse can require an organization to make major changes that affect not only technology, but its very management structure. Even though the perceived benefits of this technology are great, the risk of moving to this technology is also perceived as high for both managers and for the technology champions who are driving the effort. There is a need for clearly understood rules of thumb that can be used by both managers and practitioners.
In December 1995, Applied Expertise, with contributions from WPL Laboratories, published the case study "Software Architecture: Organizational Success Factors," sponsored by the Advanced Research Projects Agency (ARPA) Software Technology for Adaptable, Reliable Systems (STARS) program. The study found evidence that six organizational factors strongly influenced the degree of success of two major product line architectures within Nortel (formerly known as Northern Telecom and Bell Northern Research or BNR), a world-class telecommunications supplier. [dikel95] The study found six principles that contributed to Nortel architecture success, namely :
Industry and government advisors, including Grady Booch of Rational, Hewlett-Packard, IBM Consulting Group, NASA, Software Engineering Institute and Texas Instruments helped develop and test findings from Applied Expertise's research, and articulate the factors as draft organizational principles for software architecture success. In a capstone workshop and later presentations, audiences expressed support to apply these findings to business and mission objectives. We identified key findings during the case study. We found that, for the study subject, the consequences of not applying the principles were severe, but that applying the principles yielded positive results.
We are building on the results of this case study with a multiple site benchmark of organizational success factors for software architecture. This benchmark will extend the methods we applied in a benchmark of software reuse practices. [wilson96]
Most current software architecture research efforts focus on defining and building an architecture and the skills and tools necessary for implementation. The Domain Specfic Software Architecture (DSSA) is a good example of such an approach. A major thrust of this effort is to use software architectures to create applications in an automated fashion. [braun93]
There is a growing amount of anecdotal evidence that organizational issues are a major obstacle to the institutionalization of software reuse. There is some work that addresses these factors, including an pre-publication manuscript of Grady Booch's book, Object Solutions: Managing the Object Oriented Project. [booch95] However, we have found few formal case studies covering the topic. Further, while Booch addresses software architectures in some depth, the primary focus of his work is object-oriented project management. Work at the Software Engineering Institute has also stressed the importance of organizational issues. [brownsword96]
Unlike other work that has identified organizational issues, we believe the principles that we have identified in our work can provide the basis for analyzing across organizations, e.g. through benchmarking. Further, we believe that these principles hold the potential to provide practical guidance for managers and practioners.
=1.5em [booch95] Booch, G., Object Solutions: Managing the Object-Oriented Project. Unpublished manuscript, Rational Software Corporation, 1995.
=1.5em [braun93] Braun, C., et al Domain Specific Software Architectures: Command and Control DARPA, 1993.
=1.5em [brownsword96] Brownsword, L., and Clements, P., A Case Study in Successful Product Line Development. ESC-TR-96-016, Software Engineering Institute, October 1996.
=1.5em [collins95] Collins, P. Software Reuse at Hewlett-Packard. Hewlett-Packard Company, 1995.
=1.5em [dikel87] Dikel, D., et al Tracking the Use of Ada in Commercial Applications: Case Studies and Summary Report. Ada Joint Program Office, November, 1987.
=1.5em [dikel95] Dikel, D., and Kane, D., et al Software Architecture: Organizational Success Factors. DARPA, 1995. dikel95
=1.5em [perry92] Perry, D., and Wolf, A., Foundations for the Study of Software Architecture. ACM SIGSOFT Software Engineering Notes vol 17 no 4, October 1992.
=1.5em [wilson96] Wilson, J. and Dikel, D., Software Reuse Benchmarking Study: Learning from Industry and Government Leaders. Software Reuse Initiative, 1996.
Dave Dikel is Vice President of Applied Expertise (AE). AE is an Arlington, Virginia-based company that builds legal and regulatory information systems, and provides research and consulting services. Dikel heads AE's research division, which works with government and industry leaders such as Hewlett-Packard, AT&T and Nortel to promote and exchange best practice in areas such as Software Architecture. Mr. Dikel led a landmark study of Bell-Canada's Trillium software capability model. Mr. Dikel earned a bachelor's degree in philosophy and physical sciences at the University of California, San Diego.
David Kane is a Software Engineer at Applied Expertise. He has created an innovative fantasy-role-playing method for introducing a technology for Hewlett-Packard. He has also developed information systems for a variety of government organizations. His research interests include risk management and software process improvement for small organizations. Mr. Kane currently working towards a Masters in Software Systems Engineering at George Mason University and has a bachelor's degree in computer science-mathematics from the State University of New York at Binghamton.
William Loftus is an Applied Expertise Senior Associate. Mr. Loftus performs major systems design, development and software reuse assessment work for Applied Expertise. Mr. Loftus is a certified Sun Microsystems consultant. He has given many seminars and presentations on advanced software technology and has been published in a number of journals. At Unisys, Mr. Loftus received several awards and commendations for his contributions to the Unisys advance software program and the DoD Ada Command Environment (ACE). He earned a bachelor's degree and a master's degree in computer science from Villanova University.