This might come as a surprise, but it is amazing how very few people really understand or know what DevOps is. There have been so many occasions where I talked to people that told me their company had DevOps, while they actually just had JIRA for issue tracking or HP ALM (former HP Quality Center) for testing.
DevOps can be -and is- much more than that. Don't you agree?
So, what is a DevOps toolchain?
Any modern digital business relies heavily on highly effective and fast software delivery. To meet these "digital demands", these companies need to focus on tool functionality that supports agile methodologies, automation and collaboration. What they need is something called: DevOps.
Let's take a look at how Gartner describes "DevOps".
DevOps is a cultural shift that promotes collaboration between operations and development teams which demands a linked toolchain of technologies to facilitate change.
We can spot a few keywords here: "cultural shift", "collaboration between operations and development", and "toolchain".
For me, the most important keyword is definitely: "toolchain", as it is a bare necessity for having collaboration.
Gartner also makes a distinction between 4 major building blocks (which may sound familiar):
- Continuous Integration (Plan, Create)
- Continuous Delivery (Verify, Package)
- Continuous Deployment (Release, Configure)
- Operate (Configure, Monitor)
Defining the Toolchain steps
You can add, modify or even delete steps to make it suitable to your way of working, and choose how far each step should go. For the "Create" step for example, you could either choose to use a basic code editor or a full-fledged editor that offers additional features like: code analysis, code completion, testing and so on. Another approach would be to start with a simple editor and then add more features as your development team matures.
If we look at testing, for example, we notice that the demand for security testing is growing. If you are already using testing tools, you could check whether these tools cover security testing. If not, you could either replace your existing tools with new ones or consider additional tools that do offer security testing.
It is important to understand that a toolchain may evolve depending on your needs, and once it does, it should adapt to its new situation with ease.
Once you've defined which Toolchain steps you'll need, it's time to fill the placeholders with actual tools. This depends on your environment. Are we using z/OS, SAP, .NET, Java or maybe a combination of different environments? Suppose you're a pure .NET development company, then it would be obvious to work with the Microsoft stack.
In a mixed environment situation which is common to the banking and insurance industry we could encounter a mix of z/OS mainframe and Java development. In the latter scenario you should look at tools which are platform agnostic, a good example being Atlassian Jira.
Your first Toolchain step: Plan
Let us start with the first category of tools you need: "Plan". In this step you will plan and define what needs to be done, these activities are also referred to as the requirements.
Gartner defines "Plan" as follows:
“Plan is an ongoing activity where the application business requirements, bug fixes and other needed changes are managed. Product owners will evaluate business value requirements, metrics gleaned from production, service requests, developer effort and time to deploy. This activity drives the ongoing release schedule. Planning activities can vary greatly depending on approach (e.g., sprints, kanban) and constraints (e.g., dependencies, compliance, and security). Product owners may also need to coordinate across IT and business teams, and support bimodal operation. “
Source: Gartner, Choosing the Right Tools for Your DevOps Toolchain, Published: 10 April 2017. ID: G00322126, Analysts: David Paul Williams and Thomas E. Murphy
Vendors mentioned by Gartner in this category are: Axure, AgileCraft, Blueprint, Atlassian, eDev, CA, IBM, Collabnet, iRise, Pivotal, JAMA, Targetprocess, Borland and VersionOne.
Not mentioned by Gartner and still heavily used (and certainty not recommended): Excel!
Define and plan in our context
As mentioned before, your Toolchain should adapt easily to tool changes. IKAN ALM, which is our DevOps and Toolchain Orchestration framework, has both a generic and specific Issue Tracking plugins for Atlassian JIRA, MS Team Foundation Server, Bugzilla, Collabnet and HP ALM. If you're already using one of these Issue Tracking Systems, then IKAN ALM can easily incorporate it, so you can keep using it within your new Toolchain.
Once you've chosen your "Plan" tool, the first step of your Toolchain setup is done and you're ready to move on.
In the next post
Next we will cover the "Create" part (Code, Build and Configure) from the Gartner toolchain.