Systems Thinking: Building Logical and Resilient Software Companies.
Thoughts and design by Rob Tyrie .
It’s not as easy driving down the road to the woods in a fast car with the targa-top off, like I used to do. Designing companies is way harder.
Me and my partners work on a number of companies and we advise CEOs how to grow them and sometimes we run into blockers because of the inexperience of the management teams in designing companies.
They may be great at developing software or creating new things like games or sales automation systems but that’s not a company.
Software companies , like other companies , have to be designed by design architects and experience designers who are operators, who know how to work in systems that exist in companies that create products for customers. Some of the key artifacts people talk about in designing companies are things like org charts, technology stack diagrams, layer diagrams, presentation decks for investors or for prospects, solution map diagrams, revenue forecast charts.. these are all visualizations of a company but they’re not a design of a company. We think that all companies should have pattern languages and design objects that are about the company itself and how the information flows and how the different groups will need inputs and methods to do processing and transformation in order to have the final product ready for customers.
Who owns that design?
When you think of it it’s got to be the CEO but sometimes the CEO doesn’t know how to design a company either. So then it falls down to the next management and maybe they know how to create marketing or software but who knows how to design a company.
When I check on the company to see if they have any of these design artifacts or standard operating procedures that are beyond an orc chart and some roll descriptions I am rarely impressed. Either they never did a business plan or not isn’t up to date and doesn’t match the company or they just don’t know how to plan. So that’s a bit of a tricky thing. No plan and no design of the business but some promises on Revenue growth. Big promises.
The first step to think about your company and designing it on your org chart should be do some kind of cause a loop diagram. A map of the things that happen that create things or consume things in your company that are interconnected. People are something that are in your company and they produce software.. do a cuasal loop diagram here just with two bubbles one for people, and one for software. Then you can draw some lines in between them to see how they interact. In this case I also suggest having another bubble that is a budget of expenditure and another one that is a budget for revenue. That should be enough to support drawing the causal loop diagram of any software company. You’ve also got your investment funding that you’ll spend in expense budgets, you’ll spend some of that on people and they’ll produce software for you. You’re seeing that there are some requirements for extra bubbles but you can draw those in too. Your first diagram of your company shouldn’t be your orchard it should be your causal loop diagram. Your business by the way is not a causal diagram it is a static set of seven lists. Do not mix up causal diagrams and business canvases.
See more about systems thinking as opposed to just marketing stuff and making diagrams that are marketecures and not machines.
So let’s look at linear processes that occur in software companies now.
Growing a software company isn’t a linear process
It’s an intricate dance of elements working in harmony. The most successful companies today are those that operate not as a collection of isolated departments but as interconnected, dynamic systems that thrive on adaptability. Here, we delve into how systems thinking—a paradigm originating from engineering and ecosystem studies—can transform how we build and scale companies effectively. This approach goes beyond traditional business strategies, introducing a robust framework for sustained growth and resilience.
What is Systems Thinking?
At its core, systems thinking is an approach that views entities—whether they’re teams, departments, or products—not as standalone units but as interconnected parts of a larger whole. This paradigm shift complements reductionist approaches that isolate parts to analyze them independently. The Oxford definition encapsulates it well:
> "In systems thinking, entities are viewed primarily as connected, mutually interacting parts of some larger whole, such as an ecosystem, an economy, or an organization. This approach complements the reductionist approach, which typically analyzes entities and problems individually."
This fundamental shift in perspective allows leaders to see the company as an ecosystem, where feedback loops, dependencies, and collective dynamics drive progress. In essence, systems thinking is about understanding the forest, not just the trees—a perspective echoed by thinkers like Peter Senge in The Fifth Discipline, who argues that the success of organizations depends on the depth of their systemic awareness.
Moving Beyond Reductionism: Why Systems Matter
Traditional business strategies often follow a reductionist path: optimizing sales, refining product, or enhancing marketing in isolation. But software companies that want to scale successfully must integrate these elements dynamically. Research in systems design, particularly within complex engineering projects, highlights that isolated optimization often leads to failure in achieving holistic success. For example, a 2020 study in the Journal of Systems Engineering showed that projects with integrated systems approaches were 30% more successful in meeting project objectives compared to those that used modular approaches.
By viewing a company as a system, we account for unintended consequences and interconnected challenges. For instance, scaling a product without accounting for customer support, user experience, or infrastructure strain is a recipe for disaster. Systems thinking is about designing processes that allow these moving parts to work in harmony, anticipating feedback loops, and ensuring that growth is balanced across all areas.
Dynamics and Change: The Role of Feedback Loops
A key element in systems thinking is the recognition of dynamics—movement, feedback, and adaptation over time. In a business context, dynamics are essential because they allow the system (the company) to adapt to both internal shifts and external pressures. Dynamic systems leverage feedback loops to reinforce positive outcomes and mitigate negative ones, which is crucial in fast-evolving software environments.
For example, consider agile methodologies in software development, which rely on iterative feedback loops to refine products continuously. These cycles—testing, learning, and adapting—are, in essence, systems thinking in action. Instead of pushing a product to market in a single, rigid process, agile teams embrace a dynamic feedback loop that allows the product to evolve with each iteration. This iterative process echoes the principles of Cybernetics, as popularized by Norbert Wiener, where systems adjust their actions based on feedback.
Different Tools, Different Math: Mapping the Complexity
One of the challenges in systems thinking is the complexity of mapping dynamic interactions. Unlike static models, which can be represented by simple flowcharts or linear equations, dynamic systems require more nuanced modeling tools. Methods such as causal loop diagrams or stock-and-flow diagrams allow teams to visualize interdependencies and feedback in complex environments. Jay Forrester’s work on system dynamics at MIT was foundational in this area, as it introduced models that could capture complex interactions in systems as diverse as urban planning and corporate strategy.
In software companies, these tools help teams identify leverage points—places where small changes can lead to significant positive outcomes. Consider the Lean Startup methodology, which incorporates system dynamics principles by focusing on hypothesis-driven development and fast feedback loops. Here, we see another layer of systems thinking applied to innovation, enabling companies to pivot efficiently while maintaining alignment across teams and resources. You didn’t think you get out of this discussion without discussing okrs or kpis did you? Can you imagine starting a project without any management? About a simple project like driving your car…. To a destination on a trip.. can you imagine doing that without tracking your mileage and your speed and the amount of gas in your tank. Those are good kpis especially if you’re one of those people that try and draft with aerodynamic cars to stretch out the most miles per gallon possible. You need to measure things and that’s what okr and kpis are. I don’t even want to tell you what okr stands for it’s the time that Google co-opted kpis into something different that was smarter than the rest of the world at least according to a book. There is an engineer on Earth that’s greater than I have a system that doesn’t have some kind of measurement Master some kind of goals. So let’s be like engineers on this one and scientists. This is a good segue to add some more math to what we’re talking about here because it’s important. It’s not very complex math in fact it’s just statistics so bear with us as we jump into the numbers.
Nonlinear Systems and the Complication of Chaos
Not all systems are linear, and not all systems behave predictably. Nonlinear dynamics, Information Theory, thermodynamics, complexity Theory, , Game Theory and chaos theory offer valuable insights into understanding unexpected or emergent behavior in complex systems. We can power that all into an integrative systems theory that is imaginary but something interesting to think of. And systems thinking, a small change in one part of a system can lead to disproportionately large effects elsewhere—a concept known as the "butterfly effect." This phenomenon has been studied extensively in fields like meteorology and ecology but has strong parallels in business.
For software companies, this means that even seemingly minor changes in user interface design, customer service policies, or pricing structures can lead to significant, sometimes unpredictable shifts in customer behavior or operational performance, the classes with your original positioning. Recognizing this, systems thinking encourages leaders to monitor and adapt rather than rigidly control, allowing for organic growth and evolution. Books like Complexity: A Guided Tour by Melanie Mitchell provide insights into managing complexity without attempting to oversimplify it.
Building Systems to Manage Complexity, Not to Create Chaos
While systems thinking allows for complexity, it doesn't invite chaos. The distinction between complexity and chaos is critical: complexity can be managed, understood, and used constructively, while chaos often leads to instability and failure. In business, chaos can be avoided by setting boundaries—rules, feedback loops, and safeguards that prevent runaway effects. For example, in DevOps environments, continuous integration and continuous delivery (CI/CD) frameworks act as boundaries that keep software deployment orderly despite the fast pace of change.
Systems thinking provides a way to structure these boundaries logically. By establishing interconnected systems with clear, measurable goals and feedback loops, software companies can manage complexity without succumbing to chaos. This is aligned with the work of Donella Meadows in Thinking in Systems, where she emphasizes the importance of system boundaries and feedback mechanisms for sustainable systems.
Why Systems Thinking is Essential for Software Companies Today
As software companies scale, they face growing challenges in aligning teams, technologies, and objectives. Systems thinking offers a lens through which leaders can build resilient companies capable of evolving with market demands and technological advances. It’s a mental model that enables clarity in complexity, allowing leaders to make informed decisions without getting lost in the weeds of isolated functions.
In the end, the true genius of systems thinking is its ability to shift our focus from individual problems to interconnected solutions. This holistic view isn’t just beneficial—it’s necessary for companies aiming to grow sustainably in today’s complex and fast-paced market. By embracing systems thinking, software companies can move beyond simple growth to achieve a scalable, adaptable, and resilient organization.
---
Suggested Further Reading:
1. The Fifth Discipline by Peter Senge – Understanding the learning organization.
2. Cybernetics by Norbert Wiener – Foundational concepts of feedback and control in systems.
3. Thinking in Systems by Donella Meadows – Key principles in systems thinking and practical applications.
4. Complexity: A Guided Tour by Melanie Mitchell – Exploring complexity and emergent behavior.
5. Lean Startup by Eric Ries – Applying systems thinking to startups and product development.
This systems-thinking approach isn’t a silver bullet but a way to elevate strategic thinking from a purely operational level to a systemic one. By seeing companies as dynamic systems, leaders can anticipate changes, adapt to unexpected shifts, and create organizations that don’t just survive but thrive.
---
Rob Tyrie is a journeyman programmer, veteran startup junkie, scaling monster and software execututioner who has been part of the software industry since 1982. Before then, he imagined software would work out after reading the Foundation Series, The Robot Novels, and watching many Star Trek episodes. The first time James T Kirk conversed with a computer has never left his mind. That was more than 50 years ago. He lives in Toronto but travels around the world in concentric circles, returning home once in a while with a new story, and a new place to drive to. He’s currently the principal advisor and consultant at IronstoneAdvisory.com a company that he founded in 2019. He also is a founder of the Grey Swan Guild Virtual Think Tank and Making Community. The Guild creates ideas, makes events, publishes points of view and reports, analyzes data and situations, rolls up collections and archives memories.