<<

Using the WinWin : A Case Study Computing Practices Fifteen teams used the WinWin spiral model to prototype, plan, specify, and build multimedia applications for USC’s Integrated Library System. The authors report lessons learned from this case study and how they extended the model’s utility and cost-effectiveness in a second round of projects.

Barry Boehm t the 1996 and 1997 International Con- Alexander ferences on Engineering, three of the six keynote addresses identified Egyed negotiation techniques as the most critical Julie Kwan success factor in improving the outcome Aof software projects. At the USC Center for Software Dan Port Engineering, we have been developing a negotiation- Archita Shah based approach to software system requirements engi- University of neering, architecture, development, and management. Southern Our approach has three primary elements: California • Theory W, a management theory and approach, Ray Madachy which says that making winners of the system’s Litton Data key stakeholders is a necessary and sufficient con- Systems and dition for project success.1 University of • Southern The WinWin spiral model, which extends the spi- California ral model by adding Theory W activities to the front of each cycle. The sidebar “Elements of the WinWin Spiral Model” describes The study showed that the WinWin spiral model is these extensions and their goals in more detail. a good match for multimedia applications and is likely • WinWin, a groupware tool that makes it easier to be useful for other applications with similar char- for distributed stakeholders to negotiate mutu- acteristics—rapidly moving technology, many candi- ally satisfactory (win-win) system specifications.2 date approaches, little user or developer experience with similar systems, and the need for rapid comple- In this article, we describe an experimental valida- tion. The study results show that the model has three tion of this approach, focusing on the application of main strengths. the WinWin spiral model. The case study involved extending USC’s Integrated Library System to access • Flexibility. The model let the teams adapt to accom- multimedia archives, including films, maps, and panying risks and uncertainties, such as a rapid pro- videos. The Integrated Library System is a Unix-based, ject schedule and changing team composition. text-oriented, client-server COTS system designed to • Discipline. The modeling framework was suffi- manage the acquisition, cataloging, public access, and ciently formal to maintain focus on achieving circulation of library material. The study’s specific goal three main, or “anchor-point,” milestones: the was to evaluate the feasibility of using the WinWin life-cycle objectives, the life-cycle architecture, and spiral model to build applications written by USC the initial operational capability. (Table A in the graduate student teams. The students developed the sidebar describes these milestones.) applications in concert with USC library clients, who • Trust enhancement. The model provided a means had identified many USC multimedia archives that for growing trust among the project stakeholders, seemed worthy of transformation into digitized, user- enabling them to evolve from adversarial, con- interactive archive management services. tract-oriented system development approaches

0018-9162/98/$10.00 © 1998 IEEE July 1998 33 Elements of the WinWin Spiral Model Since its creation, the spiral model has duce the key product and process objec- been extensively elaborated2 and success- tives, constraints, and alternatives for the The original spiral model1 uses a cyclic fully applied in numerous projects.3,4 next version.6 The model includes a stake- approach to develop increasingly detailed However, some common difficulties led holder WinWin negotiation approach that elaborations of a software system’s defin- USC-CSE and its affiliate organizations to is similar to other team approaches for ition, culminating in incremental releases extend the model to the WinWin spiral software and system definition such as of the system’s operational capability. model described in the main text. gIBIS, Viewpoints, Participatory Design, Each cycle involves four main activities: and Joint Application Design. However, Negotiation front end unlike these and other approaches, we use • Elaborate the system or subsystem’s One difficulty was determining where the stakeholder win-win relationship as the product and process objectives, con- the elaborated objectives, constraints, and success criterion and organizing principle straints, and alternatives. alternatives come from. The WinWin spi- for software and system definition. Our • Evaluate the alternatives with respect ral model resolves this by adding three negotiation guidelines are based on the to the objectives and constraints. activities to the front of each spiral cycle, Harvard Negotiation Project’s techniques.7 Identify and resolve major sources of as Figure A shows.5 product and process risk. Process anchor points • Elaborate the definition of the prod- • Identify the system or subsystem’s key Another difficulty in applying the spiral uct and process. stakeholders. model across an organization’s various pro- • Plan the next cycle, and update the • Identify the stakeholders’ win condi- jects was that the organization has no com- life-cycle plan, including partition of tions for the system or subsystem. mon reference points for organizing its the system into subsystems to be • Negotiate win-win reconciliations of management procedures, cost and schedule addressed in parallel cycles. This can the stakeholders’ win conditions. estimates, and so on. This is because the include a plan to terminate the pro- cycles are risk driven, and each project has ject if it is too risky or infeasible. We have found in experiments with a different risks. In attempting to work out Secure the management’s commit- bootstrap version of the WinWin group- this difficulty with USC-CSE’s industry and ment to proceed as planned. ware tool that these steps do indeed pro- government affiliates using our Cocomo II cost model, we found a set of three process milestones, or anchor points,8 which we 3a. Reconcile win 2. Identify stakeholders' could relate to both the completion of spi- conditions. win conditions. ral cycles and to the organization’s major 3b. Establish next- 1. Identify decision milestones. level objectives, next-level The life-cycle objectives (LCO) and the constraints, and stakeholders. life-cycle architecture (LCA) milestones rat- alternatives. ify the stakeholders’ commitment to a fea- 7. Review and 4. Evaluate product and sible and consistent package of the six key commit. process alternatives. milestone elements shown in Table A for the Resolve risks. LCO anchor point. 6. Validate 5. Define next The LCO version focuses on establishing product level of product a sound business case for the package. It and process and process, need only show that there is at least one fea- definitions. including partitions. sible architecture. The LCA version commits to a single Figure A. How the WinWin spiral model differs from the original spiral model. The new model adds choice of architecture and elaborates it to the front-end activities (blue) that show where objectives, constraints, and alternatives come from. This point of covering all major sources of risk in lets users more clearly identify the rationale involved in negotiating win conditions for the product. the system’s life cycle.8 The LCA is the most

