Organizational Factors and Reuse Danielle Fafchamps Hewlett-Packard Laboratories
Introduction Organizational factors can greatly affect the implementation of reuse programs A crucial organizational factor is the relationship between producers and consumers What are these relationships and how well do they work? An empirical study of 10 engineering sites at Hewlett-Packard engaged in systematic reuse
Producers and Consumers Reuse is about production and consumption of reusable component Distinct roles for the producers and consumers have been advocated by practitioners and researchers Producer design and develop reusable components Consumers design and develop products with reusable components We have to learn how to make these new relationships work effectively
Four models of producer consumer relationships These models should make it easier to understand the pros and cons associated with each relationship Which model to select will depend on –scope of the reuse program –characteristics of the organization size talent pool structure (functional vs. divisional)
Functional vs. divisional structure Functional structure –organizational entities group diverse technical expertise Divisional structure –specialist are grouped into teams dedicated to the delivery of a product
The four models Lone producer –provides reuse service to at least two consumer teams Nested producer –each product team has a member dedicated to providing reuse services and expertise Pool producer –two or more teams collaborate to produce and share components Team producer –team dedicated to produce reusable components
The lone producer model advantages newly hired, junior programmers –maintain components –opportunity to network and build knowledge experienced programmers –design and develop large components –derive satisfaction from the delivery of a complete product
The lone producer model disadvantages Informality and change request Work overload Isolation (no managerial support) and communication overload
The lone producer model: disadvantages Mandate reuse Specify process for change requests Plan fair reporting relationships Legitimise the producer role Define career path of the producer Clarify evaluation criteria Teach the consumers the features of the reuse components Hire the right persons
The lone producer model: when to use the model works best when a few large reusable components are available for a division’s different products a lone producer maintains the components for each consumer site
Nested producer: advantages A home team Product delivery (contribute to the completion of a product)
Nested producer: disadvantages No specialization Isolation from reuse peers……. Double reporting (both to team and reuse manager)….. Negotiation with hardware manager….. Dispatches to other tasks Resources diverted toward the solution of critical software needs instead of reuse efforts…..
Nested producer: management recommendation Model does not work well at HP Few suggestions on how to improve this model –All commitments for reuse work be made by writing. –Pull out the nested engineers and form a team-producer model.
Pool producer advantages No changes to the organizational structure (two or more teams collaborate to both produce and share components)
Pool producer: disadvantages Communication overload as number of teams increase Unresolved conflicts among consumer teams Priorities of the different marketing lines Different priorities for R&D and marketing Documentation
Pool producer: recommendation Have a maximum of three to four teams Resolve old conflicts Formalize communication structure Ensure rapid feedback to change requests Balance workload among teams Define clear ownership Reward team behaviour Select the right people
Team producer advantages One manager Team membership Control over resources Specialization opportunities Flexibility (negotiations of roles over time) Ownership (negotiations of roles over time) Knowledge about other projects
Team producer: disadvantages On call to consumers Work with too many projects No complete projects Communication overhead Maintenance overhead
Team producer: recommendations Have a consumer driven mission Communication strategies Support flexible ownership Select the right people
Beyond NIH Resistance to reuse is inadequately captured by ”not invented here” –Resistance to reuse is a symptom of weak collaboration inherent in the divisional structure –The more a reuse program disrupts a persons professional expectations, the more resistance it will encounter –Eagerness to implement reuse should follow a careful analysis of the reuse scope