The agile enterprise architect

New methods of software development require new ways of managing the business around it, says Michael O'Reilly

In association with NTT Data

Enterprise architecture has been around for a relatively short time, first referenced by John Zachman back in the 1980s but only finding its footing in the ‘90s. As with all technology evolution, the discipline and role of the enterprise architect had to change with the times, but the fundamental purpose has remained the same: “[to accelerate] the ability of an enterprise to achieve its stated objectives”.

I had the privilege and pleasure to meet John Zachman and in conversation he mentioned that a business enterprise is more complex than a 747.

 

advertisement

 

It makes perfect sense that the best way to understand a complex thing is to describe it. Realising that a business is complex and architecture can map that complexity is a logical conclusion. However, as the business enterprise evolved and adopted the concept of agility, the enterprise architecture needed to develop to keep pace.

The agile method’s founders recognised architecture’s importance. There are specific references to it in the Agile Manifesto, which states: “The best architectures, requirements, and designs emerge from self-organising teams”. Many architects would agree, but the sticking point is where the manifesto favours “Working software over comprehensive documentation”.

In the early days of agile, the enterprise architect (EA) was seen as a ‘disabler’ to the agile process. Where the agile team wanted to move forward, the EA held them back with architecture approval, governance gates, detailed design documents etc. The perception was that the EA was too far from the solution, while conversely the EA believed agile teams did not consider solution design in the context of the entire enterprise architecture.

The reality is in this new world of agile business, the EA needs the agile team and they need the EA. EAs bring a wealth of technical expertise and experience that can enable and enhance the solutions of an agile team. While EAs need agile teams to implement their strategies and evolve the enterprise architecture to the next level.

Frameworks

To achieve this, the EA needs to get close to the agile team to understand the proposed design and ensure the right architecture is available to support that design. In the Scale Agile Framework (SAFe), this is referred to as the ‘architectural runway’ and is the primary tool used to implement an agile architecture strategy. In principle, the architectural runway provides the necessary technical foundation for developing business initiatives and implementing new features and/or capabilities.

In practice, EAs engage with the agile team early in the design processes and leverage the concept of ‘intentional design’ to ensure foundation components are in place to provide just enough runway to achieve the next iteration.

Throughout the process, the EA will work with the agile team to evolve the architecture, maintain alignment with non-functional requirements and maximise reuse while striving for simplicity and quality. This engagement is a balancing act between the intentional design and emergent architectures to extend the runway in a positive direction to enhance the solution performance and usability.

We must remember that there is usually an existing architecture and agile teams need to operate within this environment. Therefore, an enterprise architecture design that supports DevOps tools and the automation of processes throughout the solution delivery lifecycle will enable the flow of business value for the agile team. EAs and agile teams must collaborate to achieve a positive outcome for the delivered solution and the overall architecture.

Reflecting on my discussion with Zachman, he commented on “design for extreme complexity and extreme change”. The Agile Manifesto discusses “continuous attention to technical excellence and good design” and “welcoming changing requirements”. Enabling these points in the manifesto through the right enterprise architecture design can complement the overall outcome of working software delivering business value faster.

Complex systems need to be described, so working closely with the agile team will help maximise the solution for value and flow while ensuring architectural integrity is maintained across the enterprise.

In summary, agile architecture must find an appropriate level of engagement and control to achieve the best technical outcome for the business that enhances a solution’s value.

Michael O’Reilly is CTO, international business, with NTT Data

RELATED ARTICLES
Sign up for the
Technology Minute

Listen to Tech Radio

- Advertisment -

Most Popular