I was inspired to write this article when I kept seeing organizations do exactly the opposite of what they should be doing to develop and deliver applications efficiently. Essentially, they weren’t practicing DevOps principles that would provide value to customers faster and more reliably. Check out the list of Eight Mistakes that Prevent DevOps Success, published on CM Crossroads, and make sure you haven’t overlooked any. As always, I welcome any comments!
DevOps is about flawless execution, which is what comes to mind when I think of Ninjas. DevOps Angle just published my article, “Secrets of a DevOps Ninja: Four Techniques to Overcome Deployment Roadblocks.” It outlines ways to overcome deployment roadblocks. The key takeaway is that it is extremely important to understand the processes used for deployments.
Assuming your basic processes are sound, should they be implemented as is or adapted to be even more effective when used as part of an automated process? This brings me to a fifth technique for a DevOps Ninja that I didn’t mention in the article: continually improve your processes. Being able to measure the effectiveness of your process is key. Decide on the KPIs, measure them and then continually seek to improve what you are doing and how you are doing it.
Read “Secrets of a DevOps Ninja” and let me know about your experiences by writing a comment below.
I recently attended DevOps Days in London. It was an amazing event with lots of great discussions and presentations. Some of the solutions and ideas presented were extremely creative. I spent time mingling with people who, undoubtedly, really know what they are doing.
On Saturday morning I had the pleasure of meeting Gene Kim, renowned DevOps researcher and author, and John Clapham, development lead for Nokia. Over breakfast we discussed the current state of DevOps and what could be done to help speed up DevOps adoption. My opinion is that while we have practitioner buy in, practitioners aren’t the best people to present strategic initiatives to business leaders.
The Phoenix Project, which just happens to be written by Gene, does a really good job of telling the story of how IT affects business outcomes and why DevOps is important. The story is told through the eyes of management and covers interactions between IT and many groups in the organization. No matter whether you are a hardcore techie, senior management or somewhere in between you will probably experience many “Aha!” moments and just as many moments that will bring back painful memories.
Based on our conversation, Gene decided to present a session on how technologists can better sell DevOps to management. The slides from the session can be found on slideshare.net. See also Gene’s blog post “The Construction Of ‘The Phoenix Project:’ Using The Downward Spiral To Better Sell DevOps.”
So, what are the next steps? To bring DevOps to a wider audience, there needs to be a suite of tools that are easy to use and integrate. The skill set required to chain together various tools is immense, and frankly sometimes the ingenuity shown is not something that will or should scale to the larger market.
At Serena we are making technology to support DevOps within companies more accessible, without needing an army of consultants or gurus just to achieve the basics and keep systems up and running.
Stay tuned for future articles on how to integrate commonly used tools into processes managed by Serena solutions.
There is a term that has been floating around the internet in the past year or so which illustrates a profound change in how we need to think about applications and how they are released.
That word is “Appification”.
Think about how you use apps on your smartphone. App updates don’t come on regular release schedules; they come when they are needed. The driver could be a fix for something that is broken or it could be in response to having fewer downloads of an app and pushing out new functionality that has been kept back, just waiting to go until App sales needed a boost.
This process is wonderfully convenient for both the vendor and users. Updates come frequently and we accept the updates without hesitation, as the changes are usually incremental and therefore, considered safe and not worth further consideration.
How does Appification relate to enterprise applications? For better or worse, as a society we want instant gratification. We don’t want to wait. And the way apps are delivered has proven to us that software can be delivered easily in incremental amounts. Customers are no longer willing to accept hosted solutions that are delivered at a set schedule of weeks or months. Missing the release train is no longer an option. Customers want hosted applications to be updated in the same manner as Apps on their smartphones.
At Serena we think of Continuous Delivery as a superset of Continuous Integration (CI), Continuous Testing (CT) and Continuous Deployment. Changes that are automatically propagated to all environments, except for production environments, are referred to as Continuous Deployment. The diagram below illustrates an example of Continuous Deployment. Deployments are approved automatically if success criteria are met for DEV, TEST and INTEG. To deliver code to UAT, STAGING or PROD, manual approvals and scheduling is required.
In order to achieve what we refer to as Continuous Delivery, simply remove the manual approval or scheduling and have successful changes propagate all the way through to production automatically, assuming all release criteria are met for each stage.
This is why the terms Continuous Delivery and Continuous Deployment are used interchangeably. The only real difference between the two is where you decide to put on the brakes for automated delivery to an environment.
Embracing the impact of Appification and applying it to your enterprise applications will give you a competitive advantage over your competition, enabling you to release value to your customers faster.
Join us for the next DevOps Drive-In webcast on March 19 at 8:00 a.m. PST. Glenn O’Donnell of Forrester Research will talk about 5 Simple Change and Release Management improvements that you can make. Why wait years for improvements when you can have them now? Register for the webcast!