The hierarchy of needs principle is inspired by Maslow’s Hierarchy of Needs. The principle specifies that a design must serve the low-level needs before the higher level needs. Good designs follow the hierarchy of needs principle rather than trying to satisfy requirements irrespective of their relation to each other [Lidwell]. In communications networks, the hierarchy of needs can be inferred from the development of these networks in the past decades as summarized by [McCabe]:
Connectivity: The most basic functionality for a network is to provide connectivity to the end nodes. The connectivity needs to be consistent and reliable to be useful.
Interoperability: Networks today can never be isolated. For an inter-network to works, it various components have to be able to connect with each other. A local-area network needs to connect to the Internet, for example, to extend the connectivity to remote users. For this purpose, systems and protocols used across the inter-network need to be compatible.
Services (performance, security, manageability): beyond simple connectivity, the network has to offer the services that users need. For instance, multimedia applications require certain bandwidth and latency requirements to function properly, so Quality-of-Service (QoS) for these applications need to be met. Security is another significant need for the network and it involves securing the network infrastructure as well as the data.
Self-configuration: This need means the network is capable of adapting to change in requirements by means of auto configuration.
Consider satisfying design requirements by prioritizing the requirements according to the hierarchy of needs. Low level needs to be addressed first in the design before moving into higher level needs.
References:
- W. Lidwell, et al. Universal Principles of Design. 2nd ed., Rockport, 2010.
- J. D. McCabe, Network analysis, architecture and design, 3rd ed. Morgan Kaufmann, 2007.
Read about other Network Design Principles.