Home Introduction Getting Started Benefits Successes Perspectives Resources
What's New?

The HP Owen Firmware Cooperative
A Software Product Line Success Story

Author: Peter Toft, HP
March 2004

HP is the world’s leading manufacturer of printers, and each one is jammed full of complex firmware for controlling all aspects of the printer’s operation. This success story describes how HP created an environment for extensive sharing of its firmware components across printer product lines and between geographically-dispersed development teams.

The benefits of code sharing across product lines are easy to articulate: better-quality software components, delivered more quickly and at lower R&D cost. However, the reality of creating successful structures for code reuse can prove surprisingly elusive. History is littered with unsuccessful software reuse projects. A key difficulty is the tension between the urgent need to meet product deadlines, and the need to develop components that are widely reused. We found that many reuse teams, set up to develop reusable software for use in multiple products, quickly found themselves to be irrelevant to the product teams, when the focus on getting products out started to dominate.

HP took a novel approach in the development of its Owen firmware, used in a wide range of printer variants. Instead of setting up a specific reuse team, it organized the firmware teams from several products into a firmware cooperative, following the principles of cooperative organizations. Thus, the Owen cooperative is an autonomous collection of projects, voluntarily united to meet their common needs and aspirations. The expectation of each participating project is that by pooling resources in an appropriate way, projects will derive significantly greater value from the cooperative than the effort they contribute to it.

Projects can use (or choose not to use) the common firmware assets of the cooperative. For functionality that is not yet present in the common asset base, projects can add new components or modify existing ones, and they are encouraged to do this in a way that allows the components to be reused by other members of the cooperative. However, no team in the co-operative is required to use changes developed by another team. It’s all about choice.

1 2 3 . . Next page >

Discussion Board
Development Tools
and Methods for
Software Product Lines

Special Seminar

from Telelogic and
BigLever Software.
MDD for Software Product Lines