DevOps brings Development and Operations together with the sheer objective of ensuring quality and enabling faster time to market. However, what happens to QA in this scenario? How does the Testing team fit in? Let's ponder on this further and understand the role of QA and Testing in the DevOps world ...
IT teams are often tasked with managing the impossible: supporting the current needs of their organizations while continually developing applications and systems that reliably move business forward — oh, and let's not forget squeezing as much out of their budgets as they can, year after year with only nominal increases. Add to this the rapid pace of technology development and ever-increasing complexity caused by virtualization, hyperconvergence, BYOD and software-defined trends, and you get a perspective of the impossibilities that today's modern IT teams face.
This "new normal" can be thrilling, frightening or both, depending on your perspective. How enterprise IT manages compounding complexities, now and forever forward, affects overall business agility and innovation. With this inconvenient truth in mind, it's no wonder that DevOps and continuous delivery models are a primary focus. The performance and reliability of IT infrastructures delivering today's business-critical workloads is only as good as the accuracy and reliability of the systems monitoring and managing them.
While DevOps and continuous delivery models can (in theory) accelerate technology projects and help them run more smoothly and predictably, the required cultural realignment can prevent companies from reaping the full benefits. Developing and executing an effective strategy means shifting how teams collaborate and interoperate — and we all know how everyone loves change. Here are four steps that enterprise IT leaders are undertaking to facilitate the cultural adaptation and collaboration required to maintain IT and business agility:
1. Get buy-in, train, and enable data-informed collaboration
It seems so simple, but getting everyone on the same page must be the first, and sometimes the hardest, step. It is so important that it's worth repeating: Get. Everyone. On. The. Same. Page. The entire premise of DevOps and continuous delivery rests on the premise of bringing multiple teams together. Only then can you enable innovation, adaptation and transformation.
To make sure collaboration goes smoothly and delivers effective outcomes, focus on the basics. Start with development and operational functions, job descriptions, and similarities and differences. Determine the training and technologies needed to help with the cultural shift. Deploying analytics solutions that enable cross-domain collaboration is critical for aligning teams and helping them perform. These solutions help employees see DevOps transformation as an opportunity for growth, fueled by intelligence that they can consume, act upon and learn from.
2. Start simply, monitor comprehensively and decide confidently
There are several factors to consider when identifying which projects are good candidates to feed into the DevOps process, including overall scope, estimated costs and projected ROI. Start with projects that have a clearly defined and reasonable scope, as well as existing benchmarks. Determine success metrics for expected improvements, enable and monitor data-driven collaboration, and meet your targets.
This effort requires tight collaboration throughout development and operational organizations. Every team has relevant insights, which help form an accurate view of what it takes to deliver a successful project. It's crucial to have the right monitoring solution in place, one that provides a complete understanding of workload interdependencies, effects and how to optimize for overall performance.
3. Enable authoritative understanding and confident collaboration across silos
End users demand flawless experiences, and the ultimate charter for any DevOps team is to meet and exceed end-user demands. While DevOps teams must understand how new feature and functionality releases affect end users, they must also understand how these same releases affect the underlying IT infrastructures delivering them.
Effective DevOps models require close collaboration across multiple silos. To be effective, every collaborator must have an authoritative understanding of what's happening, and the confidence to act. End-to-end performance monitoring with algorithmically driven decision support provides teams with this accuracy and confidence.
4. Remember, DevOps has no "end state"
It's important to continually assess the training and cultural divides you are bridging. DevOps is a new way of life and it's just beginning. Everything is dynamic. Applications aren't static, and neither is the infrastructure that supports and delivers them. There must forever be a vigilant focus on understanding how organically evolving workloads affect the infrastructure. After new releases are put into production, everything must be constantly monitored and tuned for optimal performance.
Without an accurate, real-time understanding of end-to-end performance, every release cycle presents risks that can harm the DevOps process. It's critical to constantly gather and analyze performance data in order to determine how continually evolving workloads affect IT infrastructure performance. DevOps teams then need to use this data to proactively tune and manage infrastructures before emergent issues become actual performance problems.
John Gentry is CEO of Virtual Instruments.