Last week I received an interesting response to my cardboard #dddesign thread. It inspired me to write another one.

A thread on why some problems aren't worth your time and effort. (1/13)

First, if you didn't read the original thread (2/13)
. @usdzshare says that instead of messing around with cardboards, the problem could be solved using a LiDAR equipped device + augmented reality app. What does it have to do with domain-driven design (#dddesign)? (3/13)
According to #dddesign, there are three types of problems: core, generic, and supporting. (4/13)
Solving a *core* problem is your business goal. Such problems require innovation. Either you're the first one to solve it or have a more efficient solution than your competitors. (5/13)
Solving *core* problems is the company's core business. How well you solve a core problem directly affects your company's bottom line. Hence, such problems deserve the most attention and effort. (6/13)
A *generic* problem, on the other hand, doesn't require any innovation. It's an already solved problem. Battle-proven, generic solutions exist and can be bought or adopted. E.g., encryption algorithms, authentication systems, etc. (7/13)
Solving a *generic* problem yourself is a waste. Even if you succeed, it won't bring any competitive advantage or financial benefits to the company. Using an existing solution for a generic problem is the cost-effective solution. (8/13)
Finally, as the name suggests, a *supporting* problem supports the company's core business. Although these activities have to be carried out to compete in the core business, they provide no competitive advantage. (9/13)
A company would prefer a supporting problem to turn into a generic one. For example, if an OSS solution comes out. Using someone else's solution is simpler than building your own, and it does not affect the company's profitability. (10/13)
What does it all have to do with that cardboard? @usdzshare suggests to treat the fridge fitting problem as a *generic* one: solution exists -- the AR app -- just use it. (11/13)
Truth be told, I did try a few AR apps first, but I couldn't trust the results. Probably because my phone has no LiDAR. Hence, for me, it was a *supporting* problem. I'd love to save the hassle of messing around with cardboards, but couldn't. (12/13)
P.S. What would be a core problem in this example? Probably making sure I can afford that fridge. That's the problem I have to solve myself. (13/13)

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Vladik Khononov

Vladik Khononov Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @vladikk

7 Dec 20
What do you see in the picture? A piece of cardboard? Some junk? No! — It’s a model!

Thread on models and bounded contexts 1/9

#DDDesign #BoundedContext
It’s a model of the Siemens KG86NAI31L fridge. The cardboard doesn’t look anything like the fridge? — That’s true but not important. A model is not a copy of a real-world entity but a construct supposed to solve a problem. 2/9
Hence, the correct question to ask is: what problem does this model solve? In our apartment, we have a weird entry to the kitchen. The cardboard’s is in the size of the fridge’s width and depth, and the problem it solves is checking whether it can make it through the door. 3/9
Read 9 tweets
4 Dec 20
For quite some time, I’ve been questioning some of the SOLID principles’ relevance, especially of the Liskov Substitution Principle (LSP).


Until I was hit in the face by it. 


Thread
First, the definition: LSP states that a program that uses an interface must not be confused by an implementation of the interface.
Now the story. At first, I really loved the idea of iCloud Drive: all the files you are copying into it are uploaded to the cloud storage and are downloaded automagically when you need them.
Read 6 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(