DevOps is a transformational challenge for many organizations. But not all roads lead to DevOps: We cannot move forward to DevOps without a continuous Quality Assurance (QA) strategy, which in turn, pushes transformation of traditional testing and QA activities. We propose to make progress on such transformation by triggering structured changes, which we propose to be based on a Continuous QA for DevOps maturity model. We need to analyze the current situation, trace a route, and progressively implement it as an ordered set of service-oriented pieces to confirm a particular puzzle for each particular organization. Agility, automation, integration of such pieces are the key to success.
Since DevOps is about reducing the gap between development (Dev) and operations (Ops) through continuous development and continuous operations, continuous QA becomes a must in order to establish quality gates in the whole process, aimed at providing checking points, alignment and “lubrication” of role synergies.
QA activities may become a brake for DevOps transformation or an essential thrust. It depends on us. If QA is not adapted to be flexible and agile in the context of continuous iterations, then may block progress to DevOps. However, if (1) continuous QA chains are formalized and automated to rely as less as possible on manual QA activities, (2) if accelerators in the form of excellence services are introduced, (3) if Customer experience analysis provides feedback to next iterations, and (4) if reporting for integral monitoring and analysis is established,… then continuous QA becomes a key factor for reducing the Dev-Ops gap.
Continuous QA provides reliability, feedback and point controls in all directions, which are essential for improving confidence, collaboration between roles, double-checks about understandings and misunderstandings, and better knowledge management. Someone could argue that QA activities add effort to the DevOps chain, and it’s true, although many QA activities may be automated in some ways. And, finally, it is also true that we cannot avoid QA unless we are very brave to take risks that could turn into heavy consequences for quality and reputation. Therefore, the questions is: Do we want to follow a path with check controls that focus us if we take inefficient or dangerous directions, or we want to just run as fast as possible?
Therefore, in order to face QA in a DevOps transformational project, we propose to take action by:
- Analyze the current continuous QA maturity level.
- Trace a route towards continuous QA for DevOps.
- Design the path to reach higher maturity goals by composing a service-oriented puzzle to move forward. Such puzzle is a sequence of services (test automation of different types, User eXperience analysis, integrated dashboards, test designs generation from user stories, test data management,…) that need to be set and integrated on top of an explicit process.
- Progressively implement those selected services and integrate them into the chain in order to be “more DevOps”.
Transformation to DevOps implies people, processes, actions and monitoring. Being DevOps is not only about crossing a bridge and forget the previous side. The transformation to DevOps needs to follow a plan and a coordinated step-by-step progression. Just start the road, with safety checks, assisted selection of services, caution, but motion
About Albert Tort
Albert Tort is a Software Control & Testing specialist in Sogeti España. Previously, he served as a professor and researcher at the Services and Information Systems Engineering Department of the Universitat Politècnica de Catalunya-Barcelona Tech.
More on Albert Tort.