Agile architecture: Building the foundations for an adaptable, digital organisation
Digital is essential to the products, services and business models that improve customer satisfaction, profitability and market position in the face of rapid change.
Yet we see many organisations struggle to deliver successful digital transformation due to overly complex processes and application landscapes, seemingly insurmountable technical debts and little strategic guidance.
To overcome these difficulties, transformation leaders need to embrace two approaches that might at first appear incompatible:
- Architecture, where teams design processes, the organisational structure and a technology stack to accommodate new digital business models and strategic priorities.
- Agile, where teams adapt rapidly to an ever-changing environment of customer needs, technology development and competitive pressure.
The challenge is to reconcile the long-term, document-heavy architecture approach with the collaborative, rapidly changing agile approach. Such ‘agile architecture’ will lay the foundation for an organisation that can thrive in the digital economy.
Agile architecture prepares organisations to respond to the ever-changing competitive landscape and increasing pace of technical innovation by making digital transformation simpler to deliver. If done right, it creates scalable solutions that fit your organisation's strategic priorities and long-term vision. To implement agile architecture, organisations need to:
- Introduce agile practices to architecture development
- Improve interaction between architects and agile delivery teams
- Establish new architectural models
Accelerate architecture delivery by introducing agile practices into architecture development
Enterprise architects can’t ignore the proven success of agile practices – our research shows agile organisations are more financially successful. Organisations must augment architecture development methods with agile elements.
For example, when a global fast-moving consumer goods company needed to carve-out part of its business as a standalone company, they needed to decouple, redesign and reimplement the IT. The only way to do this at the pace required was through agile architecture. So, we worked with the company to outline the high-level target operating model before tasking agile teams to detail solutions for each end-to-end process. A central architecture team kept control by consolidating and validating each solution, adding agreed architectural details to the overall design where needed. With this approach, we achieved the pace needed to meet the ambitious timelines while keeping architectural control over the solution design.
Underpinning this work were three key agile architecture principles: minimum viable architecture, incremental development and customer-centricity.
Start with a minimum viable architecture
Don’t put effort into building a target operating model so detailed it can’t accommodate changes without excessive rework. There’s no such thing as ‘right first time’ when it comes to complex architecture challenges. Instead, start by developing the minimum architecture required to deliver essential services and a set of architectural guardrails and options that help agile teams make choices. Our report on the secrets of organisational agility shows success starts with careful and considerable work before any wider organisational pronouncements.
Incrementally develop the architecture
When your minimum viable architecture is in place, you can start building on it incrementally. Set high-level milestones and detail the planning only in the near-term. Eliminate inferior architectural options as you learn.
It’s important to be transparent in planning and priority setting by breaking down the ideal architecture into smaller deliverables prioritised in a backlog. You should also time-box each activity and create a clear definition of done for them. And architects should share preliminary results and seek feedback early in the process to continuously learn and improve.
Centre on the customer
Identify a ‘customer’ for your architecture products who’s willing to develop them jointly through constant feedback. Our research into organisational agility found top performing organisations are 22 per cent more customer-centric. Achieving this will require you to present the architecture in a transparent and approachable way that’s understandable in the language of the business. It will also require you to avoid creating excessive documentation and to engage the wider business in architecture decision making.
Take architecture out of its ‘ivory tower’ by improving interactions with delivery teams
Enterprise architects should be a guiding force, shepherding delivery teams towards the organisation’s strategic objectives. Agile delivery teams are extremely customer-centric, which can lead to the organisation’s goals taking a back seat. Architects are in a unique position to ensure those teams stick to the non-negotiables that are key to achieving an organisation’s ambitions.
For example, a leading global manufacturer of health equipment was struggling to deliver improvements to crucial IT platforms due to dependencies between the different platforms’ agile IT teams. Software release windows, improvement priorities and solution designs weren’t aligned, leading to non-value adding or even counterproductive work.
By introducing architectural dependency management and global portfolio management, we aligned the timing of the different agile teams and provided architectural design principles to ensure solution design and delivery matched across the platforms. We used a clearly defined overarching customer journey as the guiding principle for cross-team alignment, and visible improvements in customer satisfaction encouraged the teams to further strengthen the backlog alignment.
To enable architects to fulfil this role, organisations must make the big picture clear and establish ways of working that see architects collaborate with delivery teams.
Set the big picture
Architecture is rarely seen as an integral part of scaled agile project delivery, with architectural efforts often limited to IT solutions. To overcome potential reservations in agile teams, architects must demonstrate what they can bring to the table.
Architecture in an agile context is successful if it can explain how the IT solutions created in agile teams fit into the bigger picture. That means showing the team’s efforts in the context of strategic planning, the overall project portfolio and product backlogs. Architects can help by creating a shared vision about where the teams are going, supported by strategic roadmaps and business principles.
Architects should provide guidance and guardrails for agile teams to ensure compliance with company goals without suffocating decentralised decision making. That means monitoring the development of the overall design, suggesting standardisation where possible and recommending reference models where helpful. Architects usually oversee the work of several teams, so can more easily point out and resolve dependencies.
Create collaborative ways of working
Architects should immerse themselves in agile teams and drop the idea of a clear handover between planning and delivery. They should closely collaborate with delivery teams to provide constant guidance and coaching. This way, architecture becomes integral from the start of agile delivery, not just in the long-term.
To interlock architecture with the agile cadence, architecture increments and transition stages must match agile planning increments. Architects can then help agile teams partition the work, develop scenarios for decision making and anticipate blockers.
Architects can also stimulate cross-discipline collaboration as they have a unique ability to make meaningful connections between the thinking of different domains, such as DevOps, change management, ITIL, COBIT and security frameworks.
Create a common language with new architectural models
Architectural models help architects describe an organisation and how it should develop. With the shift towards agile, these models must evolve.
Modularise your architecture
Architecture models present architectural choices (top-down) but shouldn’t styme decision making in self-guiding agile teams (bottom-up). Models need to provide a clear decoupling point, after which decision making lies with the agile teams.
Modularising the architecture means designing the organisation as a set of re-usable building blocks that teams can combine to achieve desired outcomes. These building blocks are easier to build and adapt than monolithic designs. Within the modular architecture, agile teams can easily identify and scope what they’re working on while knowing the dependencies with other parts of the business, which ultimately provides freedom.
The right way to create a modular architecture is to first provide a high-level representation of the building blocks, only detailing them when necessary. Senior stakeholders’ strategic choices determine the higher levels of these models, while agile project teams shape the lower levels. In that sense, it resembles painting a whole canvas with broad strokes before adding detail in later stages.
For example, we’ve supported multiple organisations to consolidate their Enterprise Resource Planning (ERP) landscape. To enable the agile implementation of these core transaction processing systems, we reduce complexity by breaking down the target architecture so individual agile teams can work on the detailed processes and system configuration without losing sight of the total solution. We take a hierarchical approach, starting with high-level descriptions of capabilities and processes before going down to detailed and operational instructions. These lower levels link to the bigger picture through process flows, clearly indicating how changes impact the whole.
Turn towards outside-in architecture
With customer satisfaction a crucial ingredient in digital success, architecture needs to include end-customer interactions and expectations instead of just focussing on inward-looking artefacts, such as processes and functions. Architecture must incorporate proven artefacts from digital business models – such as customer journeys, touchpoints, personas and service definitions – and create meaningful connections to ‘classical’ architecture artefacts – such as value streams and capabilities. This way, the business can understand how the inner workings of the enterprise create value for the customer, which in turn guides the architectural decision-making process.
For example, a heavy equipment rental company with over 100 depots globally suffered from an outdated application landscape, which hindered the digitisation of operations and impacted customer experience. Working with people from the global depots, we outlined a target customer journey and the impact that would have on operations. From that, we shaped an outside-in architectural model and identified the building blocks that would make it a reality. This led the company towards solutions they wouldn’t have considered using their traditional approach, allowing them to enhance their competitive position for the coming decades.
Think along the lines of products
Traditionally, organisations thought of architecture development as sequential delivery of business, IT and technology architectures. In the digital economy, however, the demarcation between physical products and software isn’t meaningful anymore. For example, a product manager of smart watches might oversee the product design process, the shopping experience, regular software updates and aspects of data security. Architects need to support this diverse landscape by vertically integrating different architectures to create compelling value propositions.
Agile architecture is the foundation of successful digital organisations
As digital transformations become ever more vital to the success of organisations in all sectors, agile architecture will make the difference. By introducing agile practices to architecture development, improving interaction between architects and agile delivery teams, and establishing new architectural models, organisations will be able to keep up with changing consumer needs, technological innovation and the evolving competitive landscape.
This approach to agile architecture will help organisations reduce technical debt, IT costs and process complexity, which form major obstacles for business model innovation. It also allows senior management to clearly express their digital vision in terms of operating model choices that agile teams can rapidly deliver. As such, agile architecture gives significant competitive advantage to organisations that master it.