Organization Design-Based 
Software Reuse Adoption Strategy

James J. Navarro

Hewlett-Packard Laboratories
1501 Page Mill Road, Palo Alto, CA  94304
Tel: (415) 857-7877, fax: (415) 857-8526
Email:  navarro@hpl.hp.com

Abstract

Hewlett-Packard divisions piloting software reuse, as well as many non-HP reuse efforts, have identified organizational issues as major impediments to the success of their reuse efforts.  The design of software reuse work processes and their integration into the larger business organization is critical to overcoming many impediments affecting the success of software reuse.  HP Lab's Software Reuse Department is developing a reuse adoption strategy based on expertise and experience from the field of organization design.   The adoption strategy's purpose is to facilitate the analysis, design and implementation of a reuse-based software engineering organization which we call the Flexible Software Factory.

Keywords:  Reuse, organization design, adoption strategy, change management, organization, management, core process, flexible software factory, software factory

Workshop Goals:  Networking; exchanging perspectives on effective process analysis / design and organization designs for software reuse; stimulating discussion on innovative management approaches to organizing work; and learning

Working Groups:  Reuse management and organization; reuse process models; and reuse adoption strategies

1   Background

Hewlett-Packard Laboratories' Software Reuse Department is involved in multi-disciplinary research focussing on the problems inherent in implementing software reuse.  We are exploring two primary dimensions of research within reuse:  the business /   organizational design dimension, and the supporting methods, tools and technologies dimension.  These dimensions are represented in our research on the Flexible Software Factory and Domain Specific Kits.  See Martin Griss's WISR '92 position paper for more details on our department's research [5].  This paper is an update on our research described in my WISR'92 position paper [6], and will focus primarily on the business / organizational design dimension of our department's work.

The author is a Principal Project Scientist / Engineer in Hewlett-Packard Laboratories.  He has been involved in several successful organization design efforts in HP divisions creating high performance organizations for product development and manufacturing.  He currently is leading a reuse-based process modeling / analysis pilot in one of HP's Divisions implementing a reuse oriented software development strategy.  His role in the Software Reuse Department is to provide technical vision and leadership in the research effort on the Flexible Software Factory, [5] and [6] . 

2  Position

HP divisions who are piloting reuse, as well as other organizations like GTE, AT&T, and IBM, have identified organizational issues as major impediments to the success of their reuse efforts.  A few examples of these impediments are:  

•  	software reuse producers are 'borrowed' in order to solve short-term programming needs,

• 	individual and organization incentive systems are not supportive of the long and short-term viability of software reuse and its producer / consumer roles, 

•	the time and resource investment required to benefit by software reuse goes against the shorter-term, results-oriented focus of managers, and

• 	programmers are resistant to reuse because they perceive that their creativity will be limited.

The design of the software reuse organization is critical to overcoming many of these types of 'non-technical' impediments affecting the success of software reuse[3].  The Flexible Software Factory (FSF) research within HP Lab's Software Reuse Department is addressing these and other key 'non-technical' issues by applying successful organization design methods and strategies to reuse.  Our approach includes the use of an adoption strategy to help initiate and guide change from a non-reuse based software development organization to a reuse based software development organization.  The outcome of this adoption strategy is to create a software development organization that instantiates and aligns work and work processes, and organizational resources, goals, objectives and intentions to support software reuse.  In addition, the adoption strategy can be used to improve existing reuse practices.  This position paper describes an adoption strategy which we call the Flexible Software Factory (FSF) Adoption Strategy.  

We are in the process of applying and validating portions of the FSF Adoption Strategy in a HP Division.  

2.1  The FSF Adoption Strategy

The FSF Adoption Strategy consists of a series of phases and activities whose purpose is to develop a systemic understanding of a software engineering organization in order to determine what changes are needed to effectively infuse reuse into its production process.  This systemic understanding requires comprehension of the organization's production processes, technologies, organization and people, and the interplay between them.  The FSF Adoption Strategy discussed in this paper is a methodology for transforming a software engineering organization from its current state to a new steady-state where reuse is instrumental to the software production process.  In addition, the FSF Adoption Strategy can be used to improve existing reuse-based software development organizations.

The FSF Adoption Strategy consists of four phases.  These phases are represented in Figure 1.1.

Figure 1.1  The Phases of the FSF Adoption Strategy

