SlideShare a Scribd company logo
1 of 13
AMMERSE - SolvingDesign
Jonathan Crossland
Semantal Institute
jonathancrossland@gmail.com
@jcrossland
Principle 6 - SolvingDesign
"... must solve the problems it set out to solve"
“The best way to escape from a problem is to
solve it” - Brendan Francis
Issues with Solving
 We create solutions that create problems
 We solve problems for now
 We under-solve problems
 We solve problems for later not now
 We solve problems awkwardly
 We solve non problems
 We solve problems that later expand
 We solve problems that later dissapear
Quality Solving is
 Solve for now and make a gain on tomorrow
 Solve with consistency
 Solve with robustness
 Solve with efficiency
 Solve with elegance
 Solve completely
Conflicts / Constraints
 Time
 Complexity of the problem
 Lack of Experience
 Lack of Domain Knowledge
 Confusion on requirements
 Incorrect understanding of the problem
 Overkilling the solution
Solving completely (ish)
By mixing AgileDesign and ExtensibleDesign with
SolvingDesign, we can begin to solve tomorrow's problems
or allow easier solving later.
Solving completely (ish)
Preparing the design for later, by simply leaving the room to
grow and introducing Minimal concepts and abstractions.
Avoid constraining the code with specific naming, types and
interfaces.
Example: favour lists of, even if you have instruction that its
only one. Vehicle.Drivers – not Vehicle.Driver
Solving completely (ish)
Depend on abstractions not concretions.
Is there ChangePotential?
Evaluate and deal with what may change now, before the
code gets more complicated and difficult.
But use wisely in pressing areas (where change would be
imminent and close), as overuse can lead to overkill.
Solving completely (ish)
Check ReachableDesign and MinimalDesign to constrain
your efforts. You can defer solving problems to a later date.
With an eye on what is pragmatic.
Solving completely (ish)
Separation of Concerns, High Cohesion, Single
Responsibility, DeCoupling are a few principles that would
apply here.
These are AgileDesign principles.
Check your project iteration constraints and see how much
AgileDesign will be neccesary.
Solving Clues
Favour doing something for
If the business requirements changed subtly, how would it
affect the code?
OVER
If the business requirements changed significantly, as in
changed to a new industry/domain, what percentage of the
code would be still usable with no change?
Other Solving considerations
Ask a team member if something is necessary.
Ask if a particular aspect of the requirement could change
soon, later, ever, not likely?
Is the problem is too large to solve completely?
How core is this feature to the system?
Want to learn more?
And yes there is lots more..
I run courses on AMMERSE, for which this is just 1 of 7
principles.

More Related Content

What's hot

2015 Lean Startup Conference - Leaders' Guide Workshop
2015 Lean Startup Conference - Leaders' Guide Workshop2015 Lean Startup Conference - Leaders' Guide Workshop
2015 Lean Startup Conference - Leaders' Guide WorkshopJanice Fraser
 
Lean Startup101 2014-05-07
Lean Startup101 2014-05-07Lean Startup101 2014-05-07
Lean Startup101 2014-05-07Guita Gopalan
 
Id camp x dicoding live : persiapan jadi software engineer hebat 101
Id camp x dicoding live : persiapan jadi software engineer hebat 101Id camp x dicoding live : persiapan jadi software engineer hebat 101
Id camp x dicoding live : persiapan jadi software engineer hebat 101DicodingEvent
 
Planning Poker
Planning PokerPlanning Poker
Planning Pokervineet
 
Project Management Growth Practices
Project Management Growth PracticesProject Management Growth Practices
Project Management Growth PracticesAmir Shokri
 
Getting To Product Market Fit Quickly
Getting To Product Market Fit QuicklyGetting To Product Market Fit Quickly
Getting To Product Market Fit QuicklySam McAfee
 
Let's build great products for mid-size companies
Let's build great products for mid-size companiesLet's build great products for mid-size companies
Let's build great products for mid-size companiesTu Pham
 
Agile at enterprice level
Agile at enterprice levelAgile at enterprice level
Agile at enterprice levelJan De Baere
 
Designing for complex business problems
Designing for complex business problems Designing for complex business problems
Designing for complex business problems HelloMeets
 
How to use software house to get the most out of it?
How to use software house to get the most out of it?How to use software house to get the most out of it?
How to use software house to get the most out of it?Piotr Biegun
 
Technical Debt and Selling Rearchitecture
Technical Debt and Selling RearchitectureTechnical Debt and Selling Rearchitecture
Technical Debt and Selling RearchitectureSergey Sundukovskiy
 
