Complexity hiding is a method for designing complex structures, systems and organizations by breaking complexity down into manageable units. Such units are designed to "hide" complexity behind a relatively simple interface.As an example, consider the staff of an airline. Pilots hide the complexity of flying, flight attendants hide the complexity of proving customer service and maintenance teams hide the complexity of repairing jet engines. No one person could handle all the complexity of running an airline so roles are set up that "hide" complex tasks by providing a service.Similarly, technologies that implement complex functionality are typically designed to hide complexity in components that provide a service. It is common for software that contains millions of lines of code to be made up of components no longer than a few hundred lines. Each component performs a function and hides implementation details from the rest of the program. In this way, extreme complexity becomes reasonably comprehensible.
Complexity is hidden behind interfaces and services. For example, a pilot provides the service of flying an aircraft and interfaces with ground control, flight attendants, airline operations, maintenance teams and copilots.
Cookies help us deliver our services. You have choices regarding these cookies. Please visit our privacy policy, cookie policy and consent tool to learn more.
Copyright 2002-2026 Simplicable. All rights reserved. This material may not be published, broadcast, rewritten, redistributed or translated. Report violations here.