toward methods that were mutually supportive MODEL APPLICATION and cooperative. We applied the WinWin spiral model in four cycles:

From lessons learned during the case study, we iden- • Cycle 0. Determine the feasibility of an appro- tified several possible enhancements, some of which priate family of multimedia applications. we made. We then used the enhanced model on 16 • Cycle 1. Develop life-cycle objectives (LCO mile- projects in the following year. The second-year pro- stone), prototypes, plans, and specifications for indi- jects overcame many of the weaknesses in the first- vidual applications and verify the existence of at year projects. We are incorporating improvements least one feasible architecture for each application. identified by student critiques and are planning third- • Cycle 2. Establish a specific, detailed life-cycle year projects. Industry is also looking at the WinWin architecture (LCA milestone), verify its feasibil- spiral model. Companies such as Rational Inc. have ity, and determine that there are no major risks in already adopted several elements of the WinWin spi- satisfying the plans and specifications. ral model as part of their and • Cycle 3. Achieve a workable initial operational product life-cycle processes. capability (IOC milestone) for each project

34 Computer critical milestone in the software system’s life We found that the LCO and LCA mile- 4. T. Frazier and J. Bailey, “The Costs and cycle. As an analogy, it is similar to the commit- stones are highly compatible with the suc- Benefits of Domain-Oriented Software ment you make in getting married (just as LCO cessful architecture review board practice Reuse: Evidence from the STARS Demon- is like getting engaged and IOC like having your pioneered by AT&T and Lucent Technolo- stration Projects,” IDA Paper P-3191, Insti- first child). gies.9 We used board sessions about 20 per- tute for Defense Analyses, Alexandria, Va., The initial operational capability, or IOC, cent of the time in the first-year projects and 1996. anchor point has three key elements:8 100 percent of the time in the second-year 5. B. Boehm and P. Bose, “A Collaborative Spi- projects, with much better results. ral Software Process Model Based on Theory • Software preparation, including both W,” Proc. Int’l Conf. Software Process, IEEE operational and support software with References CS Press, Los Alamitos, Calif., 1994, pp. 59- appropriate commentary and documen- 1. B. Boehm, “A Spiral Model of Software 68. tation; data preparation or conversion; Development and Enhancement,” Computer, 6. B. Boehm et al., “ as the necessary licenses and rights for May 1988, pp. 61-72. Negotiated Win Conditions,” Proc. Int’l COTS and reused software, and appro- 2. “Process Engineering with the Evolutionary Conf. Requirements Eng., IEEE CS Press, Los priate operational readiness testing. Spiral Process Model: Version 01.00.06,” Alamitos, Calif., 1994, pp. 74-83. • Site preparation, including facilities, Tech. Report SPC-93098-CMC, Software Pro- 7. R. Fisher and W. Ury, Getting to Yes, Penguin equipment, supplies, and COTS vendor ductivity Consortium, Herndon, Va., 1994. Books, New York, 1981. support arrangements. 3. W. E. Royce, “TRW’s Ada Process Model for 8. B. Boehm, “Anchoring the Software Process,” • User, operator, and maintainer prepara- Incremental Development of Large Software IEEE Software, July 1996, pp. 73-82. tion, including selection, team building, Systems,” Proc. 12th Int’l Conf. Software 9. “Best Current Practices: Software Architec- training, and other qualifications for famil- Eng., IEEE CS Press, Los Alamitos, Calif., ture Validation,” AT&T, Murray Hill, N.J. iarization use, operations, or maintenance. 1990, pp. 2-11. 1993.

Table A. Contents of the LCO milestone. Milestone element Definition of Definition of Definition of operational system system and Definition of Feasibility System concept requirements life-cycle plan rationale prototype(s)

Top-level system Top-level functions, Top-level definition Identification of life-cycle Assurance of Exercise key usage objectives and scope interfaces, quality of at least one feasible stakeholders consistency among scenarios Environment attribute levels, architecture Users, customers, elements above Resolve critical risks parameters and including: Physical and logical developers, maintain- Via analysis, assumptions Growth vectors elements and ers, interoperators, gen- measurement, Evolution parameters Priorities relationships eral public, others prototyping, Operational concept Stakeholders’ Choices of COTS and Identification of life-cycle simulation, etc. Operations and concurrence reusable software process model Business case maintenance on essentials elements Top-level stages, incre- analysis for scenarios Identification ments requirements, and parameters of infeasible Top-level WWWWWHH feasible Organizational architecture options (Why, What, When, architectures life-cycle Who, Where, How, responsibilities How Much?) by stage (stakeholders)

including system preparation, training, use, and of the library staff became interested in having the evolution support for users, administrators, and CSE students develop useful USC library applications. maintainers. The CSE in turn had been looking for a source of new applications on which to test the WinWin spiral We used Theory W in all the cycles, but we used the model. So in the summer of 1996 we met with some WinWin groupware tool in Cycle 1 only, because this of the library staff to explore respective win condi- is where it currently works best. tions and to determine if we could identify a feasible set of life-cycle objectives for a family of USC library Cycle 0: Application family applications. Table 1 summarizes the win conditions From 1993 to 1996, the USC Center for Software for the three primary stakeholders: the library infor- Engineering (CSE) experimented with teaching the mation technology community; the library operations WinWin spiral model in its master’s software engi- community (including users); and the CSE. neering course, taught by . The experi- As the table indicates, the library information tech- ments involved using hypothetical applications, one nology community was energized by their dean’s of which was an advanced library application. Some vision to accelerate the libraries’ transition to digital