The following sections are introductions to the first three phases of the adoption strategy.  They will cover the purpose, the top level questions to be answered, and the deliverables of each phase.  In addition, they will describe the activities to be performed in each phase.

2.2 FSF Preliminary Assessment and Readiness Phase

The purpose of the preliminary assessment and readiness phase is to determine if there is an opportunity for reuse and if so delineating the characteristics and value of that opportunity; to define the boundaries and primary purpose of the software development organization (which we'll refer to as "Organization" throughout the document) in order to create a shared understanding and support among the appropriate stakeholders both inside and outside the Organization, and finally, to develop investment criteria to guide the later phases of the FSF adoption strategy.

There are two top level questions to be answered in this phase.  They are:  What is the reuse opportunity, and the potential benefits, costs and risks associated with the reuse opportunity?  What is the purpose, context, and boundaries of the Organization?

The outcomes of this phase are to determine if the potential opportunity for reuse is worth the investment of time and resources, and the possible risks to be overcome; to judge the readiness of the business unit for change; to approximate the cost, scale, time-frame and objectives of  a FSF; and finally, to make a decision to continue to the comprehensive assessment and analysis phase, and create a change management structure to support this work.

To determine the reuse opportunity and FSF investment criteria we propose performing the following assessment activites in the Preliminary Assessment Phase:  Domain Reuse, Market and Asset assessments.  Combined, these assessments will begin to uncover the investment parameters of the reuse opportunity and related risks.  

In parallel, the determination of the Organization's boundaries, purpose and readiness for change are required.  This information will help Organization stakeholders understand the scope and effort required to change, and to begin to obtain needed support. 

See Figure 2.1 for an illustration of the activities and deliverables produced within the Preliminary Assessment and Readiness phase.

Figure 2.1  Activities and Deliverables of the Preliminary Assessment and Readiness Phase

2.3  FSF Comprehensive Assessment and Analysis Phase

The purpose of the FSF Comprehensive Assessment and Analsis Phase is five-fold.  Within the scope of the FSF it is:  First, to articulate how the current Organization is achieving the FSF's purpose, objectives, and philosophy.  Second, to establish baseline metrics within the current Organization that relate to the FSF objectives, and performance targets and goals.  Third, to analyze current Organization processes, elements and mechanisms.  Fourth, to present the current Organization as a system determining gaps between existing state and desired FSF state, identifying key drivers that if fixed will give the biggest benefits.  Finally, to determine changes needed in current Organization.  

There are three top level question to be answered in this phase:  First, how is the Organization achieving the FSF's business, organization, and process requirements today?  Second, what are the Organization's baseline measures regarding the FSF process, financial, and social objectives, and performance targets and goals?  Finally, when viewed systemically using the FSF elements, where are the key drivers in the Organization that if fixed will give the biggest benefits?

The deliverable from this phase is a document focused on the current Organization as it relates to the FSF, it includes:  detailed process maps, process baseline metrics, process analysis, process control table, an analysis of communication and decision-making mechanisms, an analysis of organizational roles and structures, and a portrayal of the Organization as a system showing areas needing to be addressed.  

The outcomes of this phase are to review and adjust the FSF investment criteria developed in the Preliminary Assessment and Readiness phase based on the learning in this phase; to obtain agreement on the gaps between existing and desired state, the Organization's key drivers that if fixed will give the biggest benefits, and the changes needed in the current Organization; and finally, to determine whether to proceed to the next phase:  FSF Design.

To describe the current state, the key drivers and changes needed in the Organization we propose performing the following three comprehensive assessment/analysis activities in the FSF Comprehensive Assessment and Analysis Phase:  process, business, and organizational assessment/analysis activities.  

In addition, a systemic description of the of the current state will be used to synthesize the seperate assessments/analysis listed above, and provide the mechanism for identifying key drivers and needed changes in the Organization.  

See Figure 3.1 for a illustration of the activities within the FSF Comprehensive Assessment and Analysis phase.

Figure 3.1  Activities and Deliverables of the FSF Comprehensive Assessment and Analysis Phase

2.4  FSF Design

The assessments and analysis are done and ideas are collecting for the design of the FSF.  We are now ready to collect the ideas and design the FSF.  How do all the pieces fit together?  How does the design team integrate and make sense of all the individual ideas generated during the assessment/analysis phases?  The analysis process to date can seem exhausting and painstaking.  The analysis was specific and detailed.  It's time to stop and put systems theory to work and begin designing.

The purpose of the FSF Design Phase is to create an effective FSF design taking into consideration relative value and risks; to develop a successful FSF implementation plan; and to build acceptance for the new FSF design and FSF implementation plan by the stakeholders through participation and communication.

There are three top level question to be answered in this phase:  First, what is the ideal and optimal FSF design(s)?  Second, what are their relative value and risks?  Third,  how can an implementation be devised that would both decrease the risks and increase the success of the FSF?

The documentation produced in the FSF Design phase includes a set of FSF design(s) with an assessment of their relative value and risks,  a provisional FSF design, and the FSF implementation plan for the provisional FSF design.

The outcomes of this phase are two-fold:  First, through several presentations/interactions iteratively improve and narrow the number of optimal FSF designs leading to the choice of one provisional design.  Second, to obtain agreement on the FSF implementation plan for the selected provisional design. 

To produce the selected provisional FSF design we propose the following activities:  development of ideal FSF design(s), joint optimization of FSF design(s), assessment of relative value and risk of optimized FSF design(s), and the selection of the provisional FSF design (usually through the combination of the best ideas expressed in several designs).

An additional activity to produce the FSF implementation plan for the provisional FSF design will be needed once the provisional FSF design is selected.

See Figure 4.1 for a illustration of the activities and deliverables within the FSF Design phase.

Figure 4.1  Activities and Deliverables of the FSF Design Phase

2.5 Summary

It is believed that effective systematic reuse requires an appropriate supporting organization structure [1,2,4,7].  From an organization design perspective there needs to be a method for designing that structure.  That method is instantiated in the FSF Adoption Strategy.  

We see an organization's structure consisting of  a number of elements including decision-making and problem-solving processes, management and team roles, communication processes, measurement and feedback systems, evaluation and rewards, and vertical and horizontal management structures.  Together these elements comprise the software development organization.  In order to change a software development organization to a reuse-based organization or to improve an existing reuse-based software development organization we believe that a systematic analysis of these elements are important, as well as a portrayal of how they interact as a 'system'.  This portrayal will give a sobering view of why a software development organization is achieving or not achieving its reuse objectives.  We feel that the design of the reuse-based FSF needs to be based on the alignment of these elements.

3  Comparison

An alternative to the FSF Adoption Strategy is the Software Productivity Consortium's (SPC) Reuse Adoption Process.  SPC's process is a technology transfer process for transferring reuse technologies (processes, methods, and tools) into an organization [8].  Whereas the SPC's process focuses on transferring reuse technologies, the FSF Adoption Strategy focuses on understanding the organization as a system, determining what technologies to transfer and what changes to make based on this systemic interpretation.

4 References

[1]	V.R. Basili.  Software Development:  A Paradigm for the Future (Keynote Address).  Proceedings COMPSAC '89, Orlando, FL, September 1989.

[2]	J.W. Hooper and R. Chester.  Software Reuse - Guidelines and Methods.  Plenum Press, New York, 1991.

[3]	W.B. Frakes.  An Emperical Framework for Software Reuse Research.  In Third Annual Workshop:  Methods & Tools for Reuse.  CASE Center, Syracuse University, June 1990. 

[4]	M.L. Griss. Software Reuse Handbook.  Hewlett-Packard Corporate Engineering, Palo Alto, CA, 1992.

[5]	M.L. Griss. A Multi-Disciplinary Software Reuse Research Program.  In Proceedings of the 5th Annual Workshop on Software Reuse, Palo Alto, CA, 1992.

[6]	J.J. Navarro.  Organization Design for Software Reuse.  In Proceedings of the 5th Annual Workshop on Software Reuse, Palo Alto, CA, 1992.

[7]	M.A. Simos.  Software Reuse and Organizational Development.  In Proceedings of the First International Workshop on Software Reusability, Dortmund, 1991.

[8]	Software Productivity Consortium.  Reuse Adoption Guidebook. SPC-92051-CMC, Hendon, VA.

5 Biography

James Navarro is a Principal Project Scientist / Engineer at Hewlett-Packard Laboratories.  He is the 'technical lead' in a multi-disciplinary research program focussed on applying organization design to software reuse.  He began his research on organization design in 1988 while working in Apple Computer's Strategic Technology Group.  While obtaining a graduate degree at Harvard University's Graduate School of Business he performed research with professors Rosabeth Moss Kanter and J. Richard Hackman.