Initiation Phase
- Initiation Phase
- the first phase of the application development and life cycles
during which enough of the application’s requirements and architecture are produced so that agreement
can be reached between the
development organization and the
customer organization
regarding the goals and scope of the following phases
The typical goals of the Initiation Phase of an application development project are to:
- Ensure that the development organization and the customer organization reach an early consensus regarding the customer
organization’s vision of the application.
- Ensure that critical decisions are early regarding technology, partnering, vendors, etc.
- Ensure that the development organization has plans for successfully producing the next version of the application.
- Estimate the cost and required schedule to the following construction and delivery phases.
- Eliminate the highest project risks.
To meet these goals, the typical objectives of the
initiation phase on an application development project are
to:
- Obtain major stakeholder agreement on the customer's
vision of the application.
- Engineer all high risk and architecturally-significant
system requirements.
- Document the initial partial (e.g., 80%) system
architecture (including major COTS component selection).
- Produce an architectural prototype consisting of:
- The implementation of at least one end-to-end use case
path.
- A partial implementation of the domain layer.
- Produce a low-fidelity prototype of the user
interface.
- Derive a realistic estimate of the scope of the current
version of the application.
- Document appropriate plans for one or more of the
following phases.
The following preconditions should typically be satisfied
before the initiation phase of an application development
project can successfully begin:
The initiation phase of an application development project
is typically complete when the following postconditions have
been met:
- The following major stakeholders agree on the customer
organization's vision of the application being developed:
- The customer organization has accepted delivery of
relatively-complete specifications specifying high risk and
architecturally-significant system
requirements:
- An initial partial system architecture has been
developed, documented, prototyped, and verified against a
subset of the specified system requirements that have been
identified by the
technical leader.
- The
domain layer is partially implemented.
- A low-fidelity prototype of the user interface
exists.
- A realistic estimate of the scope of the current version
of the application has been derived from both the initial
partial requirements and initial partial system
architecture.
- Initial versions of planning documents for the following
phases have been developed.
- Initial versions of the deliverable work products have
been delivered to the customer organization.
- The customer organization has accepted the delivered work
products.
The typical milestones of the initiation phase of an
application development project include:
-
Project
Mobilized including:
- Legal work products signed.
- Initial teams staffed.
- Facilities ready.
-
Significant Requirements Specified including:
- High-risk and architecturally significant:
- System requirements
- Data and content requirements
- Quality requirements
- External API requirements
- Design constraints
-
Initial Architectures Documented including:
- Logical architecture
- System architecture
- Data and content architecture
- Hardware archecture
- Software architecture
- Human interface architecture
- Mechanisms
- Vendors, components, and technologies selected
-
End-To-End Prototype Validated
- Executable archiecture implemented
- Executable architecture testing
-
Following Phases Planned
- Construction Phase estimated and planned
- Delivery Phase estimated and planned
- Usage Phase estimated and planned (optional)
-
Initiation Phase Complete including:
- Initiation phase passed audit
- Initiation phase passed review
The following figure illustrates the order and approximate
timing of preceding initiation phase milestones:
During the initiation phase, the following primary work
products are typically produced and delivered during an
application development project:
- Requirements Set:
- Architecture Set:
- Design Set:
During the initiation phase, the following secondary work
products are typically produced and delivered:
The following teams typically collaborate during the
initiation phase of an application development project:
-
Project Team
- Management Teams:
- Development Teams:
- Inspection Teams:
The following application development engineering activities
and associated tasks are typically performed during the
construction phase in an iterative, incremental, parallel, and
timeboxed manner:
The following administrative activities and associated tasks
are typically performed during the initiation phase in an
iterative, incremental, parallel, and timeboxed manner:
The following general engineering activities and associated
tasks are typically performed during the construction phase in
an iterative, incremental, parallel, and timeboxed manner:
Guidelines
- If a previous business engineering project has not
occurred, then relevant business engineering phase goals,
objectives, milestones, work products, activities, and tasks
may be included in the initiation phase of an application
development project.
- To provide needed flexibility to address changing
conditions during the following phases, the requirements and
architecture activities are typically only partially
completed during this phase. Specifically on an application
development project, the development organization produces:
- All high risk and architecturally-significant system
requirements.
- The initial partial (e.g., 80%) system architecture
(including major COTS component selection).
- However, some organizations complete the requirements,
architecture, and even a significant amount of design during
this phase so as to provide adequate information to enable
the following phases to be completed under a fixed price,
fixed time contract.