Banner Image

Business and Technology Insights

From Dev and Ops to DevOps

 
September 8, 2016

As promised, I am back with another post on DevOps. My previous post discussed the need for continuously and promptly addressing evolving customer requirements, and showed why DevOps, with its ability to foster collaboration, is the key to surviving the digital storm. In most organizations, it's not rare to find Development, Quality Assurance (QA), and Operations working in silos. But even when these units come together as DevOps, the rest of the organization still perceives them as separate entities, and not one. Along with the barriers between Dev and Ops, these perceptions too, must be dismantled, but with caution!

Before continuing, let's first tackle some myths surrounding the role of QA in DevOps. Some would suggest that the Development-Operations merger eliminates the need for a dedicated QA function. This is far from reality. QA plays a catalytic role in DevOps success, and when well-integrated into DevOps, QA minimizes risks, by facilitating early defect detection, and first-time-right solutions. Acting as the guardian of customer experience, QA looks beyond defect detection and user requirements, and enables IT teams to deliver on business needs. Yes, embedding QA in DevOps is essential, but it's not easy. TCS' latest research on DevOps, 'Winning in the Digital Marketplace: Assuring Software Quality in a Fast-Moving DevOps World’, highlights the risks, challenges, success factors and learning from global businesses.

Let's look at a typical DevOps environment, where coding and testing are done simultaneously. To succeed, Development, QA, and Operations teams must sail on the same ship by not just working together, but also continuously communicating, collaborating, and sharing information with each other. If they work in silos, the ship may reach the wrong port, or even worse, sink. The success mantra is simple – test early, and involve QA at the outset not just to test the developed application, but also to validate the business process, code logic, and capacity planning and technology deployment. Collaboration could result in minimal effort, achieved through reusable automation during all phases. In addition to identifying quality issues in the product, QA must also identify process gaps, recommend changes, and assure continuous delivery with high quality. With DevOps, QA's role progresses from certifier of quality, to a quality guardian influencing both developmental and operational processes across the software development life cycle.

Automation too, plays an important role in DevOp's success. There is little room for manual testing. Whatever can be automated, must be automated. However, effective automation is possible only with proper planning, by getting all stakeholders involved in the automation planning process. When combined with right-sized automation, DevOps can significantly accelerate code release to production. Security needs special mention here. Just like the barriers between Dev, QA and Ops must be dismantled, the gap between security teams, developers and business units, must also be bridged. Security cannot be a separate entity from IT, but must be embedded right from requirement through deployment, and assured, just like any other critical functionality.

With this success mantra, QA facilitates a single view of the product from requirement through deployment and feedback, and also eliminates redundant processes across the test lifecycle. The writing on the wall is clear. To live up to DevOps' expectations, QA must adapt, transform and embrace change. At a minimum, this calls for a change in culture of continuous competency development, not just on QA frameworks and processes, but also in the areas of new technologies, business domain, and regulatory compliance.

Let me end this post with an acronym: CALM. It summarizes the ideal QA framework for success with DevOpsCulture, Automation, Lean and Measurement. If your business is about to embark on its DevOps journey, keep CALM and do it right (the first time and every time!). Besides improved bottom-line, you will also have happy and loyal customers.

Rekha Natarajan, a Delivery head for Telecom at TCS Assurance Services, has around 14 years of IT experience in Maintenance and QA delivery for Telecom service providers across different geographies. Her primary focus has been on QA and has delivered various types of testing projects successfully. She is passionate about creating an innovative work culture to promote added value to the customer.