Products that rely on software systems—and most do today— are developed to satisfy qualities such as performance, modifiability, and security.
Achieving these qualities is haphazard at best without a unifying vision of the product's software architecture. The SEI can enable your organization to use software architecture to assure that the product developed achieves its critical system qualities.
Using SEI architecture tools and methods, your development organization can
- develop (or select) the right architecture
- evaluate product development against that architecture
- document the architecture to provide a means to communicate with product stakeholders
Deciding on the right architecture, early on
Delivering the right system qualities starts with a full understanding of the organization's business goals. These business goals, often poorly understood and poorly articulated, serve as the foundation for many of the system's quality attribute and behavioral requirements.
Evaluating and improving the architecture
The architecture developed provides an artifact and forum for early analysis. Then the SEI works with the architects and managers to determine which business goals warrant attention and to propose alternatives to improve and evolve the architecture.
Communicating more effectively about system development
Communicating a software architecture to product stakeholders is as important a job as creating it. An architecture must be understood so that others—including testers, security analysts, and builders of interfacing systems—can analyze it, maintain it, and learn from it.