Derived Characteristics
📺 Watch this episode on YouTube.
Dima explains why "we'll build a reliable system" makes him twitch, and he and Slava work out what it takes to turn such a promise from wishcasting into something you can believe.
- Simple characteristics correspond to intrinsic properties one can build directly: a square house, a red car, a four-minute song
- Other characteristics – reliable, comfortable, fun, effective – one can't "build" directly. They can only be derived from other, simpler properties of the thing
- Dima believes that promising a derived characteristic without explaining how it will arise is wishcasting. One cannot mandate "from Monday the team will be effective" – they have to take specific step so that as a result the team becomes effective
- Dima's approach to talking about promises for derived characteristics
- state how you'll evaluate, e.g. error rate at a given throughout for reliability
- outline interventions: caching, failover, auto-scaling
- lay out a theory of how those interventions can produce the result, so that reasoning can be tested
- Slava argues that the "what" should come before the "how": teams jump straight to solutions without a shared map of what reliability means and miss pieces they haven't run into previously
References:
- Why the green great dragon can't exist – order of adjectives in English
- Biweekly 52: Needs Analysis — the chain of results from actions through outputs to outcomes you can't produce directly
"I'm sorry, could you explain what is a great question? Because I think it can be quite subjective." — Slava