Architectural Coaching
Challenges:
How do you get started or optimize your
architecture-centric development activities?
- How do you establish driving architectural requirements for your product or product line?
- How do you scope your architecture?
- How do you develop architectural designs?
- How do you provide effective documentation for your architecture?
- How do you use architectural evaluation in developing your product or product line?
Overview:
Architecture coaching is a service SEI
provides to customers that have decided to introduce architecture-centric
development to their software organizations. SEI architects work directly with
a customer's developers to establish an architecture and architectural process
or to optimize an existing architecture and associated processes.
Benefits:
Architecture coaching helps your developers
learn how to establish an architecture that responds to critical system
qualities in your product.
Who Would Benefit:
Software development organizations
that develop medium to large scale software intensive systems. Significant
benefits can accrue to organizations that have to develop complex software
systems or systems whose success rests on critical non-functional system
attributes such as reliability, performance, security, and maintainability.
Description:
Architecture coaching involves SEI
architects working directly with a customer's development staff to assist and
train them in:
- Establishing or optimizing an architectural process.
- Defining an architecture for a single product or a product line.
A customer can request assistance for any number of architecture related activities including:
- Establishing the driving architectural requirements: Driving architectural requirements are obtained by analyzing the business drivers and system context as well as the issues deemed critical to system success by the product stakeholders. The goal is a specification for the architecture that directs the architects to create a structure for the system that is sufficient to ensure success in the eyes of the stakeholders. These requirements prevent creation of an architecture that is overly complex or that strives for unnecessary elegance at the expense of critical system properties.
- Scoping the architecture: Prior to defining an architecture the developers determine how many of the system design decisions should be established by the architecture of the system. This scope delimits the activities of application developers allowing them to concentrate on what they do best.
- Defining an architecture: Architectural structures and coordination strategies are developed that satisfy the driving architectural requirements. Alternative architecture solutions may be proposed and analyzed in order to identify an optimal solution for the product or product line being developed. When product lines are involved, SEI architects also assist customer staff in adapting the product line architecture to specific product requirements and fully fleshing out the architecture for an individual product.
- Evaluating the architecture: SEI architects working with customer staff determine when and what methods of architecture evaluation are appropriate then assist in applying the results to improve the developing architecture.
- Documenting the architecture: To be an effective plan for a product, the architecture must be documented in sufficient detail and in an easily accessible form for developers and other stakeholders. The architecture is one of the major mechanisms that allow stakeholders to communicate about the properties of a system. The SEI and the customer's staff work together to determine what views of the architecture are useful for the stakeholders, the amount of detail required, and how the information can be efficiently presented.
SEI architects can work with customers in a variety of coaching modes. Coaching may involve both direct participation in the development of the product architecture as well as training customer staff in architecture-centric development and in associated architecture process. Training may be accomplished by academic instruction and/or training by example. The overall goal is to help the customer's staff become proficient in all aspects of architecture-centric design for products or product lines.
Availability:
SEI staff will work with a customer's
development staff and, when appropriate and desirable, with their contractors
or subcontractors.
Additional Information:
Contact
us for additional technical details or to arrange architectural coaching
services.