Peter Miller (software engineer)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Peter Miller
Peter Miller.jpg
Miller in October 2011
Peter Alexander Miller

(1960-10-16)16 October 1960
Died27 July 2014(2014-07-27) (aged 53)
OccupationSoftware Engineer
Spouse(s)Mary Therese Miller (nee Lynch) (married 198?-2014)
ChildrenRowan Miller (1989-present)
  • Ronald William Miller
  • Jane Penelope Miller (nee Phelam)

Peter Miller (16 October 1960 – 27 July 2014) was an Australian software developer who wrote Recursive Make Considered Harmful[1][2] and created Aegis and cook. He also proposed a set of "laws" for modern software engineering and architecture in the early 1990s:

Miller's laws are:

  1. The number of interactions within a development team is O(n!) without controlled access to the baseline. If the development team does have controlled access to the baseline, interactions can be reduced to near O(n), where n is the number of developers and/or files in the source tree, whichever is larger.
  2. The baseline MUST always be in working order.
  3. The software build/construction process can be reduced to a directed, acyclical graph (DAG).
  4. It is necessary to build a rigid framework of selected components (aka the top level aegis design).
  5. The framework should not do any real work, and should instead delegate everything to external components. The external components should be as interchangeable as possible.
  6. The framework should use the Strategy pattern for most complex tasks.


  1. ^ Graham-Cumming, John (15 July 2005). "Recursive make Reloaded". Linux Magazine. Retrieved 13 April 2018.
  2. ^,or.r_cp.&bvm=bv.93564037,d.dGc&biw=1280&bih=678&um=1&ie=UTF-8&lr&cites=14823016308468608480

External links[edit]