As the process of software development continues to mature in the modern business world, the organizational structures of companies engaged in application design struggle to keep up. This is largely due to the tendency of these firms to produce software architectures matching their current structure, which can lead to outdated and lower quality products, especially in this era of Agile and DevOps. This behavior is known as “Conway’s Law,” named for the computer scientist, Melvin Conway who first made the observation in 1968.
Tech pundits recently formulated a technique known as the Inverse Conway Maneuver, which involves restructuring a business organization to more closely match a desired software architecture. In an ideal case, business and technical teams become better aligned and ultimately produce higher quality work. Let’s take a closer look at the Inverse Conway Maneuver to see if makes sense at your company.
Way back in the nascent computer age of the 1960s, Melvin Conway noted that committees tended to build systems that matched their business structure. His basic thesis for Conway’s Law is straightforward and was first made in the article How Do Committees Invent published in 1968 in Datamation Magazine.
“Any organization that designs a system (defined more broadly here than just information systems) will inevitably produce a design whose structure is a copy of the organization’s communication structure.”
Conway’s Law can be applied to a whole range of scenarios beyond software development as noted in the thesis. Its counterpoint, known as the Inverse Conway Maneuver, involves reengineering the structure of an organization based on a desired software design.
In the modern development era, the DevOps methodology serves as a partial example of the Inverse Conway Maneuver with teams merging and evolving to reflect increased collaboration between the programming, QA, and network administration roles. Following a DevOps organizational structure is typically necessary for companies to be able to break down older, entrenched mindsets that won’t work at today’s speed of business.
Jason Bloomberg of Intellyx feels the rate of technology evolution in today’s business world is actually “reversing the Inverse Conway Maneuver.” Instead of companies making structural changes ahead of time in the hopes of reaching goals like DevOps or continuous deployment, the transformation is actually happening in the opposite direction.
“Technology change is driving changing customer preferences and behavior, which in turn are driving organizational change across increasingly software-driven enterprises. The causality question behind Conway’s Law, therefore, is less about how changing software organizations can lead to better software, but rather how companies can best leverage changing technology in order to transform their organizations,” says Bloomberg.
No matter what triggers this organizational transformation, there is no denying modern software businesses need to evolve to produce a better end-product lest they get left behind. The competition remains fierce. It is fascinating to note a “law” first formulated in the late 60s still holds so much weight in the software industry today.
Stay tuned to further installments from the Betica Blog as we dive deeper into the worlds of software development and QA.