ASAF Manifesto
Mission statement (manifesto), represents a set of values, flowing directly from the vision. It clearly states the intentions in terms of what prescriptive changes should be made and how to develop agile software architecture.
Deliver Business Value
- Keep an eye on business objectives, such as strategy, effectiveness, efficiency and cost. Ensure architecture reduces or eliminates non-value added activities.
- Define metrics and KPIs aligned with business targets. Ensure control loopback compares KPIs with initial targets. Capabilities to support competitive advantage
Core Functional Subsystem
- Establish software architecture function as core organizational subsystem: such as planning, marketing or manufacturing
- Ensure architecture participates in full production cycle,including planning, designing, implementing and control/compliance phases.
- Establish software architecture as part of the organizational culture
Agile
- Develop adaptive systems architecture(s) capable of quick response to changes in technology and business landscape along various dimensions, such as hardware, software, development lifecycle, business process, organizational culture and structure with minimal impact to the underlying software systems.
Pragmatic in Effort & Documentation Level
- Produce minimal (lean) easy to understand and maintain architecture view(s) with sufficient level of information matching stakeholder requirements, project phase, problem domain, level of architecture adoption or delivery timelines to support high velocity software development process.
Evolutionary
- Evaluate and tailor different parts of ASAF, e.g. principals, method, and resource base to be more relevant; better reflect and adapt to current and future environmental conditions (both internal and external) and deliver more efficient and effective software solutions.
Guiding & Unifying
- Software architecture should act as unifying communication plane between different stakeholders and promote inclusiveness, traceability and understanding during solution making process•
- Democratizes software architecture within various technology and business teams. Build awareness and buy-in from different groups
- Integrate software architecture into different processes and disciplines such as business analysis, project management, systems and network administration, operations
Innovative & Entrepreneurial
- Conduct ongoing analysis of business, industry and technology trends and promote healthy dose of innovation as part of the solution where appropriate.
- Review application functions and data and look for entrepreneurial opportunities within the existing system to bring additional revenues to the organization or cut costs.
Knowledge Building
- Build architectural knowledge and help develop architecture skills within cross-functional, problem solving and self-managing product teams. Ensure technology teams are actively engaged into acquiring and applying architecture knowledge in day-to-day activities.