Showing posts with label The Open Group Architecture Framework. Show all posts
Showing posts with label The Open Group Architecture Framework. Show all posts

Friday, July 4, 2014

Aligning Agile with TOGAF EA framework

This is a continuation of my series on aligning EA with Agile/Scrum frameworks. The first chapter of this series could be found at Aligning Agile with Zachman EA framework. In the sections below I am trying to showcase one of countless possible ways to align TOGAF with Agile/Scrum - with objective of trying to showcase the flexibility and adaptability of EA frameworks and applicability to the modern enterprises.

Again, as a disclaimer from previous chapter in the series - without getting into religious debate about whether EA should report into CEO or CIO, I would like to focus on a simple objective of having/building an EA practice. In layman terms - Enterprise Architecture is the formal practice/group/team to align the business strategy with the IT spending, and Enterprise Architects achieve this goal by collaborating and working closely with number of stakeholders across the board on business, application, PMO and QA side of the house. In my experience I have partnered with PMO and Portfolio managers to help lay down an iterative SDLC model, with a foundation build upon Agile principles.

Aligning TOGAF with Scrum

TOGAF is the newer of the EA frameworks, however in last decade TOGAF9 has gained a great momentum and very high rate of acceptance throughout IS&T organizations universally - mostly attributed to it's flexibility and adaptability. 

TOGAF is just a guidance, and the user group can actually custom-build it to suit it's business capability model. TOGAF also provides guidance in shapes of ADM, III-RM, TRM et al. Again, a testament of the adaptability and universality of good EA frameworks. 

The view below is representation of the TOGAF Architecture Development Methodology broken in logical demarcations. 




If you study the TOGAF ADM closely you'll notice how ADM provides structure and framework to the whole project and portfolio management. ADM aligns the SDLC in a mature repeatable sequence of events, and sets high level gates (milestones) to help associate each phase with the adjoining phases. 

Let's breakdown the ADM phases in layman terms to establish clearer understanding with regards to objectives from each ADM phase here:-

Phase A - Architecture Vision
Develop a high-level aspirational vision of the capabilities and business value to be delivered as a result of the proposed enterprise architecture

Phase B - Business Architecture
Develop the Target Business Architecture describing how the enterprise needs to operate to achieve the business goals,responds to the strategic drivers set out in the Architecture Vision, and addresses the stakeholder concerns

Phase C - Information Systems Architecture
Develop the Target IS Architecture that enables the Business Architecture and the Architecture Vision, while addressing the stakeholder concerns

Phase D - Application Architecture
Identify candidate Architecture Roadmap components based upon gaps between the Baseline and Target Application Architectures

Phase E - Opportunities & Solutions
Generate the initial complete version of the Architecture Roadmap, based upon the gap analysis and candidate Architecture Roadmap components from Phases B, C,and D

Phase F - Migration Planning
Ensure that the Implementation and Migration Plan is coordinated with the enterprise's approach to managing and implementing change in the enterprise's overall change portfolio


The fact that ADM revolves iteratively around the business requirements, and repeats logically after completion of each iteration is testament of it's alignment with Scrum methodologies and it's close alignment with the business objectives and goals of an enterprise/organization at fundamental level


Laying these phases in sequential order, keeping in mind the high level objectives of each phase and also considering agile/scrum methodologies on the other side of the thought process - one could lay a representation as marked below. In the view below, i.e. FIG.1 - TOGAF aligned with the Scrum methodology for SDLC, I have showcased how TOGAF is aligned with Agile/Scrum in a top-bottom representation. 

FIG.1 - TOGAF aligned with the Scrum methodology for SDLC


Notice how the view above showcases gates/milestones - indicating the handshake opportunities/placeholders for various stakeholders involved in the end-to-end SDLC, moving the project responsibilities between teams/stakeholders. 

The gates could be used to mark out clear demarcation and also in setting protocols and standards for information exchange between stakeholders representing different groups/units.

This same model could be extended, or taken a step further even to the Phase H of the ADM, i.e. Architecture Change Management. This could be applicable in cases when the original architecture solutions could not be applied/conformed to or change in original requirements or in case of lot of defects during UAT leading to re-do or most commonly, taking a backlog of the unfinished used stories and re-prioritizing them in the next sprint.


Aligning Zachman and TOGAF together with Agile/Scrum

Overlapping this TOGAF/Scrum representation above with the Zachman/Scrum model one could easily link the 2 and see the close association between the 2 models.

The output from gate 1 and gate 2, i.e. Corporate Strategy and Technology alignment phases, evidently become inputs for the tactical plans in shape of user stories/epics as answers to - when, who, how, what, where and why, all addressed during the earlier phases. Please see the FIG.2 - SDLC Gates based upon the Zachman, TOGAF and Agile/Scrum Alignment for better clarity.

FIG.2 - SDLC Gates based upon the Zachman, TOGAF and Agile/Scrum Alignment

Summary

Zachman is a true example of an EA framework which has stood the test of time and has been adopted by 1000s of organizations worldwide. Adaptability and universal applicability of Zachman makes it stand atop all EA frameworks, testament to the flexibility of the mature EA framework.

TOGAF on the other hand is inherently flexible since it just guides the EA practitioners with guidelines and methodologies, leaving the implementation details to the EAP. If anything, it just adds to the agility of the practicing organization and provides means of progressive incremental maturity. 

Hopefully, this should help the EA skeptics understand how easily an EA frameworks can align with Scrum/Agile methodologies and enhance productivity and agility of the SDLC. It should help skeptics realize that one can tweak and morph the EA framework to meet the business needs and IT expectations. 

