Gall's Law: what it says and how it is applied in IT

    We tell what the essence of the law is, how it manifests itself and what happens when this law is not taken into account in the design and development of IT systems. Photos - Spencer - Unsplash In the book “To Yourself an MBA. Self-education is 100% ”, written by Josh Kaufman (Josh Kaufman), Gall’s law is given in the following wording:






    “Any working complex system is developed on the basis of a working simple system. Complex systems created from scratch will never work in the real world, because during the development process they were not influenced by the selection factors inherent in the environment. ”

    This means that a systematic approach should be applied to the development of any project - to move from simple to complex. In other words, you need to start by creating simple systems and gradually move towards their complexity, expanding functionality and capabilities.

    A simple system usually means a system consisting of a small number of elements and not having a hierarchy. A complex system, on the contrary, has a branched structure and a large number of interconnected components.

    Minute of history


    Law author John Gall was a pediatrician by profession, but spent his free time researching on systems theory. In 1977, he published the book Systematization: How Systems Work and How They Crash . In it, he told that to control any system it is necessary to understand how environmental factors affect its functionality. It was in this book that Gall's law was formulated .

    The law gained its fame thanks to the mention in the book " Structured Terms of Reference ", written by system designer Ken Orr ( Ken Orr ) in 1981. His work has gained wide popularity, and it is still referenced.authors of modern literature on systems analysis.

    Some time after the publication of Ken Orr's book, the Gall rule was “armed” with Grady Booch when he created UML . This language also traces the concept of “from simple to complex”: to build an abstract model of the system, individual classes, types and interfaces are used.


    Photo - Isaac Smith - Unsplash

    Also, the law is reflected in flexible approaches to software development. In particular, the rule applies in extreme programming ( XP ). One of the main concepts of this methodology is ease of design.. It states that a new product should not be designed in advance and in its entirety. Planning should be carried out iteratively, taking into account constantly changing requirements (customer and market).

    When to follow Gall's Law


    The most striking example to illustrate Gall's law is the World Wide Web . It originated as a local CERN project - the organization developed a tool for linking documents through hypertext links. But over time, the network has successfully grown to a global scale - its capabilities have expanded, the structure has become more complex and has “acquired” new protocols (for example, HTTPS, which became the development of HTTP).

    Starting development with MVP (minimum viable product) makes it possible to quickly test an idea and, if necessary, change functionality. For example, the first version of the Uber service containedonly two simple functions: calling the driver and paying for the trip with a credit card. With their help, the team tested its concept, attracted a user base and continued to develop the product. Today, these basic functions have become more complicated: there is an opportunity to split the bill between several people, track drivers on the map and make auto payments.

    Gall's Law helps make UIs more comprehensible to users. For example, the first version of the Dropbox application had a very simple interface - it representedan ordinary file folder. According to the developers, this particular feature made it possible to attract a large number of new users - in a few days the list of applications for beta testing Dropbox was replenished by 70 thousand. Additional functions and dialog boxes - such as co-editing files - began to appear later.

    What happens when this pattern is not taken into account


    As an example of a project, when creating which developers should know about Gall's law and take it into account, the CORBA technology standard is usually given . Its specification was originally voluminous and contained a large number of instructions. Due to the excessive complexity, the development of the standard was carried out for a long time, while many of its features were never implemented in practice. As a result, CORBA is not widespread.

    An example of a failed software product implementation is Digital Media Initiative (DMI), a 2008 BBC project. His goal was to create a large-scale platform with in-house tools for video editing and content storage. The basis of DMI immediately laid a large number of specifications, which were not implemented in practice. Development lasted five years, but was never completed. First, the contractor was canceled by the company - Siemens - and then the BBC itself. In total, 100 million pounds were spent on DMI.

    An example of a failed interface implementation is the Google Wave service .. It was supposed to combine the functionality of online forums, social networks, instant messengers and version control systems. The creators of the platform assumed that it would become a universal way of communication. But in an attempt to replace “all at once”, the development team overloaded the application with various functions. As a result, users had to deal with interface features for a long time. Difficulties arose even with the search bar of the service - to work with it, you had to know special tags. The project was developed from 2009 to 2010 - the system did not meet the expectations of developers and users and the project was canceled.

    Related Reading:




    We at ITGLOBAL.COM provide a private and hybrid cloud and offer services aimed at developing the IT infrastructure of customers. We hope you find this material helpful. What you can read about us, and what we write about ourselves in the corporate blog:


    Also popular now: