January 27, 2015
DevOps: The Latest IT Threat (and Opportunity)
Since the dawn of computing, we have built our data centers and IT organizations to deliver highly available compute power and services. The top priority was to avoid any and all actions that introduced risk to these systems and their associated business services -- simply Never Ever Bring The Systems Down!
This risk averse mantra has made traditional IT departments not just methodical and controlling, but also notoriously SLOW and seemingly unresponsive. In the most stable IT organizations, it can take years and tens of millions of dollars to deliver new software to market. You see, traditional IT dictates that everything be planned to the finite level of detail and then redone every time there is an adjustment to strategy throughout the process - hell some projects never leave the planning stage. But, assuming IT can get through the months of planning, you now have the development and implementation time, followed by the testing -- and I mean the testing of everything, ultra carefully, in a highly systematic manner. Today with the speed of the market and innovation, this model simply isn't sustainable or competitive. By the time IT gets a new business service to market, it is most often antiquated and outdated.
DevOps can eliminate the slow and unresponsive IT department established by this zero defect, no down-time mantra, and spring board IT back to again being a valued and enabling partner to the business.
I've had many conversations over the past few months with CIOs and CTOs about this new trend and buzz around DevOps. The common theme across all these conversations is that IT and Technology executives are under pressure to "Mature the IT Department." Consistently across these stakeholders, mature in this reference implies the following:
- Ability to address the software development lifecycle
- Not just software, but additionally the infrastructure that supports the software and the business at large
- Support for both commercial and internal software
- Automated and continuous deployment
- Control and governance across the production environment, to include security
- A shift from traditional data centers to hybrid cloud computing models
- An ability to move at the speed of the market --- Continuous Innovation
At the core of the need for DevOps is indeed an ability to move and do things faster. Conventional IT thinking views this request as a request to go fast, abandon planning, testing and simply introduce risk into the business of technology. Simply, moving so fast that a bunch of stuff breaks, while systems and services fail.
Now IT has to respond and answer the DevOps challenge, because if they don't, company employees will continue to bypass the IT department and source their own technology and cloud services needed to do their jobs. And with it, the budget shift will continue out of IT and not just to Marketing, but now to the LOBs at a greater rate.
IT Departments and specifically CIOs remain in a fight for their lives.
Achieving the Mature IT Department is not a destination. There is no silver bullet. There is no multi-million dollar tool to buy and implement. DevOps is as much a cultural shift as it is a mindset and operational shift. What is important to know is that organizations just have to get started to enter into the trend that is DevOps. Think big, but execute small.
- Drop long term, exhaustive and waterfall planning for all but the most strategic business strategies
- Embrace small and iterative change
- Break traditional large technology centric initiatives into small, even tiny components
- Get comfortable introducing and implementing tiny changes into your environment daily (and then when comfortable you can mature to many times a day at the scale of an Amazon or Facebook)
- Release "new" software into your environment early and often
- Embrace that software by definition will have bugs and defects
- Realize that small incremental failures are easier to rectify and be ready to undo small incremental changes verses huge enterprise changes
- As you go, continuously try new little things -- do more of what works and less of what doesn't
If this sounds a bit like the principles of Agile software development, that is because it does. DevOps is all about modifying how the work is planned and executed regardless of the underlying infrastructure. Iteratively: 1) Break the work into small pieces. 2) Do the work. 3) Put the work into production. 4) Learn from the last iteration and inform step 1 and repeat. Small incremental progress, verses big bang wholesale change.
Yes, there are technologies and methods needed to support the realization of DevOps, but don't overlook the fact that the primary enabler is a cultural and mindset shift. I suggest companies leverage professional services partners that understand the modern software development lifecycle, have experience across many technologies and operating environments, already possess the requisite culture and mindset, can assess where an organization is with respect to DevOps maturity and employ these partners in the business to help bridge the software development, testing and information technology organizations to realize the value of DevOps -- continuous innovation and rapid time to market.
What does the trend in DevOps mean to you and your business?