SlideShare a Scribd company logo
Introduction to AMMERSE
Jonathan Crossland
Semantal Institute
jonathancrossland@gmail.com
@jcrossland
AMMERSE
WHY quality?
WHY should we code better?
WHY should we design better?
WHY should we refactor better?
WHY should we iterate better?
WHY should we make better software
experiences?
The case for quality
 ROI will increase
 Working with complexity in a quality
environment costs less than dealing with
complexity in a 'no quality' environment
 Reactive is more expensive than proactive
 Overall satisfaction guaranteed
 You will feel better
 Your customers will love it more
But many things are subjective
What is good design?
How do you improve your design?
How do you know when its better?
How do you communicate design intention?
How do you improve your code?
How do combine all the advice out there?
How do you design for change?
How do you trust your team more?
How does design fit into proceses?
What is does minimal mean?
Does KISS or DRY still apply?
How does cohesion fit with my tooling?
Experience
 GOOD experience is valuable
 Experience is hard to quantify
 Some experience is subjective
 When we manage to communicate experience
in words, we can spread it
 Context of experience and applicability is also a
form of experience
 Some are intuitively brilliant, their experience
comes to the surface
 Digesting experience and embodying it can be
hard
 We are creatures of habit and we work in
typically very narrow experiences
 We need to collate experiences into our own
mindset and benefit from it where possible
Examples of Experience
 DRY, Dont Repeat Yourself (Andy Hunt and
Dave Thomas)
 KISS, Keep it stupid simple (Kelly Johnson)
 Code to abstractions not concretions,
dependency inversion (Robert C. Martin)
 Convention over configuration (David
Heinemeier Hansson)
 Domain-driven design (Eric Evans)
Step 1
 Categorize the experiences
 We can now understand the category of the advice
 We can go to a category and get a subset of
applicable advice
Step 2
Weight the experiences
 We can apply weights on the applicability of the
experience
 We can choose how much of that experience we
want to use in a given context
AMMERSE
Mmemonic for 7 Categories
Agile
Minimal
Maintainable
Environmental
Reachable
Solving
Extensible
AMMERSE
4 Cornerstones (MVP)
Agile
Minimal
Maintainable
Environmental
Reachable
Solving
Extensible
AMMERSE
Contraints
Agile + Extensible <> Minimal + Maintainable +
Environmental + Reachable + Solving
Solving + Minimal + Reachable > Agile
Reachable = Solving + Extensible
Basic Weights
Project A
Agile (0)
Minimal (0)
Maintainable (0)
Environmental (5)
Reachable (5)
Solving (5)
Extensible (0)
Project B
Agile (5)
Minimal (5)
Maintainable (3)
Environmental (5)
Reachable (3)
Solving (5)
Extensible (5)
Project A) Agile (0) Minimal (0) Maintainable (0) Environmental (5) Reachable (5) Solving (5) Extensible (0)
Project B) Agile (5) Minimal (5) Maintainable (3) Environmental (5) Reachable (3) Solving (5) Extensible (5)
Project A has Environmental considerations, a
tight deadline which must be Reached to Solve
the requirements
There is NO emphasis on Agile, Extensible or
Maintainable
Project A) Agile (0) Minimal (0) Maintainable (0) Environmental (5) Reachable (5) Solving (3) Extensible (0)
Project B) Agile (5) Minimal (5) Maintainable (3) Environmental (5) Reachable (3) Solving (5) Extensible (5)
Project B has Environmental considerations, a
deadline which should be Reached to Solve for
now and potentially future problems by providing
an Agile and Extensible solution to the
requirements
There is a strong emphasis on agility and
extensibility of the design to solve problems later
Design Language
Build a login system with
Agile (2), Minimal (5), Extensible (0)
A login that has some flexibility, but not overkill at this stage, keep it
simple and need,ready to be extended in code if need be.
Build a login system with
Extensible (5)
We want complete flexibility with plug-in like extensibility.
This is going to be a large part of our business.
Design Repository
Agile
Strategy Design Pattern, Observer, … , ...
Extensible
Microkernel, Adaptor, Documentation, ... , ...
Step 3
Create a map of where things are preferred in a life-cycle
Design phases
AgileDesign
is to alleviate the stress of change.
MinimalDesign
is a design that is small, efficient and elegant.
MaintainableDesign
is an easily maintainable design and implementation.
EnvironmentalDesign
is to be friendly to the environment, not pollute.
ReachableDesign
must be reachable, attainable goal.
SolvingDesign
must solve the problems it set out to solve.
ExtensibleDesign
is to allow extensibility to solve other problems later.
Whats next?
Now learn how to apply AMMERSE to
Architecture | Design Decisions | ChangePotential | Modeling | Process

