The DevOps Disconnect
The DevOps Disconnect
There are multiple causes for the rifts that sometimes form in a DevOps implementation.
Join the DZone community and get the full member experience.Join For Free
Lack of communication is often cited as the biggest problem businesses have when implementing DevOps. This would be communication between co-located teams where the team just doesn't talk, teams across geographies where time zones come into play, even where the IT and Business departments just will not discuss things. Indeed, there are many places where a lack of communication can cause DevOps to fail.
As great a threat to DevOps is mismanaged digital transformation. Businesses have taken advantage of digital transformation to expand their footprints; rarely do large companies identify as being siloed to one industry. Thus, business strategy alignment, brand, and software need to leverage different technology and provide a delightful experience to a diverse set of customers. Businesses now need to have many more releases, be more agile, and more dynamic if they are to stay competitive and profitable.
From a Quality Assurance perspective, digital transformation and DevOps put a premium on automated testing and introducing more industry or business analysts to do more of the QA. This is generally because businesses are either building software from individual home-grown or off the shelf components or ensuring the software meets industry and customer experience requirements is so important.
The biggest problem is that as technical people may not have enough industry knowledge, business analysts or domain experts will probably not have enough development or technology knowledge. It's a necessary trade-off, but what are the problems and how do you mitigate them?
Automation Tools Need to Be Simple and Approachable
If the person doing the testing is not well-versed in coding or technology, the automation tool is going to need to adapt to them and make it easy to create, generate, and run automated test cases. Getting caught up in deep object recognition, programmatic handlers, and custom controls is only going to delay the creation and maintenance of automated tests. This is no longer the 1990s or 2000s. Technology needs to adapt to the customer, not the other way around.
Obscure Edge Cases May Require More Work than They Are Worth
Pulling business users or analysts in to do testing can have amazing benefits. It can also cause a massive amount of effort to be placed in functionality that just isn't critical or used all that much. To address this, augmented intelligence, like the AI that is built into Eggplant DAI, can help testers decide which automated tests are most critical and helpful to ensuring the overall quality of the application. Additionally, better team communication, coaching, and mentoring can address this.
Defect Triage Is Key
The purpose of a good testing program is to find defects before they make it into production. But what is a defect, and what kind of severity should it really have? DevOps release cycles can be delayed if there aren't clear guidelines on what defects should be captured, and how they should be ranked in either severity or priority. Technical testers are going to generally focus more of their effort in technical defects that the business may not find major and vice versa. The key is a clearly-defined process and clear communication.
Solving the DevOps Disconnect comes to clear lines of communication, giving every team member a voice, and clearly defined, agreed upon processes that does not waste cycles on irrelevant activities that do not contribute to the overall end quality of the product.
Published at DZone with permission of Michael Giacometti , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.