There was a time in the not too distant past in which business functionality at most companies operated in discrete silos. The conventional wisdom dictated that you had to develop expertise around specific functional areas.
For example, engineering developed very focused methodologies and maturity models that supported their own needs, completely isolated from the rest of the company. The same could be said for accounting functions, marketing, sales and product development, for instance.
And this was certainly the case for QA. IT departments developed a centralized QA function, which concentrated on nurturing specific QA expertise, without necessarily addressing the needs of the business.
The QA silo would jump into specific parts of the process when they were required to, but they never understoodthe end-to-end process.
Quality is about business value, not value for a business function
This “quality gap,” part of the broader digital gap we’ve seen develop with firms attempting to adopt a digital innovation strategy, becomes especially apparent when we see the concept of value streams. In the APICS dictionary, ‘value stream’ is defined as: “…all the activities or processes necessary to deliver a product or service to the customer.”
It’s a way of looking at all the business activities as part of an integrated process working together to bring actual value into being.
QA has to work for the business, not for the isolated entity. And even though mature companies have developed mature and very well structured QA capabilities, the gap occurs when that capability is isolated.
DevOps and continuous quality
Failing to integrate quality and testing into the development process is big ‘no-no’ with regard to the overall quality assurance quotient.
That’s where DevOps comes into play.
The DevOps, or “continuous delivery revolution,” has taken hold in many corporate IT environments and has seen significant adoption within the enterprise. DevOps, a derivative of agile software development, includes QA as part and parcel of the development process. Instead of a discrete process that comes at the end of a development process, it is included as a continuous function employed by the same developers writing the code.
At Softtek we approach DevOps in the following four steps:
- QA lifecycle management
- Configuration management
- Release management
- Environment management
In a continuous development process all four elements must work together. Otherwise it’s a broken process. And quality is a critical factor.
Faster feedback loops and continuous
Another aspect of agile and DevOps is faster feedback loops. By releasing business value on a continuous basis, you’re also getting continuous feedback to validate your business assumptions.
Faster feedback loops allow you to quickly test the validity of your original assumptions, giving you immediate feedback that either validates or invalidates whether a certain functionality was needed.
And this is another gap we’ve identified. Test data management is typically overlooked, but it’s very important - whether it’s applied during downstream or upstream processes. They can be handled so as not to slow down your development process.
Semiconductor company applies continuous QA
We worked with a large semiconductor company that used traditional waterfall development methodologies. They employed a large community of more than 20 service providers, but they lacked maturity and formality around their quality processes.
Essentially it was one business analyst who conducted random test cases.
Our first step was to help them pare down their vendor count from 20 to just Softtek. We then assisted them in conducting an in-depth application portfolio assessment to simplify and rationalize their application performance because they had a complex set of technologies that were difficult to maintain. We helped them simplify their understanding of what their core technologies were, thus simplifying their application portfolio.
We then introduced the notion of a quality Center of Excellence (CoE) that enabled them to establish a minimum set of quality requirements each application needed to observe. The CoE served as a third-party quality assessment entity, which enabled them to embrace agile.
Helping the organization embrace agile as a final step was important for quality as it is built in, whereas in waterfall structure quality is a separate process and is often overlooked. With agile, QA is not a separate entity that tests your application after-the-fact (which is too late). Rather, QA is integrated into the agile team.
And that’s how we helped them close their quality gap. Agile closes that gap because quality is built in, as opposed to other scenarios where it remains a third-party scenario.
According to Gartner’s application portfolio layers (systems of innovation, systems of engagement and systems of record), closing the quality gap with agile QA puts it into the innovation layer of your portfolio rather then the application of record layer. That’s really the industry moving over the last three years.