Task: create SIMPLE model |  |
The Structured Intuitive Model of Product Line Economics (SIMPLE) provides an easy way for the manager to model the expected costs and benefits of a specific approach to realizing a product line.
Disciplines: Organizational Planning, Scoping, Technical Planning
Purpose
The SIMPLE provides a starting point for modeling
Relationships
Roles | Primary Performer: Product Line Manager | Additional Performers: Market Analyst Product Line Champion Technology Forecaster
Inputs | Mandatory: PL Business Case | Optional: None
Outputs | SIMPLE Model
Main Description
Managers need to be able to model the expected costs and benefits of the product line approach to supplement their arguments for using this approach. The Structure, Intuitive Model of Product Line Economics (SIMPLE) uses an expression like this: A basic SIMPLE model uses 4 cost functions: 1. Corg() is a function that, given the relevant parameters, returns how much it costs an organization to adopt the product line approach for its products. Such costs can include reorganization, process improvement, training, and whatever other organizational remedies are necessary. 2. Ccab() is a function that, given the relevant parameters, returns how much it costs to develop a core asset base suited to satisfy a particular scope. Ccab takes into account the costs of performing a commonality/variability analysis; defining the product line’s scope [Clements 04]; designing and then evaluating a generic (as opposed to one-off) software architecture; and developing the software so designed. Ccab also includes building the production plan, establishing the development environment, and producing a testing architecture and other artifacts that are reusable across the family. Ccab may be invoked to tell us the cost of developing a core asset base where none currently exists or the cost of deriving a desired core asset base from one or more bases already in place. Note that the core asset base can (and should) also include non-software assets such as plans, schedules, budgets, the scope definition, and various kinds of documentation. It also includes the artifacts that tell you how to produce products from core assets; an example of such an artifact is a production plan. 3. Cunique() is a function that, given the relevant parameters, returns how much it costs to develop the unique parts (both software and non-software) of a product that are not based on assets in the core asset base. The result might be a complete product (i.e., one that is not a member of a product line) or the unique part of a product whose remainder is built atop the core asset base of a product line. 4. Creuse() is a function that, given the relevant parameters, returns how much it costs to build a product reusing core assets from a core asset base. Creuse includes the cost of locating a core asset, checking it out of the repository, tailoring it for use in the intended application, and performing the extra tests associated with reusing core assets. SIMPLE also includes a Benefits function that returns the value of the benefits realized by using the product line approach.
Steps
Define the problem
Write down the decision that is facing the product line organization. Express it as a scenario that chooses between two or more alternatives
Determine cost of each alternative solution
2.List the monetary costs of each alternative using SIMPLE’s cost functions. –Corg() returns the cost to an organization of adopting the product line approach for its products. Such costs can include reorganization, process improvement, training, and whatever other organizational remedies are necessary. –Ccab() returns the development cost to develop a core asset base suited to satisfy a particular scope. Ccab takes into account the cost of performing a commonality/variability analysis, defining the product line’s scope the cost of designing and then evaluating a generic (as opposed to one-off) software architecture, and the cost of developing the software so designed. Ccab may be invoked to tell us the cost of developing a core asset base where none currently exists, or it may be invoked to tell us the cost of deriving a desired core asset base from one or more already in place. –Cunique() returns the software development cost for the part of a product not based on a product line’s core asset base – that is, software unique to a particular product. –Creuse() returns the development cost to reuse core assets in a core asset base. Creuse includes the cost of locating a core asset, checking it out of the repository, tailoring it for use in the intended application, and performing the extra integration tests associated with reusing core assets. –Cprod() returns the development costs associated with building a product in a stand-alone manner, rather than as a member of a software product line.
List monetary benefits for each alternative
3.List the monetary benefits of each alternative using SIMPLE’s benefit functions. •Express each benefit in the form B Benefit()
Construct a cost/benefit function
Fill in the terms of the SIMPLE formula
Evaluate the SIMPLE formula
The SIMPLE formula is evaluated. This may be done using a spreadsheet representation and a Monte Carlo simulation macro. The formula is evaluated repeatedly using a random jitter added to approximate the degree of uncertainty in the original estimate of the data value.
Select the appropriate alternative
The alternative forms the basic approach to production of the software product line. The decision is revisited periodically to ensure that the approach is still optimal.
Key Considerations
The cost and benefit functions can be arranged in numerous ways to model several different financial values such as cost/benefit analysis and ROI.
More Information
Guidelines | Modeling