DevOps is all the rage. The hot IT buzzword intended to heal the expanding divide between development and IT operations is being used to sell a range of services and solutions to struggling development shops and enterprises, even though DevOps can’t be sold – it’s a cultural shift that nurtures under a strong leadership.
Prior to DevOps, Agile methodology generated a similar hype that forced businesses to spend millions of dollars in revamping organizational hierarchy, deploying new solutions and hiring self-proclaimed expert consultants. The original values and principles of Agile development to deliver working solutions in small and iterative chunks were quickly forgotten. The methodology was only implemented during development phase and created backlogs for operation teams that failed to push product releases fast enough.
Agile: The Reinvented Waterfall
Problems with Agile methodology emerged when development teams banked on false assumptions, such as:
- Coherent system design will emerge naturally as each functionality is added iteratively based on user feedback – However, the system actually becomes more complex with each functionality added without significant refactoring.
- Technical debt can be paid later – This false assumption leads to accumulated technical debt. And when new modules are added on top of accumulated technical debt, the resulting flawed code and bugs are simply too expensive to fix.
- Constant refactoring is a best practice – The development process is ultimately bogged down by endless refactoring requirements in long-term projects.
- Following Agile processes will suffice – In practice, systems need to be flexible and adaptable to incorporate changes as part of the Agile development methodology.
Development teams following these false assumptions as part of the Agile methodology failed to improve productivity and bottom line, and ended up practicing microcosm activities of planning, development, testing, deployment and integration as short sequences of fast Waterfalls.
However, the Ops department was inherently left behind with deployments piling up faster than they could be released and customers never actually received the value they demanded. This trend ultimately gave rise to DevOps, a new-age version of Agile methodology encompassing the Dev and Ops segment to enable service delivery agility and quality.
DevOps Success: A Radical Transformation
Despite the common traits, a continuous flow of work into IT Ops is critical to accelerating time to market, delivery agility and service quality with DevOps, which is essentially a holistic approach to software development and release that doesn’t work as an improved version of the preceding Agile methodology implemented within the same cultural fit.
And although Agile and DevOps share similar goals of IT productivity, the latter approach encourages Devs and Ops to synchronize fast-paced agile development of production-ready code with Ops processes of testing, deployment and management to prevent backlogs. Without adequate synchronization between previously separate Dev and IT Op processes, DevOps essentially becomes a varied form of Agile methodology with a more involved Op team that still has to deal with deployment backlogs. The aim of the DevOps approach is to address the disconnect between Dev and Ops teams by extending team interactions and service delivery across the value chain, and incorporating end-user feedback in future DevOps processes to improve service quality.
In other words, DevOps stresses on effective collaboration and communication between the two departments within a culture that enables optimized release cycles of high-quality and thoroughly-tested end-products.
This cultural shift commands strong leadership to address the challenges associated with thorough transformation from Waterfall to Agile and ultimately, to DevOps. Implementing DevOps in large enterprises is particularly challenging considering their fear and resistance to change, siloed departments marred by lack of communication, unaligned and misunderstood job roles, concerns surrounding cloud-based solutions that enable DevOps, and a reluctant buy-in from senior leadership to embrace enterprise-wide transformation toward a radical new operating model.
Development and IT operations are directly tied to the company’s bottom line, success and profits, and organizations resisting the true DevOps movement and functions only risk being left behind in the race to deliver high value products to the customer.