July 1998 35 Table 1. Win conditions for the three primary stakeholders in the case study.

Library Information Technology Community Library Operations Community Center for Accelerated transition to digital library capabilities; Continuity of service Similarity of projects (for fairness, project vision of Dean of the University Libraries management) No disruption of ongoing transition to Evaluation of emerging multimedia archiving and SIRSI-based Library Information System Reasonable match to the WinWin spiral model access tools Career growth opportunities for system 15-20 projects at 5-6 students per team Empowering library multimedia users administrators Achieve a meaningful life-cycle architecture in Enhancement of library staff capabilities in digital No disruption of USC network operations one semester library services and services Achieve a meaningful initial operational capability Leveraging of limited budget for advanced applica- More efficient operations via technology in two semesters tions Adequate network, computer, and infrastructure resources

capabilities. However, there was little budget for eval- to the teams’ rapid progress because they provided a uating emerging multimedia technology and develop- common development perspective. The course lectures ing exploratory applications. followed the WinWin spiral model. We began with The library operations community and its users overviews of the project artifacts (in Figure 1 under were already undergoing a complex transition to the “Project objectives”) and how they fit together. We new Integrated Library System. They were continu- continued with a discussion of the key planning and ally looking for new technology to enhance their oper- organizing guidelines. In later lectures, we provided ations. But they were also highly sensitive to the risks more detail on the project artifacts and had guest lec- of disrupting services, and they had limited resources tures on library operations and the SIRSI system and to experiment in new areas. on technological aspects such as user interface design The biggest risk identified in Cycle 0 was the risk of and multimedia system architecture. having too many different applications and losing con- We focused each team during Cycle 1 by having trol of the project. Achieving a meaningful IOC in two them use the WinWin groupware tool for requirements semesters, a win condition for CSE, meant following a negotiation.2 “WinWin user negotiations” in Figure 1 rapid project schedule. Because the students would be identifies the four key forms in the WinWin negotia- unfamiliar with both one another and with their library tion model (win conditions, issues, options, and agree- applications and clients, they could easily go off in all ments), and their relationships. It also summarizes the directions. We resolved this risk by focusing on a single stakeholder roles (developer, customer, and user) to be application area—library multimedia archive services— played by the team members. To minimize disruption and by developing a common domain model and set of to library operations, we had the operational concept product guidelines for all teams to follow. and requirements team members enter the user arti- facts, rather than the librarians themselves. Cycle 1: Application life-cycle objectives Figure 3a shows the final list of applications and the Figure 1 shows the project guidelines we negotiated teams required to develop them. We ended up with 12 with the library staff during Cycle 0 and provided to applications and 15 development teams, comprising the CS students on the first day of class. The guidelines both on- and off-campus students. We let the project allowed 2.5 weeks for the students to organize them- teams select their own members to mitigate the risk selves into teams and 11.5 weeks to complete the life- of forming teams with incompatible people and cycle objective and life-cycle architecture milestones. philosophies. Most teams had six people. We also gave each project some guidelines for de- Figure 3b shows two problem statements prepared veloping five documents (in the artifacts list under by the library clients. These statements are much less “Project Objectives” in Figure 1), including recom- detailed than a typical requirements set in an indus- mended page budgets. Each team had to develop two trial application. The team had to go from short state- versions, one for the LCO milestone and an elabora- ments like this to a consistent set of prototypes, plans, tion for the LCA milestone. To ensure that everyone and specifications (typically 200 pages) in 11 weeks. used a common development process, we gave the To help them organize and navigate the WinWin teams a sample multimedia archive prototype and a artifacts and control the associated terminology, we domain model for a typical information archive exten- gave each team a domain taxonomy and guidelines sion. The domain model, in Figure 2, identifies the key for relating the taxonomy elements to elements of the stakeholders involved in such systems and key con- requirements specification. Figure 4 shows part of the cepts like the system boundary, the boundary between taxonomy and guidelines. the system being developed and its environment. Figure 5 shows the look and feel of the WinWin The project guidelines and domain model were key tool. In the lower right is a win condition form entered

36 Computer Project objectives Create the artifacts necessary to establish a successful life-cycle architecture and plan for adding a multimedia access capability to the USC Library Information System. These artifacts are 1. An operational concept definition 2. A system requirements definition 3. A system and software architecture definition 4. A prototype of key system features 5. A life-cycle plan 6. A feasibility rationale, assuring the consistency and feasibility of items 1-5. Team structure Each of the six team members will be responsible for developing the LCO and LCA versions of one of the six project artifacts. In addition, the team member responsible for the feasibility rationale will serve as project manager with the following primary responsibilities: • Ensure consistency among the team members’ artifacts (and document this in the rationale). • Lead the team’s development of plans for achieving the project results and ensure that project performance tracks the plans.

Project approach Each team will develop the project artifacts concurrently, using the WinWin spiral approach defined in the article “Anchoring the Software Process.” There will be two critical project milestones: the life-cycle objectives (LCO) and life-cycle architecture (LCA). The LCA package should be sufficiently complete to support development of an initial operational capability (IOC) version of the planned multimedia access capability by a CS577b student team during the spring 1997 semester. The life-cycle plan should estab- lish the appropriate size and structure of the development team.

