As companies press their digital business initiatives, begin using the cloud as a competitive weapon, capitalize on Big Data analysis to woo fickle customers, and launch one new online application after another, they may discover they have a big problem: breaking the linear progression of software from development to quality control to operations and into production. It’s an anachronistic process that often produces mediocre, bug-ridden applications that, once in production, under-perform (or fail to perform) leading the service organization to pass it back to the developers when users complain. It’s time consuming, inefficient and flies in the face of creating a positive customer experience.
That’s where DevOps (development + operations) comes in. It’s a silo-smashing concept akin to agile software development. DevOps brings all stakeholders together in the creation of higher quality code in compressed timeframes, code that runs in production with a minimum of problems and is tightly supportive of business initiatives. It’s an integrated, collaborative and cooperative method of code creation well-suited to cloud implementations. And, it’s a significant cultural mindset shift that can be challenging to implement. Sitting people down at a table and directing them to work together probably won’t work.
Here’s a new-business opportunity for you — the DevOps Boot Camp … like military basic training. DevOps recruits will undergo a ritualistic program that deconstructs individual biases, personal agendas and belief systems. Once stripped of their personal identity, training then will shift to reprogramming each person to work with other recruits as a team, as one hell-bent, code-creating unit that sees things in the same way … from the business perspective. Think of the franchise opportunities!
Until we get venture capital funding for that, here are some of the reasons why businesses should take steps toward having a strong DevOps approach and the benefits they can expect to realize.
Silo-busting enables all parties to see and take part in the end-to-end software delivery lifecycle management process. For example, a big problem with developer/QA/operations silos is a failure to share troubleshooting information. Instrumentation can track software’s performance in development as well as in QA and production, generating critical data it then writes to log files.
In a siloed environment, developers typically never see those log files again once the code is released into production; they’ve lost contact with their own code. The DevOps approach gives developers visibility to log files regardless of where the software is running, helping to correct defects faster and with less chance of being repeated in the future.
By collaborating, the development team can support operational requirements from the beginning of the lifecycle with deploy scripts, diagnostics, and load and performance testing, and other essential features. Similarly, the operations team can provide real-world feedback and support before, during and after deployment. This can lead to more frequent software releases, improved quality of new releases and faster fixes, as well as faster recovery in the event of a crash. An integrated focus on product delivery, quality testing, feature development and maintenance releases can improve reliability and security, while accelerating development and deployment cycles.
There is a great deal more to DevOps than what we’ve touched on here, including detailed, how-to implementation guides. But, someone may well wonder if all this is really worth the trouble, or is this DevOps thing just another trendy, kumbayah, hand-holding exercise? If Puppet Labs 2014 State of DevOps Report findings are to be believed – and they should – DevOps adopters deploy code 30 times more frequently with 50 percent fewer failures. The survey of 9,200 respondents also reported that:
- Firms with high-performing IT organizations were twice as likely to exceed their profitability, market share, and productivity goals.
- IT performance strongly correlates with well-known DevOps practices, such as use of version control and continuous delivery.
- Organizational culture is one of the strongest predictors of both IT performance and overall performance of the organization.
Using cloud computing to drive business success is one thing. Applying DevOps principles to attain far greater advantages in the cloud from agility, speed and continuous software releases of high integrity can help you exceed goals and expectations. Consider this another chapter in the book of IT & Business Transformations that we’re writing everyday as we live it.
Now, about that investment opportunity we were talking about …