liveBook · Manning

Complicated problem

As explained in Collaborative Software Design: How to facilitate domain modeling decisions

A complicated problem is an ordered problem with predictable outcomes and an existing solution that requires expertise to understand or apply.

A complicated problem is ordered, produces predictable outcomes, and has an existing solution that requires expertise to understand or apply. The expertise often belongs to stakeholders who have performed the work for years. Collaborative modeling can therefore focus on making an established decision process easier to use or partly automating it. section 2.1.1

Deciding how long a movie should stay in a theater

Cinema stakeholders already know how to decide whether a movie should remain in a specific theater and when to reassess that decision. Rather than merely exporting weekly ticket totals, a useful system could support the decision, extend playtime, and notify the marketing application. This contrasts with a complex problem, where outcomes are uncertain and no fixed solution exists. section 2.1.1

How Collaborative Software Design: How to facilitate domain modeling decisions covers it

How deep it goes
Defines predictable outcomes and existing expertise, then distinguishes the concept from uncertain problems without detailing an implementation method.
Examples
Uses cinema playtime decisions, ticket-sales exports, notifications, and marketing-app integration as concrete examples.
What you can do after
Evaluate whether an established stakeholder process should be modeled, supported, or partly automated.
How it connects
Connects complicated problems with stakeholders, automation, software design, and complex problems.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Collaborative Software Design: How to facilitate domain modeling decisions. The section links point to the parts of the book it draws on.