
 
reverse flow is also managed, with components 
being factored out of the platform and back into 
products as the reuse decreases over time. This 
allows for the complexity and overhead of the 
platforms to remain optimal over time.  
2.2  Balancing Commonality 
and Distinctiveness 
At a fundamental level, product variety and fit is 
valuable in the marketplace. The need for superior 
performance of the products and the desire to 
preserve distinctiveness (e.g. custom features, 
control etc.) promotes product organizations to own 
certain key components. On the other hand, it is 
costly to deliver, as cost benefits are driven through 
commonality. The balanced sharing of assets across 
products allows companies to manage this trade-off.  
This balance has however, temporarily resulted 
in an unwanted side effect in SAP: total cost of 
ownership (TCO) increases due to the complex 
configuration that we provide customers to tailor our 
software products to their needs. As mentioned 
above, parameterization is a valuable tool in 
leveraging shared assets to fit different solutions. 
However, the current architecture leverages the same 
parameterization for both SAP engineering product 
fit and on-premise customer fit (customization). The 
effect is to trade off customer complexity for the 
power of reusing, and therefore only having to 
support, a single mechanism.  
Changing the product architecture can influence 
the nature of the trade-off. For example by the use of 
pre-configured and interchangeable software 
component for a particular industry vertical or 
customer group which hide the complexity of 
configuration will lower costs of customization.  
Another technology solution is the use of model-
based methodologies that lower the fixed cost of 
developing software, and/or delivering the software 
as a service. The hypothesis is that this type of reuse 
promotes mass-customization, shortens the time to 
market and promotes consistency in products. 
2.3  Common Architecture Strategy 
The sharing or owning of software components is 
dependent on the architectural strategy. The 
architecture relates software components to a 
physical problem space (hardware, operating system, 
and application packages such as database or user 
interface). A common architecture lessens the need 
to make reusable software components highly 
generic because the environment in which they will 
be used is well defined. The architecture defines the 
rules for developing software components and 
provides standard interfaces and data formats. This 
aids in the inter-changeability of reusable software 
components across the product-line.  
SAP had elements of a common architectural 
strategy from its inception. SAP uses this approach 
for the lower level technological platform and to 
support the user interface. However, there is 
considerable difference in higher layers of the 
architecture between our Business Suite and 
Business by Design (BYD) products, which leverage 
the same technology platform but are targeted at 
different markets. It should be reiterated that the 
platforms should be different if they are 
fundamentally different and that the determination 
of that “fundamental difference” is at the heart of 
SAP’s challenges. 
2.4  Product Platform Strategy 
Product platform strategy is the foundation of the 
existing SAP product strategy, which has multiple 
products related by common technology platform. It 
defines the cost structure, capabilities, and 
differentiation of the resulting products. When the 
market and products were less diverse, and the 
technology considerations more unified, separating 
product platform strategy from product line and 
individual product strategy allowed SAP to 
concentrate on its most important strategic issues of 
reliability and scale. As the diversity and rate of 
change has increased, the question as to which 
components products share and which are dedicated 
has ultimately tied to the product platform strategy 
more closely to the product line. 
2.5  What is a Software Product Line? 
A software product line is a set of software-intensive 
systems, satisfying the specific needs of a particular 
market segment, that share a common, managed set 
of capabilities and that are developed using a 
common methodology and leveraging common 
skills sets.   
This definition is consistent with the traditional 
product line definition. But it adds more: it puts 
constraints on the way in which the systems in a 
software product line are developed. Substantial 
production economies are achieved when the 
systems in a software product line are consistently 
developed from a common set of assets in contrast to 
being developed separately, from scratch, or in an 
arbitrary fashion. It is exactly these production 
SHARE VS. OWN  - Software Reuse using Product Platforms 
247