Click to add Title
Agile Architecture
e-Infochips Institute of Training Research and Academics Limited
Prepared By:Monika SanghaniNirali Savani
2
Motivation
Design Process
Construction Flavor
Conclusion
Takeaways
Innovation Drives Business…
• Evolutionary Innovation keeps your business running only and is not in focus of the business nowadays (e.g. VW Beetle).
• Revolutionary Innovation guarantees nowadays the business success (e.g. electric car)
• Disruptive Innovation changes existing or creates new markets causing old business to die (e.g. digital camera).
…and requires supporting IT.
Motivation
Revolutionary or Disruptive Driven Business…
• Architecture is the fundamental organization of a system embodied in its components, their relationships to each other, and to the environment and the principles guiding its design and evolution.
• Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change.
• Architecture is non-functional. Architecture is about Quality.
…needs Architecture, Agile Architecture.
Architecture Empowers…
• Declarative knowledge is the type of knowledge that is, by its very nature, expressed in declarative sentences or indicative propositions.
• Declarative knowledge focuses on the answer to the question “why am I able to do it”.
• Procedural knowledge in opposition focuses on the answer to the question “how to do it”.
…Declarative Knowledge.
The Promise of the Agile Architecture
• Reduction of risks throughout transparency, abstractions and partitioning.
• Precise definition and understanding of your business.
• Active collaboration of the domain and IT experts on the software design.
• Clean definition of the boundaries around abstractions.
• Better organization of your enterprise architecture.
Agile Architecture Focuses On Simplicity using Transparency, Abstractions and Partitioning
• Transparency investigates the “as-is” architectural state.
• Abstractions focus using models on the essential architectural challenges.
• Partitioning creates taxonomy for grouping architectural elements.
…Complexity is the Disease , Simplicity is the Cure
Transparency Helps to Define As-Is and Desired State.
Abstractions Help to Find Solutions to the Real World Problems.
Partitioning Helps to Structure the Functionality of a Software System
• Reduces complexity of any system.• Closely related to a mathematical
concept known as equivalence relations.
• The most important equivalence relation, from the perspective of enterprise architecture, is synergy.
• Two functions are synergistic when each requires the other to be effective.
• Synergy is closely related to an inverse equivalence relation called autonomy.
Interaction Between Business and IT Architectures
Design Process
Functional Domains Represent the Glue between Business and IT Architectures
Agile Architecture is Based on the Lean Process Principles
• Defer commitment and decide as late as possible• Deliver as fast as possible• See and optimize the whole• Work iterative and incremental
How Much Architecture Remains Agile?
Agile Architecture in 10 Steps
Are From Design Process : Step 1: Identification of the Business Domains
Step 2: Creation of a Business Entity Model
Step 3: Creation of the Ubiquitous Language
Step 4: Definition of the Initial Process Architecture
Step 5: Modelling of the Core Business Processes
Step 6: Definition of Vertical Requirements Based on Process Models
Are From Construction flavor :
Step 7: Definition of the Bounded Contexts
Step 8: Definition of the BD/QA(Business Domain/Quality Attribute) Relevancy Matrix
Step 9: Definition of the Solution Strategies
Step 10: Definition of the Building Blocks
Agile Architecture is Business Centric
Construction Flavor
Agile Architecture Uses Core Concepts of Domain Driven Design
• At the heart of DDD (Domain Driven Design) lies the concept of the domain model.
• Domain models are typically composed of elements such as entities, value objects, aggregates, and described using terms from a ubiquitous language.
• A bounded context is the context for one particular domain model and defines implementation boundaries.
Quality(non-Functional) Attributes that Drive Agile Architecture
• Performance and Scalability -ability of asystem to predictably execute within its mandated performance profile and to handle increased processing volumes in the future.
• Availability and Resilience -ability of a system to be fully or partly operational as and when required and to effectively handle failures that could affect system availability.
• Evolution-ability of a system to be flexible in the face of the inevitable change that all systems experience after deployment, balanced against the costs of providing such flexibility.
• Security-ability of the system to reliably control, monitor, and audit who can perform what actions on which resources and the ability to detect and recover from security breaches.
Solution Strategies Are Backbone of the Agile Architecture
• Solution strategies are core concept of the agile architecture due their focus on business value delivered by the solution.
• Solution strategies allow proper reasoning about architecture describing internal structure of the elements and collaboration between them.
• Best created using composite UML diagram type.
Building Blocks Make Business Architecture Part of IT
• Building Blocks are counterparts to the Solution Strategies
• They focus on the technical design used where it should have most pay-off
• Similar to the solution strategies, building blocks describe elements and their relations
• Best created using components UML diagram type
Agile Architecture Process Summary Review, Refine & Extend, Repeat
Agile Architecture : Takeaways
Thank you