Pedagogical Product Line
Overview
Business Case
Scope
Requirements
Concept of Operations
Architecture
Unit Test Plans
Production Plans
System Test Plans
Brickles Product
Pong Product
Bowling Product
Bibliography
Glossary
Misc Documents

Arcade Game Maker Pedagogical Product Line: Business Case

Revision Control Table
Version Number Date Revised Revision Type A-Add,
D-Delete, M-Modify
Description of Change Person Responsible
1.0 7/03 A Created document JDMcGregor
2.0 12/03 A, M Put in SEI format, made miscellaneous changes LMNorthrop
3.0 6/04 M Edited document PWalters
4.0 5/05

Abstract

This document presents the business case analysis for the Arcade Game Maker (AGM) product line. The product line encompasses a set of arcade games that operate in a variety of environ-ments. The product line approach has not been used in this company before. This business case will examine options for creating the products including using a product line approach. The initial games in the product line will be made available at no cost to promote the company.

Overview

It is proposed that the company initiate a software product line approach to developing sets of related software-intensive systems. This document analyzes the feasibility and viability of pro-ducing products using the product line approach.

Our off-site strategic planning session came up with a goal of significantly reducing our costs. During the discussions in this session, we realized that software development now contributes the majority of content to each product. Any serious effort at reducing costs by improving the com-pany's productivity will require a dramatic improvement in software development productivity. A survey of existing techniques has shown that most reuse programs improve the productivity of an organization by 10-15%. While this is a positive result, the magnitude is not sufficient to achieve the gains required by the company.

A review of the software product line literature shows that companies using the product line ap-proach have achieved gains as large as 400%. Results vary depending on the degree to which the products are similar, the maturity of the software development process within the company, and other factors. One action item from the off-site planning meeting was to commission a project to develop a business case for adopting the product line approach in our environment. This is the report of that project.

The business case development project was chartered jointly by AGM's Vice President for Prod-uct Development (VPPD) and Vice President for Product Planning (VPPP). The project team in-cludes a marketing representative, a requirements representative, one of the software architects, two development managers (one of whom will be the product line manager if the business case is approved) who have project planning and estimating expertise.

Product Line Context

The AGM product line will be implemented in an organization that has historically placed its lowest priority on software engineering. The VPPD decided that, along with adopting the product line strategy, AGM will use an architecture-centric, component-based development method. Due to the problems experienced with previous products and the radical change in development method, no attempt will be made to mine existing products. The expertise of the development staff will be the main assets with which the new product line organization begins. The plan of action for this product line will need to establish basic software engineering practices as well as product line practices.

Relation to Corporate Strategic Objectives

The product line must support the strategic objectives1. Here, we show how the product line ap-proach relates to each one.

Become a market leader

The product line approach would make AGM a market leader by improving the company's qual-ity of products, allowing it to pursue specialty markets and reducing the time to market. Hewlett-Packard reported a twenty-five-fold decrease in the number of bugs over four products in a prod-uct line [Toft 00]. Others have used the increased flexibility of their products to pursue niches in their domain.

In particular, the marketing group has an idea about customizing games to include sponsors' lo-gos. A company could order giveaway products that feature its message integrated into the game.

Reduce time to market

The product line will allow us to achieve a faster time to market through an order of magnitude increase in software component reuse. Other industrial product companies have achieved three-fold improvements in the time needed to produce a product [Toft 00].

Increase productivity

The product line approach has successfully increased productivity. Hewlett-Packard reported that the head counts on product line projects are four times smaller than similar non-product-line projects [Toft 00]. AGM must achieve higher levels of productivity to remain competitive, but that is not our top priority.

Enable mass customization of products

Companies such as Nokia have improved their ability to address niche markets through an archi-tecture that supports the customization of numerous attributes [Heie 02]. AGM intends to open a new market by providing low-cost games as convention giveaways. We will customize each game to fit certain desires of the client. At this point, the color scheme and logos appear to be major customization points, but that may change after analysis.

Strategies

There are several options for how AGM initiates the basic product line approach. In this section, we consider some standard approaches [Clements 02].

Totally Proactive

In this approach, the assets are built before the products. This approach is the easiest to manage since the focus is solely on building the assets. This approach is difficult to fund because no new products are generating revenue while the assets are being created.

Totally Reactive