More Related Content

Similar to AMMERSE Introduction

Designing for developers, developing for designers
Designing for developers, developing for designersDesigning for developers, developing for designers
Designing for developers, developing for designers
Natalia Medina
 
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a TransformationDevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
dev2ops
 
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...
Gene Kim
 
Building lean products with distributed agile teams
Building lean products with distributed agile teamsBuilding lean products with distributed agile teams
Building lean products with distributed agile teamsIgor Moochnick
 
Why Methods Trump Methodology
Why Methods Trump MethodologyWhy Methods Trump Methodology
Why Methods Trump Methodology
Jess McMullin
 
Gateway to Agile - Frameworks at TCS/Jile May 8 2019
Gateway to Agile - Frameworks at TCS/Jile May 8 2019Gateway to Agile - Frameworks at TCS/Jile May 8 2019
Gateway to Agile - Frameworks at TCS/Jile May 8 2019
Gervais Johnson, Advisor
 
Quality on agile projects what it means to you as a tester
Quality on agile projects   what it means to you as a testerQuality on agile projects   what it means to you as a tester
Quality on agile projects what it means to you as a tester
Edwin Dando
 
An Agile Development Primer
An Agile Development PrimerAn Agile Development Primer
An Agile Development Primer
Derek Winter
 
DesignChain Business-by-Design Workshop Pack for IIBA
DesignChain Business-by-Design Workshop Pack for IIBADesignChain Business-by-Design Workshop Pack for IIBA
DesignChain Business-by-Design Workshop Pack for IIBA
Craig Martin
 
Demystifying the Design Sprint
Demystifying the Design SprintDemystifying the Design Sprint
Demystifying the Design Sprint
Fresh Tilled Soil
 
L22 Architecture and Agile
L22 Architecture and AgileL22 Architecture and Agile
L22 Architecture and Agile
Ólafur Andri Ragnarsson
 
IBM Enterprise Design Thinking
IBM Enterprise Design ThinkingIBM Enterprise Design Thinking
IBM Enterprise Design Thinking
Ahmed Reda Kraiz
 
Customer Driven Engineering is Product Management
Customer Driven Engineering is Product ManagementCustomer Driven Engineering is Product Management
Customer Driven Engineering is Product Management
Ben Corn
 
IBM Design Thinking with z/OS Communications Server
IBM Design Thinking with z/OS Communications ServerIBM Design Thinking with z/OS Communications Server
IBM Design Thinking with z/OS Communications Server
zOSCommserver
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
Sapna Sood
 
Yes But What Do We Do?
Yes But What Do We Do?Yes But What Do We Do?
Yes But What Do We Do?
John Caswell
 
How to Implement Domain Driven Design in Real Life SDLC
How to Implement Domain Driven Design  in Real Life SDLCHow to Implement Domain Driven Design  in Real Life SDLC
How to Implement Domain Driven Design in Real Life SDLC
Abdul Karim
 
Mission Based UX Strategy (UX Strat USA 2015)
Mission Based UX Strategy (UX Strat USA 2015)Mission Based UX Strategy (UX Strat USA 2015)
Mission Based UX Strategy (UX Strat USA 2015)
Ben Judy
 