WinWin user negotiations Each team will work with a representative of a community of potential users of the multimedia capability (art, cinema, engineer- ing, business, etc.) to determine that community’s most significant multimedia access needs and to reconcile these needs with a feasible implementation architecture and plan. The teams will accomplish this reconciliation by using the USC WinWin groupware support system for requirements negotiation. This system provides WinWin forms for stakeholders to express their win conditions for the system, to define issues dealing with conflicts among win conditions, to support options for resolving the issues, and to con- summate agreements to adopt mutually satisfactory (win-win) options.

There will be three stakeholder roles: • Developer. The architecture and prototype team members will represent developer concerns, such as the use of familiar packages, stability of requirements, availability of support tools, and technically challenging approaches. • Customer. The plan and rationale team members will represent customer concerns, such as the need to develop an IOC in one semester, limited budgets for support tools, and low-risk technical approaches. • User. The operational concept and requirements team members will work with their designated user-community representative to represent user concerns, such as particular multimedia access features, fast response time, friendly user interface, high reliabil- ity, and flexibility of requirements.

Major milestones September 16 All teams formed October 14 WinWin negotiation results October 21, 23 LCO reviews October 28 LCO package due November 4 Feedback on LCO package December 6 LCA package due, individual critique due

Individual project critique The project critique is to be done by each individual student. It should be about 3-5 pages, and should answer the question, “If we were to do the project over again, how would we do it better—and how does that relate to the software engineering principles in the course?”

Figure 1. Guidelines given to the 15 teams on how to conduct their respective multimedia archive projects. Because each project team received the same guidelines, the teams were able to progress rapidly in specifying and building the applications.

by one of the team members on the Hancock Library the amount of WinWin training needed and the com- photo archive project, expressing the need to accom- plexities of supporting 15 simultaneous negotiations, modate future upgrades, such as different image for- some with mixes of on- and off-campus negotiators. mats. The graph at the top shows how the win con- As a result, we moved the deadline for completing the dition “swong-WINC-5” is linked to other WinWin WinWin negotiations and the LCO packages back a forms such as issues, options, and agreements. The week. Fortunately, the LCO packages were good taxonomy helps categorize these forms into common enough to let us make up that time in the next cycle. concerns, such as those that affect user controls. Under the revised schedule, all 15 teams delivered The WinWin negotiation period took longer than their LCO packages on time. The degree of com- we expected for several reasons. We underestimated pleteness was generally appropriate, but components

July 1998 37 System block diagram This diagram shows the usual block diagram for extensions providing access to new information archive assets from an existing information archive (IA) system:

IA system O & M support

Users New-asset New-asset access New assets managers

Existing IA system Existing Existing-asset assets managers

IA system infrastructure operations IA system infrastructure System boundary and maintenance (O & M)

The system boundary focuses on the automated applications portion of the operation and defines such external entities as users, operators, maintainers, assets, and infrastructure (campus networks, etc.) as part of the system environment. The diagram abstracts out such additional needed capabilities as asset catalogs and direct user access to O&M support and asset managers. Some stakeholder roles and responsibilities include:

• Asset managers. Furnish and update asset content and catalog descriptors. Ensure access to assets. Provide accessibility status information. Ensure asset-base recoverability. Support problem analysis, explanation, training, instrumentation, operations analysis. • Operators. Maintain high level of system performance and availability. Accommodate asset and services growth and change. Protect stakeholder privacy and intellectual property rights. Support problem analysis, explanation, training, instrumentation, operations analysis. • Users. Obtain training. Access system. Query and browse assets. Import and operate on assets. Establish, populate, update, and access asset-related user files. Comply with system policies. Provide feedback on use. • Application software maintainer. Perform corrective, adaptive, and perfective (tuning, restructuring) maintenance on software. Analyze and support prioritization of proposed changes. Plan, design, develop, and verify selected changes. Support problem analysis, explanation, training, instrumentation, and operations analysis. • Service providers (network, database, or facilities management services). Roles and responsibilities similar to asset managers.

Figure 2. Domain model for extending often had serious inconsistencies in assumptions, rela- application’s scope (the system boundary in Figure 2a) an information tionships, and terminology. Most teams had planned and the inability to recognize that the plan was to archive system. The time for members to review each others’ artifacts, but focus on the development activities in Cycle 3. domain model and most individual members ended up using that time to Because of delays and changes in prototyping equip- the guidelines in Fig- finish their artifacts. Some concepts—such as the ment, the teams developed their prototypes in Cycle 2. ure 1 helped give the nature of the system boundary, organizational rela- This had the unfortunate effect of destabilizing some 15 teams a unified tionships, and the primary goal of the life-cycle plan— of the WinWin agreements and product requirements. perspective of project caused problems for students without industrial expe- Once the library clients saw the prototypes, they development. rience. We covered these concepts in more depth in wanted to change the requirements (the IKIWISI—I’ll subsequent course lectures. know it when I see it—syndrome). In the following year, we had the teams do the initial prototyping and Cycle 2: Application life-cycle architectures WinWin negotiations concurrently. In Cycle 2, the teams chose a specific life-cycle archi- On the positive side, the prototypes generally tecture for their applications and elaborated the con- expanded the librarians’ perceptions of what the teams tent of their LCO artifacts to the level of detail could produce. The librarian who proposed the Edgar required for the LCA milestone. This included corporate data problem was amazed with the end responding to the instructors’ comments on their LCO product, which built on the seemingly simple text-for- packages. The most frequent problems were incon- matting problem and delivered a one-stop Java site sistencies among the artifacts, failure to specify qual- that synthesized several kinds of business information. ity attributes, a general misunderstanding about the She commented in her evaluation memo:

