Peter Miller (software engineer) explained
Peter Miller |
Birth Name: | Peter Alexander Miller |
Birth Date: | 1960 10, df=yes |
Birth Place: | Ramsgate, New South Wales |
Death Place: | Green Point, New South Wales |
Occupation: | Software Engineer |
Nationality: | Australian |
Spouse: | Mary Therese Miller (nee Lynch) (married 198?-2014) |
Children: | Rowan Miller (1989-present) |
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:
- 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.
External links
Notes and References
- News: Recursive make Reloaded . https://web.archive.org/web/20070715095642/http://www.linux-mag.com/id/2101/ . usurped . 15 July 2007 . John . Graham-Cumming . Linux Magazine . 15 July 2005 . 13 April 2018 .
- Web site: Google Scholar.