To be successful, every system needs a good architecture and that requires the use of a good architecture engineering method. However, systems vary greatly in size, complexity, criticality, domain, operational dependence on other systems, the technology used and its diversity, requirements volatility, required quality characteristics and attributes, and volatility of technology and component parts. Development organizations vary greatly in degrees of centralization, management culture, engineering culture, and staff expertise and experience. Endeavors (projects and programs of related projects) vary greatly in their contracts, types, lifecycle scopes, schedules, and funding. Stakeholders vary greatly in type, numbers, authority, and accessibility. These are reasons why one size does not fit all, and no single system architecture engineering method or standard is sufficiently general and tailorable to meet the needs of all endeavors.
Based on the concept of situational method engineering, the Method Framework for Engineering System Architectures (MFESA) addresses these challenges by helping system architects, process engineers, and technical managers to develop appropriate, project-specific system architecture engineering methods that can be used to effectively and efficiently engineer appropriate high-quality system architectures for their systems. MFESA is a four part method framework consisting of (1) an ontology of system architecture engineering concepts and terminology, (2) a repository of reusable architecture engineering method components based on (3) an underlying metamodel, as well as (4) a metamethod for selecting, tailoring, and integrating the appropriate method components to produce the architecture engineering method.