Gall'sches Gesetz: Was es sagt und wie es in der IT angewendet wird

Wir erzählen, was das Wesen des Gesetzes ist, wie es sich manifestiert und was passiert, wenn dieses Gesetz bei der Konzeption und Entwicklung von IT-Systemen nicht berücksichtigt wird.


Fotos - Spencer - Unsplash

In dem Buch „To Yourself a MBA. Selbstbildung ist 100% “, geschrieben von Josh Kaufman (Josh Kaufman), Gall 'Gesetz wird in folgendem Wortlaut angegeben:

„Jedes funktionierende komplexe System wird auf der Grundlage eines funktionierenden einfachen Systems entwickelt. Komplexe Systeme, die von Grund auf neu erstellt wurden, werden in der realen Welt niemals funktionieren, da sie während des Entwicklungsprozesses nicht von den Auswahlfaktoren beeinflusst wurden, die der Umgebung inhärent sind. “

Dies bedeutet, dass bei der Entwicklung eines Projekts ein systematischer Ansatz angewendet werden sollte - um von einfach zu komplex zu gelangen. Mit anderen Worten, Sie müssen mit der Erstellung einfacher Systeme beginnen und schrittweise zu deren Komplexität übergehen, um die Funktionalität und die Fähigkeiten zu erweitern.

Ein einfaches System bedeutet normalerweise ein System, das aus einer kleinen Anzahl von Elementen besteht und keine Hierarchie aufweist. Ein komplexes System hat dagegen eine verzweigte Struktur und eine große Anzahl miteinander verbundener Komponenten.

Minute der Geschichte


Der Autor des Gesetzes, John Gall, war von Beruf Kinderarzt, verbrachte aber seine Freizeit damit, in der Systemtheorie zu forschen. 1977 veröffentlichte er das Buch Systematization: How Systems Work and How They Crash . Darin erklärte er, dass es zur Steuerung eines Systems notwendig sei, zu verstehen, wie sich Umweltfaktoren auf seine Funktionalität auswirken. In diesem Buch wurde Gall 'Gesetz formuliert .

Das Gesetz erlangte seinen Ruhm durch die Erwähnung in dem Buch " Structured Terms of Reference ", das 1981 vom Systementwickler Ken Orr ( Ken Orr ) verfasst wurde. Seine Arbeit hat große Popularität erlangt, und die Autoren der modernen Literatur zur Systemanalyse beziehen sich immer noch darauf.

Einige Zeit nach der Veröffentlichung von Ken Orrs Buch war die Gall-Regel mit Grady Booch „bewaffnet“, als er UML schuf. Diese Sprache zeichnet auch das Konzept „von einfach bis komplex“ nach: Um ein abstraktes Modell des Systems zu erstellen, werden einzelne Klassen, Typen und Schnittstellen verwendet.


Fotos - Isaac Smith - Unsplash

Das Gesetz spiegelt sich auch in flexiblen Ansätzen für die Softwareentwicklung wider. Insbesondere gilt die Regel bei extremer Programmierung ( XP ). Eines der Hauptkonzepte dieser Methodik ist die einfache Gestaltung . Es heißt, dass ein neues Produkt nicht im Voraus und in seiner Gesamtheit entworfen werden sollte. Die Planung sollte iterativ unter Berücksichtigung sich ständig ändernder Anforderungen (Kunde und Markt) erfolgen.

Wann man Gall's Gesetz befolgt


Das auffälligste Beispiel zur Veranschaulichung des Gallschen Gesetzes ist das World Wide Web . Es entstand als lokales CERN-Projekt - die Organisation entwickelte ein Tool zum Verknüpfen von Dokumenten über Hypertext-Links. Im Laufe der Zeit wurde das Netzwerk jedoch erfolgreich auf globaler Ebene erweitert - seine Funktionen wurden erweitert, die Struktur wurde komplexer und „wuchs“ mit neuen Protokollen (z. B. HTTPS, das zur Entwicklung von HTTP wurde).

