Nordwind
← All articles
·15 min read

The Software Health Triangle – Holistic Health for Software Ecosystems

Why change in software organizations so often fails to make a difference — and how a model borrowed from medicine helps to think technology, business, and organization together.

A triangle assembled from gears, clockwork and precision-mechanical parts — an image of the three interlocking dimensions of a software ecosystem

This article was originally published on Medium on July 18, 2024, and is republished here by the author.


Have you ever implemented a new process, framework, architecture, or tool in your software organization, only to wonder later if it truly made a difference? Did you really improve your ecosystem by its outcome and core metrics of success?

  • After implementing OKRs, do we have a more executable and transparent organizational strategy for everyone in the organization?
  • Did the introduction of the new CRM system result in a higher NPS from customers or increased sales?
  • After our long agile transformation journey, are we really faster in implementing better software solutions?
  • Did the implementation of a Data Mesh structure result in business value-generating data products and satisfied data product users?
  • With our many AI initiatives, are we truly achieving the productivity boosts that AI promises?

Why is it so often the case that we question the outcome of our ambitious engagements? Are we simply overestimating the positive effects of change? Do we fall short in believing what marketing departments and overambitious communities make us think?

KPMG’s 2023 US Technology Survey of 400 US technology executives states that “51 percent of respondents on average have not seen an increase in performance or profitability from digital transformation investments”

In my experience, we often lack a holistic, outcome-oriented approach to change. We often focus on isolated parts of the system, which either fail to create significant impact or, even worse, negatively affect other areas of the software ecosystem. Additionally, our projects are often judged by time and budget metrics, rather than their sustainable, value-generating outcomes (which can only be measured some time after the project finished). This narrow focus overlooks the broader, long-term benefits that a more holistic and value-centric approach could achieve.

Despite this widely known insight, often covered by numerous models and articles, we still frequently encounter failures. During a thought-provoking discussion with a friend, a medical doctor, I realized a compelling analogy: achieving valuable software ecosystems is akin to achieving human health. In human health, we also know the treatments and behaviors for better well-being, yet we continue to struggle to achieve a sufficiently healthy society. For human health a holistic approach is taken by the Health Triangle.

The Health Triangle

When considering human well-being, our primary focus is on health. Similarly, a software ecosystem’s health is crucial for delivering value. But what does it actually mean to be healthy as a human?

The World Health Organization (WHO) defines health as “…a state of complete physical, mental, and social well-being.”

So this definition extends beyond physical health to include mental and even social dimensions.

These three dimensions form the health triangle model, a well-established framework in public health. This model emphasizes that good health is multidimensional, requiring a balance between physical, mental, and social well-being.

  • Physical Health: Involves the proper functioning of body systems, positively influenced by regular exercise, adequate rest, proper nutrition, and absence of disease.
  • Mental Health: Pertains to emotional well-being and the ability to manage feelings and handle stress. It includes cognitive abilities like learning and problem-solving.
  • Social Health: Relates to how individuals interact with others, manage relationships, and navigate social environments. It underscores the importance of supportive relationships and community involvement.

A deficiency in any health dimension can negatively impact the others. For example, a mental disorder like depression not only reduces mental health but also affects social interactions (social health) and can prevent physical activities like exercise and sleep (physical health).

Traditional medicine often focuses primarily on physical health, neglecting a holistic approach that includes mental and social well-being. This limitation can prevent achieving a sustainable state of well-being.

Mental health has historically been stigmatized and not prioritized in healthcare. But this has changed a lot the last decades, and psychologic treatments and holistic healing models are applied widely today. Also the economic costs caused by mental health problems strengthens the focus on it. The OECD estimates the costs of mental health issues to 600 billion € per year, in Europe alone!

And social health is the least recognized dimension. Despite well-documented evidence showing how loneliness and social isolation affect physical and mental health, these factors are still rarely considered in treatment plans today.

A nice description and assessment of the health triangle: What are the Three Sides of the Health Triangle — Mind My Peelings

Now, let’s focus on software ecosystems and IT organizations. What is the relationship? How would a Software Health Triangle be defined?

The Software Health Triangle

A software ecosystem is a dynamic system composed of software products, developers, organizations, users, and the tools and platforms they utilize, all interacting and evolving together to deliver integrated solutions and value. In this a sustainable, successful software ecosystem must master three dimensions to deliver holistic value.

  1. Technology and Architecture — Focuses on the technical aspects and infrastructure necessary to build robust and efficient systems. This is about selecting appropriate technologies, developing scalable architectures and ensuring that technical resources are used optimally.
  2. Business and Product — Refers to the business and product aspects. It includes strategy development, market understanding, product management and the commercial orientation. Building the right solution for customer and business success.
  3. Organization and Team Dynamics — The structure of the organization focused on business value creation, the culture and the interpersonal relationships within the teams. Key aspects include value-driven team structure, sense of purpose, effective communication and motivation.

Maybe you already see the appealing analogy of the dimensions of the health triangle to the 3 dimensions of successful software ecosystems.

