Program
Program
(a.k.a., Programme, Portfolio)
a mid-sized endeavor
consisting of two or more related
projects
that are managed as a unit in order to obtain benefits not available
from managing them individually
As illustrated in the preceding figure, Program is part of the following inheritance hierarchy:
Type: Abstract
Superclass: Endeavor
Subclasses:
Product Line Project
A program of projects, each one producing an individual application in a product line of applications.
Related Project
Concurrent development of two or more related
applications (e.g., the development of a Web-based and
wireless order taking system).
Sequential Project
Sequential projects to create and maintain a single application:
An initial
initiation phase project to determine the size,
complexity, cost, schedule, and viability of an application.
A following
construction and
delivery phase
project to produce and deliver the completed application.
Variant Project
Concurrent development of a:
Quick and dirty version of an application to achieve initial market visibility and market share.
Well-engineered replacement version of the same
application to meet business and quality requirements.
The typical responsibilities of a Program are to:
Elimininate unnecessary redundancies (e.g., duplicate
effort and costs) between related projects.
Ensure standardization (e.g., development process,
technology, platforms, and legacy integration) across related projects.
Improve reuse (e.g., of work products, developer training) across related projects.
Improve effort, schedule, and cost estimation across related projects.
Minimize development and maintainance costs across
multiple related applications produced by multiple related projects.
The identification of programs of related projects typically occurs during the
business strategy phase .
A program is also spelled “programme” to
differentiate it from a computer program.