Several recent articles by Jason Bloomberg on Forbes have put the spotlight on the division between enterprise architects and the Agile movement, and have highlighted the necessity of bringing these two sides together. Towards the end of his article titled Scaling Agile Software Development for Digital Transformation, Jason urges digital transformation professionals to choose their tools with care. The following article is for those enterprise architects that wish to go Agile and become Agile Enterprise Architects (Agile EA).
One of the biggest causes of aggravation between enterprise architects and software development teams is caused by the legacy of other, older software development models where the design is always planned upfront vs the design-as-you-go approach of Agile development. This typical idea of enterprise architecture would provide the enterprise architect a command and control position, a role incompatible with the Agile way of working.
For Agile developers reading this, let's be clear: you can’t scale Agile effectively without an enterprise architect; your business needs one. Many of you might be wondering why not consider the various frameworks for scaling Agile such as the Scaled Agile Framework, designed for scaling Agile with developers working in SAFe® teams? This provides your business with architecture, right? Well... wrong!
The Scaled Agile Framework provides a framework that enterprise architects can use to scale Agile in your organization. It is for this reason we advocate having an ownership position for the enterprise architect.
Traditional EA vs Agile EA
In the context of an enterprise software development project, the purpose of the enterprise architect is to determine how to best utilize the resources allocated to the project to meet the current and future objectives of that project and draw up the blueprint for the project teams to follow.
The whole point of carrying out architectural modeling is to:
- Provide credibility for the initial plan
- Mitigate the potential risk of individual team members working to different visions of the same project
- Make sure the system works and ensure that performance requirements are met
The ongoing task is ensuring that everyone involved is working to the same project vision. Orchestrating teams and departments to align with business goals is the primary challenge here.
To become an Agile Enterprise Architect you must leave the idea of "fixed" or "finalized". You must open up your UML modelling for scrutiny, signing up for inclusion of constant feedback from your Agile development colleagues. Just as with Agile development, strategy changes with changing requirements.
Your Agile modelling must change to meet the new order of things. The end goal of Agile architecture is, as ex-Netflix Adrian Cockcroft suggests, to promote emergent behaviour within and between development teams, and alter management style to accommodate and manage the productive chaos without restricting the the creative process. From a business perspective, the Agile Enterprise Architect's role is to assist with business transformation.
Agile Architecture should be integrated throughout the Application Development Lifecycle
A perfect tool for Enterprise Architects is Intland Software's codeBeamer ALM. With our Enterprise Architect plugin, we provide a bidirectional and completely traceable development process by integrating your UML modelling tool and codeBeamer ALM. Intland’s EA plugin lets you import diagrams and work items into codeBeamer. Syncing also works the other way around: requirements, tests, and other work items may be exported from your ALM solution & imported to Enterprise Architect.
An Enterprise Architect-friendly ALM Solution
For a better understanding of our Enterprise Architect plugin and the benefits of UML-ALM integration, check out our webinar recording below. Ready to learn more? Contact us with your questions, or start your free trial of codeBeamer ALM.