C++ User Group

Europe/Berlin
C27 3.010 - C27 Ebene 3 (GSI)

C27 3.010 - C27 Ebene 3

GSI

Beschreibung

If you don't know the Zoom passcode you have to register for this event.

    • 1
      Welcome & Introduction

      Setting expectations and a quick round of introductions

      Sprecher: Ralph J. Steinhagen (GSI Helmholtzzentrum für Schwerionenforschung GmbH(GSI))
    • 2
      Lecture "The Only Unbreakable Law" by Casey Muratori (~ 1h)

      Delves into Conway’s Law, exploring the relationship between an organisation's communication structures and the architectural designs they produce. Muratori shows how cognitive constraints and modern technological advancements shape design efficiency through compelling examples and insights.

      Sprecher: Casey Muratori

      Lecture Summary:

      Title: The Only Unbreakable Law
      Author: Casey Muratori
      YouTube: https://youtu.be/5IUj1EZwpJY

      In "The Only Unbreakable Law," Casey Muratori discusses a concept that has long been crucial in but is not limited to the software development industry: Conway’s Law. The idea was first presented by Melvin E. Conway in 1968 in a paper titled “How Do Committees Invent?” published in Datamation. Muratori explores the relationship between an organisation's communication structures and the architectural designs they produce, a phenomenon famously known as Conway’s Law.

      Casey Muratori sheds light on the programming approach of encapsulation, which involves hiding information within code to manage complexity. Although this method is widely employed to deal with intricacy in software design, Muratori argues that this technique often leads to under-optimised design. He links this to Conway’s Law, which posits that an organisation's communication structure inherently reflects in its designs.

      To illustrate this point, Muratori uses the example of graphics card programming. Initially, software communicated directly with the hardware, which, although highly efficient, meant that the software was too coupled to the hardware. Hardware changes required corresponding changes in the software. OpenGL was developed as an intermediary layer between software and hardware to address this. While this allowed for generalization, it reduced the efficiency of the software as it could not be optimised for specific hardware.

      Muratori uses the OpenGL example to segue into an explanation of Conway’s Law. According to Conway, the communication structure of an organisation is likely to dictate the design produced. The speaker exemplifies this by suggesting that if an organisation is divided into four teams, the design it produces will most likely be made up of four components, reflecting the communication structure.

      Muratori emphasises that this preference for creating designs that reflect communication structures is not arbitrary but stems from cognitive constraints and human communication limitations. As such, designers and teams tend to break complex problems into smaller components, albeit often without fully understanding or appreciating the broader issue. This results in a limited design space.

      Muratori also highlights how modern technological advancements, including libraries, engines, package managers, containers, etc., create more barriers in the form of 'org charts'. These elements act as boundaries that constrain the free flow of communication and, consequently, the potential for optimization in the final product.

      As Muratori points out, one reason organisations opt for conventional methods over innovative solutions is the aversion to risk. The inherent desire to mitigate risk often supersedes the pursuit of more efficient or optimal solutions.

      However, Muratori also highlights Melvin Conway's advocacy for a lean and flexible organisational structure and design approach. Such an approach is posited as ideal for producing efficient designs. The speaker acknowledges the grim reality that modern organisations are becoming increasingly bulky and rigid.

      In conclusion, Casey Muratori commends Melvin Conway for providing a timeless and astute insight into the unbreakable bond between organisational structure and design efficiency. He encourages the audience to strive for innovation and flexibility in the face of complexity rather than settling for the comfort of conventional methods.

      Through “The Only Unbreakable Law,” Muratori prompts a thought-provoking discussion on the pivotal role that organisational communication structures play in design efficiency, highlighting the enduring relevance and sagacity of Conway’s Law.

      TLDR:

      • Conway’s Law, introduced by Melvin E. Conway in “How Do Committees Invent?” published in Datamation in 1968, posits that the communication structure within an organisation is reflected in the designs it produces, both in software and hardware.
      • Breaking down complex problems into smaller components is a common approach but often leads to under-optimised design due to a lack of understanding of the broader problem.
      • Cognitive constraints and limitations in human communication influence the formation of design structures which typically mirror organisational communication structures.
      • Introducing intermediary layers and components, such as libraries, engines, package managers, etc., creates additional barriers that hinder communication and optimization.
      • Aversion to risk leads organisations to opt for conventional methods over innovative solutions, even at the cost of efficiency.
      • Lean and flexible organisational structures are ideal for producing more efficient and optimised designs.
      • The design process should strive for innovation, flexibility, and optimal solutions, acknowledging the limitations posed by communication structures but not settling for under-optimised outcomes.
    • 3
      Discussion

      Pre-meeting Preparation: We kindly invite you to read the following paper (concise, four pages):

      Conway, Melvin E.: “How Do Committees Invent?”. In: Datamation (1968) (see attached paper)

      And maybe reflect on the following questions before the meeting:
      * How have you experienced the influence of organisational structure on software design in your work?
      * What are some ways modern technological tools might be creating barriers in software design, as per Conway's Law?
      * Can you think of examples where breaking a complex problem into smaller components has led to under-optimised design?
      * What do you think could be a solution to this issue?