Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Lehman's Categories of Software Systems

Lehman's Categories of Software Systems

A lightning talk presented at SPA 2017


Nat Pryce

June 27, 2017


  1. None
  2. None
  3. … any program is a model of a model within

    a theory of a model of an abstraction of some portion of the world or of some universe of discourse. –Manny Lehman Programs, Life Cycles, and Laws of Evolution. 1980
  4. Lehman's categories of software system S-type formally defined by and

    derivable from a specification P-type solves a real-world problem but does not affect the world it models E-type embedded in the world it models; its operation changes that world
  5. E-type Systems

  6. Deploying the system changes what it must do

  7. The system is only useful if you can change what

    it does
  8. The way you change the system is part of the

  9. The tests of the system are part of the system

  10. The people who change the system are part of the

  11. The system is part of the organisational system that directs

    its evolution
  12. Changing how the organisation delivers the system is a delivery

    of the system
  13. Norbert Wiener, "father of cybernetics"