[DevDay2018] So you wanna be a project manager - By: Steve Choi, Program Dire...
[DevDay2018] So you wanna be a project manager - By: Steve Choi, Program Dire...[DevDay2018] So you wanna be a project manager - By: Steve Choi, Program Dire...
[DevDay2018] So you wanna be a project manager - By: Steve Choi, Program Dire...DevDay.org
 
Backround Information - March
Backround Information - MarchBackround Information - March
Backround Information - MarchDeann Souza
 
Rob lambert10 Behaviors of Effective Employees" at OnlineTestConf.
Rob lambert10 Behaviors of Effective Employees" at OnlineTestConf.Rob lambert10 Behaviors of Effective Employees" at OnlineTestConf.
Rob lambert10 Behaviors of Effective Employees" at OnlineTestConf.PractiTest
 
[VFS 2019] Project Management for AI-based Product - A Better Approach
[VFS 2019] Project Management for AI-based Product - A Better Approach[VFS 2019] Project Management for AI-based Product - A Better Approach
[VFS 2019] Project Management for AI-based Product - A Better ApproachNexus FrontierTech
 

What's hot (18)

CDI Founder Workshop Session 8 - Minimum Viable Concept (Fall 2016)
CDI Founder Workshop Session 8 - Minimum Viable Concept (Fall 2016)CDI Founder Workshop Session 8 - Minimum Viable Concept (Fall 2016)
CDI Founder Workshop Session 8 - Minimum Viable Concept (Fall 2016)
 
2015 Lean Startup Conference - Leaders' Guide Workshop
2015 Lean Startup Conference - Leaders' Guide Workshop2015 Lean Startup Conference - Leaders' Guide Workshop
2015 Lean Startup Conference - Leaders' Guide Workshop
 
Lean Startup101 2014-05-07
Lean Startup101 2014-05-07Lean Startup101 2014-05-07
Lean Startup101 2014-05-07
 
Id camp x dicoding live : persiapan jadi software engineer hebat 101
Id camp x dicoding live : persiapan jadi software engineer hebat 101Id camp x dicoding live : persiapan jadi software engineer hebat 101
Id camp x dicoding live : persiapan jadi software engineer hebat 101
 
Planning Poker
Planning PokerPlanning Poker
Planning Poker
 
Project Management Growth Practices
Project Management Growth PracticesProject Management Growth Practices
Project Management Growth Practices
 
Getting To Product Market Fit Quickly
Getting To Product Market Fit QuicklyGetting To Product Market Fit Quickly
Getting To Product Market Fit Quickly
 
Let's build great products for mid-size companies
Let's build great products for mid-size companiesLet's build great products for mid-size companies
Let's build great products for mid-size companies
 
Agile at enterprice level
Agile at enterprice levelAgile at enterprice level
Agile at enterprice level
 
What's a Product Manager?
What's a Product Manager? What's a Product Manager?
What's a Product Manager?
 
Designing for complex business problems
Designing for complex business problems Designing for complex business problems
Designing for complex business problems
 
How to use software house to get the most out of it?
How to use software house to get the most out of it?How to use software house to get the most out of it?
How to use software house to get the most out of it?
 
Technical Debt and Selling Rearchitecture
Technical Debt and Selling RearchitectureTechnical Debt and Selling Rearchitecture
Technical Debt and Selling Rearchitecture
 
[DevDay2018] So you wanna be a project manager - By: Steve Choi, Program Dire...
[DevDay2018] So you wanna be a project manager - By: Steve Choi, Program Dire...[DevDay2018] So you wanna be a project manager - By: Steve Choi, Program Dire...
[DevDay2018] So you wanna be a project manager - By: Steve Choi, Program Dire...
 
[XP Day Vietnam 2015] XP is not windows XP
[XP Day Vietnam 2015] XP is not windows XP[XP Day Vietnam 2015] XP is not windows XP
[XP Day Vietnam 2015] XP is not windows XP
 
Backround Information - March
Backround Information - MarchBackround Information - March
Backround Information - March
 
Rob lambert10 Behaviors of Effective Employees" at OnlineTestConf.
Rob lambert10 Behaviors of Effective Employees" at OnlineTestConf.Rob lambert10 Behaviors of Effective Employees" at OnlineTestConf.
Rob lambert10 Behaviors of Effective Employees" at OnlineTestConf.
 
[VFS 2019] Project Management for AI-based Product - A Better Approach
[VFS 2019] Project Management for AI-based Product - A Better Approach[VFS 2019] Project Management for AI-based Product - A Better Approach
[VFS 2019] Project Management for AI-based Product - A Better Approach
 

Similar to Ammerse - SolvingDesign Introduction

Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile designIgor Moochnick
 
Architecting Solutions and Systems – Randy’s Secrets to Success
Architecting Solutions and Systems – Randy’s Secrets to SuccessArchitecting Solutions and Systems – Randy’s Secrets to Success
Architecting Solutions and Systems – Randy’s Secrets to SuccessRandy Williams
 
