A Framework for Software Product Line Practice, Version 5.0

Funding

The activities involved in any software development effort have to be
financed; this practice area addresses how. Funding sources and models vary
according to organizational culture and the nature of the software product
being developed. If multiple copies of the software product are to be marketed,
the organization usually appropriates development funds to a business unit, or
the business unit appropriates its own funds. New products often get funded
initially out of research and development allocations. If a product is being
made specifically to serve the needs of one customer, the customer usually
provides the funds. The funding of product maintenance is often dealt with
separately and may come from a source other than that of the development
financing. Whatever the source, somehow the funds are procured to support what
it takes to develop and then evolve the software product. Good estimates are
required so that an adequate amount is allocated, thereby providing a stable
funding source through product completion.

Aspects Peculiar to Product Lines

A software product line requires funding to get it off the ground.
Investment is required for any technology change. In the case of product lines,
funding is needed to prepare the organization for a product line approach and
may involve training, different development processes, different management
practices, and so forth. Funding is also needed to establish a core asset base,
to perform analyses (such as achieving an understanding of the relevant
domains, scoping, requirements engineering, architecture definition, required
variation mechanisms, and so on), and to establish a production infrastructure
in accordance with the organization's product line adoption plan and concept of
operations (CONOPS). This funding must be sufficient for the core assets to be
of high quality and have the appropriate applicability. Once the product line
is up and running, it must be sustained and evolved. The core assets must be
kept current; new assets may need to be developed; the analyses must be
updated; the infrastructure must be modernized. Funding must be stable and
enduring so that the core assets can be maintained and the associated product
line practices and tools can be supported and improved.

Depending on the approach takenproactive, reactive, or
incrementaldifferent funding profiles are required over time. Once a
product line is fully operational, development costs can be apportioned to each
new product in a relatively straightforward manner. Often, the key funding
question, though, for a product line organization is how to fund the core
assets that will be used across several productsmost of which will
probably be created long after the core assets are initially put in place.

