Most teams I work with have three distinct roles; BA, Developer, and QA. Most teams I work with have three distinct phases of their work; gather requirements, build, verify. Even on agile teams, these separations exist. There are clear delineations in the process and clear segregation of responsibilities. But this segregation is a contributor to erratic velocity. How many “agile” teams do you know of where the BA group is an iteration ahead of the developers who are an iteration ahead of QA, leaving us with a three-iteration cycle time and significant lag in our feedback loops between the groups?
Tighten the loops. Get people working together in not only close proximity, but close time-frame. Involve the developers and QA in the formation of requirements. Push QA to the
front and automate, automate, automate. Don’t let manual testing be a bottleneck. Start development before you’ve polished the requirements. And don’t wait until the end to test it all comprehensively.
Source: Escape Velocity – Better Metrics for Agile Teams, Doc Norton, https://leanpub.com/escapevelocity
Breaking silos between business analysts, software developers and software testers is a key challenge to achieve the benefits of Agile software development and Scrum. You can achieve this by using techniques and approaches that force the different specialists to work together. Among those, you can include Behavior-Driven Development (BDD), DevOps, test automation or backlog refinement.
Another approach is to build cross-functional Agile teams where the members have multiple skills, often described as T-shaped. This metaphor is used to describe people with deep vertical skills in a specialized area as well as broader but not necessarily deep skills in other areas.
Further reading
How to break down silos between teams
Organizational Silos that are Slowly Crippling Your Team’s Productivity
T-shaped Skills and Swarming Make for Flexible Scrum and Agile Teams