In this approach, the assets are built as the products are built. This approach is much more difficult to manage than the proactive one. Asset development must be scheduled just in time for use in a product that has a specific delivery date. There is more rework of assets in this approach be-cause the design of an asset does not fully take into account the needs of later products. Revenue from earlier products supports the costs of developing later products.

Incremental

We have "rolled our own" interpretation of the incremental approach. In our interpretation of this approach, the total product line is divided into sets of products. In our case the sets are (1) the freeware set; (2) the wireless set; and (3) the customizable set. Initially, the architecture and asset designs are intended to specifically support the first set of products and to in general support all of the products. A set's assets are built before any of its products are.

The product line process is divided into increments. Each increment is intended to construct one set of products. Sets of products are built using the assets developed for the previous increment's products plus any new assets that need to be constructed.

This approach is an attractive option for the AGM product line. Our vision is that the first incre-ment, which would begin the advertising campaign early, would be the three freeware games that will be given away. The next increment will be a release of those same game products that now operate on wireless devices. The company will now have sufficient assets and experience to enter the new market. The third and final increment will be the set of games to be sold as marketing giveaways. That is, our customer will provide image files and other company related information and we will produce a version of the selected game with their images in prominent places. The customer will then give these away on a disk or memory stick from their booth at a trade show.

The initial analyses will give decreasing emphasis to the features of the products in each of the succeeding increments. The architecture and other initial assets will be developed with evolution in mind. The later increments will plan out the time and resources needed to rework the early as-sets so they support the needs of the entire product line.

This approach also fits well with the software engineering maturity of our organization. The in-cremental approach will give us time to develop needed practices. The first increment of products will be developed by a team of the best developers and analysts in the company. Then, that set of products will be used to train others in the company.

Environmental Scan

In this section we present the results of our analysis of the strengths, weaknesses, opportunities and threats that characterize the environment in which the AGM product line will be sited. The exact strategy that we propose in the upcoming Feasibility section must be appropriate for this environment.

Strengths

The content of the product line is a set of simple arcade games. Such a set has the strength of being easy for the developers to understand and will reduce the initial costs of the product line.

From the perspective of providing advertisement for the company, a number of extensions to the basic products are possible that could be the basis for additional commercial games if the initial distribution is successful. This approach has the strength of making the games easy to modify.

The development technique we are considering using has been proven effective in actual indus-trial projects. It has the strength of helping to achieve the strategic objectives of the company.

Weaknesses

The weakness of using simple arcade games as the content of the product line's initial increment is that some developers and managers in the company will dismiss the example as too simplistic. We will counter this by using standard architectures and patterns, even in the initial increment, that would be used in an industrial product line.

The initial product line has the weakness that even a simple product line has a greater complexity than a single program. We will counter that by using innovative techniques to present unique opportunities for interacting with the product line.

The managers of AGM are not rigorous in their decision-making process or careful about lines of authority. The complexity of a product line organization will stress the management capabilities of the company.

The weakness of presenting the product line through a series of documents is that a product line is an evolving, dynamic entity. Attempting to represent that in a static form makes understanding the dynamics of a product line more difficult. We will attempt to counter that by having multiple versions of different documents to show the evolution.

Opportunities

The company has the opportunity to produce a very complete product line of freeware games at very little cost. As a result, the staff can study the product line approach before tackling for-profit products.

The company has the opportunity to become visible to new customers in existing markets by giving away the products from the product line. The low cost of the products makes this possible. In addition, the assets from the initial, free products will be used to more quickly and cheaply produce the commercial products.

The company has the opportunity to enter a new market by creating a highly customizable architecture. The ability to customize the outward behavior of the game will allow variation with little or no structural impact.

Threats

The biggest threat is that the two current market leaders will adopt the product line approach and take advantage of their leader position to create an even greater advantage. The company needs to move as quickly as possible to begin realizing the benefits of the product line approach.

A second threat is that taking time to build this initial product line may take time away from producing products for which the company will realize actual income. Training is always a long-term investment but a short-term threat.

Analysis of Strategic Factors

Market Viability

The market for the company's products is rapidly expanding as shown in the following figure. However, consumers expect additional features to be added on a regular basis.


Purchases of Products

The company intends to use the arcade game product line to move into new markets. First, the games of the product line will be customized to run in the reduced environment of a wireless device. There is a very rapidly growing market for such games, as shown in the next figure. Then, the games will be renovated to add a mass-customization capability so they can serve as giveaways for companies at conferences and other marketing opportunities.


