Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
notes:principles [2018/01/07 22:06]
Jesse B. Crawford
notes:principles [2019/01/29 17:43] (current)
Jesse B. Crawford
Line 3: Line 3:
 Everyone hopes to have something named after them. I'm accelerating the process by just naming things after myself. Everyone hopes to have something named after them. I'm accelerating the process by just naming things after myself.
  
-===== The First Crawford Principle ​=====+==== The First Crawford Principle ====
  
 If your config file syntax becomes Turing complete, stop now and cancel the project. If your config file syntax becomes Turing complete, stop now and cancel the project.
  
-===== The Second Crawford Principle ​=====+==== The Second Crawford Principle ====
  
 Computing professionals will make their computing environment more and more complicated until they can no longer use it competently. Computer novices struggle to get their WiFi working because they aren't sure what a shared key is. Computer experts struggle to get their WiFi working because they are running an unstable release of BSD. Computing professionals will make their computing environment more and more complicated until they can no longer use it competently. Computer novices struggle to get their WiFi working because they aren't sure what a shared key is. Computer experts struggle to get their WiFi working because they are running an unstable release of BSD.
  
-===== The Third Crawford Principle ​=====+==== The Third Crawford Principle ====
  
 Conway'​s Law says that the architecture of a software project will ultimately match the org chart of the people creating it. Crawford Principle III is a corollary: Given a large enough legacy code base, the maintainers will eventually reorg to match the architecture of the software. This structure did not work well for the software; it will not work well for the organization. Conway'​s Law says that the architecture of a software project will ultimately match the org chart of the people creating it. Crawford Principle III is a corollary: Given a large enough legacy code base, the maintainers will eventually reorg to match the architecture of the software. This structure did not work well for the software; it will not work well for the organization.