Competitive people usually adopt new working ways for their organizations to stay afloat with the evolving technology landscape. Agile is one of the working ways which has been befriended by a lot of the organizations. It is capable of resolving various issues that software development has been facing for a number of years.
The role of Architecture in the Agile context has been a debate issue for decades, where supporters of an Agile points architecture as a “Big Design Up Front” which is a contradiction to the Agile philosophy. In the meantime, Enterprise Architecture has improved itself as a vital tool for translating strategy to operations. So are these two approaches conflicting each other or can you accept them together?
To arrive at a conclusion over this point, you need to understand the concept of the Agile and the Enterprise Architecture, which is as follows:
Enterprise Architecture (EA)–
Enterprise Architecture provides an insight into the various interrelated aspects in an enterprise. EA translates strategy to concepts, principles and models that provide vision to future and guide to design and development. EA provides a general review and the direction and considers the developed system as a black box system. Solution Architecture opens the black box and describes the structure and the decisions in the box. TOGAF and ArchiMate are the important standards of an enterprise architecture.
Agile is the software development technique comes under the Agile Manifesto. Agile focuses on the individuals and interactions, working software, customer collaboration and on those who are responding to change. The manifesto provides a set of principles providing tangible guidance. One of the principles is “Simplicity –the art of maximizing the amount of work not done — is essential”. The most popularly used Agile method is Scrum, considered as the simplest method to instantiate Agile.
Following are the insights over the Agile and the Enterprise Architecture to decide whether they can be blended together or not.
Insight #1: Pre-condition can be stated as Enterprise Architecture
The first important insight is that EA is valuable to determine the future of pivotal Agile projects. It provides better vision to realize, identify the application and projects which are needed to support this vision. In EA, applications can be introduced as a black box. The Agile Project can open this black box. Agile projects can refine the high-level business requirements into the epics and the user stories in EA.
Insight #2: Agile needs other Scaling mechanisms
Another important insight is that the focus of Agile will only be the teams, and not the enterprise. Dean Leffingwell designed the Scaled Agile Framework for small teams and it does not scale to the enterprise level. Enterprise Architects are also working under this framework. The responsibilities of the enterprise architect constitute of maintaining the goals, facilitating reuse of emerging solutions, knowledge and patterns.
Insight #3: Agile, SCRUM can be successful Enterprise Architecture
Finally, Agile and Scrum can be considered as enterprise architecture. They can be illustrated in the form of principles and models, core elements of architecture. This insight is for Agile proponents to convince them how Enterprise Architecture (EA)
really works. It also reveals how you can handle an EA in an Agile environment. Similarly, it shows in which project, you should handle the Agile principles and Scrum concepts. Basically, it works earnestly if carried out seriously but at the same time can be risky to adopt it if it doesn’t fit in your organization.
Insight #4: Enterprise Architects should assist to maximize the “Not Done” work
There are lots of misunderstanding related to the enterprise architects. A general misconception or you can say pitfall about the enterprise architects is that they think solely about the thing which is less prioritized. This behaviour accounted for contradiction in the enterprises. Enterprise architects should do work collaboratively with others, concentrating on “the most prioritized matters”.
Similarly, Agile teams work together, discussing each and every matter and maximizing the “not done” work. Soft skilled work is more important for every team member. Best practices like multi-disciplinary teams, collaboration, co-acts and communication should be applied in each and every organization. Thus EA should work according to the Agile manifesto.
These are the ways in which Enterprise Architecture not only performs, but does so well enough, if integrated with Agile principles.