Downloads of Games

Market Segments

The company has developed products for the traditional game markets for some time. Their games were originally targeted to special game processors. The market shifted to the personal computer markets for Windows-based and Apple-compatible systems. This market continues to be viable as shown above. Versions of the game are also developed for several newer game machines, although this is a smaller market.

The company is now addressing additional market segments: those for wireless devices and convention giveaways. The architecture for the product line will include a variation point in terms of the operating environment constraints such as memory size, display size, and operating environment. The architecture will also provide for a number of variations that a company can use to advertise its message.

Feasibility

In this section, we present a cost/benefit analysis for using the product line approach in this environment.

Analysis Technique

The analysis technique we will use is based on the "ABCs" of a business case as described by Cohen [Cohen 03]. The ABCs correspond to the following:

Applications

In the foreseeable future, the company will produce nine products that fall into three categories: freeware games, wireless games, and giveaway games. The same three games-Brickles, Pong, and Bowling-will be in each grouping. The applications are identified more specifically in the requirements document.

Benefits

The benefits of using a product line approach include variation management, increased productivity, and a shorter time to market.

Variation Management
Variation management is a major benefit of the product line approach. The company produces a series of games that are very similar. The overlap between the games is rather large. The major variations in the products are the environment and the markets for which they are intended.

Increased Productivity
The increases in productivity realized by product line organizations are much larger than the increases experienced by organizations that use approaches such as reuse repositories and other reuse schemes alone. Product lines would make a positive contribution to the achievement of the strategic goal to produce more products without additional resources. We expect to reduce the number of staff needed to produce a product.

Shorter Time to Market
The reduction in time to market experienced by companies using the product line approach is much larger than for those using only techniques based on commercial off-the-shelf (COTS) components. We expect to be able to achieve a large reduction but gradually over the first few products.

Costs

Using a product line approach involves both direct and indirect costs as explained below.

Direct Costs
The direct costs for the product line are in three categories:

  1. personnel - The product line organization will be formed with 20 people initially. This will include 1 executive, 2 managers, 2 technical leads, 13 developers, and 2 testers. This trial organization will produce the three games even if the product line approach is judged unsatisfactory.

  2. tools - We are taking this opportunity to upgrade our development process so that it will be sufficiently robust to support the product line approach. The costs here will involve buying these new tools:
    • a configuration management system
    • an Improved Integrated Development Environment (IDE)
    • a Unified Modeling Language (UML) modeling tool
    These costs will be held as low as possible by purchasing only a couple of seats for each tool until we have a better idea of their usefulness.
  3. advertising - Even though we are giving the products away for advertisement, people still need to know they are available. We will minimize the costs by limiting our advertisement to Web pages of affinity groups. By agreeing to carry their ads on our customer pages, we can eliminate any real costs.

Indirect Costs
There are several indirect costs including

  • The resources being applied to the product line experiment will not be available to apply to other opportunities. Thus, there is an opportunity cost.
  • The morale of personnel will be damaged if the product line initiation effort is not successful.

Modeling the approaches

In this section we present models that quantify the costs and benefits that we have described in previous sections. We use SIMPLE to analyze the three strategies that we discussed in the Strategies section. There are a large number of variables that come into play in these models. We could run each model many times varying certain parameters each time, but we will only present a single example of each in our report. We first consider three approaches and then complete a table tied to the SIMPLE model to compare the three models. (In a real product line business case there would be exact numbers, here we will use relative numbers.)

Two variables that will influence our models are the degree of reuse (DOR) and the cost of reuse (COR). The degree of reuse reflects how much of the product comes from the core asset base. We expect this to be high in a product line but the final scoping of the product line will determine this value. The cost of reuse relates to the technologies that we are using to build the assets. If components are parameterized over their complete range of operation, the COR will be less than if we rely on a strategy of modifying each asset statically.

For these models, time is mostly important with respect to the individual increments. So t = 1 means the first increment. Therefore, t ranges from 0 at initiation to 3 for the release of the third iteration. Later, these time values can be mapped to calendar time so that net present value and other calendar time measures can be computed.

Proactive Approach

In the proactive approach, all the core assets needed for all the products are built before any products. A thorough analysis is conducted, and the complete set of components is constructed. The DOR value is 100% for every product, meaning that each product is produced entirely from the asset base. The full cost of asset maintenance is applied starting with the first product since the entire asset base is available at that point.

