SlideShare a Scribd company logo
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

PPT
Lean startup - Startup Weekend Tucson
PPTX
UC Berkeley Data Science Webinar
PPT
Building lean products with distributed agile teams
PPTX
Larissa
PPT
Itp251 Chptr6
PPT
Range estimation in Scrum
PDF
The Product Mindset- Jonny Schneider (ThoughtWorks Live)
PDF
Keynote: Can you teach a 150-year-old dog new tricks?
Lean startup - Startup Weekend Tucson
UC Berkeley Data Science Webinar
Building lean products with distributed agile teams
Larissa
Itp251 Chptr6
Range estimation in Scrum
The Product Mindset- Jonny Schneider (ThoughtWorks Live)
Keynote: Can you teach a 150-year-old dog new tricks?

What's hot (17)

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

Similar to Ammerse - SolvingDesign Introduction (20)

PPTX
Digests for the book "Scalability Rules: 50 Principles for Scaling Web Sites"
PPT
Speed And Quality Of Development
PDF
Solution Architecture and Solution Complexity
PPTX
User Centered Execution for Mobile UX Designers
PPTX
concept generation in product design and development.pptx
PPTX
PPTX
Execute for Every Screen
PDF
softwareengineeringpractice-141002214920-phpapp02 (1).pdf
PPTX
3.pptx
DOCX
Software engineering Questions and Answers
PDF
Removing the Systemic Project Barriers
PDF
Agile for digital library projects
PPTX
Problem solving - A presentation at IISc
PDF
SADT & IDEF0 for Augmenting UML, Algile & Usability Engineering
PDF
It Role State Exploration 7 Nov Illumine
PPTX
Software Engineering Practice
PDF
Excavating the knowledge of our ancestors
PDF
Death by a thousand paper cuts — Alexandra Leisse - Codemotion Amsterdam 2017
DOCX
Csc 102 lecture note(introduction to problem solving)
PPTX
Strange Bedfellows? Agile and Architecture
Digests for the book "Scalability Rules: 50 Principles for Scaling Web Sites"
Speed And Quality Of Development
Solution Architecture and Solution Complexity
User Centered Execution for Mobile UX Designers
concept generation in product design and development.pptx
Execute for Every Screen
softwareengineeringpractice-141002214920-phpapp02 (1).pdf
3.pptx
Software engineering Questions and Answers
Removing the Systemic Project Barriers
Agile for digital library projects
Problem solving - A presentation at IISc
SADT & IDEF0 for Augmenting UML, Algile & Usability Engineering
It Role State Exploration 7 Nov Illumine
Software Engineering Practice
Excavating the knowledge of our ancestors
Death by a thousand paper cuts — Alexandra Leisse - Codemotion Amsterdam 2017
Csc 102 lecture note(introduction to problem solving)
Strange Bedfellows? Agile and Architecture
Ad

Recently uploaded (20)

PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
System and Network Administraation Chapter 3
PDF
Nekopoi APK 2025 free lastest update
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
System and Network Administration Chapter 2
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
Computer Software and OS of computer science of grade 11.pptx
PPTX
L1 - Introduction to python Backend.pptx
PPTX
ai tools demonstartion for schools and inter college
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
PTS Company Brochure 2025 (1).pdf.......
Reimagine Home Health with the Power of Agentic AI​
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
wealthsignaloriginal-com-DS-text-... (1).pdf
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
Understanding Forklifts - TECH EHS Solution
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
System and Network Administraation Chapter 3
Nekopoi APK 2025 free lastest update
Navsoft: AI-Powered Business Solutions & Custom Software Development
Odoo Companies in India – Driving Business Transformation.pdf
System and Network Administration Chapter 2
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Computer Software and OS of computer science of grade 11.pptx
L1 - Introduction to python Backend.pptx
ai tools demonstartion for schools and inter college
Digital Systems & Binary Numbers (comprehensive )
PTS Company Brochure 2025 (1).pdf.......

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.