Context: Fast Moving Global Organizations
- To better understand any idea or solution, it is crucial to understand the context in which these ideas developed.
- The work I present here reflects my experiences as a Chief or Principal Architect at AVIV Group, eBay Classifieds, and Adevinta.
- The grounded architecture approach has developed in the context of global, loosely coupled organizations that are diverse, with non-linear growth dynamics, and under transformation pressures.
To better understand any idea or solution, it is crucial to understand the context in which these ideas developed. My approach to creating and running an architecture function is not an abstract idea. Instead, it is the generalization of many lessons learned while solving specific problems in a particular context.
I base my ideas on my experiences as a Chief and Principal Architect at AVIV Group, eBay Classifieds, and Adevinta. In this section, I discuss critical characteristics of the organizational context that have had an impact on my definition of the grounded architecture approach:
- global scale: operating across multiple countries and continents with millions of users,
- multi-dimensional diversity: the organizations I worked in were very diverse at all levels, including customer base, workforce, business model, team topologies, technology stacks,
- nonlinear growth dynamics: in addition to organic growth, big organizations frequently change the portfolio both by mergers and acquisitions of new businesses and as well as by divestments,
- synergies and transformation pressures: big organizations do not want just to be bing, they want to exploit the benefits of the economies of scale and reduce duplication of efforts,
- decentralized, loosely-coupled organizational units: organizational units have significant autonomy.
In the following sub-sections, I discuss these characteristics in more detail from an architectural viewpoint.
Characteristic 1: Global Scale
I was lucky to develop my approach in genuinely global and multicultural organizations. Global context leads to a massive scale:
- Billions of monthly user visits
- Thousands of active software developers
- Hundreds of product and development teams
- Hundreds of millions of lines of source code
- Many geographies, cultures, and languages
The global scale introduces several compelling opportunities:
- Increasing effectiveness: possibilities to reduce duplication of effort by centralizing shared activities.
- Leveraging economies of scale: achieving cost advantages, for instance, by reducing unit prices of used technologies.
- Increased business resilience and flexibility: possibility to compensate for negative local market changes with global resources.
- Bigger talent pool to support any local or global effort.
- Possibility for investments to support nonlinear growth by mergers and acquisitions (M&As).
The global and massive scale has many challenges:
- Organizational complexity (e.g., thousands of possible communication channels).
- Complex technology landscape (e.g., many services and interconnections).
- Continuously high costs of workforce.
- Continuously high cost of computing resources.
- Complexity of running operations with high customer demands.
- Huge attack surface, many points on the boundary of our systems where an attacker can try to enter, cause an effect on, or extract data.
- Limitations of any manual process, such as diagram drawing, to create an overview of the organizational or technology landscape.
Balancing opportunities and challenges on a global scale is one of the most challenging and rewarding aspects of architectural work.
Characteristic 2: Multi-Dimensional Diversity
The organizations I worked on were very diverse across several dimensions:
The global and multicultural nature of our context leads to diversity and multiple levels:
- Diversity of decision-making styles
- Diversity of organizational styles and hierarchies
- Diversity of meeting styles
- Diversity of ways of dealing with feedback
The organizations have many units, such as marketplaces (each with its sub-structures), global capabilities, enterprise IT teams, data capabilities, and generic IT infrastructure. In addition to their loose coupling, these organizational units differed in multiple ways:
- Size: for instance, some units had hundreds of developers, and some units had only a dozen.
- Team topologies: some organizations had one team, while other teams were organized hierarchically.
- Position of architecture: with some organizations having local architecture teams and local lead architects, smaller units have their team members conducting architecture activities in addition to other responsibilities
We had many architectural styles in active production systems, ranging from legacy monolith applications to complex modern Microservices and serverless ecosystems. Each part of the organization has a different history and a different legacy.
The primary technical infrastructure included several public cloud providers (AWS, GCP, Azure) and custom-built private data centers.
The systems also employed diverse application technologies, such as:
- Database technologies (e.g., MySQL, Postgress, MongoDB, Cassandra, AWS RDS…).
- Backend programming languages (e.g., Java, C#, Go, Scala, PHP, Node.js, Kotlin…).
- Mobile app programming languages (e.g., Swift, Objective-C, Java, Kotlin, Flutter/Dart…).
- Frontend programming languages and frameworks (e.g., React, Android, AndroidJS, Vue, jQuery…).
From an architectural perspective, diversity offers several opportunities:
- Increasing innovation due to a diverse workforce and possibilities to creatively explore more technologies and tools.
- Addressing specific needs better by choosing from a more extensive and diverse pool of resources.
Diversity also poses several challenges:
- Increasing complexity and cognitive load of teams.
- Limited flexibility and reorganization possibilities as expertise is split among many domains and technologies.
- Higher technical debt due to many legacy components in many (outdated) technologies.
From an architectural perspective, diversity is an excellent source of new possibilities but comes with changes in controlling complexity.
Characteristic 3: Nonlinear Growth Dynamics
Complex organizations like the one I have worked in are frequently very dynamic. Such organizations grow (or shrink) and reorganize often and significantly. They change both organically and inorganically. Organic growth is internal growth the company sees from its operations. Inorganic change comes from buying other businesses, opening new locations, or divesting.
Possibilities for nonlinear growth may be helpful in several scenarios:
- Faster growth due to acquisitions of market segments.
- Speeding up innovation due to the acquisition of new technologies or services.
Nonlinear dynamics have several influences on architectural activities:
- Increased complexity due to many new organizational units.
- Increased complexity to the potentially more diverse organization, process, and technology.
- More complex architecture to stay flexible if the organization decides to divest a part of the organization.
Non-linear growth dynamics open up many challenges as they can lead to many surprises. And in business there are no good surprises.
Characteristic 4: Synergy and Transformation Pressures
Complex organizations do not just grow. Instead, they want to be more efficient and leverage economies of scale, cost synergies, or increase capacity for innovation. Our investors expect us to transform to be more than a sum of our original parts.
Pressure for synergies and transformations can provide several opportunities:
- Cost reductions.
- Acceleration due to more resources available when synergies happen.
- Innovation through more capacity and possibility for reuse and sharing.
- Faster scaling up of operations due to more efficiencies and lower unit costs.
Pressure to be more synergic and efficient has its challenges:
- Up-front investment is needed to gain any benefit.
- Such investment typically brings high risks.
- Productivity of some teams may (temporarily) drop due to the need to split effort between transformation activities and other work.
- After transformations, the complexity of the organization and technology landscape may increase due to more dependencies, e.g., reusing central services.
Synergies and transformation pressures can lead to high expectations and pressure that complicate regular architecture work. On a apoitive side, such pressures could create many new opportunities.
Characteristic 5: Decentralization and Loose Coupling
Researcher Karl Weick developed the concepts of tight and loose coupling to describe the organizational structure first in educational institutions and later applied to diverse businesses. According to Weick, a tightly coupled organization has mutually understood rules enforced by inspection and feedback systems. In tightly coupled organizations, management can more directly coordinate different departments’ activities according to a central strategy.
In a loosely coupled organization, some of the elements of a tightly coupled organization are absent. Employees have more autonomy, and different departments may operate with little coordination.
Due to historical and strategic reasons, most organizational units I worked with were loosely coupled. Our companies frequently grow through acquisitions of companies in different marketplaces. The strategies also continually promoted a more independent evolution of each marketplace to better and faster address local market needs. Marketplaces often have a high level of autonomy, frequently with their development teams and sometimes with local C(P)TOs, CFOs, CMOs, or CEOs.
Loose coupling offers several advantages:
- Higher flexibility: units can keep developing independently, addressing specific needs without synchronizing with other marketplaces.
- High development speed / faster time-to-market: fewer dependencies make it much easier for marketplaces to change and evolve their products for local needs.
- Innovation: possibilities to quickly explore ideas in smaller contexts.
Loose coupling also has several challenges:
- Duplication of effort: while local market needs differ, there is frequently a significant overlap in product features and technology. This overlap leads to duplication of effort as each marketplace creates solutions for the same problems.
- Increased accidental diversity: limited synchronization offers flexibility but may lead to significantly different design choices, making it challenging to consolidate solutions, move people between teams, or benefit from the economy of scale.
- Limited possibilities for central control: due to fewer dependencies and different goals, it is more difficult to introduce changes across the portfolio.
Loose coupling is architecture-wise challenging as it frequently leads to a conflict between global alignment and control and local autonomy.