+ All Categories
Home > Documents > Formulation of a Production Strategy for a Software Product Line

Formulation of a Production Strategy for a Software Product Line

Date post: 30-May-2018
Category:
Upload: software-engineering-institute-publications
View: 218 times
Download: 0 times
Share this document with a friend

of 39

Transcript
  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    1/39

    Formulation of a Production Strategy for a

    Software Product Line

    Gary J. Chastek

    Patrick Donohoe

    John D. McGregor

    August 2009

    TECHNICAL NOTECMU/SEI-2009-TN-025

    Research, Technology, and System Solutions ProgramProduct Line Practice Initiative

    Unlimited distribution subject to the copyright.

    http://www.sei.cmu.edu

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    2/39

    This report was prepared for the

    SEI Administrative Agent

    ESC/XPK

    5 Eglin Street

    Hanscom AFB, MA 01731-2100

    The ideas and findings in this report should not be construed as an official DoD position. It is published in the

    interest of scientific and technical information exchange.

    This work is sponsored by the U.S. Department of Defense. The Software Engineering Institute is a federally

    funded research and development center sponsored by the U.S. Department of Defense.

    Copyright 2009 Carnegie Mellon University.

    NO WARRANTY

    THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS

    FURNISHED ON AN "AS-IS" BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF

    ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED

    TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS

    OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE

    ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR

    COPYRIGHT INFRINGEMENT.

    Use of any trademarks in this report is not intended in any way to infringe on the rights of the trademark holder.

    Internal use. Permission to reproduce this document and to prepare derivative works from this document for inter-

    nal use is granted, provided the copyright and "No Warranty" statements are included with all reproductions and

    derivative works.

    External use. This document may be reproduced in its entirety, without modification, and freely distributed in

    written or electronic form without requesting formal permission. Permission is required for any other external

    and/or commercial use. Requests for permission should be directed to the Software Engineering Institute at per-

    [email protected].

    This work was created in the performance of Federal Government Contract Number FA8721-05-C-0003 with

    Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research

    and development center. The Government of the United States has a royalty-free government-purpose license to

    use, duplicate, or disclose the work, in whole or in part and in any manner, and to have or permit others to do so,for government purposes pursuant to the copyright license under the clause at 252.227-7013.

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    3/39

    i | CMU/SEI-2009-TN-025

    Table of Contents

    Abstract vii

    1 Introduction 12 Production Planning 3

    3 Porters Five Forces Model 5

    4 Production Scenarios 7

    5 Formulating a Production Strategy 95.1 Identifying the Critical Factors 9

    5.1.1 Market Analysis 105.1.2 Building a Business Case 105.1.3 Scoping 105.1.4 Technology Forecasting 11

    5.1.5 Understanding Relevant Domains 115.2 Formulating the Production Strategy 12

    5.2.1 Generic Strategies 135.2.2 Integration 13

    5.3 Example Production Strategies 145.4 Evaluating and VErifying the Production Strategy 16

    6 An Example 186.1 Define production scenarios 186.2 Identify the critical factors 196.3 Formulate the Production Strategy 206.4 Evaluate the strategy 22

    7 Summary 23Bibliography 25

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    4/39

    i i | CMU/SEI-2009-TN-025

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    5/39

    i i i | CMU/SEI-2009-TN-025

    List of Figures

    Figure 1: Production Planning 3

    Figure 2: Porter's Model of Forces Driving Industry Competition 5

    Figure 3: Technique Overview 9

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    6/39

    i v | CMU/SEI-2009-TN-025

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    7/39

    v | CMU/SEI-2009-TN-025

    List of Tables

    Table 1: Porter's Forces 6

    Table 2: Production Scenario Format 7

    Table 3: Strategic Forces 12

    Table 4: Initial Production Scenario 18

    Table 5: Product Line Production Scenario 18

    Table 6: Portability Scenario 19

    Table 7: AGM's Critical Factors 19

    Table 8: AGMs Strategic Actions 21

    Table 9 : Evaluation of AGM's Strategy 22

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    8/39

    v i | CMU/SEI-2009-TN-025

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    9/39

    v i i | CMU/SEI-2009-TN-025

    Abstract

    Software product lines are of strategic importance to the organizations that adopt them, affecting

    both an organizations position in an existing market and its ability to react to new and changing

    markets. An organizations production system (i.e., how it builds its products) is also of strategic

    importance, directly affecting, for example, that organizations ability to deliver new products

    quickly (i.e., its time to market).

    The production strategy for a software product line is the high-level description of how the pro-

    duction system realizes both the core assets and products. The production strategy is derived from

    the organizations business strategy and is intended to coordinate the actions of the core asset and

    product developers. The strategy describes how the product line practices should be employed so

    that the product line organization will achieve its production goals. This technical note describes a

    technique, which is based on well-known procedures for defining and evaluating a business strat-

    egy, for formulating the production strategy of a production system. An example of strategy crea-

    tion is provided.

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    10/39

    v i i i | CMU/SEI-2009-TN-025

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    11/39

    1 | CMU/SEI-2009-TN-025

    1 Introduction

    A business strategy is the pattern or plan that integrates an organizations major goals, policies,

    and action sequences into a cohesive whole [Quinn 1980]. Rumelt states that strategy is about

    the direction of organizations:

    It includes those subjects which are of primary concern to senior management, or to anyone

    seeking reasons for the success or failure among organizations. Firms have to make choices

    to survive. Those which are strategic include: the selection of goals, the choice of products

    and services to offer; the design and configuration of policies determining how the firm posi-

    tions itself to compete in product markets (e.g., competitive advantage); the choice of an ap-

    propriate level of scope and diversity; and the design of organization structure, administra-

    tive systems and policies used to define and coordinate work. It is a basic proposition of the

    strategy field that these choices have critical influence on the success or failure of the enter-

    prise, and, that they must be integrated. It is the integration (or reinforcing pattern) among

    these choices that makes the set a strategy [Rumelt 1991].

    An effective organization has many strategies, each of which aligns with the overall business

    strategy. The critical factors mentioned above refer to both market conditions that affect an organ-

    ization and how an organizations products can affect the market. The production strategy de-

    scribes the production factors critical to the success of the product line and specifies an overall

    approach to addressing those factors.

    Software product lines can improve an organizations position in an existing market and its ability

    to react to new and changing markets. Product lines are of strategic importance to the adopting

    organizations. The production strategy is critical to the success of that product line. For example,

    an organization might choose to develop products quickly to react to new market opportunities or

    rapidly emerging market threats, or to develop easily customized products to target a specialized

    market niche. This technical note describes a technique for developing a production strategy by eliciting and documenting an organizations requirements for the production system (i.e.,

    how a product line organization chooses to develop its products) as a series of scenarios

    identifying the production factors critical to the success of the organizations product line by

    relating the organizations key challenges for the product line to the strategically significant

    product line practice areas

    identifying strategic actions that address those critical factors

    refining the strategic actions into a coherent strategy based on established business strategy

    development techniques such as Porters Five Forces [Porter 1998]

    evaluating that strategy using Rumelts four criteria for business strategy evaluation, as de-

    scribed in Section 5.3 [Rumelt 1991]

    The production scenarios cut across the product line practice areas [Clements 2002] to define how

    the production system operates. The scenarios provide the context in which the critical factors are

    considered. Those factors constrain the strategic actions that can be deployed in the production

    strategy.

    The intended audience for this technical note is anyone who develops, or is responsible for devel-

    oping, products or product parts (e.g., core assets) in a software product line, including product

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    12/39

    2 | CMU/SEI-2009-TN-025

    managers, product line managers, analysts, system engineers, architects, and method and process

    engineers.

    The rest of this technical note is organized as follows:

    Section 2 briefly describes the role of the production strategy in the larger context of produc-

    tion planning for a software product line.

    Section 3 introduces Porters five forces model.

    Section 4 defines production scenarios.

    Section 5 describes our technique for formulating a production strategy.

    Section 6 provides an example of the application of the technique.

    Section 7 summarizes this technical note.

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    13/39

    3 | CMU/SEI-2009-TN-025

    2 Production Planning

    In a software product line, the products are developed using the core assets. The production strat-

    egy is formulated as part of production planning, which balances the goals and constraints of a

    product line to ensure that the core assets effectively support product development.

    Product production is viewed as a system that is engineered to have specified qualities including

    the predictable building of intended products. The core assets and product development activities

    must be jointly engineered to achieve the organizations goals for the software product line. The

    goal of production planning is to produce a strategy, method, and plan, thereby reducing the risk

    of inconsistencies between core asset and product development.

    Production planning is of strategic importance to the product line organization. How an organiza-

    tion develops products affects its position in the market place; how it designs its core assets af-

    fects its ability to address new markets and to respond to emerging threats [Chastek 2007]. The

    production capability of a software product line realizes the ability to meet business goals. With-

    out a production plan, an organization has core assets but no prescribed way to use them to pre-

    dictably meet the business goals.

    Figure 1: Production Planning

    Figure 1 illustrates production planning for a software product line:

    The production strategy determines how product development satisfies the organizations

    goals for the software product line and integrates the goals, policies, and actions of the prod-

    uct line organization for product production.

    The production method, as the overall implementation approach, determines what processes,

    models, and technologies can be used to ensure consistency and the necessary variation

    across the core assets based on the production strategy. The production method provides the

    Production

    Strategy

    Production

    Method

    Production

    Plan

    Software Product

    Line Business

    Goals

    Production

    Strategy

    Production

    Method

    Production

    Plan

    Software Product

    Line Business

    Goals

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    14/39

    4 | CMU/SEI-2009-TN-025

    required coordination of the core assets and product development activities. This coordina-

    tion includes assuring that the three essential product line activitiescore asset develop-

    ment, product building, and managementeach operate at an appropriate tempo so the three

    interact efficiently.

    Finally, the results of the production planning are documented for the product developers in

    the production plan that describes what the product developers need to know to effectivelyuse the core assets to develop products with predictable results [Chastek 2002a, Chastek

    2002b].

    This report describes the strategy formulation portion of production planning.

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    15/39

    5 | CMU/SEI-2009-TN-025

    3 Porters Five Forces Model

    Many of the production goals for a software product line are driven by the actions and activities of

    the organizations competitors. Michael Porter produced a widely used model that addresses com-

    petitive strategy [Porter 1998]. Porters intent was to establish a strategy that provides competitive

    advantage for the organization using the model. Porter classified the competitive forces acting on

    the organization into the five categories shown in Figure 2.

    Figure 2: Porter's Model of Forces Driving Industry Competition[Porter 1979]

    The organization uses the model to guide its business strategy development. The organization de-

    termines the forces at work in its specific business environment and proposes actions that would

    address those forces, ultimately synthesizing a competitive strategy from the selected action.

    In Table 1, we situate Porters model in the context of a software product line organization. We

    also begin considering how each force applies to product production by asking an example ques-

    tion about the meaning of each force in a product line production environment. In practice, manysuch questions need to be asked.

    PotentialEntrants

    Substitutes

    Suppliers BuyersBargaining

    Power

    BargainingPower

    Threats

    Threats

    IndustryCompetitors

    Rivalry

    PotentialEntrants

    Substitutes

    Suppliers BuyersBargaining

    Power

    BargainingPower

    Threats

    Threats

    IndustryCompetitors

    Rivalry

    IndustryCompetitors

    Rivalry

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    16/39

    6 | CMU/SEI-2009-TN-025

    Table 1: Porter's Forces

    Force Name Porters Definition Examples of Product Line

    Context Questions

    Industry Com-

    petitors

    those organizations that are address-

    ing the same market need or mission

    as yours

    How can we gain advantage over the competi-

    tion by choosing different production tech-

    niques?

    Potential En-

    trants

    a product or service that might become

    available to be used in place of yours

    How can we raise the cost to others of entering

    the market by the means we use to produce

    the products?

    Buyers those who are currently purchasing

    your product or service

    How can we more quickly respond to buyers

    requests through attributes of the production

    process?

    Substitutes a currently available product or service

    that could be used in place of yours

    How can we differentiate our product from the

    substitutes through the means of production?

    Suppliers those who provide some portion of the

    content of your product or service

    How can we lower the prices we pay suppliers

    by the production techniques we use?

    In Section 5 we incorporate this business strategy development model into our technique for

    creating the production strategy. In addition to the model, Porter identifies three generic strate-

    gies: cost leadership, differentiation, and focus that resolve the five forces. These strategies are

    defined and discussed in Section 5.2.

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    17/39

    7 | CMU/SEI-2009-TN-025

    4 Production Scenarios

    Product production in a software product line can be viewed as a system in its own right, the so-

    called production system. The primary input to that system is a description of the product to be

    developed while the primary output is the requested product. As with any system, the production

    system has associated functionality and qualities that can be described using scenarios. For exam-

    ple, the tools used in product development are the functions of the production system. More rele-

    vant to the production strategy are the qualities of the production system (i.e., the production qual-

    ities). Performance is a typical example, usually expressed as time to market (i.e., the time from

    receipt of a product order until that product is delivered). Flexibility, the ability to deliver custo-

    mized products, is another such example. Production scenarios express the different circums-

    tances under which products will be built from the core assets. The scenarios provide a high-level

    view of the development process, deferring specific details until the strategy is developed. These

    scenarios are used to both

    explore the required characteristics of the production system, such as the production qualitiesneeded to satisfy the product line business goals and

    ensure that the production strategy is formulated with sufficient breadth and depth to address

    the needs of the complete product line

    We have adopted the scenario format used for quality attribute analysis for guiding the develop-

    ment and evaluation of software architectures [Bass 2003]. A scenario takes the form of a stimu-

    lus/response with a description of the context within which the action occurs. A scenario descrip-

    tion is decomposed into the six sections listed in Table 2.

    Table 2: Production Scenario Format

    Scenario

    Element

    Product Line Interpretation Example of Scenario

    Element

    Stimulus The event or action that affects the development of a

    product

    A requested product requires a

    new target platform.

    Source of

    Stimulus

    Who or what is initiating the production of this product A customer requests a new

    product feature.

    Environment The state of the production capability of the product

    line at the time of this scenario; for example, all core

    assets are completed and available for use

    Product development has be-

    come routine.

    Artifact The artifact acted upon; this can be the product being

    produced or a core asset being used.

    The artifacts can be new prod-

    uct-specific or existing core as-

    sets for the new platform.

    Response How the production system responds to the request to

    produce a specific product; for example, how long will it

    take to produce this product?

    The requested product is devel-

    oped successfully.

    Response

    Measure

    Some common response measures are calendar days

    from purchase contract to deployment, cost in dollars,

    or days of effort.

    The requested product is deli-

    vered in less than two days from

    the time of its request.

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    18/39

    8 | CMU/SEI-2009-TN-025

    Production scenarios are used to

    refine the critical factors (see Section 5.1) associated with the production system

    create a prioritized list of production qualities1

    that is used during strategy development to

    resolve conflicts among strategic actions that have inconsistent effects on the product line

    verify that the production strategy selected satisfies the business goals of the product line

    Testing-style coverage techniques are used to define the set of scenarios. For example, where two

    products will be built differently, the organization determines what causes the difference and

    identifies scenarios that address the circumstances under which each technique is used.

    Each event or action that initiates the development of a product may be analyzed in terms of one

    or more scenarios. The set of scenarios is defined to achieve the following:

    Each scenario addresses the production systems response with respect to a single production

    quality in a specific situation.

    Each development approach is exercised in a sufficient number of scenarios to explore all of

    its variations.

    Each production quality attribute is exercised in a sufficient number of scenarios to addressthe full range of values for the attribute.

    1Chastek defines production qualities and describes how to elicit and analyze them [Chastek 2003].

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    19/39

    9 | CMU/SEI-2009-TN-025

    5 Formulating a Production Strategy

    The technique for formulating a production strategy is shown in Figure 3. The organization ex-

    amines the work products of the strategically significant product line practice areas (described in

    Section 5.1) to identify additional factors and trends critical to the success of the organizations

    product production. Those factors and trends are consolidated into a production strategy using

    Porters Five Forces model. The strategy is then evaluated using Rumelts four criteria. Produc-

    tion scenarios are used in each step of the technique to determine precisely what that goal means

    for the production system.

    Figure 3: Technique Overview

    The production strategy is developed iteratively starting with identifying the critical factors. The

    critical factors have many interactions, and identifying new factors may influence the other fac-

    tors identified previously. Additional iterations are necessary to resolve these influences and mod-

    ify the strategy to ensure a consistent and coherent strategy. All too often, this iteration occurs

    because a problem is encountered very late in the cycle. Measurement and tracking can give early

    warnings by looking for attributes that fluctuate or for sections of the production plan that gener-ate an extraordinary number of problem reports. Since the critical factors can change over the life-

    time of the software product line, the production strategy evolves. Changes in the strategy are

    propagated through the production process.

    5.1 IDENTIFYING THE CRITICAL FACTORS

    In the Rumelt quote in Section 5.3, the critical factors mentioned are associated with strategic op-

    portunities and threats, the quality of long-term results, measurability and flexibility for effective

    and timely responses, and ultimately organizational success. Presumably, the organizations strat-

    egy for choosing a software product line approach identifies relevant critical factors that will af-

    fect the production strategy. These critical factors can describe an organizations potential posi-

    tioning in a market, or they can constrain that organizations efforts to position itself in that

    market.

    The successful prosecution of the product line practice areas identifies an organizations critical

    product line success factors [Clements 2002]. Potentially, any of the 29 practices areas can be the

    source of factors or trends that can affect the production strategy. However, certain practice areas

    are directly tied to the product line organizations business goals and hence are vital to the formu-

    lation of the production strategy, while other practice areas primarily constrain or refine that strat-

    Define

    ProductionScenarios

    Formulate

    Production

    Strategy

    Evaluate

    Production

    Strategy

    Identify

    Critical

    Factors

    Define

    ProductionScenarios

    Formulate

    Production

    Strategy

    Evaluate

    Production

    Strategy

    Identify

    Critical

    Factors

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    20/39

    10 | CMU/SEI-2009-TN-025

    egy. This section discusses the practices areas used in the What to Build pattern, which have typi-

    cally been applied in the earliest planning stages of a software product line [Clements 2002].

    5.1.1 Market Analysis

    Market analysis is the systematic research and analysis of the external factors that determine the

    success of a product in the marketplace [Clements 2007]. The market analysis contains informa-tion about buyers of the product lines products as well as current competitors and potential en-

    trants into the market. The analysis identifies the features of the products purchased by members

    of the target audience. This analysis provides the strategists with predictions of which features

    products must provide immediately and gives a prediction of the evolution of the feature set.

    Example of a critical factor: the demand for a particular feature may not justify costs associated

    with particular production techniques. For example, the market analysis in a technical organiza-

    tion, such as an original equipment manufacturer (OEM), will often examine how customers ex-

    pect their products to be built. A customer might require a specific Capability Maturity Model

    Integration (CMMI) level of certification to provide additional confidence in the quality of the

    products. Moving the organization to that level may simply not be justified based on the custom-

    ers anticipated sales volume.

    5.1.2 Building a Business Case

    A business case addresses the following key questions that an organization faces when planning

    major changes in how it does business:

    What specific changes must occur?

    What are the benefits of making the change?

    What are the costs and risks?

    How do we measure success? [Clements 2007]

    The business case defines the boundaries within which the production system must operate. Fac-

    tors affecting the production system arise in the business environment such as the rhythm at which

    the business operates, how often products will be released, and how rapidly products in the do-

    main are changing.

    Example of a critical factor: the time horizon for refreshing products. Essentially, the lifetime of

    a product influences the production strategy. For example, most people expect to exchange their

    cell phones every two years to get a new model with many new features. Can the long-term pro-

    duction strategy support that rate of product release? A few years ago, the answer was no. By

    changing its means of production, one cell phone manufacturer was able to decrease the time to

    produce a product, while also reducing the staff required by the production process.

    5.1.3 ScopingScoping is the activity that bounds the set of systems that compose the product line by defining

    those behaviors or aspects that are in and those behaviors or aspects that are out [Clements

    2007]. The product line scope provides factors that constrain the operation of the production sys-

    tem. Determining the scope provides a basis for determining the variations, and hence the binding

    times, that will be most important to the success of the product line.

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    21/39

    11 | CMU/SEI-2009-TN-025

    Example of a critical factor: the influence of the product lines homogeneity on the production

    strategy. If one product requires a very different production process from the rest of the product

    line, its expense should be balanced against the reasons for including the product in the product

    line. Real-time, embedded products require activities such as performance modeling and instance

    tuning. If some of the products in the product line are for mobile devices and require the real-time

    techniques and others are data-intensive applications that require database tuning, the productionstrategy will be more complex with more decision points.

    5.1.4 Technology Forecasting

    Technology forecasting addresses trends in two areas:

    1. technologies that support internal software development, which includes tools, processes,

    and methods for producing the software that will end up in products

    2. customer solutions, meaning technologies that will affect (or end up as) features or capabili-

    ties embedded in products [Clements 2007]

    The technology forecast provides information about substitutes for the product lines products,

    suppliers to the product line, and to a lesser extent, potential entrants into the same market. Thetechnology forecast provides a look at both domain-related technologies and product-building

    technologies. The latter forecasts enable the strategists to anticipate the evolution in building

    techniques and tools. In some cases, the introduction of a feature may be timed to coincide with

    the availability of certain tool capabilities. For example, the use of introspective techniques used

    in some self-adaptive systems was facilitated by the introduction of languages with reflective ca-

    pabilities.

    Example of a critical factor: The technologies used to produce a product make a difference to

    certain types of technical customers. The people who market products to them are a valuable

    source of information regarding their customers technology concerns. These concerns should

    influence the production strategy. For example, when Java first emerged, it was viewed by some

    as a web programming language that would be used in applications where time and space wereunimportant. A few vendors of micro-platform products such as cell phones saw the potential.

    Today, most application packages running on top of cell-phone platforms are written in Java.

    Companies with Java expertise have been able to capitalize on that.

    5.1.5 Understanding Relevant Domains

    The practice of understanding the relevant domains involves

    identifying the areas of expertisedomainsthat are useful for building the product or

    products under consideration

    identifying the recurring problems and known solutions within these domains

    capturing and representing this information in ways that allow it to be communicated to thestakeholders and used and reused across the entire effort [Clements 2007]

    Modeling techniques such as product line analysis are based on a broader analysis than that of the

    current market or target audience [Chastek 2001]. Product line analysis considers the full scope of

    products that are currently available and those that are anticipated. It defines and bounds the varia-

    tion across the products of the product line as well and define a vocabulary that the core asset devel-

    oper and product developers can use to communicate. The analyst identifies optional features by

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    22/39

    12 | CMU/SEI-2009-TN-025

    considering the feature sets of competitors, their projected upgrade paths, and standards efforts. The

    information captured includes information about production qualities such as binding times.

    Example of a critical factor: the velocity at which a domain is changing. The product line organ-

    ization must balance planning horizons with the rate at which fundamental knowledge is becom-

    ing obsolete. Areas such as service-oriented architectures and grid computing are changing at a

    rate that makes production planning for products, even a couple of years ahead, very risky. Thehigher the velocity, the more flexible the production strategy must be.

    5.2 FORMULATING THE PRODUCTION STRATEGY

    We use Porters Five Forces model to transform the critical factors and production scenarios into

    a set of strategic actions (actions that affect the organizations position in its market) that specify

    the capabilities of the production system [Porter 1998].

    Each force is examined in the context of the production scenarios. The business goals and the re-

    sults of the market analysis and technology forecasts, as noted in Section 5.1, provide information

    that can be used to select the strategic actions the product line organization should take to address

    these scenarios. The priorities among production qualities are used to filter and prioritize the stra-tegic actions.

    We impose a meaning on each force by specifying the strategic actions that would help resolve

    each force. Table 3 lists the forces and corresponding potential strategic actions for resolving

    them. The examples of strategic actions in the third column of Table 3 show how the actions can

    be used to develop a production strategy.

    Table 3: Strategic Forces

    Force Strategic Actions Examples of Strategic Actions

    Substitutes Raise switching costs.

    Increase brand loyalty.

    Reduce production costs to enable us to lower

    prices and make substitute products unattractive.

    Potential Entrants Raise cost of entry.

    Utilize economies of scale.

    Reduce the cost of mass customization by auto-

    mating product production.

    Buyers Differentiate products.

    Exert bargaining leverage.

    Establish a sufficiently flexible production system to

    meet the varying demands of buyers.

    Suppliers Exploit volume of products.

    Differentiate inputs.

    Use the economies of scale in a product line to

    leverage purchases of tools and components.

    Competitors Exploit relationships.

    Improve features and innovat-

    ing.

    Adopt production techniques that support rapid

    changes to existing features and rapid introduction

    of new features.

    The organization forms the strategy by selecting actions to resolve each of the five forces sepa-

    rately and then resolving any conflicts among the selected actions.

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    23/39

    13 | CMU/SEI-2009-TN-025

    5.2.1 Generic Strategies

    Porter identified three generic strategies that aid the formulation of a production strategy:

    1. cost leadership: Provide the lowest cost product for a given market and level of product qual-

    ity. A product line organization is usually in a position to adopt this strategy as the strategic

    reuse made possible through a product line greatly reduces the amount of software needed to

    build a specific product. Also, the separation of core asset development from product devel-

    opment (which is one possible organization) allows for a differentiated work force. That is,

    less skilled, and presumably lower paid, workers can produce the products using assets de-

    signed by a smaller, but more highly skilled, core asset team.

    2. differentiation: Offer products or services that are perceived as unique and valuable. A prod-

    uct line organization can differentiate its products in many ways. From a production perspec-

    tive, the two most apparent ways are through mass customization and reduced time to mar-

    ket. The market analysis provides information about required and desired features as well as

    needed time to market to outpace competitors. A well-defined set of variation points allows a

    product line organization to differentiate itself from its competitors and to provide a wider

    range of products by composing features in many different combinations instead of a fewstandard combinations.

    3. focus: Concentrate on a narrow market segment and pursue cost leadership or differentiation

    within that segment. A product line organization carefully scopes the set of products based

    on business priorities to focus on specific product feature sets. The scoping activity provides

    the opportunity to adjust the focus due to changing conditions and forecasts.

    For an example of applying a generic strategy, consider the substitutes force and the accompa-

    nying strategic actions in Table 3. One possible strategy is to adopt the differentiation generic

    strategy: specifically to reduce the time to market a new product. An organization might imple-

    ment this type of strategy by making portability a quality attribute of the product line architecture

    and by using a language such as Java that supports fine-grained product structure. Very little ofthe product has to be recompiled, and even the new deployment package is virtually unchanged.

    5.2.2 Integration

    Once identified, the strategic actions must be examined as a group and integrated into a coherent,

    cohesive strategy.

    Examine the set for inconsistencies. Two actions that have opposite effects on the product

    line must be resolved by yielding to the production quality that has a higher priority.

    Actions that share a common theme can be grouped into an encompassing action.

    The resulting strategy should be easy to understand and give clear direction to the core asset and

    product developers. For example, consider the actions for Substitutes and Suppliers in Table 3.Both of these actions call for a reduction in costs. The resulting strategy would call for reducing

    the cost of tools, training, and other production expenses. The Buyers and Competitors actions are

    focused on flexibility. The production strategy would call for low-cost, configurable tools.

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    24/39

    14 | CMU/SEI-2009-TN-025

    5.3 PRODUCTION STRATEGY EXAMPLES

    What are some standard production strategies that are used, or could be used, in the production

    strategy of a software product line organization?

    1. Be open. Use open source software and contribute to open source projects. Ultimately your

    organization might choose to start a new open source project to get exactly what it needs

    [Mebane 2007]. This strategy lowers the boundaries of the organization and stimulates the

    flow of assets into and out of the core asset base. The organization assigns people to survey

    existing open source projects and, in some cases, to participate in appropriate open source ef-

    forts. The organization can take advantage of their employees outside affiliations to be

    aware of the directions of open source projects and to influence those directions where poss-

    ible. This strategy affects core asset production more than product building. The production

    method, based on this strategy, will provide techniques for certifying some open source

    software to be added to the core asset base as is and techniques for extending and integrating

    the open source contributions to fulfill the needs of the core asset base. The portion of the

    production plan related to development of the unique portion of a product directs product

    builders to search available open sources before building a new asset and encourages teamsto consider which, if any, of the assets created during product production might be appropri-

    ate for sharing with the wider community.

    2. Be evolutionary. Include the user in the development process by providing early releases of

    minimal functionality to stimulate feedback [Bosch 2002]. This strategy explicitly defines a

    roadmap of successive expansions of the core assets capabilities. The strategy eventually

    produces a full set of assets including documentation and management plans. The production

    method describes how to incorporate the feedback of actual users working with early proto-

    types. This strategy is iterative and incremental at the level of the core asset base. Each asset

    evolves to a degree of completeness that is useful. The production plan maps out how to

    maintain consistency among the assets as they evolve somewhat independently.

    3. Be agile. Develop very small increments before stopping to assess and chart future direc-

    tions. Doing so enables you to anticipate changes and handle them easily [Paige 2006]. A

    number of development methods such as SCRUM and test-first provide support for this

    strategy. The production method for a product line organization using this strategy provides

    tools that manage the multiple iterations and versions of products. The production plan de-

    scribes how to identify, schedule, and integrate the increments of functionality. The produc-

    tion plan must provide guidance to developers on when to iterate and provide conflict resolu-

    tion devices as the multiple threads of activity interact. This strategy is iterative and

    incremental at the level of individual assets.

    4. Be acquisitive. Acquire as much of the software as possible [Bergey 2006]. This strategy

    affects the development of core assets more than their use. It subsumes the open source strat-

    egy and includes all strategies of acquisition including purchasing off-the-shelf software, as

    well as commissioning custom assets from an outside organization. The production method

    defines criteria for the various forms of acquisition as well as criteria for qualifying an out-

    side asset for inclusion in the core asset base. The portion of the production plan related to

    development of the unique portion of a product directs product builders to search all availa-

    ble sources for the required assets.

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    25/39

    15 | CMU/SEI-2009-TN-025

    5. Be standard. Seek out and use open standards. Participate in standards development so that

    you have maximum impact [Hoyer 2006]. This strategy constrains the development of core

    assets where there are applicable standards. The production strategy calls for assets to be de-

    signed to be compatible with standards defined in the domains of interest. This compatibility

    increases the possibility that the open source and acquisitive strategies will be successful in

    finding pre-existing implementations for specific assets. The production method describes aprocess for tracking the evolution of standards and techniques for integrating new versions of

    the standards. The production plan includes actions applying the test cases that accompany

    the standards, where available.

    6. Be automated. Enable the engineers to carry out repetitive functions quickly and correctly.

    This strategy requires more up-front investment than more manual development strategies.

    Complex operations such as building the product can be repeated quickly and accurately

    [White 2007]. In this strategy, the information needed to build a product or to run tests is en-

    coded to allow automatic execution of certain actions. Development information usually

    must be more constrained to ensure completeness and consistency. The production method

    defines activities in which assets are defined and maintained in machine-readable form. The

    production plan describes which tools product builders are to use for each of the product-

    building actions.

    7. Be generative. Generate low-level artifacts such as source code and detailed documents

    from higher level models. This strategy moves maintenance and extensibility to a more gen-

    eral level [Czarnecki 2005]. A generative production strategy will result in a production me-

    thod that defines a layer of model development and specifies a set of modeling tools and lan-

    guages. The method spells out a sequence of transformations that begin with early models,

    proceeds through the architecture, and ends with compilable code. The product-specific pro-

    duction plan is at least partially generated from a template and the attached processes from

    other assets. In this strategy, modification of products and assets is managed through the

    modification of models rather than source code or documents.

    8. Be transformative. Allow dissimilar data formats to be aligned. This strategy reduces the

    effort needed to write filters that glue tools together [McRitchie 2004]. A transformative

    production strategy results in a production method that uses a small number of meta-models,

    preferably one, as the basis for models of various kinds of development information. Trans-

    formations are constructed that create one model from another using meta-models and lan-

    guages such as Query/View/Transformation (QVT) from the Object Management Group or

    the Active Template Library (ATL) from Microsoft. The production plan defines activities in

    which the product line models are transformed into the required product-specific models.

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    26/39

    16 | CMU/SEI-2009-TN-025

    5.4 EVALUATING AND VERIFYING THE PRODUCTION STRATEGY

    Rumelt describes the purpose of business strategy evaluation:

    For many executives strategy evaluation is simply an appraisal of how well a business per-

    forms. Has it grown? Is the profit rate normal or better? If the answers to these questions

    are affirmative, it is argued that the firms strategy must be sound. Despite its unassailablesimplicity, this line of reasoning misses the whole point of strategythat the critical factors

    determining the quality of long-term results are often not directly observable or simply

    measured, and that by the time strategic opportunities or threats do directly affect operating

    results, it may well be too late for an effective response. Thus, strategy evaluation is an at-

    tempt to look beyond the obvious facts regarding the short-term health of a business and ap-

    praise instead those more fundamental factors and trends that govern success in the chosen

    field of endeavor [Rumelt 1999].

    Rumelt also provides four criteria for evaluating a business strategy that are applicable to a pro-

    duction strategy for a product line:

    consistency: The strategy must not suggest contradictory goals and actions.

    consonance: The strategy should create more value than it costs. advantage: The strategy should provide competitive advantage.

    feasibility: The strategy must be achievable with the resources available.

    We now discuss each criterion in the context of the strategy formulation process outlined in Sec-

    tion 5.1 through 5.3. The production strategy formulation technique outlined above produces ef-

    fective strategies as evidenced by

    consistency - Prioritizing the production qualities derived from the product line goals pro-

    vides a basis for making decisions that resolve inconsistencies among the elements of the

    strategy. Using Porters model produces actions that are intended to resolve each of the

    forces. These actions, which will become the basis for the production method, are examined

    and conflicts resolved based on the impacts on the product qualities. The prioritization of theproduction qualities and the integration of their associated strategic actions into a complete

    strategy ensure that no contradictions are introduced.

    consonance - Serving as a bridge between the business goals and the production method, the

    production strategy provides great value. It ensures that the production method will initially

    meet the needs of the product line organization and provides a mechanism by which the me-

    thod can evolve in concert with the business goals. A good way to evaluate consonance is to

    attempt to create a mapping between the production scenarios and the production strategy. If

    such a mapping can be created, the strategy is consonant with the intended uses described in

    the scenarios.

    advantage - Many organizations waste time and resources on producing products becausethey do not carefully coordinate how products are produced. The economies resulting from

    production planning bring an advantage that can be used in many ways, such as in reducing

    prices or in rapidly delivering products. Formulating the strategy is the beginning of a value

    chain in which the production strategy informs the production method, which, in turn, results

    in a production plan that is closely aligned with the business goals of the product line. This

    chain cuts across the organizational management, technical management, and software engi-

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    27/39

    17 | CMU/SEI-2009-TN-025

    neering dimensions of the organization. The chain defines a conduit through which feedback,

    repairs, and evolutionary changes can be passed effectively.

    feasibility - The strategic actions that constitute the strategy cannot require more resources

    than have been budgeted for. Further, there needs to be a balance among the five forces so

    that no one force consumes a majority of the available resources. Feasibility can be judged

    by determining the impact of the change needed to implement the strategy. For example, anorganization that has what it believes is a successful reuse program will probably not be able

    to immediately see a 50% increase in its reuse rate. An organization with no previous reuse

    experience may well be able to achieve large gains initially with these increases tapering off

    as more of the available methods are used.

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    28/39

    18 | CMU/SEI-2009-TN-025

    6 An Example

    This example of production strategy formulation features a fictitious company, Arcade Game

    Maker (AGM) that wants to adopt a product line approach to achieve its business goals. AGM, a

    subsidiary of a multinational corporation, produces a series of software-intensive products deli-

    vered directly to retailers that, in turn, sell them directly to individual consumers. The company is

    one of several subsidiaries that share portions of the product roadmap established by the parent

    corporation. They all make similar products but for somewhat different markets [SEI 2008].

    The AGM product line is a set of video games. A comprehensive set of core and product-specific

    assets has been developed for use as a full-scale sample product line.2

    In this section, we present

    an example of production strategy development for AGM.

    The AGM organization is adopting the software product line approach to product development.

    As part of its adoption strategy, the organization has decided to take an incremental approach to

    rolling out the core assets and products. The first increment will be a set of open source imple-

    mentations of the games that will be made available for download. Succeeding increments will

    expand the feature set and the possible variations. The question now is what production tech-

    niques will help AGM meet its goals.

    6.1 DEFINE PRODUCTION SCENARIOS

    AGM is currently a traditional software vendor and the first products will be built using the Ra-

    tional Unified Process (RUP), albeit modified for product lines. Management hopes that the prod-

    uct line approach will result in a simplified form of development in later increments. Two scena-rios, shown in Table 4 and Table 5 , describe the initial and eventual situations, respectively.

    Table 4: Initial Production Scenario

    Stimulus A game is requested in the early days of the product line.Source of stimulus A request comes from the marketing VP for one of AGMs largest markets.

    Environment Product building has just begun, and the core assets have not had time to

    mature.

    Artifact The requested game and modified core assets are the outputs of this ef-

    fort.

    Response The game is available for deployment.

    Response Measure The game is available in less than two weeks from time of request.

    Table 5: Product Line Production Scenario

    Stimulus A game is requested after the product line organization has matured.

    Source of stimulus A request comes from the marketing VP for one of AGMs largest markets.

    Environment Product building has become routine.

    Artifact new game

    Response The game is deployed on the new platform.

    Response Measure The new game is deployed in less than two days from time of request.

    2The core assets mentioned in this example are available at http://www.sei.cmu.edu/productlines/ppl.

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    29/39

    19 | CMU/SEI-2009-TN-025

    The production strategy should also handle the anticipated variations and modifications. The sce-

    nario about porting to a new platform, shown in Table 6, will represent several other possible var-

    iations.

    Table 6: Portability Scenario

    Stimulus A requested game requires a new build for a new platform.Source of stimulus A product builder requests a new build.

    Environment Product building has become routine.

    Artifact requested game and new or modified assets for new platform

    Response The game is deployed on the new platform.

    Response Measure The game is deployed on the new platform in less than five days from time

    of request.

    6.2 IDENTIFY THE CRITICAL FACTORS

    AGM performed an initial iteration of the What to Build pattern and identified the critical factors

    found in Table 7.

    Table 7: AGM's Critical Factors

    Practice Area Critical Factors

    Market analysis The specialized nature of the mobile platforms requires that prod-

    ucts be compatible with a larger infrastructure. Some platform

    manufacturers provide software development kits for their prod-

    ucts.

    Building a business case The need to provide the freeware products in time for them to

    affect the number of people who purchase the mobile device

    products.

    Scoping The AGM products only require static binding times. Customizable

    features are handled by a standard configuration file.

    Technology forecasting The forecasts for changes in mobile platforms identify areas that

    must remain flexible.

    Understanding relevant domains The domain is so widely understood that using domain-specific

    languages decreases the learning curve for new staff.

    AGMs business case lists four strategic objectives that are an important input into the technique

    for developing a production strategy. The production strategy should address any of these that can

    be affected by how products are produced.

    1. Become a market leader: Currently two other companies have a larger market share. This

    market is sensitive to how rapidly new technologies are introduced into products and the

    scope of the feature set. The company has been a late adopter of new technologies such as

    C++ and Java. To achieve its strategic objective, the company decided it at least must be-

    come an early adopter [Moore 2002].

    Factor to consider: Typically, an economist sees the demand for a product increasing as the

    price is reduced. So using the differentiation generic strategy should improve AGMs po-

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    30/39

    20 | CMU/SEI-2009-TN-025

    sition in the market. Specifically, how can AGM get a broader array of products into the

    market more rapidly?

    2. Reduce time to market: AGM will be able to produce products at an increasingly rapid

    rate. Ideas for games come from a number of sources. Many ideas come from the popular

    media where an idea has a very short lifespan. AGM must be quick to develop and deploy

    any games based on the popularity of a media or sports figure or one inspired by an actualevent.

    Factor to consider: By introducing products more rapidly, AGM intends to capture the early

    adopters who are often influential in the user community. How can AGM reduce the time it

    takes to produce a product? Perhaps by exploiting the commonality among games, AGM can

    standardize and generalize.

    3. Increase productivity: AGM will increase productivity so that the labor content per product

    decreases. Software makes up roughly 90% of the content of current products. To remain

    competitive, AGM must reduce the cost of building the games.

    Factor to consider: By getting more production from each worker, AGM would be able to

    adopt a lower cost strategy. How can more features be delivered per engineer hour? Perhaps

    raising the level of abstraction at which engineers work would allow them to produce output

    that can be transformed into concrete assets.

    4. Enable mass customization of products: AGM will be able to serve more specialty mar-

    kets. The current product development process requires too many resources to make products

    with projected sales of under a million units profitable. The parent companys marketing di-

    vision sees an opportunity in the area of convention giveaway products. It would like to be

    able to add a companys logo and other advertising marks to a game and sell it to that com-

    pany as a marketing handout at conventions.

    Factor to consider: AGM wishes to differentiate itself from other game manufacturers who

    either have a fixed set of games or a fixed set of parameters that can be adjusted at installa-

    tion time. AGM wishes to provide specific types of customization to create different prod-

    ucts based on customer requests. At what points in the development process should varia-

    tions be bound? Perhaps through evolution, AGM can incrementally approach the level of

    customization it would like to achieve.

    6.3 FORMULATE THE PRODUCTION STRATEGY

    AGM specifically considered the critical factors in the context of the five competitive forces iden-

    tified by Porter. The forces must be countered by either one of the generic strategies discussed

    previously or one of the more specific production strategies listed in Section 5.3. Table 8 shows

    AGMs approach to resolving each force.

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    31/39

    21 | CMU/SEI-2009-TN-025

    Table 8: AGMs Strategic Actions

    Force Name Porter definition AGMs Strategic Action

    Substitutes a currently available product or

    service that could be used in place

    of yours

    Using a lower cost strategy early, made possi-

    ble by reuse of legacy assets, will discourage our

    customers from switching vendors. Later, a diffe-

    rentiation strategy that takes advantage of the

    increased ability to customize will keep custom-ers from switching.

    Potential

    entrants

    a product or service that might be-

    come available to be used in place

    of yours

    By carefully mining legacy assets, AGM will take

    advantage of its extensive domain knowledge to

    more quickly produce accurate implementations.

    This will raise the cost of entrance into the mar-

    ket for any organization not currently in the mar-

    ket. These assets can help AGM become auto-

    mated more rapidly.

    Buyers those who are currently purchasing

    your product or service

    The business strategists have decided to have

    an initial increment of products that are free with

    later increments having more features at a higher

    cost. AGM will continue development in the

    same manner in the short term while developinga basis for cheaper, quicker production in the

    future.

    Suppliers those who provide some portion of

    the content of your product or ser-

    vice

    In organizing and managing a group of products,

    AGM has increased leverage with suppliers. By

    being standardized, its production process will

    allow AGM to switch suppliers more easily to

    obtain better prices or faster delivery. By being

    acquisitive, AGM can obtain what it needs as

    cheaply as possible.

    Competition those organizations that are

    addressing the same market need

    or mission as yours

    Through proper analysis of variation and selec-

    tion of appropriate binding times for those va-

    riants, AGM can incrementally introduce addi-

    tional features.

    The strategic actions are then synthesized into actionable statements that constitute AGMs pro-

    duction strategy:

    We will produce the initial products using a traditional iterative, incremental development

    process that uses a standard programming language, integrated development environment

    (IDE), and available libraries. We will create domain-based assets, including a product line

    architecture and software components, for the initial products in the product line in a manner

    that will support a migration to automatic generation of the second- and third-increment

    products.

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    32/39

    22 | CMU/SEI-2009-TN-025

    6.4 EVALUATE THE STRATEGY

    Rumelts criteria for strategy evaluation are the basis for the evaluation of the AGM strategy, as

    shown in Table 9.

    Table 9 : Evaluation of AGM's Strategy

    Criteria Evaluation

    Consistency No contradictions have been found.

    Consonance Our production strategy results in a production system that encompasses a large

    number of possible products.

    Advantage The chosen production strategy is tightly aligned with the business goals, which

    gives us the advantage in executing our plans.

    Feasibility The strategy is realistic and relies on technologies that exist and will be sufficiently

    mature by the time we need them.

    AGM applies these evaluative criteria as the strategy is developed, until a satisfactory strategy

    emerges.

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    33/39

    23 | CMU/SEI-2009-TN-025

    7 Summary

    Successful product production is the result of coordination between core asset and product devel-

    opment. The production strategy provides this coordination by defining a common direction

    rooted in the business goals and guided by the contrasting influences of the commonalities and

    variations among products.

    A software product line is long-lived and encompasses the development of a group of similar

    products. As a result, strategic planning is more of a necessity than for projects that develop a sin-

    gle product at one point in time. A product line organization must consider how evolution of re-

    sources and techniques will affect product production over the lifetime of the product line.

    The result of the strategic planning effort is an effective production system that can be evolved as

    the product line evolves. It can be evolved because of the traceability from the business goals to

    the techniques used to implement the strategies. It can be improved by the periodic evaluation of

    the measurable business goals.

    A product line organization seeks to achieve specific strategic goals. Strategic planning of the

    production system is tied directly to the organizations goals. By explicitly defining strategic ac-

    tions that address the forces on the product line, the organization is able to create a comprehensive

    strategy that is broadly based and includes the desired goals. This strategy is a sound basis for

    engineering the production method, which specifies in detail the technologies, models, and

    processes that will be used to produce products.

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    34/39

    24 | CMU/SEI-2009-TN-025

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    35/39

    25 | CMU/SEI-2009-TN-025

    Bibliography

    URLs are valid as of the publication date of this document.

    [Bass 2003]Bass, L.; Clements, P.; & Kazman, R. Software Architecture in Practice. Addison-Wesley Profes-

    sional, 2003.

    [Bergey 2006]Bergey, J. & Cohen, S. Product Line Acquisition in a DoD Organization-Guidance for Decision

    Makers (CMU/SEI-2006-TN-020, ADA447911). Software Engineering Institute, Carnegie Mel-

    lon University, 2006.

    [Bosch 2002]Bosch, J. Maturity and Evolution In Software Product Lines: Approaches, Artifacts And Organi-

    zation. Second International Software Product Line Conference. (SPLC 2002). August 2002, San

    Diego, CA. Lecture Notes in Computer Science 2379, Springer, 2002.

    [Chastek 2001]Chastek, G.; Donohoe, P.; Kang, Kyo Chul; & Thiel, S. Product Line Analysis: A Practical Intro-

    duction (CMU/SEI-2001-TR-001, ADA396137). Software Engineering Institute, Carnegie Mel-

    lon University, 2001.

    [Chastek 2002a]Chastek, G.; Donohoe, P.; McGregor, J. D. Product Line Production Planning for the Home Inte-

    gration System Example (CMU/SEI-2002-TN-009, ADA403867), Software Engineering Institute,

    Carnegie Mellon University, 2002.

    [Chastek 2002b]Chastek, G. & McGregor, J. D. Guidelines for Developing a Product Line Production Plan,(CMU/SEI-2002-TR-006, ADA406687). Software Engineering Institute, Carnegie Mellon Uni-

    versity, 2002.

    [Chastek 2003]Chastek, G.; & Donohoe, P. Product Line Analysis for Practitioners (CMU/SEI-2003-TR-008,

    ADA421616). Software Engineering Institute, Carnegie Mellon University, 2003.

    [Chastek 2007]Chastek, G; Donohoe, P; & McGregor, J. A Production System for Software Product Lines:

    117-128. 11th International Software Product Line Conference (SPLC 2007), September 2007,

    Kyoto, Japan. Computer Society Press, 2007.

    [Clements 2002]Clements, P; & Northrop, L. Software Product Lines: Practices and Patterns. Addison-Wesley,

    2001.

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    36/39

    26 | CMU/SEI-2009-TN-025

    [Clements 2007]Clements, Paul & Northrop, Linda. Framework for Software Product Line Practice, V5.0.

    http://www.sei.cmu.edu/productlines/framework.html (2007).

    [Czarnecki 2005]Czarnecki, Krzysztof. Overview of Generative Software Development Unconventional Pro-

    gramming Paradigms.Lecture Notes in Computer Science 3566. Springer , 2005.

    [Hoyer 2006]Hoyer, C, & Chroust, G. Evolving Standard Process Reference Models for Product Line Devel-

    opment, 320- 327. Proceedings of the 32nd EUROMICRO Conference on Software Engineering

    and Advanced Applications. AugustSeptember 2006, Cavtat/Dubrovnik, Croatia. IEEE Comput-

    er Society, 2006.

    [McRitchie 2004]McRitchie, I; Brown, T. J; & Spence, I. Managing Component Variability within Embedded

    Software Product Lines via Transformational Code Generation, Software Product-Family Engi-

    neering.Lecture Notes in Computer Science 3014 . Springer, 2004.

    [Mebane 2007]Mebane, H. & Ohta, J.T. Dynamic Complexity and the Owen Firmware Product Line Program.

    Proceedings of the 11th International Software Product Line Conference (SPLC 2007). Septem-

    ber 2007, Kyoto, Japan. Computer Society Press, 2007.

    [Moore 2002]Moore, Geoffrey A. Crossing the Chasm: Marketing and Selling Disruptive Products to Main-

    stream Customers (revised ed). Collins Business, 2002.

    [Paige 2006]Paige, Richard F.; Wang, Xiaochen; Stephenson, Zo R.; & Brooke, Phillip J. Towards An

    Agile Process For Building Software Product Lines, Extreme Programming And Agile ProcessesIn Software Engineering,Lecture Notes In Computer Science4044. Springer, 2006.

    [Porter 1998]Porter, Michael E. Competitive Advantage: Creating and Sustaining Superior Performance. FreePress, 1998.

    [Porter 1979]Michael E. Porter. How Competitive Forces Shape Strategy.Harvard Business Review 57,

    (Mar-Apr.): 86-93, 1979.

    [Quinn 1980]

    Quinn, James B. Strategies for Change: Logical Incrementalism: Richard D. Irwin, Inc, 1980.

    [Rumelt 1991]Rumelt, Richard P. Strategic Management and Economics. Strategic Management Journal 12:

    5-29, 1991.

    [Rumelt 1999]Rumelt, Richard P.Note on Strategy Evaluation. Anderson School at UCLA, (POL 1999-1.3)

    1999.

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    37/39

    27 | CMU/SEI-2009-TN-025

    [SEI 2008]Software Engineering Institute, Carnegie Mellon University.Arcade Game Maker Pedagogical

    Product Line. http://www.sei.cmu.edu/productlines/ppl/ (2008).

    [White 2007]White, J.; Schmidt, D.C.; Wuchner, E.; & Nechypurenko, A. Automating Product-Line Variant

    Selection for Mobile Devices:129-140. 11th International Software Product Line Conference(SPLC 2007). September 2007, Kyoto, Japan. Computer Society Press, 2007.

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    38/39

    28 | CMU/SEI-2009-TN-025

  • 8/14/2019 Formulation of a Production Strategy for a Software Product Line

    39/39

    REPORT DOCUMENTATION PAGE Form ApprovedOMB No. 0704-0188

    Public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, search-ing existing data sources, gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments re-garding this burden estimate or any other aspect of this collection of information, including suggestions for reducing this burden, to Washington Headquar-ters Services, Directorate for information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, Arlington, VA 22202-4302, and to the Officeof Management and Budget, Paperwork Reduction Project (0704-0188), Washington, DC 20503.

    1. AGENCY USE ONLY

    (Leave Blank)

    2. REPORT DATE

    August 2009

    3. REPORT TYPE AND DATESCOVERED

    Final

    4. TITLE AND SUBTITLE

    Formulation of a Production Strategy for a Software Product Line

    5. FUNDING NUMBERS

    FA8721-05-C-0003

    6. AUTHOR(S)

    Gary J. Chastek, Patrick Donohoe, John D. McGregor

    7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES)

    Software Engineering Institute

    Carnegie Mellon University

    Pittsburgh, PA 15213

    8. PERFORMING ORGANIZATIONREPORT NUMBER

    CMU/SEI-2009-TN-025

    9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES)

    HQ ESC/XPK

    5 Eglin Street

    Hanscom AFB, MA 01731-2116

    10. SPONSORING/MONITORINGAGENCY REPORT NUMBER

    11. SUPPLEMENTARY NOTES

    12A DISTRIBUTION/AVAILABILITY STATEMENT

    Unclassified/Unlimited, DTIC, NTIS

    12B DISTRIBUTION CODE

    13. ABSTRACT (MAXIMUM 200 WORDS)

    Software product lines are of strategic importance to the organizations that adopt them, affecting both an organizations position in an

    existing market and its ability to react to new and changing markets. An organizations production system (i.e., how it builds its products)

    is also of strategic importance, directly affecting, for example, that organizations ability to deliver new products quickly (i.e., its time to

    market).

    The production strategy for a software product line is the high-level description of how the production system realizes both the core as-

    sets and products. The production strategy is derived from the organizations business strategy and is intended to coordinate the actions

    of the core asset and product developers. The strategy describes how the product line practices should be employed so that the product

    line organization will achieve its production goals. This technical note describes a technique, which is based on well-known proceduresfor defining and evaluating a business strategy, for formulating the production strategy of a production system. An example of strategy

    creation is provided.

    14. SUBJECT TERMS

    Production planning, production strategy, production plan

    15. NUMBER OF PAGES

    39

    16. PRICE CODE

    17. SECURITY CLASSIFICATION OFREPORT

    Unclassified

    18. SECURITY CLASSIFICATIONOF THIS PAGE

    Unclassified

    19. SECURITYCLASSIFICATION OF

    ABSTRACT

    Unclassified

    20. LIMITATION OFABSTRACT

    UL

    NSN 7540-01-280-5500 Standard Form 298 (Rev. 2-89) Prescribed by ANSI Std. Z39-18298-102


Recommended