The required funding's magnitude and profile over time should be defined
in a business case for the product line. Since a business case explains how the
organization will make money by adopting the product line strategy, it must
also explain what the organization must invest (and when) to realize the
projected payoff. (See the "Building a Business
Case" practice area.) The goal of the "Funding"
practice area is continually evaluating and planning how the funds needed to
develop and sustain the product line will be obtained commensurate with how the
scope, business case, and CONOPS evolve. Funding involves evaluating and
deciding what strategies can be employed to equitably share/distribute the cost
of developing a product line capability and sustaining (and evolving) its
ongoing operation.

Transitioning to a product line operation most often occurs in parallel
with ongoing operations, because few organizations have the luxury of stopping
either in-progress or planned developments while they change course to adopt a
product line approach. As a result, new or innovative sources of funding for
the organization are often required to support the launch and evolution of the
product line.

Although funding may seem to be a pedestrian or esoteric practice area,
it has far-reaching consequences for an organization that is relying on a
software product line approach. Cummins, Inc., for example, used a funding
model to insure the adoption of core assets by business units that otherwise
may not have been inclined to participate in the product line effort [Clements 2002c, Ch. 9].

Application to Core Asset Development

No matter what kind of product line approach an organization takes, it
needs to provide funds for managing, developing, and sustaining the core assets
as they evolve over the life of the product line. These assets include a broad
spectrum of artifacts (requirements, business case, scope, plans, architecture,
components, tests) and other elements of the production infrastructure
(equipments, processes and tools) that support their development, usage,
maintenance, and evolution. The funding required for core asset development can
be broken down into planning and analysis, asset development, infrastructure
development, and product line sustainment and evolution, corresponding to the
first four activities included in the table below. The available funding and
the funding model chosen influence the production strategy, which consequently
influences the production method and ultimately the production plan.

Application to Product Development

Once a product line is operational and products are being produced on a
steady basis, product development costs must be covered. They are usually
apportioned to each new product in accordance with the requirements negotiation
and technical planning process. The initial funding needs to cover all aspects
of managing and developing the particular product in accordance with the
production plan and product line CONOPS.

Typically, product development activities are funded predominantly out
of product-specific funds. Consequently, the development costs are often not
included in estimates of the funding required for developing a product line
capability. That does not mean that these estimates are unnecessary or
unimportant. On the contrary, funding estimates are a very important (and
essential) element in developing a business case for adopting a product line
approach and determining the projected return on investment (ROI).
Occasionally, the cost of developing the "first product" is considered (and
paid for) as part of the cost of developing a product line. In any event,
participating projects need a cost (and schedule) estimate so that they can
submit a budget for the funds they will require for their product development
based on the product line approach.

Similarly, funds for sustaining and evolving the products once they are
fielded are also typically obtained from project-specific sources. The benefit
that these product development groups realize is that the sustainment costs are
substantially lower because the individual products are part of a family of
products that share a large number of core assets that are sustained (and
enhanced) by the product line organization. Moreover, because the reliability
of these core assets is improved as a result of this centralized sustainment
effort, the cost of sustaining an individual product is lower.

The funding that is required for product development can be broken down
into product development, sustainment, and evolution, corresponding to the last
set of activities listed in the table below.

Example Practices

Funding strategies and sources depend on the fiscal infrastructure of
the product line enterprise. This infrastructure includes the organizational
structure, the mission and functions of the organizational units, the amount
and type of funds allocated to these units, and the policies and procedures
they must follow to plan and obtain funding. There may be instances in which an
existing fiscal infrastructure may not be sufficiently flexible to accommodate
unique funding requirements for product lines. The following table identifies
potential funding strategies and sources that may be employed to
share/distribute equitably the cost of developing a product line capability and
sustaining its ongoing operation. These strategies and sources are a
representative set that, when adapted and taken in combination, can affect a
complete funding infrastructure for a product line initiative.

The Xs shown in the table indicate how applicable an identified strategy
is to the funding of the indicated activity. Three Xs indicate that the
strategy is considered highly suitable, two Xs indicate that it is moderately
suitable, and one X indicates that it may be only marginally suitable.

General Applicability of Funding Strategies to
Product Line Activities

The applicability (suitability) of a particular strategy in a given
organizational setting depends on that organization's culture, fiscal
infrastructure, and strategic goals and objectives. Use this table as a
starting point for your organization.

Each funding strategy listed in the table is summarized below.

Product-specific funding (for an individual customer, for
example): In this strategy, each product project provides the funding
that is needed for the identified product line activities. While
product-specific funding is the predominant means of funding product
development, it may be used to fund core asset development as well. Although
product projects are often viewed (and properly so) as a primary source of
funding, they may be reluctant to pay for aspects of product line operations
that they feel are the responsibility of the parent product line organization.
As indicated in the table, this funding reluctance may extend to elements of
general product line planning and analysis, infrastructure support, and
sustainment, because they will also be of direct benefit to other projects
involved in the product line. In these areas, other funding strategies are
often more effective and should be considered carefully.

Direct funding from corporate sponsor/program: This
strategy is based on having the corporate-level/program sponsor selectively
fund elements of the product line, especially those in the launch of the
product line, that are related to the planning and development of an initial
set of core assets and the necessary production infrastructure.

Product line organization's discretionary funds: This
strategy involves using discretionary funds, such as research and development
monies, that are directly under the control of the product line organization to
offset the greater up-front costs of developing a product line. If the
organization responsible for managing and implementing the product line does
not have its own discretionary funds (apart from the sponsoring or parent
organization), this strategy, in effect, is no different than the "direct
funding from corporate sponsor/program" strategy.

Borrowing funds from corporate sources: This strategy
is analogous to taking out a bridge loan or a mortgage. It involves borrowing
product line funds up front and negotiating a suitable payback plan. The
funding could cover the launching of the product line through core asset
development and development of the first product or another negotiated
milestone. The terms might include deferring any payback until the delivery of
the first product with a fixed payment schedule or incremental payments tied to
an index that is commensurate with product line maturation and fiscal
stability. As in a conventional loan, the payoff amount would include
cumulative interest over the life of the loan.

First product project funds effort: In this strategy,
the first product project, in addition to funding its own product development,
agrees to provide the funding for other designated activities such as product
line planning and analysis, infrastructure establishment, core asset
development, sustainment, and evolution. Under this strategy, the extent of the
funding provided by the first project may be limited to establishing an initial
product line capability, after which other sources of funding are used to
sustain and evolve the product line.

Multiple projects banded together to share costs: In
this strategy, multiple product development groups (projects) agree to form an
alliance and jointly fund the cost of developing a product line capability that
may potentially extend to funding all product line operations including product
line sustainment and evolution. Even in this approach, however, each project is
usually responsible for funding its own product development part of the effort.
This approach is similar to the one that CelsiusTech took in its product line
development initiative: it pooled contract monies from individual customer
projects and collectively developed a family of products [Brownsword 1996a]. Another example is
the Owen cooperative model from Hewlett-Packard [Toft 2000a].

Taxing of participating projects: This strategy
involves funding selected elements of the product line by levying a tax on each
participating product development group (project). This taxing strategy can use
a flat tax or a prorated tax that is based on some particular product attribute
(such as product funds, project size, or estimated number of lines of code).
The "product-side tax on customers" and "fee based on core asset usage"
strategies described below can be viewed as special cases of a taxing strategy.

Product-side tax on customers: In this strategy, a
surcharge is assessed to fund selectively designated product line activities
other than product development. This surcharge is then budgeted into the total
estimated cost of developing a product for the customer based on a product line
approach.

Fee based on core asset usage: This strategy involves
charging projects a fee proportional to their usage of the core assets in their
product development and/or end products. This strategy is similar to enacting a
license fee for using a commercial, off-the-shelf (COTS) product. In fact, in
cases in which there are multiple instances of the same product (for example,
an application that is operational in many different aircraft), the product
line organization may charge a set fee for every copy made or a licensing fee
corresponding to the projects' usage of the core assets. Charging such fees is
one possible means of obtaining funds for sustaining product line operations.

Prorated cost recovery: The object of this strategy is
to have the projects that have benefited from the product line pay back their
fair share of the costs of any software development efforts or services that
the product line organization performed on their behalf. This strategy could be
extended to include prorating all of, or just elements of, the total cost of
sustaining product line operations among the participating project/product
developers.

Practice Risks

Inadequate attention to the funding model for a product line will result
in a core asset base and products whose owners compete in unhealthy ways for
the finite resources available. The result will result be poor quality on both
sides and probably resentment across the divide. A poor funding model can
result from any of the following factors:

inflexibility of the organization's fiscal
infrastructure: Each organization's fiscal infrastructure may not be
immediately adaptable to the funding of a product line approach. As such,
cultural and infrastructure changes may have to be planned and implemented.
Such an implementation may take an inordinate amount of time and effort to
modify, especially if the infrastructure involves regulations and statutes.
Because of such financial barriers, the product line approach may not be
initiated, or there may be ongoing contention for funds to sustain and evolve
the product line.

waning management commitment: Management's
commitment to stay the course and provide adequate funding and resources until
the product line reaches critical mass and can sustain itself is key to
success. Accordingly, managers must treat the funding of a product line as a
longer term, strategic investment that is essential to providing the
organization with the means and agility to deliver new products faster and
cheaper. Management is responsible for ensuring that short-term crises,
competing project demands, and other changes that have the potential to impact
funding do not perturb the product line effort. This risk extends to convincing
key technical people and their direct managers that funding software product
line efforts should, within reason, take precedence over current project
demands.

externally imposed fiscal constraints:
Organizational cuts and cost-saving mandates can limit the ability to fund new
approaches, such as core asset development. Government agencies are especially
prone to the annual "battle of the budget" and changes in fiscal policies, but
commercial organizations are not immune. These yearly upheavals bring with them
the risk of limiting sustaining funds for a product line.

lack of strategic focus: Product line initiatives
require strategic planning. Organizations have to overcome a "research and
development mind-set" in which funds are spent on a small exploratory effort
over two or three years without having plans for how this will evolve into a
way of doing business that involves everybody. Moreover, key technical people,
or their direct managers, need to be convinced of the priority of funded
product line efforts. One of the sources of major frustration and deep-seated
resentment is a funding model that lets recalcitrant parts of the organization
continue on their one-product-at-a-time way, effectively undercutting the
efforts of core asset group that is struggling and lacks the necessary
resources.

inadequate funding: If the funding allocated for a
product line approach is insufficient, the funds could be spent with little
residual benefits. That is, if an organization values only product development
and is only paying lip service to product lines, any effort toward establishing
a product line will be wasted. Unfortunately, such an occurrence may forever
polarize the organization and the workforce against any future consideration of
adopting a product line approach.