38 Computer Team Application Medieval manuscripts Figure 3. (a) Proposed 1. Stereoscopic slides I am interested in how to scan medieval manuscripts multimedia 2. Latin American pamphlets so that a researcher could both read the content applications and (b) two 3,5. Edgar corporate data and study the scribe’s hand, special markings, and so problem statements 4. Medieval manuscripts on. A related issue is how to transmit such images. prepared by the library 6,10. Hancock Library photo archive clients. The numbers in 7. Interactive TV courseware delivery Edgar corporate data 8,11. Technical reports archives Increasingly the government is using the WWW as a (a) designate the teams 9. Student film archive tool for dissemination of information. Two much- that designed the appli- 12. Student access to digital maps used sites are the Edgar database of corporate infor- cation. Because we had 13. Los Angeles regional history photos mation (http://www.sec.gov/edgarhp.htm) and the 15 teams and 12 appli- 14. Korean-American museum Bureau of the Census (http://www.census.gov). Part of cations, some library 15. Urban planning documents the problem is that some information (particularly clients agreed to work (a) that at the Edgar site) is available only as ASCII files. For textual information, the formatting of statistical with two teams. From tables is often lost in downloading, e-mailing, or statements like those in transferring to statistical programs. While this infor- (b), the teams had to mation is useful for the typical library researcher, it is generate detailed spec- often too much trouble to put it in a usable format. ifications in 11 weeks. (b)

1. Operational Modes Figure 4. Part of the 1.1 Classes of Service (research, education, general public) domain taxonomy and 1.2 Training use guidelines given to 1.3 Graceful Degradation and Recovery each project team. The 2. Capabilities 2.1 Media Handled taxonomy specializes the 2.1.1 Static (text, images, graphics, etc.) WinWin tool to the 2.1.2 Dynamic (audio, video, animation, etc.) stakeholders’ domain, 2.2 Media Operations and serves as a checklist 2.2.1 Query, Browse for completing the nego- 2.2.2 Access tiation process. It also 2.2.3 Text Operations (find, reformat, etc.) helped the teams orga- 2.2.4 Image Operations (zoom in/out, translate/rotate, etc.) 2.2.5 Audio Operations (volume, balance, forward/reverse, etc.) nize the WinWin forms 2.2.6 Video/Animation Operations (speedup/slowdown, forward/reverse, etc.) and relate them to the 2.2.7 Adaptation (cut, copy, paste, superimpose, etc.) requirements specifica- 2.2.8 File Operations (save, recall, print, record, etc.) tion. 2.2.9 User Controls 2.3 Help 2.4 Administration 2.4.1 User Account Management 2.4.2 Use Monitoring and Analysis 3. Interfaces 3.1 Infrastructure (SIRSI, UCS, etc.) 3.2 Media Providers 3.3 Operators 4. Quality Attributes . . The taxonomy serves as a requirements checklist and navigation aid: The taxonomy elements map onto the requirements description table of contents in the course notes. Every WinWin artifact should point to at least one taxonomy element (modify elements if appropriate). Every taxonomy element should be considered as a source of potential stakeholder win conditions and agreements.

“[The team] obviously looked beyond the parameters value added relative to their time invested. of the problem and researched the type of informa- The teams were able to surmount several chal- tion need the set of data meets. My interactions with lenges characteristic of real-world projects. For exam- the team were minimal, not because of any difficulty, ple, they could not use the Integrated Library System’s but because as a group they had a synergy and test server for their prototypes because it was needed grasped the concepts presented to them. The solution in transitioning from the old system to the new the team came up with was innovative, with the Integrated Library System. There were also delays in potential to be applied to other, similar problems.” arranging for a suitable alternative Web server. At times librarians could not provide input on critical Other library clients were also very satisfied with the decisions, which led to extra rework. Inevitable per-

July 1998 39 Figure 5. Sample screens from the WinWin groupware tool. The artifact rationale window (upper left) lets users immediately see links among the pro- ject stakeholders’ win conditions, issues, options, and negoti- ated agreements. The screen in the lower right expands one of these forms, a stake- holder’s win condition. The current negotiation outline is the taxonomy window (middle right) and the latest changes are listed in the message window (bottom left).

sonnel conflicts arose within the 15 teams. However, for an MS in , did not take Software we were able to minimize conflicts within a team, in Engineering II in spring 1997 because it was not a core large part because the teams were self-selected. course. Thus, we were able to continue only six pro- The WinWin spiral model’s mix of flexibility and jects during Cycle 3, involving 28 students and eight discipline let the project teams adapt to these chal- applications. The projects that continued were driven lenges while staying on schedule. In particular, the use by the project experience of the students who reen- of and a continuously evolving top rolled, rather than by the priorities of the librarians. n risk list3 helped the teams focus their effort on the Only one team retained most of its LCO/LCA par- most critical success factors for their projects. ticipants for Cycle 3. The other teams had to work with Another difficulty was maintaining consistency across a mix of participants with varying project backgrounds. multiple product views. The guidelines we gave the stu- This was particularly challenging when we had to inte- dents were from the course textbook,4 evolving com- grate teams that had produced different LCA artifacts mercial standards like J-STD-016-1995, and object-ori- for the same application. In two cases, the instructors ented methods, particularly the Booch method and had to persuade students to join different teams because Object Modeling Technology. The views included sys- they continued to fight about whose architecture was tem block diagrams, requirements templates, use sce- better. Other conflicts developed within teams in which narios, physical architecture diagrams, class hierarchies, some members had extensive LCA experience on the object interaction diagrams, dataflow diagrams, state- application and others had none. In one case, experi- transition diagrams, data descriptions, and requirements enced members exploited those less experienced; in traceability relations. Each had its value, but the over- another case, the reverse happened. all set was both an overkill and weakly supported by Other challenges included changes in course in- integrated tools. In the following year, we used a more structor, process model (spiral to risk-driven water- concise and integrated set of views based on the Ratio- fall), and documentation approach (laissez-faire to nal Unified and tool set.5 put-everything-on-the-Web). There were also infra- structure surprises: the Integrated Library System’s Cycle 3: Initial operational capability server and search engine, which we expected to be A major challenge for Cycle 3 was that many stu- available for Cycle 3, were not. dents involved in Cycles 1 and 2 during the fall 1996 Risk management. Despite these obstacles, each pro- Software Engineering I course, which was a core course ject successfully delivered its IOC package—code, life-

40 Computer cycle documentation, and demonstrations—on time. tion—the only one not well received—was an We believe a major reason was our strong emphasis attempt to integrate the three photographic- on risk management, which enabled teams to depart image projects (stereoscopic slides, Hancock The librarians said from a pure waterfall approach to resolve whatever Library photo archive, Los Angeles regional that working with critical risk items surfaced. We had each team form a history photos) into a single application. The Theory W and the top-n risk list, which helped them characterize each team had only a short time to patch together WinWin philosophy cycle and gave everyone a flavor of what to expect. pieces of three architectures and user interfaces. The risk list helped the team prioritize risks by Some resulting features were good (a colored- made it easy assessing risk exposure (probability of loss times mag- glasses stereo capability with good resolution, for them to nitude of loss). Each week, the team reassessed the risk for example), but none of the clients were “think big” about to see if its priority had changed or to determine how enthusiastic about implementing the results. much progress had been made in resolving it. A key The librarians expressed that working with their projects. strategy was design to schedule, in which a team iden- Theory W and the WinWin philosophy made it tified a feasible core capability and optional features easy for them to “think big” about their pro- to be implemented as the schedule permitted. jects. The negotiation process balanced that Some risks from a typical team risk list included vision by allowing teams and librarians to agree on a feasible set of deliverables for the final products dur- • Tight schedule. Risk aversion options included ing the academic session. And, although the time com- studying the requirements carefully so as not to mitment was not great, participation in this project let overcommit, descoping good-to-have features the librarians focus part of their time on multimedia if possible, and concentrating on core capabil- applications and software engineering. One of the ities. Risk monitoring activities included closely greatest advantages for librarians was that they monitoring all activities to ensure that sched- became more familiar with digital library issues and ules are met. the software engineering techniques involved in their • Project size. Risk aversion options included implementation. descoping good-to-have features and capabilities Nature of products. As one librarian noted in her if requirements were too excessive and identify- evaluation memo ing the core capabilities to be built. • Finding a search engine. Risk aversion options The interaction between the student teams and the included conducting a software evaluation of librarians produced obvious differences in products search engines, actively sourcing free search designed for different users. For example, the techni- engines for evaluation and selection, and deter- cal reports interface mirrored the technical nature of mining the best one for the project. Risk moni- the type of material included and expected future toring activities included submitting evaluation users of the system, while the student film archive reports and conducting demonstrations so that interface reflected the needs and interests of a very an informed decision can be made. different clientele. • Required technical expertise lacking. Risk aver- sion options included identifying the critical and Figure 6, the user interface for the medieval manu- most difficult technical areas of the project and scripts application, typifies the look and feel of the having team members look into them as soon as products. The Netscape-based application uses vari- possible. Monitoring activities included closely ous windows to display the manuscript’s attributes, following the progress of critical problems and to query for desired manuscripts using a search engine, seeking help if necessary. and to enter and catalog new manuscripts. Adoption of applications. The students spent summer Client involvement and reaction. The librarians’ 1997 refining two of the five applications. However, involvement with the student teams during the second only one of these—the student film archive—was actu- semester was, for the most part, qualitatively and ally implemented. As it turned out, this application was quantitatively different than during the first semester. the only one with sufficient budget, people, and facil- Major system requirements had already been negoti- ities to sustain the product after it was implemented. In ated, but there were a few new requirements that the following year, we agreed to let the USC library added subtle differences to the original concepts. choose which applications would be developed to IOC Nonetheless, the time required for the librarians’ par- in spring 1998, and we agreed that we would imple- ticipation was not as extensive as it had been. ment only the applications the client could sustain. Except for one project, the librarians were delighted with the final presentations. Five library LESSONS LEARNED clients wanted either to adopt the application as is or When we started the course, we were not sure about extend it for possible adoption. The sixth applica- any of our choices on such issues as team size, docu-

July 1998 41 Figure 6. The user interface for the medieval manuscripts application in Figure 3a. The application satisfies the client’s need to scan medieval manuscripts in a way that permits researchers to simul- taneously study spe- cial markings and read historical data about the image.

ment guidelines, tools, milestones, and course mater- changes. In the beginning, the library clients were con- ial. However, the library clients and management siderably uncertain about going forward with the pro- found the projects sufficiently valuable that they com- jects. By the LCA milestone, however, the uncertainty mitted both to a continued series of similar projects and doubt about working with the student teams had and to supporting the product’s transition and sus- been replaced with enthusiasm and considerable trust, taining it after implementation. We, in turn, obtained although many were still uncertain about the appli- extensive data and feedback on how to improve the cations’ technical parameters. This growth continued course and project approach both for future courses through the development period and led to a mutual and for industrial practice. commitment to pursue additional projects in the fol- Number of cycles. For projects of this size, using a lowing year. The ability of the WinWin approach to single cycle each for the LCO and LCA milestones was foster trust was consistent with earlier experiences.6 about right. Smaller projects can get to the LCA mile- Smooth transitions. In previous uses of the WinWin stone in a single cycle; larger projects may take several spiral model, the transition from WinWin stakeholder cycles to achieve their LCO and LCA goals. Given the agreements to requirements specifications had been results of our LCO reviews, using a single cycle would rough. The WinWin groupware tool helped smooth have produced less satisfactory results in about half this transition. Mapping the WinWin domain taxon- the projects. In several projects, the detail was not bal- omy onto the table of contents of the requirements anced in either the archiving or query/browsing parts specification and requiring the use of the domain tax- of the LCO packages; the LCA cycle let them correct onomy as a checklist for developing WinWin agree- that imbalance. Using three cycles to produce the LCO ments effectively focused stakeholder negotiations. and LCA milestones would have left insufficient time We are exploring how to automate parts of the to both produce and coordinate three sets of artifacts. requirements transition to make it even smoother. Degree of flexibility. The teams were able to adapt to Use of developer time. Although our approach real-world conditions, such as pleasant and unpleas- avoided some inefficiencies, we still experienced sig- ant surprises with COTS packages, the unavailability nificant bottlenecks from documentation overkill and of expected infrastructure packages such as the server, attempts to coordinate multiple views. The second- lack of expertise on library information systems; and year projects (described later) had less redundant and personnel complications. More formal or contract- voluminous documentation, used the Rational Rose oriented approaches would not have been able to integrated object-oriented tool set (which decreased accommodate these changes in the short time (11 the amount of documentation), and thus yielded fewer weeks) available. inconsistencies. We also had five instead of six mem- Communication and trust. We found that, at least for bers per team, which reduced inconsistencies and over- this type of application, the most important outcome head because fewer people had to talk to one another. of product definition is not a rigorous specification, Finally, we added training and opportunities for feed- but a team of stakeholders with enough trust and back. The WinWin groupware tool helped with team shared vision to adapt effectively to unexpected building and feature prioritization, but people needed

42 Computer more preliminary training and experience in its use. Stu- year projects that these issues were important. dents also cited the need for more training on key Web Through the domain description, the teams We found that the skills and more feedback on intermediate products. For were able to rapidly understand the parts of the second-year projects, we added homework exam- their client’s domain that were relevant to the most important ples both on WinWin principles and preliminary use. target system. With this intermediate represen- outcome of product We set up special sessions for training on WinWin and tation, the teams were able to work with the definition is not Web prototyping. We also set up special LCO and LCA client to communicate vital responsibilities, a rigorous architectural review board sessions for all projects, qualities, and components of the target system rather than just three in-class sessions. without losing the client in too much technical specification, Client acceptance. We learned two lessons here. The design detail. During system analysis, one client but a team of first is don’t finish negotiations before prototyping. If commented “I can really see that this [the sys- stakeholders with you do, the agreements destabilize once the clients see tem] has all the things I expected and is what I the prototypes. In the second-year projects, we had the wanted.” In all, layering helped manage the enough trust and teams negotiate and prototype concurrently. The sec- architectural complexity by letting teams cap- shared vision to ond lesson is make sure the clients are empowered to ture, validate, and refine information in a prac- adapt effectively support the product not just with knowledge and enthu- tical and useful way as well as communicate to unexpected siasm, but also with resources for the product’s opera- them effectively. tion and maintenance. In the second-year projects, this Client acceptance. The extra WinWin and changes. became our top criterion for selecting applications. prototyping preparation and training, early pro- totyping, and adoption of LCO and LCA review RESULTS OF SECOND-YEAR PROJECTS boards fit naturally into the WinWin spiral In the second-year projects, which we just com- approach and increased the productiveness and qual- pleted, 16 teams developed similar library-related pro- ity of the second-year projects over the first-year efforts. jects. The process of the second year followed the There were fewer requirements breakdowns in the later process of the first year for the most part (from the stages of the life cycle, which increased client partici- LCO to LCA to IOC milestones). The changes we pation and acceptance to the point of “client activism.” made reflected customer and student wishes, their sug- Indeed, when a team was given some criticism by the gestions, and other lessons learned during the first year. review board, often the client would actively defend From the 16 projects in the first semester, the clients the team and their efforts. The resulting discussions selected five applications for development according often led to identifying additional important objectives, to the library’s commitment to sustain them after the constraints, and alternatives, making the spiral model second semester (IOC). Four are now transitioning to iterations more effective, and producing more satis- library operations, and the fifth has good prospects factory products for the clients. The overall satisfac- for transition after refinement this summer. We tion rating from client critiques, on a scale of 1 to 5, adapted several parts of the first-year process in the went from 4.3 in the first year to 4.7 in the second. second-year projects. Documentation. We restructured the document e are currently addressing improvements guidelines to reduce duplication, and to adapt them for the third year of projects. Of the 80 stu- for use with Rational Rose and the Unified Modeling Wdents in the second-year projects, 26 indi- Language (we had used OO development and design cated the need for more UML and Rose education (18 methods the first year but we did not provide partic- indicated that UML and Rose were very helpful), 13 ular tool support for it). The average length of the indicated the need for better document guidelines, LCO package decreased from 160 pages in the first- and nine indicated the need for a Cocomo II model year projects to 103 in the second year. calibrated to the student projects. Layered architectural description. Using UML and We believe our results so far indicate that the WinWin Integrated Systems Development Methodology spiral model will transition well to industry use. The (ISDM)7 as our object-oriented methods, we were able digital library projects were in a sense an industry test to more strongly refine our system software architec- because about 20 percent of the teams were purely tural description into three model layers: domain industry employees, and additional teams had mixes of description, system analysis, and system design. Each industry employees and full-time students. In fact, since layer was analogous to the others, but had a different the first-year projects, industrial organizations have intended audience. The layering improved internal adopted many elements of the WinWin spiral model. consistency because it maintained distinct relations Rational, for example, has adopted the LCO, LCA, and (documented via simple reference ) between the IOC definitions as the major milestones in their views within and outside each layer. Many teams still Objectory or Rational Unified Management Process.8,9 found the concepts of consistency and tracing difficult MCC is developing an industrial-grade version of the to , but they were more aware than in the first- WinWin tool as part of its Software and System

July 1998 43 Engineering Productivity project. Several other 1994, pp. 59-68. We believe our USC-CSE affiliate organizations are adopting 7. D. Port, “Integrated Systems Development Methodol- results so far WinWin spiral model concepts into their life- ogy,” Telos Press, 1998 (to appear). cycle process approaches. TRW has also suc- 8. “Rational Objectory Process,” Ver. 4.1, Rational Soft- indicate that the cessfully scaled up the model in its CCPDS-R ware Corp., Santa Clara, Calif., 1997. WinWin spiral model project,9 in which it delivered a million-line com- 9. W.E.Royce, Unified Software Management, Addison- will transition well mand and control system within budget and Wesley, Reading, Mass., 1998 (to be published). to industry use. schedule—an effort considered a showcase pro- ject by its Air Force client. New software process models generally take Barry Boehm is the TRW professor of software engi- years to validate. The original spiral model was neering and director of the Center for Software Engi- created in 1978, first tried on a 15-person inter- neering at the University of Southern California. His nal project in 1980, scaled up to a 100-person contract current research involves the WinWin groupware sys- project in 1988, and became a fully documented tem for software requirements negotiation, architec- method in 1994. For the WinWin spiral model, we were ture-based models of attributes, and fortunate to find this family of multimedia applications the Cocomo II cost-estimation model. Boehm received that has let us continue validation and improvement on a PhD in mathematics from the University of Cali- a one-year cycle. As we refine the model and its atten- fornia at Los Angeles. He is an AIAA fellow, an ACM dant processes, and as more of our industry affiliates fellow, an IEEE fellow, and a member of the National begin using the model, we hope to amass even more Academy of Engineering. concrete validation data.❖ Alexander Egyed is a PhD student at USC’s Center for Software Engineering. His research interests are Acknowledgments in software architecture and requirements negotiation. This research is sponsored by DARPA through Rome Lab- He received an MS in computer science from USC and oratory under contract F30602-94-C-0195 and by the affil- is a student member of the IEEE. iates of the USC Center for Software Engineering: Allied Sig- nal, Bellcore, Boeing, Electronic Data Systems, Federal Aviation Administration, GDE Systems, Hughes Aircraft, Julie Kwan is executive and research programs librar- Interactive Development Environments, Institute for Defense ian for the Marshall School of Business, Information Analysis, Jet Propulsion Laboratory, Litton Data Systems, Services Division at USC. Her interests include infor- Lockheed Martin, Loral Federal Systems, MCC, Motorola, mation needs and information-seeking behaviors; Network Programs, Northrop Grumman, Rational Soft- business, scientific, and technical information trans- ware, Raytheon Science Applications International, Soft- ware Engineering Institute, Software Productivity Consor- fer; and customer-analysis methodologies. She tium, Sun Microsystems, TI, TRW, USAF Rome Laboratory, received an MS in library science from the University US Army Research Laboratory, and Xerox. We also thank of Illinois and is a member of the American Library Denise Bedford, Anne Curran, Simei Du, Ellis Horowitz, Association, the Medical Library Association, and the Ming June Lee, Phil Reese, Bill Scheding, and Nirat Shah for support in key areas. Special Libraries Association.

Dan Port is a research assistant professor at USC and a research associate with the Center for Software Engi- References neering. His primary research interests are in compo- 1. B. Boehm and R. Ross, “Theory W Software Project nent and object-oriented architectures, systems inte- Management: Principles and Examples,” IEEE Trans. gration, and partially ordered event structures. He Software Eng., July 1989, pp. 902-916. received a PhD in applied mathematics at the Massa- 2. B. Boehm et al., “Cost Models for Future Software chusetts Institute of Technology. Processes: COCOMO 2.0,” Annals Software Eng., Vol. 1, 1995, pp. 57-94. Ray Madachy is the manager of the Software Engi- 3. B. Boehm, “Software Risk Management: Principles and neering Process Group at Litton Guidance and Con- Practices,” IEEE Software, Jan. 1991, pp. 32-41. trol Systems and an adjunct assistant professor of 4. I. Sommerville, Software Engineering, 5th ed., Addison- computer science at USC. He received a PhD in indus- Wesley, Reading, Mass., 1996. trial and from USC. He is a mem- 5. G. Booch, I. Jacobson, and J. Rumbaugh, “The Unified ber of the IEEE, ACM, and the International Coun- Modeling Language for Object-Oriented Development,” cil in Systems Engineering. Ver. 1.0, Rational Software Corp., Santa Clara, Calif., 1997. 6. B. Boehm and P. Bose, “A Collaborative Spiral Software Contact the authors through Egyed at the Center for Process Model Based on Theory W,” Proc. Int’l Conf. Software Engineering, USC, Los Angeles, CA 90089- Software Process, IEEE CS Press, Los Alamitos, Calif., 0781; [email protected].

44 Computer