Wenn Sie mit der Entwicklung mit MVP (Minimum Viable Product) beginnen, können Sie eine Idee schnell testen und bei Bedarf die Funktionalität ändern. Zum Beispiel enthielt die erste Version des Uber-Dienstes nur zwei einfache Funktionen: den Fahrer anrufen und die Reise mit einer Kreditkarte bezahlen. Mit ihrer Hilfe testete das Team sein Konzept, zog eine Anwenderbasis an und entwickelte das Produkt weiter. Heutzutage sind diese Grundfunktionen komplizierter geworden: Es besteht die Möglichkeit, die Rechnung auf mehrere Personen aufzuteilen, Fahrer auf der Karte zu verfolgen und automatische Zahlungen vorzunehmen.

Das Gall'sche Gesetz erleichtert den Benutzern die Benutzeroberfläche. Zum Beispiel hatte die erste Version der Dropbox-Anwendung eine sehr einfache Oberfläche - es war ein gewöhnlicher Dateiordner. Laut den Entwicklern ermöglichte diese spezielle Funktion die Gewinnung einer großen Anzahl neuer Benutzer - innerhalb weniger Tage wurde die Liste der Anwendungen für den Betatest von Dropbox um 70.000 erweitert. Zusätzliche Funktionen und Dialogfelder - wie das gemeinsame Bearbeiten von Dateien - wurden später angezeigt.

Was passiert, wenn dieses Muster nicht berücksichtigt wird?


Als Beispiel für ein Projekt wird normalerweise der CORBA- Technologiestandard angegeben, wenn Entwickler erstellt werden, die das Gall'sche Gesetz kennen und berücksichtigen sollten. Seine Spezifikation war ursprünglich umfangreich und enthielt eine große Anzahl von Anweisungen. Aufgrund der übermäßigen Komplexität wurde die Entwicklung des Standards lange Zeit durchgeführt, während viele seiner Funktionen in der Praxis nie implementiert wurden. Infolgedessen war CORBA nicht weit verbreitet.

Ein Beispiel für eine fehlgeschlagene Implementierung von Softwareprodukten ist die Digital Media Initiative (DMI), ein BBC-Projekt aus dem Jahr 2008. Sein Ziel war es, eine groß angelegte Plattform mit internen Tools für die Videobearbeitung und die Speicherung von Inhalten zu schaffen. Die Basis von DMI legte sofort eine Vielzahl von Spezifikationen, die in der Praxis nicht umgesetzt wurden. Die Entwicklung dauerte fünf Jahre, wurde aber nie abgeschlossen. Zuerst wurde der Auftragnehmer von der Firma - Siemens - und dann von der BBC selbst aufgegeben. Insgesamt gab DMI 100 Millionen Pfund aus.

Ein Beispiel für eine nicht erfolgreiche Implementierung der Benutzeroberfläche ist der Google Wave- Dienst. Es sollte die Funktionalität von Online-Foren, sozialen Netzwerken, Instant Messenger und Versionskontrollsystemen kombinieren. Die Macher der Plattform gingen davon aus, dass dies eine universelle Kommunikationsmethode werden würde. Bei dem Versuch, "alles auf einmal" zu ersetzen, überlastete das Entwicklungsteam die Anwendung mit verschiedenen Funktionen. Infolgedessen mussten sich Benutzer lange Zeit mit Schnittstellenfunktionen auseinandersetzen. Selbst mit der Service-Suchleiste traten Schwierigkeiten auf - um damit arbeiten zu können, musste man spezielle Tags kennen. Das Projekt wurde von 2009 bis 2010 entwickelt - das System entsprach nicht den Erwartungen von Entwicklern und Benutzern und das Projekt wurde abgebrochen.

Verwandte Lektüre:




Wir bei ITGLOBAL.COM bieten eine private und hybride Cloud und bieten Dienstleistungen zur Entwicklung der IT-Infrastruktur von Kunden an. Wir hoffen, Sie finden dieses Material hilfreich. Was Sie über uns lesen können und was wir im Unternehmensblog über uns schreiben:

Source: https://habr.com/ru/post/de453982/


All Articles