www.fgks.org   »   [go: up one dir, main page]

Academia.eduAcademia.edu
focus process change Successful Process Implementation Anna Börjesson, Ericsson Lars Mathiassen, Georgia State University H ow do you measure success in software process improvement? The answer is perhaps not as straightforward as it seems. Success is traditionally measured as the difference in quality and productivity between the old and new engineering practices.1 However, this measure requires systematic benchmarking and data collection over long periods of time, and few software organizations can meet this demand. So, how can we more realistically measure SPI and practically guide our SPI efforts toward success? We propose measuring SPI success through implementation success—the extent to which initiatives lead to actual changes in software engineering practice. First, without implementation success, SPI success is impossible. Second, only when implementation succeeds can we see how SPI initiatives affect software practices. Third, implementation success is easy to assess. Finally, focusing on implementation success is a pragmatic way to steer SPI initiatives toward success. We studied the approach and outcome of 18 different SPI initiatives conducted over a fiveyear period at the telecom company Ericsson AB, based in Gothenburg, Sweden. Doing so gave us insight into how SPI initiatives can best ■ Ensure stakeholder commitment Traditional approaches to measuring software process improvement are typically lengthy, data intensive, and cost prohibitive. A simple indicator, the extent to which engineering practices change, can provide enough information to guide initiatives toward success. 36 IEEE SOFTWARE Published by the IEEE Computer Society ■ ■ ■ Support organizational learning Distribute resources over different activities Manage customer relations The Ericsson experience Ericsson has provided packet-data solutions for the international market for more than 20 years and is among the world leaders in this area. Between 1995 and 2001, the company grew from 150 to 900 employees. During this period, SPI played a key role in improving software productivity and quality, and the company conducted many SPI initiatives with varying degrees of success. The initiatives were executed in the same organizational context and, in most cases, involved the same SPI people. The initiatives also followed the same IDEAL approach2 to SPI (see “The IDEAL Model” sidebar): After initiation, the initiatives went through one or more cycles of diagnosing problems, establishing focused improvements, acting to improve, and learning from results. However, the SPI initiatives had important differences (see Table 1). They focused on different improvement areas, had different vol0740-7459/04/$20.00 © 2004 IEEE The IDEAL Model The IDEAL (Initiating, Diagnosing, Establishing, Acting, and Learning) approach,1 developed in 1996 by the Carnegie Mellon University Software Engineering Institute (www.sei.cmu.edu/ideal), presents a five-phase, cyclic approach to software process improvement. The initiating phase (see Figure A) is where you establish the initial improvement infrastructure, define the initial roles and responsibilities for the infrastructure, and assign initial resources. You create an SPI plan to guide the organization through the completion of the initiating, diagnosing, and establishing phases. Also, you obtain approval for the SPI initiative along with a commitment of future resources for the tasks ahead. The diagnosing phase lays the groundwork for the later phases. The SPI action plan is initiated in accordance with the organization’s vision, strategic business plan, lessons learned from past improvement efforts, key business issues the organization faces, and long-range goals. You perform appraisal activities to establish a baseline of the organization’s current software operation. You reconcile the results and recommendations from the appraisals with existing and planned improvement efforts for inclusion into the SPI action plan. During the establishing phase, you prioritize the issues that the organization has decided to address with its improvement activities and develop strategies for pursuing the solutions. You detail and complete the SPI action plan on the basis of the adopted strategy and the decisions made. You design focused projects to address each prioritized improvement area. In the acting phase, you create, pilot, Learning Propose future actions Analyze and validate Implement solution Refine solution Stimulus Set Build Character for a context sponsorship infrastructure change Initiating Pilot test solution Characterize current and desired states Develop recommendations Create solution Diagnosing Set priorities Acting Develop approach Plan actions Establishing Figure A. The IDEAL model presents a five-phase approach to software process improvement. (Special permission to reproduce “Ideal Model Graphic,”  2003 by Carnegie Mellon University, is granted by the Software Engineering Institute.) and deploy throughout the organization solutions to address the areas for improvement discovered during the diagnosing phase. You develop plans to execute pilots to test and evaluate the new or improved processes. After piloting these processes and determining their readiness for organization-wide adoption, deployment, and institutionalization, you develop and execute plans to accomplish the rollout. The learning phase (called the “leveraging” phase when IDEAL debuted) aims to make the next pass through the IDEAL model more effective. By this time, you’ve developed solutions, learned lessons, and collected metrics on performance and goal ume, and targeted different parts of the organization. In addition, the initiatives adopted assorted improvement tactics and went through a varying number of IDEAL model cycles. Also, while commitment is generally recognized as a key factor in SPI success,1,2 different social forces drove each initiative.3 The process push depends on the competence, commitment, and active participation of process engineers in developing and implementing new engineering practices. The practice pull instead depends on achievement. These artifacts are added to the process database as a source of information for personnel involved in the next pass through the model. Also, on the basis of this information, you can evaluate the strategy, methods, and infrastructure used in the SPI program. By doing this, you can correct or adjust the strategy, methods, or infrastructure prior to executing the IDEAL model’s next cycle. Depending on the resources organizations commit to their SPI program, they can pursue IDEAL activities in parallel, and some parts of the organization can pursue activities in one phase of the model while others pursue activities in a different phase. the competence, commitment, and active participation of software practitioners in developing and adopting new practices. These differences in improvement tactics (that is, the number of iterations, degree of process push, and degree of practice pull) resulted in varying levels of implementation success. SPI participants collected data both during and after the initiatives using time-reporting systems, project specifications, final reports, and interviews with process engineers and July/August 2004 IEEE SOFTWARE 37 Table 1 Process implementation data on Ericsson’s software process improvement projects SPI initiative Improvement area Volume Target Ideal iterations Process push 1 Configuration management Several units 1 full cycle 2 Design information Several units 3 Estimation and planning 4 Historical data 1 full cycle; stopped during establishing in the second cycle 1 full cycle; stopped during establishing in the second cycle 1 full cycle 5 Introductory training 10 weeks 300 person-hours 4 participants 21 weeks 400 person-hours 6 participants 14 weeks 600 person-hours 11 participants 16 weeks 200 person-hours 4 participants 14 weeks 620 person-hours 11 participants Weak. Process engineers focused on designing a generic process, with no commitment to or plan for actually deploying the process. Weak. Process engineers focused on designing a generic process, with no commitment to or plan for actually deploying the process. Weak. Process engineers focused on designing a generic process. Time for mentoring and process deployment was limited. Weak. Process engineers focused on identifying historical data, little of which had been recorded. SPI participants planned very few activities to communicate the results. Weak. Process engineers were dedicated to defining and describing the process. No plans for how to deploy the process and support its actual use. 6 Module tests 7 Project tracking 8 Resource handling 9 Requirements management 10 Requirements management implementation Subcontract management 11 12 Requirements management 13 Analysis and design 14 Implementation 15 Test 16 Configuration management 17 Project management 18 Process development map 38 IEEE SOFTWARE Several units Several units Several units 1 full cycle 12 weeks 400 person-hours 10 participants 9 weeks 300 person-hours 7 participants 4 weeks 250 person-hours 8 participants 10 weeks 200 person-hours 5 participants 12 weeks 330 person-hours 7 participants 18 weeks 650 person-hours 9 participants Several units 1 full cycle; stopped during establishing in the second cycle 1 full cycle; stopped during establishing in the second cycle 1 full cycle Weak. Process engineers focused on designing a generic process. Too little time was planned to help the project actually use the result. Weak. Process engineers were given time only to define a process, not to implement it in projects. Several units 1 full cycle Project 1 full cycle; stopped during establishing in the second cycle 1 full cycle Weak. Participants spent most of the time defining requirements management; they planned little time to help implement the results. Strong. Management made time for the process engineers to help implement the project results. 30 weeks 1,200 person-hours 3 participants 30 weeks 1,000 person-hours 4 participants 30 weeks 1,000 person-hours 4 participants 30 weeks 1,300 person-hours 2 participants 30 weeks 1,650 person-hours 6 participants 10 weeks 150 person-hours 2 participants 30 weeks 200 person-hours 2 participants Project w w w . c o m p u t e r. o r g / s o f t w a r e Several units Several units Several units Project 4 full cycles; stopped during diagnosing in the fifth cycle 5 full cycles; stopped during establishing in the sixth cycle 4 full cycles Unit 4 full cycles Unit Unit 4 full cycles; stopped during diagnosing in the fifth cycle 3 full cycles Unit 4 full cycles Unit Weak. Process engineers focused on solving the problem through a well-defined process. Weak. Process engineers were strongly committed to solving the problems, but the resulting process wasn’t grounded in current practices. No time was planned for activities to make change happen. Strong. Management made time for process engineers to mentor and support the project in action. The SPI initiative was dedicated to solving the problems for one project. Strong. Process engineers planned the deployment activities and made time available for mentoring and support. Strong. Management gave process engineers time to participate in the project to support implementing the results. Strong. Process engineers participated in software tests and came to understand the tester’s specific needs. Strong. Management dedicated sufficient resources to daily mentoring and support to make the change happen. Strong. Some process engineers were also customers who would be using the results. The SPI commitment to the initiative was very high. Strong. Process engineers saw the need for a well-defined process development map to help communicate and deploy all SPI work. Practice pull Implementation success Weak. Projects focused mainly on making generic process descriptions. Practitioners were eager to solve problems on a general level but had little commitment to using the results. Weak. Projects focused mainly on making generic process descriptions. Practitioners were eager to solve problems on a general level but had little commitment to using the results. Medium. Projects were dedicated to solving generic process problems, but only one project manager was interested in actually testing the results. Low. Potential users considered results hard to use. SPI participants used part of the result indirectly, when they applied the knowledge gained to other projects. Medium/low. The intention was to provide a design framework. The results were mainly implemented in one project that one process engineer worked on. Low. The results were tested in one project, but the project ran into difficulties. Support was weak, and no one helped the project; resources from the SPI initiative were no longer available to make necessary changes. Low. The purpose was to build a database of old data and take action from there. Participants found no interesting data and thus made no changes. Medium. An estimated 50 percent of managers used the process. Some didn’t know about it and weren’t given the opportunity to learn about it. The SPI initiative gave managers supporting guidelines. More assistance was sometimes needed. Medium/low. The process was used only when process engineers were members of a project or when section managers strongly believed in systematic module tests. Medium/low. Only one project, which was supported by the SPI initiative’s driver, used the process. That project team was content with the outcome. Weak. Managers were eager to find out about historical data. When they found very little, their commitment to change dropped dramatically. Strong. The result was focused on supporting managers who were asking for help and interested in applying the results. Weak. Many practitioners believed in performing systematic module tests, but no one was committed or given the time to implement the results. Weak. Most project managers believed good follow-up on a project was necessary, but only one was committed and willing to try out the results in practice. Everyone else waited to see if someone else benefited from the process. Medium. The managers believed in supporting resource handling, and most of them were willing to use the result. Weak. Everyone knew that managing requirements was important, but no one was committed to acting on the results in his own project. Weak. The targeted project was interested but not committed to spending the time required to make the change happen. Medium. An estimated 75 percent of managers used the new process. Those not using the results either didn’t get the help they needed or didn’t believe in the approach. Low. The results were hard to use. They were used mainly as a framework by the members of the SPI initiative. Medium. Initiative 9’s low impact spurred this initiative. This initiative focused on one project, and all results were designed to suit its needs. Weak. Managers were strongly committed to creating better routines for subcontract management, but no time was planned for the projects to actually implement the new process. Low. The results needed further adaptation to be useful for different projects, but no one tried to tailor them. Project engineers used some results indirectly in other projects. Strong. A few highly respected practitioners were strongly committed to the initiative. They helped ensure the results would actually be used. High. The process was adapted to a specific project but needed further adaptation to be useful. Process engineers and practitioners solved these problems jointly and made the change happen. Medium/high. This is a complex area and required several iterations of experimenting with processes before the result was satisfactory. Strong. A few well-respected practitioners were convinced (after a few difficult weeks) of the need for improved practices and committed to making them happen. Strong. The practitioners were receptive to adopting a stronger focus on implementation, and they participated actively in the change process. Strong. The practitioners came to understand that the SPI initiative was responsive to their specific needs, and they became committed to using the results. Strong. The configuration managers were highly involved in both defining and deploying the results. Strong. The project managers wanted to implement their own ideas and took the time to do it. Strong. All software practitioners needed a process description that would provide templates, guidelines, and other relevant information. High. Two slightly different adaptations were made to fit the needs of different products developed on different sites. Collaboration between process engineers and software practitioners made the change happen. High. The result was adapted to the specific needs of a specific project. Process engineers and software practitioners solved difficulties together. High. Each specific situation has hundreds of possible solutions. Choosing one and focusing on making that happen required extra attention. The software practitioners’ dedication played a key role. High. The results were actually used, and the project managers’ dedication to SPI work within project management continued. High. The development-process map’s use is measured in both “hits” to a site on the process web and subjective opinions of need. All measurements are very positive. July/August 2004 IEEE SOFTWARE 39 Practice pull Crossroads Highway Initiatives 3, 5, 8 Initiatives 12–18 High Software process improvement Software process improvement can happen. will happen. Dead-end Street Country Road Initiatives 1, 2, 4, 6, 7, 9, 11 Initiative 10 Low Software process improvement Software process improvement won't happen. can happen. Low High Process push Figure 1. Four roads to process implementation. software practitioners. One of us was directly involved in and responsible for all of these initiatives; the other had conducted SPI research in many other organizations. Analyzing the data revealed how important it is to actively manage commitment, learning, resource distribution, and customer relations if SPI efforts are to succeed. Managing commitment Categorizing Ericsson’s SPI initiatives on the basis of the degree of process push and practice pull, we arrive at four different roads to process implementation (see Figure 1). The Dead-end Street initiatives focused on the process itself—specifically, on process definition and specification. The initiatives targeted several Ericsson units, but the new process was often hard to apply because process engineers had to make many compromises to meet everyone’s needs. The process push toward implementation was low because the process engineers focused on defining a generally applicable process. Few resources and incentives existed for the process engineers to become engaged in the involved units’ different engineering cultures. The practice pull was also low because it was difficult to engage software practitioners from different units in one common initiative. Needs and backgrounds differed across the units, and they had no tradition for communication and collaboration across units. The Dead-end Street initiatives never amounted to much. No one was seriously committed to implement the processes, so the organization saw little overall benefit. The Country Road initiative targeted a specific project’s engineering practices. The process engineers worked in the project and had time to help implement the results. The 40 IEEE SOFTWARE w w w . c o m p u t e r. o r g / s o f t w a r e process engineers, therefore, understood the particular culture and practices in the project, and they were strongly committed to support and change practices. They focused on requirement issues and created a process that fit the project’s particular needs. However, the practitioner commitment was weak. The software practitioners weren’t motivated to change requirements practices. They didn’t understand why they had to be involved and didn’t allocate time to work with process implementation. The process push was high, but the practice pull was low. A typical Country Road initiative can happen, but it’s slow going and likely to fall short of changing engineering practices. The Crossroads initiatives targeted several company-level units with similar requirements. Practices and needs across the units had little variation, so process compromises were unnecessary. The practice pull was high: Software practitioners understood the need for new processes and were committed to using them. But the process engineers failed to allocate sufficient time and resources to implement the process, so the process push was low. A typical Crossroads initiative can happen, and at Ericsson, the initiatives might succeed. However, the software practitioners might yet face barriers to effective implementation,4 and process engineers are no longer available to guide them and facilitate the change process. The Highway initiatives targeted practices in a single unit or project. The main focus was on solving specific problems identified by software practitioners, and they required few compromises. Both process push and practice pull were high. The process engineers were committed and allocated time to process implementation, and the software practitioners understood why they needed the new approaches and appreciated the SPI initiative. The process engineers and the software practitioners worked closely together and communicated intensively about needs, problems, and progress. A typical Highway initiative will happen, and engineers will implement and use the results. Organizations directly benefit from such initiatives. Managing learning Successfully changing software practices requires learning, and helping organizations learn is by no means easy.5,6 Iterations support learn- Implementation success 17 High 14, 12 16 15, 18 13 Medium 5 8 10 2, 6, 7 Low 1, 4, 9, 11 1 3 2 3 4 Number of iterations 5 6 Figure 2. Implementation success and number of iterations (1 through 18). More iterations meant more implementation success. 12, 14–16, 18 Performance ing by letting you correct failures and modify processes based on practical experience. Although CMM founder Watts Humphrey doesn’t use the word iteration, he does discuss the importance of performing SPI work in steps and repeatable sequences.1 Several SPI approaches emphasize iterative development, including the IDEAL model2 and methods that implement plan-do-act-check cycles.7 We examined how Ericsson’s SPI initiatives used iterations and feedback from practice to support learning. Figure 2 illustrates the relation between the initiatives’ implementation success and the number of iterations they executed. As the figure shows, the number of iterations significantly affected SPI implementation success: As the number of iterations increased, so too did implementation success. However, because factors apart from iterations affect implementation success, this pattern has exceptions. Initiatives 5 and 8, for example, executed a single iteration but still achieved moderate implementation success. One possible explanation is that both initiatives had high practice pull. Also, Initiative 13 executed two iterations in the last phase alone and still failed to achieve high implementation success, while Initiative 17 executed only three iterations total and was highly successful. Compared to the other initiatives, however, Initiative 13 was by far the most complex and difficult and consumed the most time and expertise. In contrast, Initiative 17 had an experienced project manager who exercised considerable practice pull. So, projects can succeed with few iterations. In general, however, more iterations support more learning and better facilitate change. To further illustrate the importance of iterations, we mapped each initiative to Gerald Weinberg’s four phases of successful change (see Figure 3).8 As the figure shows, initial attempts to introduce a new process lead to chaos. The process then becomes integrated as engineers attempt to practice it, eventually giving rise to a new and stable status quo of engineering practices. However, each phase has barriers that make implementation difficult, and these barriers can cause the process to regress to previous phases. As Figure 3 illustrates, an initiative typically took one full iteration to pass one phase in Weinberg’s change model. Most SPI initiatives must pass the chaos phase and enter the 17 13 1–11 Old status quo Chaos Integration and practice New status quo Time integration and practice phase to successfully implement a new or modified process. SPI initiatives that execute only a single iteration will therefore seldom enter the phase of using the new process as an integral part of engineering practices. Thus, the process simply won’t be adopted as intended. Managing resources As Humphrey says, “SPI requires investment—it takes planning, dedicated people, management time, and capital investment,” and, for an organization to improve, “someone must work on it.”1 To drive SPI work toward success, organizations must commit and manage their resources accordingly, and they Figure 3. Performance and distribution of iterations (numbered 1 through 18). The jagged line illustrates Weinberg’s optimum learning curve. The circles denote the number and distribution of iterations over phases. July/August 2004 IEEE SOFTWARE 41 Effort spent significant fear and uncertainty. Because Initiative 12 invested considerable resources in these later phases, the process engineers could better manage and address change issues as they emerged. Managing customer relations Initiate Diagnose Establish Act Learn Time Figure 4. Effort spent over IDEAL phases. Initiatives that overinvested in early phases, represented by Initiative 1 (the red curve), had low implementation success. Initiatives that invested most resources in later phases, represented by Initiative 12 (the green curve), had high implementation success. must constantly motivate people to participate and contribute. Any significant change can create substantial fear and uncertainty throughout the organization. It’s essential that process engineers possess change-management skills.8 Skillful change agents can work closely with software practitioners to solve potential difficulties that arise regarding both the new process and the change process itself. Ericsson’s process engineers managed resources quite differently in the SPI initiatives. Figure 4 shows how the process engineers distributed their time over the IDEAL model’s phases2 in two ways. Initiative 1 is representative of the pattern in initiatives 1 through 11. It had low implementation success, and engineers invested most of their effort into the model’s early phases (the red curve). Initiative 12 is representative of initiatives 12 through 18. It had high implementation success, and the process engineers invested most of their effort in the model’s later phases (the green curve). As this comparison indicates, spending considerable effort in the model’s later phases might be more successful than putting most effort into early phases. Most of Initiative 1’s process-engineering resources were used to analyze, design, and describe the new process. This meant few resources were available during the difficult implementation phases, in which software practitioners can experience 42 IEEE SOFTWARE w w w . c o m p u t e r. o r g / s o f t w a r e To achieve SPI success, process engineers must have a positive, collaborative relationship with their customers, the software practitioners.9 Positive customer relations will help process engineers better understand engineering practices and problems and thus develop more useful processes. A good relationship also helps software practitioners overcome their resistance to change: When the status quo is challenged, they often become defensive and alienated.8 For managing customer relations, a dedicated SPI approach seems more likely to succeed. As Table 1 shows, Initiatives 1 through 11 generally supported several units and thus used a relatively generic SPI approach that achieved moderate success at best. Initiatives 12 through 18 supported only one project or unit and used a more dedicated approach with greater overall success. Of course, other factors influence SPI outcome, and rules always have exceptions. Nonetheless, generic approaches make it difficult for process engineers to build and maintain good customer relations—there are too many different relationships, needs, and requirements. In dedicated approaches, process engineers and software practitioners can work closely together and focus on the project’s specific challenges. Also, in generic approaches, it’s difficult to handle the many personalities and requirements when relationships with the software practitioners become fragile. In such situations, it’s much easier for process engineers to simply focus on the process design and description and forget about troublesome implementation issues. Lessons learned Our experiences with the Ericsson initiatives offered several lessons about how organizations can more successfully manage SPI. Focus on implementation When it comes to software, we already know that test-and-repair strategies fail to deliver quality. To achieve quality, software projects must consider it and plan for it from the start. Similarly, in an SPI initiative, you should consider implementation issues early on. Such considerations should include10 tions, you’re more likely to overcome resistance to change and facilitate learning. Expect chaos ■ ■ ■ ■ ■ Critically evaluating the new process from an easy-to-adopt standpoint Examining the roles that stakeholders must play during implementation Choosing an implementation strategy that suits the initiative Assessing and resolving implementation risks Outlining an initial plan for implementation Such early focus on implementation can help you design processes that software practitioners are more likely to adopt and thereby reduce the risk of failure. Take the Highway At Ericsson, process engineers initially perceived some initiatives, such as Initiative 1, as successful because the operations went smoothly. They viewed other initiatives, such as 12, as problematic because they caused debate, anxiety, and active resistance among software practitioners. Paradoxically, Initiative 1’s implementation ultimately met with low success, while Initiative 12 was highly successful. The explanation is simple: If you emphasize process analysis and design, you won’t experience the tension that arises between your design and current engineering practices. If, on the contrary, you engage in process implementation activities, you’ll be confronted with misfits and psychological reactions. You should therefore expect a certain level of chaos in SPI initiatives. Chaos is often a sign that the implementation process is on its way and that you’re about to receive valuable information that will help you succeed. To succeed with SPI, you need a serious commitment from key stakeholders.1,7 To develop this commitment, you must ensure that process engineers have sufficient change-management skills and resources to create high process push. This in turn facilitates the active involvement of software practitioners to create high practice pull. Also, it’s important to focus on the cultural environment of the change process.11 Are the involved actors motivated? Are senior and middle managers involved? Are the recognition and reward systems appropriate? And, is communication between the involved actors supportive? The Highway is the best route to SPI implementation success. The Country Road and Crossroads are risky and require additional attention and resources to create complementary pull and push, respectively. As its name implies, the Dead-End Street leads nowhere. Achieving SPI success is difficult if process engineers aren’t involved in the action phase of the IDEAL model, in which practitioners experience considerable fear and uncertainty.2 During implementation, process engineers with change artistry8 should work closely with software practitioners to resolve difficulties with both the new process and the process of change. You should, therefore, distribute available resources to ensure that process engineers and software practitioners are actively involved throughout the initiative, until the process has been successfully implemented. Iterate, iterate, iterate Organize dedicated initiatives SPI initiatives that execute only a single iteration never enter the phase in which the new process is exposed to practice. In such initiatives, the process engineers get no feedback on whether the process is useful, and the process won’t likely be used. SPI initiatives that execute several iterations are more likely to enter and pass through the phase in which practitioners resist change; when the defined process meets actual practice, process engineers can learn and react. The result is a process that practitioners will likely use. If you plan for several itera- SPI initiatives that target several units and projects often lack the resources and motivation needed to address the extremely complex change issues involved. Process engineers also sometimes prefer the early IDEAL model phases, in which they analyze and design the process, rather than the later phases, in which their challenge is to handle resistance and other barriers to change.2 SPI initiatives supporting a single project or unit are less time consuming, require no compromises, and make it easier to create an open, collaborative relation- Chaos is often a sign that the implementation process is on its way and that you’re about to receive valuable information that will help you succeed. Focus on action July/August 2004 IEEE SOFTWARE 43 About the Authors Anna Börjesson is a software process improvement manager at Ericsson AB in Gothen- burg, Sweden, and an industrial PhD student at the IT University in Gothenburg. Her software engineering skills cover such areas as CMM, Rational Unified Process, Rational Tool Suite, SW metrics, SW quality assurance, change management, SW diffusion and implementation theories, and SW process adaptation work. She received her M.Sc. in informatics from Gothenburg University. She’s a member of the IEEE and ACM. Contact her at Ericsson AB, Lindholmspiren 11, 417 56 Gothenburg, Sweden; anna.borjesson@ericsson.com. Lars Mathiassen is a professor of computer information systems at Georgia State Uni- versity. His research interests include information systems and software engineering, with a particular focus on business process innovation. He received his Dr. Techn. in software engineering from Aalborg University. He’s a member of the IEEE, ACM, and AIS and coauthor of Computers in Context (Blackwell, 1993), Object Oriented Analysis & Design (Marko Publishing, 2000), and Improving Software Organizations (Addison-Wesley, 2002). Contact him at the Center for Process Innovation, J. Mack Robinson College of Business, Georgia State Univ., PO Box 5029, Atlanta, GA 30302-5029; lmathiassen@gsu.edu; www.mathiassen.eci.gsu.edu. O ur experiences at Ericsson focus on improvement tactics that affect SPI implementation success. You should, however, be cautious when you transfer the lessons to other software organizations. Factors such as process complexity, volume of initiative, organizational culture, and individual skills also affect SPI outcome. And, of course, there are always exceptional situations and those in which other approaches to process implementation are feasible. Ultimately, these are guidelines, not absolute truths. Our advice is to stay pragmatic but actively use these lessons to guide your SPI initiatives toward success. References ship between process engineers and software practitioners. You should, therefore, opt for dedicated SPI initiatives over generic ones whenever possible. SOFTWARE ENGINEERING Construx Software ■ steve.tockey@construx.com GLOSSARY Cash-flow statement: One of the main financial statements, it shows how the company is paying for its current operations and future growth by detailing the actual flow of cash between the company and the outside. It answers the question, “How much more or less cash does the company have now than it did before?” Capital: Money that is, or can be, used for the purpose of making more money. Interest: Literally, a fee for renting money. Someone who borrows money from another is usually obligated to return the original amount borrowed plus some additional money. That additional money is the interest. The interest rate is a measure of the rental fee for money in terms of a percentage over some period of time. At 10 percent interest for a year, someone who borrows $100 is obligated to pay $110 back at the end of one year. For more information on this or any other computing topic, please visit our Digital Library at www.computer.org/publications/dlib. ■ S t e v e To c k e y 44 Software Engineering Economics IEEE SOFTWARE 1. W.S. Humphrey, Managing the Software Process, Addison-Wesley, 1989. 2. B. McFeeley, IDEAL: A User’s Guide for Software Process Improvement, tech. report CMU/SEI-96-HB001, Software Eng. Inst., Carnegie Mellon Univ., 1996; www.sei.cmu.edu/pub/documents/96.reports/pdf/hb001. 96.pdf. 3. R.W. Zmud, “An Examination of ‘Push-Pull’ Theory Applied to Process Innovation in Knowledge Work,” Management Science, vol. 30, no. 6, 1984, pp. 727–738. 4. R.G. Fichman and C.F. Kermerer, “The Assimilation of Software Process Innovations: An Organizational Learning Perspective,” Management Science, vol. 43, no. 10, 1997, pp. 1345–1363. 5. C. Argyris and D. Schön, Organizational Learning, Addison-Wesley, 1978. 6. J.S. Brown and P. Duguid, “Organization Learning and Communities-of-Practice: Toward a Unified View of Working, Learning and Innovation,” Organization Science, vol. 2, no. 1, 1991, pp. 40–57. 7. R.B. Grady, Successful Software Process Improvement, Prentice Hall, 1997. 8. G.M. Weinberg, Quality Software Management, Volume IV: Anticipating Change, Dorset House, 1997. 9. L. Mathiassen, P.A. Nielsen, and J. Pries-Heje, “Learning SPI in Practice,” Improving Software Organizations: From Principles to Practice, L. Mathiassen, J. PriesHeje, and O. Ngwenyama, eds., Addison-Wesley, 2002, pp. 3–21. 10. S. Tryde, A.-D. Nielsen, and J. Pries-Heje, “A Framework for Organizational Implementation of Software Process Improvement in Practice,” Improving Software Organizations: From Principles to Practice, L. Mathiassen, J. Pries-Heje, and O. Ngwenyama, eds., AddisonWesley, 2002, pp. 257–271. 11. P. Fowler and M. Patrick, Transition Packages for Expediting Technology Adoption: The Prototype Requirements Management Transition Package, tech. report CMU/SEI-98-TR-004, Software Eng. Inst., Carnegie Mellon Univ., 1998. w w w . c o m p u t e r. o r g / s o f t w a r e