|
|
|
|
|
Activity:
Create Alternative Application Partitioning Designs (CMMI Level 3 : TS 1.1 )
|
|
Participating Roles
Responsible:
Architect
Developer
Accountable:
Architect |
The problem is analyzed, and different approaches are considered. A group of requirements are selected that represent key business and technological challenges. Examine the characteristics of these challenges, such as integration of legacy systems, predicting future needs based on current needs, reusability of code, and maintenance costs. Produce several alternative application diagrams with solutions to these challenges.
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 |
|