Skip to main content

Characteristics-from-Requirements Workshop

Retrieval Prompts

  1. Name the three steps in the characteristics-extraction routine. What goes wrong if you skip any one?
  2. Define "explicit" and "implicit" characteristics. Give one example of each from a domain you know.
  3. State the top-3 rule and why three (not five, not ten).
  4. What is a fitness function? What are its four required properties?
  5. Give two implicit characteristics that every financial-services system requires, even if no requirements document mentions them.

Compare and Distinguish

  • Characteristic vs functional requirement. Which one decides structure?
  • Explicit vs implicit characteristic. Which one is more dangerous when missed, and why?
  • Top-3 characteristics vs "all important characteristics." What does each list enable or prevent?
  • Fitness function vs unit test. Same shape, different job - how?
  • Measuring a characteristic in production vs measuring it in CI. Which catches regressions before they ship?

Common Mistake Check

Identify the flaw and rewrite:

  1. A team ships a requirements doc with 14 "critical" characteristics, weighted equally.
  2. An architect insists every quality should have a fitness function, including usability and developer experience. Eighteen fitness functions later, nobody runs any of them.
  3. "We prioritized security, scalability, and performance." Nothing in the architecture differs between those characteristics.
  4. The PRD mentions "ease of integration." The team ships with a custom RPC protocol.
  5. The list includes reliability and availability as two of the top three. Nobody can state the difference.
  6. A fitness function has been green for 18 months. No one has checked whether it still runs; no one has checked whether it still fails when it should.

Name the specific failure: characteristic sprawl, missed implicit, unfalsifiable claim, dead fitness function.

Mini Application

You are given a two-page requirements document (pick a real one from your work, or write one for a system you know well: a ride-sharing dispatch platform, a B2B invoicing SaaS, a medical records system). Produce a full workshop output:

  1. Extraction pass. Full candidate-characteristic list with the quote that triggered each.
  2. Clustering pass. Merge synonyms into ~6-10 characteristics. Name each in a single word or short phrase.
  3. Implicit additions. Add characteristics that the domain demands but the document did not state. For each, explain why context makes it non-negotiable.
  4. Ranking. Pick the top 3. One sentence of justification per pick.
  5. Below the line. List the remaining characteristics with a minimum-bar statement each (what would be "acceptable" on this characteristic, even without active optimization).
  6. Conflict scan. For each pair inside your top 3, name what they trade against each other. If no pair conflicts, the top 3 is too soft - revisit.
  7. One fitness function for one of your top 3, including the runnable check (actual command or code) and where it would be wired in.

Constrain to 3 pages.

Scenario Drills - "Top 3 from these requirements"

For each scenario, produce the top 3 characteristics, with one sentence of justification each:

Scenario A. "A consumer mobile app that lets users deposit checks by photo. Regulated (banking), must work offline briefly. Deposits must never double-credit. Product wants to ship features monthly."

Scenario B. "An internal admin tool for customer support at a subscription streaming service. 200 internal users, called dozens of times per day each. Must show customer state accurately because refunds are granted on what the support rep sees."

Scenario C. "A real-time bidding platform for online ads. 1 million RPS at steady state, 3 ms budget per request. Revenue depends on winning bids within budget. Adding new bidding strategies is a product goal."

Scenario D. "A hospital records system integrating with 12 external labs. Sensitive PHI. Lab formats change every year. Occasional multi-hour lab outages. Uptime budget is 99.95%."

For each, note which two characteristics you rejected from the top 3 and why.

Evidence Check

This page is complete only if, given a new requirements document:

  • you can produce a defensible top 3 within 45 minutes
  • your top 3 includes at least one implicit characteristic when the domain demands it
  • you can state the minimum bar for every non-top characteristic, so the team does not treat "not in top 3" as "ignored"
  • you can name a conflict inside the top 3 and use it to predict future decisions
  • you can hand the output to a peer and have them argue it back to you with no whiteboard needed