Task: Demonstrate the Architecture
Present at least one solution that proves the planned architecture will meet the requirements.
Disciplines:  Analysis & Design
Purpose
Reduce the risk of re-working the software architecture by illustrating at least one architecture that will support the requirements of the system.
Relationships
RolesPrimary Performer: Additional Performers:
InputsMandatory: Optional:
Outputs
Main Description

Projects are at risk of spending time developing an architecture that will not support the requirements of the system. This task mitigates the risk of reworking the architecture by describing at least one potential architecture via the Architectural Proof-of-Concept. The objective is to describe just enough of the architecture before building it to be confident that the approach will succeed.

Demonstrating that an architectural approach will succeed can be very informal or very formal. If a team is building software similar to systems they've done in the past, or on top of well understood frameworks (e.g. J2EE), it may take very little explanation to be confident of the architectural approach. If the team is new, or is building software based on new technology, significant research, description, and prototyping may be required before achieving enough confidence to proceed with a specific architecture.

Steps
Define objectives

Define the scope and objectives of the proof-of-concept.

Decide on construction approach

Select a format for the proof-of-concept that addresses the objectives.

Construct the proof-of-concept

Construct the architectural proof-of-concept using the chosen construction approach. This may involve one or more Developers.

Verify the proof-of-concept

Verify the proof-of-concept meets its objectives.

Communicate the proof-of-concept

Communicate the proof-of-concept to demonstrate to the stakeholders that the architecture will meet its objectives. This should include the project Stakeholder(s) as well as other technical team members who need to know, such as analysts, developers, testers

More Information