SlideShare a Scribd company logo
1 of 22
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 designersNatalia Medina
 
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
 
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 Transformationdev2ops
 
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 MethodologyJess 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 2019Gervais 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 testerEdwin Dando
 
An Agile Development Primer
An Agile Development PrimerAn Agile Development Primer
An Agile Development PrimerDerek 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 IIBACraig Martin
 
Demystifying the Design Sprint
Demystifying the Design SprintDemystifying the Design Sprint
Demystifying the Design SprintFresh Tilled Soil
 
IBM Enterprise Design Thinking
IBM Enterprise Design ThinkingIBM Enterprise Design Thinking
IBM Enterprise Design ThinkingAhmed Reda Kraiz
 
Customer Driven Engineering is Product Management
Customer Driven Engineering is Product ManagementCustomer Driven Engineering is Product Management
Customer Driven Engineering is Product ManagementBen 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 ServerzOSCommserver
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile MethodologySapna 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 SDLCAbdul 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 Strategyuxpin
 
Agile Experience In Complex Projects
Agile Experience In Complex ProjectsAgile Experience In Complex Projects
Agile Experience In Complex ProjectsBorys 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
 
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...
 
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
 
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

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 

Recently uploaded (20)

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 

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