Mission-Based Experience Strategy
Mission-Based Experience StrategyMission-Based Experience Strategy
Mission-Based Experience Strategy
uxpin
 
Agile Experience In Complex Projects
Agile Experience In Complex ProjectsAgile Experience In Complex Projects
Agile Experience In Complex Projects
Borys Lebeda
 

Similar to AMMERSE Introduction (20)

Designing for developers, developing for designers
Designing for developers, developing for designersDesigning for developers, developing for designers
Designing for developers, developing for designers
 
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a TransformationDevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
 
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...
 
Building lean products with distributed agile teams
Building lean products with distributed agile teamsBuilding lean products with distributed agile teams
Building lean products with distributed agile teams
 
Why Methods Trump Methodology
Why Methods Trump MethodologyWhy Methods Trump Methodology
Why Methods Trump Methodology
 
Gateway to Agile - Frameworks at TCS/Jile May 8 2019
Gateway to Agile - Frameworks at TCS/Jile May 8 2019Gateway to Agile - Frameworks at TCS/Jile May 8 2019
Gateway to Agile - Frameworks at TCS/Jile May 8 2019
 
Quality on agile projects what it means to you as a tester
Quality on agile projects   what it means to you as a testerQuality on agile projects   what it means to you as a tester
Quality on agile projects what it means to you as a tester
 
An Agile Development Primer
An Agile Development PrimerAn Agile Development Primer
An Agile Development Primer
 
DesignChain Business-by-Design Workshop Pack for IIBA
DesignChain Business-by-Design Workshop Pack for IIBADesignChain Business-by-Design Workshop Pack for IIBA
DesignChain Business-by-Design Workshop Pack for IIBA
 
Demystifying the Design Sprint
Demystifying the Design SprintDemystifying the Design Sprint
Demystifying the Design Sprint
 
L22 Architecture and Agile
L22 Architecture and AgileL22 Architecture and Agile
L22 Architecture and Agile
 
IBM Enterprise Design Thinking
IBM Enterprise Design ThinkingIBM Enterprise Design Thinking
IBM Enterprise Design Thinking
 
Customer Driven Engineering is Product Management
Customer Driven Engineering is Product ManagementCustomer Driven Engineering is Product Management
Customer Driven Engineering is Product Management
 
IBM Design Thinking with z/OS Communications Server
IBM Design Thinking with z/OS Communications ServerIBM Design Thinking with z/OS Communications Server
IBM Design Thinking with z/OS Communications Server
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Yes But What Do We Do?
Yes But What Do We Do?Yes But What Do We Do?
Yes But What Do We Do?
 
How to Implement Domain Driven Design in Real Life SDLC
How to Implement Domain Driven Design  in Real Life SDLCHow to Implement Domain Driven Design  in Real Life SDLC
How to Implement Domain Driven Design in Real Life SDLC
 
Mission Based UX Strategy (UX Strat USA 2015)
Mission Based UX Strategy (UX Strat USA 2015)Mission Based UX Strategy (UX Strat USA 2015)
Mission Based UX Strategy (UX Strat USA 2015)
 
Mission-Based Experience Strategy
Mission-Based Experience StrategyMission-Based Experience Strategy
Mission-Based Experience Strategy
 
Agile Experience In Complex Projects
Agile Experience In Complex ProjectsAgile Experience In Complex Projects
Agile Experience In Complex Projects
 

Recently uploaded

Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 

Recently uploaded (20)

Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 

