In this interview, Tanya Kravtsov, a director of QA at Audible, explains why identifying bottlenecks is so critical when you’re turning to agile and DevOps, as well as how automating manual processes can lead to better quality.
Josiah Renaudin: Welcome back to another TechWell interview. Today I’m joined by Tanya Kravtsov, a director of QA at Audible and keynote speaker at this year’s Agile Dev, Better Software & DevOps West conference. Tanya, thank you very much for joining us. First, could you tell us a bit about your experience in the industry?
Tanya Kravtsov: I have fifteen years of experience in the financial and technology industries, working as part of building and managing QA, automation, and DevOps teams. I am currently working as a director of QA at Audible, subsidiary of Amazon, the number one provider of spoken audio entertainment, helping to build a new QA org to support innovative web product development at scale. Previously, as the head of automation and continuous delivery at ROKITT, senior QA manager at Syncsort and VP at Morgan Stanley, I focused on quality, automation, and DevOps practices and worked with internal and external customers to transform development and testing processes. In 2014, I founded the DevOpsQA NJ meetup that brings together process transformation enthusiasts from the NY and NJ area.
Josiah Renaudin: Why is identifying bottlenecks so critical when you’re turning to agile and DevOps?
Tanya Kravtsov: Since agile and DevOps promote continuous integration, continuous testing, and continuous deployment, anything that breaks this continuity is a potential bottleneck. According to the Theory of Constraints, a chain is not stronger than its weakest link. This is reinforced by Gene Kim in The Phoenix Project, who said, "Any improvements made anywhere besides the bottleneck are an illusion." Any manual process in the software development lifecycle prevents the continuous build, test, deploy cycle and will either extend the time to market or will keep growing the technical debt due to insufficient testing. Identifying these weakest links or bottlenecks is a critical step in achieving agility.
Josiah Renaudin: What tools would you suggest teams use to not only find these bottlenecks, but also encourage innovative thinking so that these bottlenecks can be more easily eliminated?
Tanya Kravtsov: Monitoring, logging, reporting, and analytics tools go a long way by providing valuable insights into the application usage and performance, test frameworks, and customer feedback. Using this data to identify gaps in the product or process, in conjunction with the automation tools which allow you to remove the manual steps involved, can greatly contribute to innovative solutions needed to eliminate the bottlenecks.
Josiah Renaudin: What are some of the most common bottlenecks teams encounter? Which one tends to be the most difficult to find and resolve?
Tanya Kravtsov: Some of the most common bottlenecks in the SDLC are data, which includes data discovery, generation, subsetting, masking and cleanup; and test environments including environment setup and monitoring; and test execution including build validations, unit testing, regression, and test results analysis. The most difficult bottlenecks to find are the ones that historically been done manually and are assumed to require human intervention, like an approval step that requires a physical sign-off from the manager, or test results analysis and defect logging. However, any of these can be automated to an extent provided proper process documentation and understanding.
Josiah Renaudin: How can mind maps and innovation games help eliminate your bottlenecks and lead to a smoother agile transition?
Tanya Kravtsov: While mind maps and innovation games cannot eliminate the bottlenecks, they are great tools for facilitating bottleneck discovery. Mind maps go hand in hand with the brainstorming exercise, helping to deep dive and branch out, while innovation games like Speed Boat exercise help to collaboratively identify and prioritize the top bottlenecks.