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:

"I'm sorry, could you explain what is a great question? Because I think it can be quite subjective." — Slava

Next
Next

Features Not Made Equal