Peter Miller (software engineer)
# Peter Miller (software engineer)

Peter Miller (16 October 1960 – 27 July 2014) was an Australian software developer who wrote Recursive Make Considered Harmful 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:

* 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.
* The baseline MUST always be in working order.
* The software build/construction process can be reduced to a directed, acyclical graph (DAG).
* It is necessary to build a rigid framework of selected components (aka the top level aegis design).
* 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.
* The framework should use the Strategy pattern for most complex tasks.