AMMERSE Introduction

  • 1. Introduction to AMMERSE Jonathan Crossland Semantal Institute jonathancrossland@gmail.com @jcrossland
  • 2. AMMERSE WHY quality? WHY should we code better? WHY should we design better? WHY should we refactor better? WHY should we iterate better? WHY should we make better software experiences?
  • 3. The case for quality  ROI will increase  Working with complexity in a quality environment costs less than dealing with complexity in a 'no quality' environment  Reactive is more expensive than proactive  Overall satisfaction guaranteed  You will feel better  Your customers will love it more
  • 4. But many things are subjective What is good design? How do you improve your design? How do you know when its better? How do you communicate design intention? How do you improve your code? How do combine all the advice out there?
  • 5. How do you design for change? How do you trust your team more? How does design fit into proceses? What is does minimal mean? Does KISS or DRY still apply? How does cohesion fit with my tooling?
  • 6. Experience  GOOD experience is valuable  Experience is hard to quantify  Some experience is subjective  When we manage to communicate experience in words, we can spread it  Context of experience and applicability is also a form of experience  Some are intuitively brilliant, their experience comes to the surface
  • 7.  Digesting experience and embodying it can be hard  We are creatures of habit and we work in typically very narrow experiences  We need to collate experiences into our own mindset and benefit from it where possible
  • 8. Examples of Experience  DRY, Dont Repeat Yourself (Andy Hunt and Dave Thomas)  KISS, Keep it stupid simple (Kelly Johnson)  Code to abstractions not concretions, dependency inversion (Robert C. Martin)  Convention over configuration (David Heinemeier Hansson)  Domain-driven design (Eric Evans)
  • 9. Step 1  Categorize the experiences  We can now understand the category of the advice  We can go to a category and get a subset of applicable advice
  • 10. Step 2 Weight the experiences  We can apply weights on the applicability of the experience  We can choose how much of that experience we want to use in a given context
  • 11. AMMERSE Mmemonic for 7 Categories Agile Minimal Maintainable Environmental Reachable Solving Extensible
  • 13. AMMERSE Contraints Agile + Extensible <> Minimal + Maintainable + Environmental + Reachable + Solving Solving + Minimal + Reachable > Agile Reachable = Solving + Extensible
  • 14. Basic Weights Project A Agile (0) Minimal (0) Maintainable (0) Environmental (5) Reachable (5) Solving (5) Extensible (0) Project B Agile (5) Minimal (5) Maintainable (3) Environmental (5) Reachable (3) Solving (5) Extensible (5)
  • 15. Project A) Agile (0) Minimal (0) Maintainable (0) Environmental (5) Reachable (5) Solving (5) Extensible (0) Project B) Agile (5) Minimal (5) Maintainable (3) Environmental (5) Reachable (3) Solving (5) Extensible (5) Project A has Environmental considerations, a tight deadline which must be Reached to Solve the requirements There is NO emphasis on Agile, Extensible or Maintainable
  • 16. Project A) Agile (0) Minimal (0) Maintainable (0) Environmental (5) Reachable (5) Solving (3) Extensible (0) Project B) Agile (5) Minimal (5) Maintainable (3) Environmental (5) Reachable (3) Solving (5) Extensible (5) Project B has Environmental considerations, a deadline which should be Reached to Solve for now and potentially future problems by providing an Agile and Extensible solution to the requirements There is a strong emphasis on agility and extensibility of the design to solve problems later
  • 17. Design Language Build a login system with Agile (2), Minimal (5), Extensible (0) A login that has some flexibility, but not overkill at this stage, keep it simple and need,ready to be extended in code if need be. Build a login system with Extensible (5) We want complete flexibility with plug-in like extensibility. This is going to be a large part of our business.
  • 18. Design Repository Agile Strategy Design Pattern, Observer, … , ... Extensible Microkernel, Adaptor, Documentation, ... , ...
  • 19. Step 3 Create a map of where things are preferred in a life-cycle
  • 21. AgileDesign is to alleviate the stress of change. MinimalDesign is a design that is small, efficient and elegant. MaintainableDesign is an easily maintainable design and implementation. EnvironmentalDesign is to be friendly to the environment, not pollute. ReachableDesign must be reachable, attainable goal. SolvingDesign must solve the problems it set out to solve. ExtensibleDesign is to allow extensibility to solve other problems later.
  • 22. Whats next? Now learn how to apply AMMERSE to Architecture | Design Decisions | ChangePotential | Modeling | Process