Why DevOps is NOT Just About Release Management
Lately, DevOps has become synonymous with Development and Operations organizations working together to Automate Release Management, especially when deploying to cloud-based infrastructures. And in automating software deployments, businesses have gained significant benefits: faster release times, less time spent manually deploying software, fewer deployment hiccups and flexibility in release schedules. Virtually all software vendors and open source communities have created tools and processes to make this type of DevOps a reality. But when business expands the definition of DevOps to encompass overall Application Lifecycle Management, they can gain even more benefits.
DevOps is the fulfillment of Agile principles: frequent and continuous delivery of software, measured progress against delivered applications, and feedback from customers using working software. The bottom line is the faster software gets into the hands of users and the faster feedback is captured and the faster that feedback is fed back into the development process, the faster the software’s value improves. It’s an upward spiral of increasing value.
Implementing DevOps throughout the Application Lifecycle requires creating highly collaborative teams from typically siloed Development, QA, Operations, and Product Management departments. Development must learn to test early, often, using automated deployment to production-like test environments. They must build applications that can be easily deployed into these different environments. Code isn’t considered complete until it works in one or more of these environments.
QA must become engaged from product definition through development and into deployment. Their focus shifts from brute force testing after the code is complete to ensuring quality techniques are used as early as possible in the lifecycle. This requires nothing less than Product and Development teams to embrace QA members as peers of any development team.
Operations must enable repeatable, automated deployments to all environments from Dev to QA to Stage and Production. To keep from being a bottleneck, they must give deployment capabilities to Dev and QA through standardization and automation. It can be frightening to give up this kind of control, but as Ops’ focus shifts from doing the deployments themselves to ensuring they are done by others quickly, repeatably, and with high quality, the entire business can benefit.
Finally Product Management must find ways to amplify feedback loops. This can be done in many ways including capturing application usage patterns, customer feedback, defects, and feeding them quickly into production backlogs. It can also mean working to help tie Development closer to Operations and vice versa. For instance, if there is a problem deploying to production, or any environment, development should be immediately brought in to help fix the problem, working side by side with Operations until the issue is resolved.
These changes aren’t easy. But for many businesses, they can be transformative.
Let us know what your thoughts are and how DevOps is used in your organization.