In the end I would like to sum it up by giving an analogy - 
Building a large, complex, enterprise-wide information system for the modern enterprises without an EA framework is like trying to build a modern cosmopolitan city without a city planner or a blueprint. 
Can you build a city without a blueprint? Probably Yes.  
However, would you want to live in such a city? Probably NOT.

Enterprise Architecture is simply indispensable for the modern enterprises. 


----x----x----x----


Disclaimer - The reader is expected to have basic knowledge of TOGAF, ADM and Agile. Also, please note that there are many more EA models/frameworks and the value chain could also be represented potentially in dozens of different ways. That being said, Agile and EA could be aligned in multiple different ways - owing to flexibility offered by both, as long as the using organization knows what it's looking for.


References:
REF-1: The Zachman Model

REF-2: The TOGAF ADM

Wednesday, May 28, 2014

Aligning Agile with Zachman EA framework

More often than one would like to, I get to read online and come across misguided grievances from seasoned IT leaders (and surprisingly enough NOT so much from the business side of the house), on online private/public forums and otherwise also that EA is good only for organizations that have established businesses and lots of money to spend on IT. Some of the most commonly used phrases that I have come across in last 3-4years - 

"EA and Business Agility are oxymoron"

"Enterprise Architecture is rigid and inflexible"

"Enterprise Architecture makes the SDLC process heavy and dense"

"Enterprise Architecture works only for the companies that run on waterfall SDLC model"

However, contrary to the fairly common misguided beliefs EA is actually critical for progressive businesses and is often deep rooted in organizations with rather frugal IS&T. If anything, EA makes SDLC more efficient and agile - when applied correctly.


Without getting into religious debate about whether EA should report into CEO or CIO, I would like to focus on a simple objective of having/building an EA practice. In layman terms - Enterprise Architecture is the formal practice/group/team to align the business strategy with the IT spending, and Enterprise Architects achieve this goal by collaborating and working closely with number of stakeholders across the board on business, application, PMO and QA side of the house. In my experience I have partnered with PMO and Portfolio managers to help lay down an iterative SDLC model, with a foundation build upon Agile principles.

Zachman, TOGAF, FEA, Oracle EA (thinly based on TOGAF), and Gartner Meta Model frameworks are possibly the most famous EA frameworks in the market right now. However, for the purposes of indicating the alignment between EA and agile SDLC, this blog series focuses only on TOGAF and Zachman models.

Aligning Zachman with Scrum
Zachman framework is probably the first formal EA model that provided users with a robust framework that could be custom-built to fit various LOBs and domains. The Zachman "Framework" is actually taxonomy for organizing architectural artifacts that take into account both - who the artifact targets and what particular issue is being addressed. Though Zachman model was originally envisioned for a SCM, but over a period of last 40+ years since it's existence it has been used in innumerable scenarios and LOBs outside the SCM industry, which is a testament of the robustness and universality of the EA frameworks. 




In simple terms Zachman is a 6x6 matrix with taxonomy from 4 different consumers views - Enterprise Names, Model, Audience, Artifact Classification. For the purposes of showcasing alignment of Zachman with Agile, I would focus completely on the Enterprise names and Classification names and I would try and mould the original model in a newer model that aligns easily with the Agile principles. 

In order to align and rhyme with the Agile theme, I have re-ordered the classification names (Zachman does NOT tie the user to itself rigidly) in the revised model.

In the revised Zachman picture below, the original Enterprise names have been revised in an attempt to help align the model closely with geographically and physically spread modern enterprises.

  • 'Event' here indicates the trigger or alarm condition for the the business flow or process to begin.
  • 'Capability' reflects upon the business rules and principles encompassing the asset or action to be taken 
  • 'Function' could be auto or manual or a combination to define course of action.
  • 'Asset' could be an object, piece of information, ER et al. It could be anything that business considers as an asset. 
  • 'Location' could be on cloud or on-premise or hybrid, location of the asset on which the action is to be taken.
  • 'Reason' should be included for tracking purposes so that we could establish why a change was made or suggested.


From here, we could dwell a level deeper and see how the revised Zachman could be plugged into the scrum SDLC for defining each user story. The section highlighted in Yellow above is representing a scrum user story at operational level, capturing the details in a pre-defined template/format. When this revised Zachman model is plugged into the Agile [REF-2] SDLC, organization could benefit immediately/earliest in shape of - 
  • primarily, every user story would not have a story/theme
  • it would be able to provide consistency in capturing requirements in the right details for all the projects, 
  • it would also be able to provide just the right amounts of details at the front end of the process,
  • it would enable the solution and technical engineers to work in close collaboration with the business analysts during the conceptualization phase,
  • this approach might also help in reducing the backlogs between sprints.
  • finally, this is extensible solution and can easily be modified to align with any change(s) in business and/or EA guidelines.

On the flip side - Agile being an umbrella for multiple known methodologies, i.e. Scrum, Kanban, Scrumban etc, I believe it could be moulded to meet the organization requirements and just like we saw how Zachman framework could be custom-built to suit to the organizational expectations and culture.

Here we have covered just the user-story aspect of the agile process (aligned with Zachman model), and in the next part of this blog series I am going to showcase how one could make the overall SDLC process iterative and align TOGAF with Agile SDLC, at EPICS and Sprint level.

 


Disclaimer - Please note, there are many more EA models/frameworks and the value chain could also be represented potentially in dozens of different ways. That being said, Agile and EA could be aligned in multiple different ways - owing to flexibility offered by both, as long as the using organization knows what it's looking for.


References:
REF-1: The Zachman Model