Technology and Architecture → Physical Health:

  • Interconnection: Just as the physical body must be robust and adaptable, technology and architecture in IT organizations must be scalable and flexible to adapt to changing demands and technologies.
  • Influence: A well-designed architecture enables faster development, easier maintenance, and scalability, much like how good physical health enables a person to perform daily tasks more effectively.

Business and Product → Mental Health:

  • Interconnection: Mental health in the analogy correlates with the intellectual and strategic aspects of business and product management. This includes strategic decision-making, understanding market trends, and aligning product development with business goals.
  • Influence: Strong business acumen and strategic product development lead to innovations that keep the organization competitive and relevant, much like how a healthy mind leads to better life decisions and problem-solving abilities.

Organization and Team Dynamics → Social Health:

  • Interconnection: Social health represents the ability to form and maintain healthy, functional relationships, which is similar to how teams in IT organizations must work together harmoniously and effectively to achieve common goals.
  • Influence: Positive team dynamics and a good organizational culture not only enhance job satisfaction and reduce turnover but also improve productivity and the overall success of systems, akin to how strong social connections contribute to personal well-being and resilience.

To me quite striking is also the parallelism to the historical focus on the 3 dimensions of software ecosystems.

Historically, the software and IT industries have heavily focused on technological innovation and development, much like how we initially viewed health primarily as physical health. This emphasis on cutting-edge technologies often led to prioritizing technical skills at the expense of business strategy and organizational health.

Smaller software companies quickly notice a lack of business and product focus due to insufficient revenue and profits to survive. In larger organizations, this lack of focus is common, with value delivery being hard to measure and often overlooked due to inefficiencies. Reasons for failure are often delegated through the many participants and teams and are being accepted by the simple cause that big organizations are simply inefficient.

Organization and team dynamics remain the weakest dimension today, with their negative effects often outweighing those of other dimensions, especially in larger organizations. While smaller companies can thrive with skilled technical personnel and a clear business focus, the importance of organizational structure grows as the company scales. As an organization expands, it increasingly risks succumbing to complexity and communication overhead.

It’s important to recognize a common issue in how organization and team dynamics are perceived. Many people focus primarily on the soft factors like culture, leadership, communication, and motivation. While these are crucial, they are often difficult to measure, challenging to address in daily actions, and slow to change. This perceived “softness” can lead to deprioritization in favor of technology and business concerns. Instead, I prefer to emphasize the business value generation aspect of a good organization. Is the organizational setup designed to maximize business value? Are teams and domains appropriately structured? Are responsibilities clear and accountability established? Is the organization fast and responsive and makes customers happy?

By today none of the above is news. All dimensions received tremendous attention in the last decades and tons of models and patterns have been published. Still, after so many years in the software business it continues to strike me how insufficient or even bad the systems often perform (actually the same is true for the Health Triangle). Not lack of knowledge or individual excellence seems missing, but a holistic approach balanced by right prioritization across the 3 dimensions and put into daily practice, a balanced triangle for sustainable software ecosystem success.

Assessing your software ecosystem health state

Any kind of action should start with insight. Similar to an assessment of the 3 dimensions defined by the health triangle, such assessment can also be applied by rating the 3 dimensions of software ecosystems.

To accurately assess maturity in various categories, I’ve compiled a comprehensive set of guiding questions. These questions help achieve more robust and objective metrics. Feel free to modify or add questions to better suit your specific environment.

Technology and Architecture

Sample rating of the Technology and Architecture dimension as a radar chart across its six categories

Technology Fit — Our technology stack is up-to-date and fit for purpose

  • Are the tools and technologies we chose in the past still the right ones?
  • Are we constantly aware of the latest technology trends in the market?
  • Are we having the right technical skills in our team available?
  • Do we have the right balance of build or buy? Are there of-the-shelve products, tools or frameworks, which would make our solution even more effective?

Right Architecture — We regularly review and update our architectural designs

  • Are we aware of the newest architectural pattern?
  • Are we having the right architectural skills in our team available?
  • Are our architects enabling innovation and speed rather than becoming bottlenecks?
  • Is our architecture not only on subsystem-level (team-level), but also on system-level (multi-team) setup right?
  • Are we effectively balancing architectural innovation with maintaining legacy systems?

Ready to Scale — Our systems are scalable and can handle increased load

  • Do we trust in our system also when scaled up?
  • Do we have environments and processes ready for easy scaling usage of our system?
  • Do we conduct regular scalability testing under various load conditions?

Always Aware — We have effective monitoring and alerting systems in place

  • Do we always have the transparency and awareness of our system in use?
  • Are we able to react fast on any failures and resolve issues with minimal downtime?

Optimal Quality/Cost Level — Our technical debt is regularly addressed and minimized

  • Is a constant quality assured early in the development process? Is quality assurance baked into our development process to prevent major technical debt?
  • Are all team members taking responsibility for solution quality (not outsourced to QA members)?
  • Are our customers satisfied with the technical quality and reliability of our system?
  • Do we perform regular cost-benefit analyses to evaluate the impact of quality improvements?

Low Manual Efforts — We have a high level of automation or computational governance, security, operations and quality control established

  • Do we have minimum required human interaction with legal, compliance, security and architecture members OUTSIDE of our team? Are we rarely waiting for feedback from those disciplines?
  • Are we spending very little time on manually covering the above disciplines inside our team?
  • Are there automated tools in place for compliance and security audits?

