Product Platforms in Software Development
The concepts of product families, product platforms, and derivative products are as applicable to intangible software products as they are to tangible physical products. In both cases, firms can develop a family of products based on a common platform instead of starting from zero every time. Well-designed platform architectures for software products provide productivity benefits and enable rapid growth in market share and revenue. In addition, if the developer builds and communicates methods by which others can build modules that operate in or on the underlying platform, it can become the standard or basis of large-scale innovation, which provides significant strategic benefits.
A product platform is a set of subsystems and interfaces that form a common structure from which a stream of derivative products can be efficiently developed and produced. The authors present a model of the architecture of software products and offer case examples showing platform design and management in action. Software developers adopting the product platform approach should form a dedicated team, supported by top management, to assess the organization's current situation and future potential. A market segmentation grid allows the team to document both market information and systems or product status information.
In planning a new product platform, the team should understand target users' requirements; propose a new platform architecture and strategy; propose an implementation plan, budget, and time line; and propose an approach that allows for the joint design and sharing of platform components and development processes. Unless companies achieve an effective platform strategy, they are likely to face competitive disadvantages. The effort will require new ways of planning, budgeting, and organizing for systems development.