On Building

Abstraction Hierarchy as a Framework for Thinking about Building

  • Up and down the abstraction hierarchy forms an excellent basis for building successfully
  • On one hand there are physical properties which are the (relatively) immovable features of a system that produce low-level behaviors
  • On the other hand there is intended purpose that shapes: (a) what components are collected together to build the set of available physical properties, (b) how certain physical properties are hidden below an abstraction layer or selected to be surfaced up through an abstraction layer
  • Under this framework, to be a successful builder we must: (a) understand deeply the physical properties of the components we are depending on, (b) thoughtfully select properties to surface and expose throguh the abstraction boudnaries we define
  • Correspondingly, an abstraction boundary is simply a curated subset of behavioral / functionality properties that originate from some physical component

Maintenance within the Abstraction Hierarchy

  • "Reality is that which, when you stop believing in it, doesn't go away" - Philip K. Dick
  • The Law of Leaky Abstractions describes a corrolary to the above that there are limits on how physical properties can be hidden behind abstraction layers. Particularly related to system malfunctions or functionality boundaries
    • This is also observed by the Jens & Rasmussen study referred to in 'Up and down the abstraction hierarchy': "Physics-Based Properties
      and Causes of Mal-function are Propagating Bottom-Up [through the means-ends hierarchy]"
  • The Map is not the Territory explores the balance of satisfying operating requirements of physical components in addition to extending and expanding intentional purposes
  • Importantly, abstractions create value by enabling physicaly properties to be used in an an orchestrated manner for some meaningful purpose. This value is what drives building in the first place.
  • However while abstractions curate a collection of behaviors for a user, they do not eliminate the material physical components that the behaviors originate from and so do not eliminate the constraints, costs, and exceptional behaviors associated with the physical components.

Intended ends and purposes

  • Physical means are objective, but intended ends / purposes are subjective, which leaves room for conflicts surfaced while building
  • Pace Layering: How Complex Systems Learn and Keep Learning introduces the general idea that time horizons define the behavior of a system, the environmental changes a system is sensitive to, and the system's reaction to environmental changes
  • Incorporating the above, I feel that intentions conflict when there is not alignment on the timescale that the purpose is applicable to. And so resolution of these conflicts may be driven by alignment on timescale, which can be driven in turn by alignment on expectation of changes in the environment.
    • Bias towards building for longer time-horizons is hopeful but thwarted by real constraints
    • Bias towards building for short time-horizons is conservative but leaves opportunity on the table since supporting longer time horizons in the future tends to require further extensions to the product
  • Laterally, I also feel that intentions conflict when there is not alignment on the entities within a given timescale that are being served by a given purpose. This corresponds to a lack of alignment on the singular purpose that is being built to solve. This should be resolved by unifying the purpose and the intended user, or by diverging the effort to produce a solution.