The problem with trees Many systems are organized hierarchically. The CERNDOC documentation system is an example, as is the Unix file system, and the VMS/HELP system. A tree has the practical advantage of giving every node a unique name. However, it does not allow the system to model the real world. For example, in a hierarchical HELP system such as VMS/HELP, one often gets to a lead on a tree such as: HELP COMPILER SOURCE_FORMAT PRAGMAS DEFAULTS only to find a reference to another leaf: Please see HELP COMPILER COMMAND OPTIONS DEFAULTS PRAGMAS and it is necessary to leave the system and re-enter it. What was needed was a link from one node to another, because in this case the information was not naturally organized into a tree. Tim Berners-Lee, Seeing With Fresh Eyes A City Is Not a Tree hierarchywww
Cool URIs don't change An Essay by Tim Berners-Lee www.w3.org What makes a cool URI? A cool URI is one which does not change. What sorts of URI change? URIs don't change: people change them. The User Interface of URLs www
Requirements proliferation Any attempt to formulate all possible requirements at the start of a project will fail and would cause considerable delays. — Pahl and Beitz, Engineering Design As Project Manager, I had to reject the requirements document as totally impractical, and have a quite small team of architects, marketers, and implementers extract the essence. Requirements proliferation must be fought, by both birth control and infanticide. Frederick P. Brooks, Jr., The Design of Design YagniA grossly obese set of requirementsFeatures and complexity features