Business and Product

Sample rating of the Business and Product dimension as a radar chart across its six categories

Right Strategy — We have a clear product strategy aligned with business goals

  • Are the current, major business goals defined and commonly understood?
  • Do we understand the WHY resulting in our strategy and goals?
  • Do we update our strategy and goals in regular intervals?
  • Do we have a feedback loop that ensures our strategy evolves based on market and competitive analysis?

Demand Understood — We are business domain experts and regularly gather and incorporate customer/user feedback

  • Are we having a thorough understanding of the customer needs in our business domain?
  • Do we have tools and processes in place for continuous customer feedback?
  • Do we have dedicated people and expertise for continuous user research?
  • Are we spending sufficient time evaluating customer feedback and incorporating it into our product development process?

Transparent Situation — Our product roadmap is transparent and regularly updated

  • Is there a continuously updated, cascading roadmap available (from organization/domain level down to team level)?
  • Is the roadmap accessible to all relevant contributors and regularly discussed on all levels?
  • Do we have mechanisms to ensure that the roadmap is communicated effectively across all levels of the organization?
  • Is the progress of the roadmap regularly discussed with stakeholders?
  • Are the roadmap items clearly mapped to the strategic goals?

Success/Failure Insights — We measure product success with clear, relevant metrics

  • Do we have our goals clearly expressed by metrics to measure achievement?
  • Are the metrics transparently communicated to the whole organization?
  • Do we document, measure and learn from our achievements/failures in regular intervals?

Execution Efficiency — Our product development process is efficient and iterative

  • Do we often deliver product increments with relevant business value?
  • Are we satisfied with the speed of our development? If not, are we aware of the reasons?
  • Are there regular reviews to identify and eliminate inefficiencies in our development process?

Holistic Responsibility — We have a strong cross-functional collaboration between business and tech

  • Does business and tech collaborate on a daily basis?
  • Do engineers/developers well understand the business impact of their development?
  • Do engineers and developers get immediate feedback on their requirements-related questions?
  • Do business and tech members live up to their jointly owned responsibility to deliver a valuable product?

Organization and Team Dynamics

Sample rating of the Organization and Team Dynamics dimension as a radar chart across its six categories

Value Domains/Teams — Our domains/teams have a high level of autonomy to generate business value independently, they take clear ownership

  • Is there a clear understanding of how each team contributes to business value?
  • Do our teams/domains develop and operate their product without the contribution of other teams required? Are teams rarely blocked by dependencies on other teams?
  • Are the teams/domains solely responsible and accountable for their product? Do they live up to their joint ownership on all levels required?
  • Are clear and measurable business value metrics in place for the domains/teams to oversee their business value generation?

Perfect Team Cut — We regularly inspect and adapt our organizational team/domain setup for maximizing effectiveness and efficiency

  • Do we have processes and models available for determining the right domain/team cut?
  • Do we regularly evaluate and discuss our multi-team organization and the cross-team collaboration?
  • Do we regularly reassess the alignment of team structures with organizational goals?
  • Are we aware of all cross-team dependencies? Are those dependencies really inevitable?
  • Is the domain/team cut transparent to all stakeholders?
  • Do we regularly evaluate and improve efficiency within the teams?

Positive Communication Culture — Our teams communicate openly and frequently within the team and efficiently across teams

  • Are there mechanisms and structures in place to foster team communication?
  • Are team members always aware of what other team members are working on?
  • Do we also talk openly about failures?
  • Are team members supporting each other in achieving their tasks?

Skilled Workforce — We invest in team-building and professional development

  • Are we dedicating sufficient time for professional development of the individuals?
  • Does the team jointly work on professionalization of skills and team performance?
  • Do we have a clear career development path for all team members?

Inspired People — Our leadership inspires and motivates the team

  • Are we inspired by the strategies and goals set by our leadership?
  • Do we have recognition programs and events to celebrate individual and team achievements?

Culture of Innovation — We actively encourage innovative ideas and experimentation for the benefit of our future software ecosystem and organization

  • Are there regular hackathons or innovation days where teams can work on new ideas?
  • Do we have a process for capturing and evaluating innovative suggestions from all team members?
  • Are successful innovations recognized and rewarded within the organization?

📊 Download the assessment as a Google Sheet: Software Health Assessment — Google Sheet

Like with any assessment the different roles and characters will give different responses. Ask your whole team for a rating and check the average, but also check the standard deviation on the individual statements. High deviation indicates areas for discussion within the team. Why do people evaluate the same situation so differently?

Way forward

Having conducted the assessment, you should now have a comprehensive overview of your software ecosystem’s current state of health. However, the next step involves identifying actionable strategies to enhance the three dimensions of the software health triangle: Technology and Architecture, Business and Product, and Organization and Team Dynamics.

In my next article, I will delve into specific models and practices that can help achieve holistic health and success within your software ecosystem. By focusing on these areas, you can create a more resilient, efficient, and value-driven software environment that continuously evolves to meet the needs of your organization and its users.