Tuesday, April 30, 2013

What are Main Characteristics of Agile EA

Agility is not just the ability to change. It is a cultivated capability that enables an organization to respond in a timely, effective, and sustainable way when changing circumstances require it.

The aim of an EA must be to define, implement and refine the overall architecture on a continuous basis. However, most of today’s EA is static and theoretic. The biggest problem with EA is not the tools, nor the frameworks (although they certainly contribute), but with the concept itself, and the means used to express the needs, desires, and requirements of the organizations' thoughts, direction, goals, and objectives. While emerging technology trend such as SMAC (Social/Mobile/Analytics/Cloud) brings both unprecedented opportunities and potential risks in shaping business today, Agile business needs Agile Architecture, static enterprise architecture frameworks have to give way to continuous business transformation best practices. And EA plays a critical role in orchestrating such transformation. But, what’re the new characteristics of Agile EA?

1. Agile EA

What Is Agility? According to industry experts: Agility is not just the ability to change. It is a cultivated capability that enables an organization to respond in a timely, effective, and sustainable way when changing circumstances require it. The management literature increasingly refers to this ability as a “dynamic capability”: the potential to sense opportunities and threats, solve problems, and change the firm’s resource base. That said, your environment 'will' change, so anything that you do too far "upfront" is likely to be wrong in the future. The agile practices address this using a short feedback loop (plan, try, test, learn); so that you never get too far away out on a tangent on the manifold of reality. From the EA perspective, it’s about how to keep the modular design, continue planning and improving, and then fulfill EA's purpose--to bridge strategy and execution, transcend business into the next level. 

The Ten Characteristics of Agile EA 
EA practice should guide enterprise change according to a business strategy, and that great organizations develop a strategy based on a vision of the future, and that today’s world is very complex due to the rate of change and its disruptive force, agility in how organizations execute their strategy is necessary.

  • Agile Enterprise Architecture is not a blueprint.
  • Agile EA is a highlight which changes to focus on, which one can be ignored
  • Agile EA is about impactful choices upfront that will make later choices easy.
  • Agile EA is about the stable ground, but not frozen (static) ground.
  • Agile EA emerges over time, incrementally think about the future, but doesn't overbuild the architecture.
  • Agile EA is to be open about your architecture — encourage criticism, allow requirements to drive your architecture updates.
  • Agile EA embraces Business ecosystem (as both functional and organizational borders are blurred) 
  • Agile EA weaves Various Factors: Both hard factors (organizational structure, technology., etc) and soft elements (culture, leadership) seamlessly
  • Agile EA supports many Agile Wings such as Agile strategy, agile culture, agile PM methodology, agile budgeting, agile governance. etc. 
  • Agile EA Fits for Purpose and Mind the Gaps.  
EA is a planning function: Spelling it out a little more, the first step would give enterprise architects cause to describe and agree on the current purpose of doing EA, and to explore the changes in the marketplace which might demand that architects do EA differently. From there, EA could explore which capabilities remain "fit for purpose" and where there might be gaps or inadequacies in  EA methodology/toolkit for the future - thereby, enabling architects to take a "structured" approach.

For example, Agile EA manifests Agile Adoption Challenges:
  • Agile adoption requires a major shift in the mindset and culture of an organization. 
  • Agile adoption is not restricted to only IT projects. 
  • Agile approach originated in the context of IT projects can be scaled to suit the enterprise architecture discipline. 
  • Agile in only the IT project area and not Agile in other areas such as enterprise architecture could be problematic and risky. 
  • Agile adoption would require balancing agility across the board. 

2. What Agile Methodology Brings to EA

How many enterprise architects consider architecture a well-structured problem? Those that do may tend to apply traditional thinking in search of the “right” solutions. Perhaps it is an ill-structured problem with social implications within an organization and lends itself to more creative thinking in search of a “better” solution. After all, with today’s rate of change,  how long will the “right” solution remain “right”? If agile were applied in EA, what would the agile methodology bring to EA? Agile is very good at transparency, and, if done right, it helps elicit requirements that the original planners do not anticipate. 

Is Agile methodology good for architecture development? Does it make sense to adopt agile while developing architecture or iterative model still makes sense? Agile and Scrum methodology is gaining grown these days. Agile shouldn't be inherently restricted to software development. In a great many instances, businesses are very poor at defining their ideal target state, or can only do so in very generalized ways. In these instances, agile techniques are very beneficial as methodologies which focus on evolution and adaptation, and are responsive to change, can provide the best outcomes. The essential of Agile methodology is iterative communication, cross-functional collaboration and improving customer satisfaction, such a mindset shift is indeed essential in Agile EA Artifacts:

The circular vision, goals, and objectives of the leadership;
The dynamic structure required to execute that vision and strategy;
The distinct core capabilities needed, either in the present organization, or those that must be created or secured from other sources;
The major agile processes to be executed using those capabilities; 
The kinds of the latest technology and other resources needed to bind the capabilities into executable processes. 
Agile Principles: If apply the agile mindset to architecture development, whether it’s EA or one of the architectural domains, the principles include:
  • Bottom Up Approach need well balance out with Top-down Architecture Foundation
  • People over Process, high mature team is the key Success factor for Agile 
  • Agile is not lack of discipline, but need stronger architecture and management discipline; 
  • Agile is both methodology and mindset, it means better communication, adaptability and customer satisfaction. 
  • Agile is not just about speed, also means high quality
Scaled Agile Framework (SAF): It’s a good way to deploy agile and opportunistic architecture planning that informs the work/stories for the Agile development teams. Climb to the desired level of maturity with SAF in keeping the enterprise focused on the desired future state through "Architecture Epic Planning" and developing sequenced "Architecture Runways" across the enterprise portfolio, EA will be able to guide executives towards fact-based decisions around managing investments and/or risk. 

Agile philosophy warns organizations to not attempt “big design up front” because doing so may result in teams scrapping a major chunk of hard work if the business decides to change its approach. And Agile is transforming from a software development methodology into an overarching philosophy to include agile mindset, agile consensus, agile architecture, and even Agile movement, to balance agility and discipline, to embrace hyper-connectivity and hyper-digitalization. 


Read more about Agile Pillars: 

3 comments:

You've described the what, not the how.

Nice thoughts. I believe the EA frameworks like TOGAF and Zachman model, like any other well built frameworks, are inherently adaptive and flexible enough to align with the Agile approach chosen by an enterprise.

Here is a small write-up on how one could align EA with the agile processes.

Align Agile SDLC with Zachman Model.
http://thequintessentialinquisitor.blogspot.com/2014/05/aligning-agile-with-ea-frameworks-part.html

I hope this help.

AgileEA is already taken, google it.

Post a Comment