Friday, October 17, 2014

Big Data and Digital Businesses


It's not secret that "Big Data" is (slowly, but) surely moving forward from being a IT buzzword to a mainstream adoption in organizations of all sizes. 

Almost all mature and progressive software manufacturers are focussing on building solutions that encompass holistic integrations capabilities, keeping into consideration convergence of SMAC, and it's impact on modern businesses. Just like there is hardly any software vendor that doesn't offer on-cloud or on-demand offering these days, big data & analytics capabilities are driving lot of business stakeholders in decision making and forcing software vendors to enhance their offerings.

More and more modern businesses are taking the digital route. Focus on customer touch-points has never been so intense and not to mention expensive, in the history of customer lifecycle management. Multi-channel commerce is taking a new shape with maturity of 'internet of connected devices', and is pushing tons & tons of new data for ingestion every minute.



There are multiple reasons and events that could be attributed to new found fame and popularity of Big Data and Analytics, a few on top of my head are:
  • Inexpensive primary storage
  • Groundbreaking enhancements in in-memory grid computing and columnar compression technology in DB
  • Cloud Computing moving more and more data away from on-premise model
  • Ever increasing number of mobile subscribers globally
  • Seamless connectivity and network availability et al

Everything said & done, Big Data success is NOT a matter of luck. In fact I personally believe Big Data success is probably one of those few elite IT initiatives that requires a lot of top-bottom push coming directly from CxO for an enterprise wide adoption and support.

The publication "Big Data as a Service", talks about couple of very possible use-cases of the future and also touch upon how there are multiple tangible and intangible dimensions associated with Big Data.

.
.
This right now is the age of networking where it is no longer important what the underlying platform for hosting the data is or what MW tools we use to transfer the data. It's an age where data is the true king, not applications or platforms. Players like Salesforce and SugarCRM that have built an entire ecosystem in the cloud are forcing customers to move their attention away from the complexities of platforms, applications and maintenance towards data. We are already on the verge of moving away from "application based enterprises" to "data driven enterprises." As long as customers know what data it needs to draw conclusions and decisions to help grow the business, they are empowered by the cloud solutions to make informed and educated decisions.
.
.
.
The quantifications of data based on the volume, velocity, complexity and variety of the data are primarily the most commonly discussed dimensions of Big Data circumventing information management. However, as we go deeper into Big Data, we are more than likely to discover that the conversion process "from data to information" traverses through multiple complexities and dimensions.
.
.

Most critical items that large and mid-sized corporations should keep in mind while working on enterprise wide Big Data initiative are:
  1. (Big) Data is everyone's business. From LOB heads to EA, Data architects and business analysts - everyone is expected to add value
  2. Don't ignore Data Governance
  3. Don't ignore Data Security & access control
  4. Breakdown operation inefficiencies and build logical tiers for seamless data flow from data source to data consumer.
  5. Don't go Big Bang, at the same time don't be solely opportunistic. Find a balance, try to push for Big Data, while being practical within corporate boundaries. 

At the end of the day Sales Operations, Digital Marketing, Customer Support, R&D and even the back-office operations are all craving for right & timely insights. And today is as good as any other day to start thinking about data at the front-end of the corporate initiatives, and let the corporate programs be data driven rather than simply being functionality and capability driven.

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