How TOGAF Complements DevOps and Serves a Different Need
By Kyle Gingrich
At a meeting recently, I overheard someone describe TOGAF as “old school” and what people should be using is DevOps. When I heard this, I thought, flip phones are old school, but TOGAF? No. TOGAF is not old school, and to compare it to DevOps is a bit like comparing apples to oranges and declaring one better, when in fact they each serve a different purpose and are built and designed to uniquely serve that purpose.
Before I get into explaining the differences between TOGAF and DevOps, let’s start with some preliminary definitions. I want to be clear with these terms so that we are starting from the same points of reference.
TOGAF (The Open Group’s Architecture Framework) has been around since 1995 and is based on even older work. The latest version is dated 2011, and is designed to operate across an Enterprise (“any collection of organizations that has a common set of goals”) and enables them to “optimize … the often-fragmented legacy of processes (both manual and automated) into an integrated environment that is responsive to change and supportive of the delivery of the business strategy.”
DevOps is relatively new, coming onto the scene around 2008, though it is heavily based on Agile (2001) and Lean methodology (1913 and Henry Ford). DevOps is a more general industry-accepted term that is used and misused frequently. Most often, it seems to refer to a framework that came from Agile principles combined with Lean operations thinking. This framework makes-up software development and infrastructure operations working together to support the entire application lifecycle for a software application. Specifically, for Agile the goal is to release new versions of software to end users as quickly and as often as possible, thus delivering additional business value faster. In this merge, various development methods are adopted by operations at the same time as the developers are adopting operations practices especially around process automation.
Here is a quick comparison chart illustrating the differences:
|Sits between the Business and IT at the enterprise level and tries to align IT with the business while making all of IT as efficient as possible||Works closely with a single business unit in order to deliver value through a software application|
|Works with all stakeholders across the enterprise representing all viewpoints||Works with a product owner representing a single viewpoint|
|Can start by looking at business capabilities and how they are supported in IT in order to find improvements||Can start by recognizing a need from a business unit that software development can assist with|
|Starts at a high-level and works down to the level of project and programs||Starts where Enterprise Architecture (EA) leaves off and executes on the projects and programs that are delivered from EA|
|A framework that is expected to be customized to suit the enterprise||A framework that is expected to be customized by the DevOps group to suit the business unit|
|In Phase H of the Architecture Development Lifecycle specifically looks at obtaining feedback which is expected to change the framework implementation||Once running, feedback is aggressively and frequently sought after from the product owner and business unit in order to deliver what they need and to even to change how it is delivered|
|Part of setting up an Enterprise Architecture practice is to define a set of overarching principles that everything will be measured against (note that these principles can come from anywhere including Agile and Lean)||DevOps is an outgrowth of Agile and Lean which come with a set of principles to be followed; through the principle of self-direction, the DevOps group can adopt other principles in order to work more effectively|
|Delivers measurable value (ROI) to the enterprise||Delivers measurable value to the business unit and consequently, to the enterprise|
Or think of it like this:
Enterprise Architecture focuses on generating business value at a strategic level, while DevOps is there doing the same thing, but focuses on the tactical level for custom developed solutions (potentially, the highest value solutions for the enterprise.) TOGAF is a framework for use in any enterprise while DevOps assumes certain conditions before it will work well.
The good news is that both can be aligned and used together to provide the best possible service to customers and clients.
But do take note that each requires certain corporate cultural changes to occur before full value can be achieved.
Kyle Gingrich is the vice president of IT & Certification at Skillsoft.