Part 1 in a series of 3
If you’re not collaborating, you’re not producing the highest quality apps.
When I initially introduced the idea of a 3-part blog series, I said that I considered DevOps to be at the crossroads of three key business capabilities, all of which come together to represent true game-changing potential for nearly any organization.
The piece of that puzzle I’d like to focus on today is the idea of real time, integrated collaboration. To be more specific, open, seamless, real-time collaboration across your Development, QA and Operations teams, extending to include Business Analysts and the application owners themselves.
Let me take a moment to describe a hypothetical scenario:
Let’s say a new application gets released just in time for a Q2 launch, developed under pressure to meet a tight deadline with a development timeline that exceeded the original plan, substantially reducing the time for QA. Once released, high visibility issues are uncovered. Problems with the app come to light. That’s when the troubles begin.
Of course, the QA team is always on the frontline for any major flaw found after an app releases. But, as they’re apt to point out, QA is just testing the apps that the development team created. The development team claims that the app worked during development and points at the operations team, claiming that the programming must not have been deployed correctly in the first place. And when it comes to the business analysts and application owners, they often fall short of producing clear, complete test requirements which results in a constantly moving target, because in all fairness, things change and they do so very quickly.
The resulting mess is what I affectionately refer to as the antithesis of collaboration.
So the question we should be asking is, how do we avoid this scenario right from the start? The answer is surprisingly simple. The key to effective collaboration starts with rapid, effective communication processes and commitment to the integrated process.
No big surprise there, but the truth is, achieving the right level of communication is often easier said than done. Daily team scrums are certainly helpful (and not uncommon), but where many teams fall short is daily and direct information exchange that provides the right level of visibility.
One of the important ways to achieve full transparency is through the use of the right test automation solution.
Effective test automation not only documents what tests are being performed, but it also records the results of each test, as well as other important information such as who performed the tests, when, etc.
The resulting data can be easily shared, reviewed, analyzed and leveraged. In contrast, manual testing and custom scripts are not only time consuming, they also result in a wide variance of results based on the individual performing the tests, and therefore are rarely used. In other words, human error and variance are nearly always a factor.
Another great thing about test automation is that it opens up the opportunity for true, full stack, end-to-end business process testing once the application under development reaches functional testing maturation.
There’s no other way to gain full visibility into what your end users will actually experience once they engage with your app. End-to-end testing is obviously a great tool for QA teams, and it also gives your development and operations teams the ability to pinpoint the impact of any change in code, data or IT infrastructure.
However, implementing the right technology alone is never really enough. It’s equally important that a cultural shift takes place.
If you are to succeed as a business, you have to eliminate the “us versus them” mentality and move forward as a unified, integrated team. Every role across the team must adapt and evolve. It’s no longer good enough for developers and operations to relegate application quality to the QA team. QA teams must implement approaches that support continuous process and quality improvement. And the application owners and business analysts must take a more active role to ensure that testing covers the broader aspects of software that are crucial to business continuity.
Next post I’ll outline some of the functional benefits of automation and provide some tips on how your team can better leverage automation to accelerate delivery of higher-quality, better-performing apps. Until then, feel free to reach out and let’s talk about your thoughts on the value of collaboration and its role within the DevOps paradigm. And don’t forget to download our new TurnKey white paper to get a step-by-step roadmap on how you can best implement, integrate and fully leverage an effective DevOps strategy.
Other Posts In This Series: