MSF for CMMI Process Improvement Visual Studio Team System logo

Activity:

Create Alternative Application Partitioning Designs (CMMI Level 3 : TS 1.1 )

Participating Roles

Responsible:

Architect

Developer

Accountable:

Architect

Overview

Entry Criteria

    When:

    • Project begins or iteration begins.

    Dependencies:

    • Existing Enterprise Architecture: Application diagrams must fit into existing enterprise architecture.
    • Product Requirements: Must be approved for current iteration.
    • Domain Model: Includes object or data models.
    • Quality of Service Requirements: Used to identify architectural challenges.
    • Scenarios: Used to identify architectural challenges.

    Sub-Activities

    1

    Establish Application Challenge Criteria

    • Determine which criteria to use to identify requirements and scenarios that represent significant architectural challenges.
    • Consult the existing enterprise architecture documents for criteria. Review any business requirements, technical requirements, and enterprise standards that must be applied to new applications.
    • Capture additional criteria that are known to be architecturally significant, such as integration with legacy systems, reusability of code, reusing existing vendor libraries and platforms, and controlling maintenance costs.
    • Capture additional criteria that represent risks and cost when implementing a technical solution.

    2

    Select Candidate Group of Requirements

    • Evaluate each quality of service requirement and product requirement against the challenge criteria. If a requirement represents an architectural challenge, consider it a candidate for modeling.
    • For example, a requirement that the new product must support older customer databases meets the criteria of integrating with legacy systems. Such a requirement is a candidate for modeling how the integration would work.

    3

    Select Candidate Group of Scenarios

    • Evaluate each scenario against the challenge criteria. If a scenario represents an architectural challenge, consider it a candidate for modeling.
    • For example, a scenario in which the user downloads a client update meets the criteria concerning maintenance costs. Such a scenario is a candidate for modeling how best to handle client updates.

    4

    Reduce Candidate Group

    • Review the candidate scenarios and requirements. Remove scenarios and requirements that duplicate the challenge criteria or are better represented by other scenarios and requirements. Trim the candidate group to a core group representing the key architectural challenges, risks, and costs of the new application.
    • Keep the scenarios and requirements that best represent the challenge criteria, and that present the most risk, and present the most potential cost when architecting for a technical solution.
    • Keep the scenarios and requirements that are the most comprehensive or key parts of the application.

    5

    Create Application Diagrams

    • From the remaining candidate requirements and scenarios, devise several potential architectural solutions by creating application diagrams for each approach.
    • In each approach, consider different vendor libraries, technologies, platforms, code reuse and other important architectural considerations.
    • Create an application diagram for each approach.
    • Check each application diagram into source control.

    Exit Criteria

    Application diagrams for each architectural approach are created.

    (C) 2005 Microsoft Corporation. All rights reserved.

    MSF for CMMI Process Improvement: Build 050707