PS-Problem-Solving-Toolkit.pptx
PS-Problem-Solving-Toolkit.pptxPS-Problem-Solving-Toolkit.pptx
PS-Problem-Solving-Toolkit.pptxAbdirazaqAhmed
 
Why Methods Trump Methodology
Why Methods Trump MethodologyWhy Methods Trump Methodology
Why Methods Trump MethodologyJess McMullin
 
beginners_guide_to_designing_apps_and_interfaces_1_0
beginners_guide_to_designing_apps_and_interfaces_1_0beginners_guide_to_designing_apps_and_interfaces_1_0
beginners_guide_to_designing_apps_and_interfaces_1_0Jesse Flores
 
Better SAFe than sorry - Why scaled agile frameworks do not necessarily impro...
Better SAFe than sorry - Why scaled agile frameworks do not necessarily impro...Better SAFe than sorry - Why scaled agile frameworks do not necessarily impro...
Better SAFe than sorry - Why scaled agile frameworks do not necessarily impro...Conny Dethloff
 
Building Lean Products with Distributed Agile Teams - Igor Moochnick at Produ...
Building Lean Products with Distributed Agile Teams - Igor Moochnick at Produ...Building Lean Products with Distributed Agile Teams - Igor Moochnick at Produ...
Building Lean Products with Distributed Agile Teams - Igor Moochnick at Produ...ProductCamp Boston
 
Requirements gathering for developers
Requirements gathering for developersRequirements gathering for developers
Requirements gathering for developersDorje McKinnon
 
Arch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best PracticesArch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best PracticesIgor Moochnick
 
Innovation Tools applied to Problem Solving.pptx
Innovation Tools applied to Problem Solving.pptxInnovation Tools applied to Problem Solving.pptx
Innovation Tools applied to Problem Solving.pptxtechdirector1
 
Consulting toolkit defining the question
Consulting toolkit   defining the questionConsulting toolkit   defining the question
Consulting toolkit defining the questionchrisdoran
 
L'illusione dell'ortogonalità
L'illusione dell'ortogonalitàL'illusione dell'ortogonalità
L'illusione dell'ortogonalitàAlberto Brandolini
 
A Systematic Approach to Design Critique
A Systematic Approach to Design CritiqueA Systematic Approach to Design Critique
A Systematic Approach to Design CritiqueTryMyUI
 
Driving Business Impact for PMs with Jon Harmer
Driving Business Impact for PMs with Jon HarmerDriving Business Impact for PMs with Jon Harmer
Driving Business Impact for PMs with Jon HarmerAggregage
 
He mian agile project-inception
He mian   agile project-inceptionHe mian   agile project-inception
He mian agile project-inceptionOdd-e
 
Critical Hit! The importance of critique and how to effectively integrate it ...
Critical Hit! The importance of critique and how to effectively integrate it ...Critical Hit! The importance of critique and how to effectively integrate it ...
Critical Hit! The importance of critique and how to effectively integrate it ...jpmcardle
 
Are Agile Projects Doomed to Half-Baked Design?
Are Agile Projects Doomed to Half-Baked Design?Are Agile Projects Doomed to Half-Baked Design?
Are Agile Projects Doomed to Half-Baked Design?theinfonaut
 
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
 

Similar to Ammerse - SolvingDesign Introduction (20)

AMMERSE Introduction
AMMERSE IntroductionAMMERSE Introduction
AMMERSE Introduction
 
Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile design
 
Architecting Solutions and Systems – Randy’s Secrets to Success
Architecting Solutions and Systems – Randy’s Secrets to SuccessArchitecting Solutions and Systems – Randy’s Secrets to Success
Architecting Solutions and Systems – Randy’s Secrets to Success
 
PS-Problem-Solving-Toolkit.pptx
PS-Problem-Solving-Toolkit.pptxPS-Problem-Solving-Toolkit.pptx
PS-Problem-Solving-Toolkit.pptx
 
Why Methods Trump Methodology
Why Methods Trump MethodologyWhy Methods Trump Methodology
Why Methods Trump Methodology
 
beginners_guide_to_designing_apps_and_interfaces_1_0
beginners_guide_to_designing_apps_and_interfaces_1_0beginners_guide_to_designing_apps_and_interfaces_1_0
beginners_guide_to_designing_apps_and_interfaces_1_0
 
Better SAFe than sorry - Why scaled agile frameworks do not necessarily impro...
Better SAFe than sorry - Why scaled agile frameworks do not necessarily impro...Better SAFe than sorry - Why scaled agile frameworks do not necessarily impro...
Better SAFe than sorry - Why scaled agile frameworks do not necessarily impro...
 
