|The complex systems being deployed today must be built to stand the test of time, often supporting numerous product line enhancements and platform migrations over a serviceable lifetime of more than a decade. A well-designed software architecture is the key to creating top-notch, modifiable, scalable systems, with the lowest risk of being late. Software architecture analysis, design, documentation and evaluation methods have matured significantly over the past couple of years. Symphony architecture consulting services help our clients leverage the best new ideas while reducing the risks inherent in any complex system architecture.
Symphony software architecture services incorporate architectural evaluation methodologies such as SAAM and ATAM (developed by the Software Engineering Institute) and an extensive base of experience in designing complex software systems. There are four major components:
Bounding the problem, and assessing the impact of the requirements and other forces.
||Analysis activities include prioritizing stakeholders, and defining business goals within the system's environmental context. Business drivers are examined to understand the most important functions, value propositions, and the known technical, organizational, economic, political, legislative, and regulatory constraints.
Prioritizing and categorizing the architectural challenges with the largest impact on significant quality attributes and generating a suitable architecture.
Recording the key architectural decisions, the decision rationale, and the important structural components of the architecture.
Reviewing the solution for suitability to achieve the desired system behavior, providing a rationale for the recommended alternative, and conducting a conceptual integrity review to ensure the components make a workable well-integrated solution.