Skip to content

Problem

A Problem is what an ICP struggles with, in their own words: how they solve it today and what it costs them.

Properties

PropertyTypeRequiredDescription
statementtextrequiredThe struggle, in the words of the ICP.
costPerPeriodjsonWhat the Problem costs the ICP per period: hours times wage, or the spend on what they hire today.
addressjsonThe opportunity map cell it sits on: an occupation, a task it performs, and an industry.
momenttextThe moment the job starts, with the observable trigger that marks it.
progresstextThe progress the ICP wants, from the state before to the state after.
hiredTodayjsonWhat the ICP hires for the job today, by kind and cost: software, a Service, their own hands, or nothing.

Object

JSON
{
  "$id": "https://api.sb/routewise.dev/problems/problem_1",
  "$type": "Problem",
  "statement": "Plans delivery routes for courier fleets through an API.",
  "costPerPeriod": {},
  "address": {},
  "moment": "Example moment",
  "progress": "Example progress",
  "hiredToday": {}
}

Relationships

  • A Problem is addressed by many Issues: an Issue addresses the Problems its Evidence came from, so the Customers behind that Evidence hear when it ships. addressedBy, inverse addresses.
  • A Problem is documented by many pieces of Evidence: Evidence shows a Problem in the words or behavior of the ICP. documentedBy, inverse documents.
  • A Problem is faced by many ICPs: an ICP struggles with Problems: how they solve them today and what that costs. facedBy, inverse faces.

Verbs

  1. createCreates a Problem.
    POST /{namespace}/problemsdoProblem.created
  2. getReturns one Problem by id.
    GET /{namespace}/problems/{id}readNo Event
  3. listReturns Problems, newest first, one page at a time.
    GET /{namespace}/problemsreadNo Event
  4. updateChanges the given properties of a Problem.
    PATCH /{namespace}/problems/{id}doProblem.updated
  5. deleteDeletes a Problem; its history is kept.
    DELETE /{namespace}/problems/{id}doProblem.deleted
  6. rankRank orders Problems by revenue at stake, Evidence grade and effort, so the next Project addresses the top one.
    POST /{namespace}/problems/rankdoProblem.ranked
  7. suggestSuggest records a Customer’s ask for something the Product lacks as Evidence on a Problem, with the asker attached.
    POST /{namespace}/problems/suggestdoProblem.suggested

Permissions

Which Access level may call each Verb. One-way Verbs wait their delay window.

Operationowneradminmemberviewer
Problem.createYesYesYesNo
Problem.getYesYesYesYes
Problem.listYesYesYesYes
Problem.updateYesYesYesNo
Problem.deleteYesYesYesNo
Problem.rankYesYesYesNo
Problem.suggestYesYesYesNo

Call it

Text
Suggest the latest problem.

Example

A litigation-support firm pulls 300 dockets a week from eight court sites by hand, and it takes two paralegals a full day. That is the Problem, in their words.