Building Lean Products with Distributed Agile Teams - Igor Moochnick at Produ...
Building Lean Products with Distributed Agile Teams - Igor Moochnick at Produ...Building Lean Products with Distributed Agile Teams - Igor Moochnick at Produ...
Building Lean Products with Distributed Agile Teams - Igor Moochnick at Produ...
 
Requirements gathering for developers
Requirements gathering for developersRequirements gathering for developers
Requirements gathering for developers
 
Arch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best PracticesArch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best Practices
 
Innovation Tools applied to Problem Solving.pptx
Innovation Tools applied to Problem Solving.pptxInnovation Tools applied to Problem Solving.pptx
Innovation Tools applied to Problem Solving.pptx
 
MVP
MVPMVP
MVP
 
Consulting toolkit defining the question
Consulting toolkit   defining the questionConsulting toolkit   defining the question
Consulting toolkit defining the question
 
L'illusione dell'ortogonalità
L'illusione dell'ortogonalitàL'illusione dell'ortogonalità
L'illusione dell'ortogonalità
 
A Systematic Approach to Design Critique
A Systematic Approach to Design CritiqueA Systematic Approach to Design Critique
A Systematic Approach to Design Critique
 
Driving Business Impact for PMs with Jon Harmer
Driving Business Impact for PMs with Jon HarmerDriving Business Impact for PMs with Jon Harmer
Driving Business Impact for PMs with Jon Harmer
 
He mian agile project-inception
He mian   agile project-inceptionHe mian   agile project-inception
He mian agile project-inception
 
Critical Hit! The importance of critique and how to effectively integrate it ...
Critical Hit! The importance of critique and how to effectively integrate it ...Critical Hit! The importance of critique and how to effectively integrate it ...
Critical Hit! The importance of critique and how to effectively integrate it ...
 
Are Agile Projects Doomed to Half-Baked Design?
Are Agile Projects Doomed to Half-Baked Design?Are Agile Projects Doomed to Half-Baked Design?
Are Agile Projects Doomed to Half-Baked Design?
 
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
 

Recently uploaded

Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
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.
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 

Recently uploaded (20)

Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
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...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 

Ammerse - SolvingDesign Introduction

  • 1. AMMERSE - SolvingDesign Jonathan Crossland Semantal Institute jonathancrossland@gmail.com @jcrossland
  • 2. Principle 6 - SolvingDesign "... must solve the problems it set out to solve" “The best way to escape from a problem is to solve it” - Brendan Francis
  • 3. Issues with Solving  We create solutions that create problems  We solve problems for now  We under-solve problems  We solve problems for later not now  We solve problems awkwardly  We solve non problems  We solve problems that later expand  We solve problems that later dissapear
  • 4. Quality Solving is  Solve for now and make a gain on tomorrow  Solve with consistency  Solve with robustness  Solve with efficiency  Solve with elegance  Solve completely
  • 5. Conflicts / Constraints  Time  Complexity of the problem  Lack of Experience  Lack of Domain Knowledge  Confusion on requirements  Incorrect understanding of the problem  Overkilling the solution
  • 6. Solving completely (ish) By mixing AgileDesign and ExtensibleDesign with SolvingDesign, we can begin to solve tomorrow's problems or allow easier solving later.
  • 7. Solving completely (ish) Preparing the design for later, by simply leaving the room to grow and introducing Minimal concepts and abstractions. Avoid constraining the code with specific naming, types and interfaces. Example: favour lists of, even if you have instruction that its only one. Vehicle.Drivers – not Vehicle.Driver
  • 8. Solving completely (ish) Depend on abstractions not concretions. Is there ChangePotential? Evaluate and deal with what may change now, before the code gets more complicated and difficult. But use wisely in pressing areas (where change would be imminent and close), as overuse can lead to overkill.
  • 9. Solving completely (ish) Check ReachableDesign and MinimalDesign to constrain your efforts. You can defer solving problems to a later date. With an eye on what is pragmatic.
  • 10. Solving completely (ish) Separation of Concerns, High Cohesion, Single Responsibility, DeCoupling are a few principles that would apply here. These are AgileDesign principles. Check your project iteration constraints and see how much AgileDesign will be neccesary.
  • 11. Solving Clues Favour doing something for If the business requirements changed subtly, how would it affect the code? OVER If the business requirements changed significantly, as in changed to a new industry/domain, what percentage of the code would be still usable with no change?
  • 12. Other Solving considerations Ask a team member if something is necessary. Ask if a particular aspect of the requirement could change soon, later, ever, not likely? Is the problem is too large to solve completely? How core is this feature to the system?
  • 13. Want to learn more? And yes there is lots more.. I run courses on AMMERSE, for which this is just 1 of 7 principles.