200 likes | 214 Views
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
E N D
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 modeladvantages • 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 modeldisadvantages • 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 produceradvantages • 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 produceradvantages • 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