The SIMPLE expression is:

For the proactive approach, the Corg and Ccab costs are all accumulated at the start of the product line. Even though the core assets are all built first, each product still has a unique part (that part not shared by any other product).

Incremental approach

In the incremental approach, the core asset base is built over time. In our case, there is a natural breakpoint between each grouping of products. At these breakpoints, the needs for the next set of products are analyzed and then the needed assets are developed and added to the asset base. In this analysis, the first three products have a DOR of 30%, the second three a DOR of 60%, and the third a DOR of 100%.The cost of asset maintenance is prorated as the asset base grows at the start of each set of new products. The asset base is updated at the start of each increment. The maintenance costs are charged against the first product in each increment since that effort begins as soon as the assets are created.

The SIMPLE expression is:

For the incremental approach Corg is mostly expensed at the initiation of the product line. The Ccab is spread across the three increments but not evenly. Fcab(t) is the percentage of total Ccab that is accrued at each increment. In the table below include costs and benefits for each product across the increments.

Reactive Approach

In the reactive approach, the first few products are built without a core asset base. That base is created later by mining the first products for useful assets. This approach is similar to the incremental approach except that the asset base lags behind products rather than preceding the need. One difference is that the increment in the DOR will vary from product to product rather than from set of products to set of products, as in the incremental approach. The cost of asset maintenance is prorated on a product-by-product basis as the asset base grows.

In the reactive approach, products are mined to create the assets. Thus, the first product is created from scratch. The second product is built from assets mined from the first product. The rate at which the asset base grows is determined by the similarity among the products. The DOR for two very different products is lower than that for two more similar products.

The SIMPLE expression is:

For the reactive approach Corg is mostly expensed at the initiation of the product line. The Ccab is spread across the three increments. Fcab(t) is the percentage of total Ccab that is accrued at each increment. Each increment uses the work of the preceding increments so the effort decreases across the increments but costs must also reflect a rise in wages.

Conclusions from the Analysis

In the table below the costs and benefits for each approach across the increments is rated.

Corg Ccab Cunique Creuse Benefits
Pro-active medium medium low high high
Incremental medium low medium medium medium
Re-active medium high high low low

Risks
The risks of using the product line approach include increased organizational complexity, a changing product roadmap, and an insufficient reduction in the COR.

Increased Organizational Complexity

Increased organizational complexity can lead to conflicts about how an engineer prioritizes his many tasks. This risk is being mitigated in this product line by starting with a core asset team and a single product team. As managers become more used to a matrixed approach to resource management, additional product teams will be added.

Changing Product Roadmap

The rapidly changing game environment can make it difficult to sustain the roadmap long enough for the product line to be profitable. The benefits realized from a product line are based on similarities between products and the ability to build a large percentage of each product from previously developed components. This risk is mitigated in this product line by having a domain analysis that is created in layers of abstraction. The more general the layer, the longer its information will be viable. Even if some products are cancelled, the more general information will apply to the remaining products and new products as well.

Insufficient Reduction in the COR

The development organization might not be able to modify its approach enough to efficiently reuse assets. The analysis shows that unless the cost of reusing an asset can be held to about 25% of its original cost, the product line approach will not be viable. Often, a developer will change features, not because they need to be changed, but rather because the developer wants to change his or her approach to them. This risk will be mitigated by a strong architecture team who will supervise the design and development process.

Plan of Action

We recommend implementing the incremental approach described earlier. We also recommend that, during the first increment, the existing inventory of games be mined for assets.

The plan of action is detailed in the following table.

Plan of Action
Increment Responsibility Task
Freeware Games Core asset team Perform analysis
Develop software architecture
Mine assets from existing games
Develop assets for games
Product teams Develop Brickles
Develop Pong
Develop Bowling
Wireless Device Games Core asset team Analysis to identify new assets needed
Upgrade existing assets to meet needs
Develop necessary assets
Product teams Modify games for Symbian/Series 60 platforms
Giveaway Games Core asset team Analysis to identify new assets needed
Upgrade existing assets to meet needs
Develop necessary assets
Product teams Develop customized games to order

References

For information about the references in this document, see another document in the Arcade Game Maker Product Line series: Arcade Game Maker Pedagogical Product Line: Bibliography.


1 The product line context document provides a more detailed discussion of the strategic objectives of AGM.