3 Common Collaboration Problems for Teams Transitioning to Agile
As teams move toward agile, there is pressure to deliver software more quickly and through collaboration among smaller cross-functional teams. This can be a big leap for those used to longer release patterns and siloed teams focused on specific functions such as testing, development, or operations.
A shift toward working in smaller teams on tighter releases forces organizations adopting agile to rethink what successful delivery looks like. While teams could work independently on their own functions in a waterfall environment, teams that work without close communication in an agile environment are destined to fail.
Here are three of the key symptoms of agile teams that don’t have close collaboration—and some solutions you can implement to fix them.
Problem #1: Tests don’t align with requirements or often need to be rewritten
As requirements or user stories change within the course of a sprint, testers aren’t in sync with the business analysts or product owners. They frequently have to update tests, or worse, they are executing the wrong tests.
Solution: Implement a process for daily standups to address requirements that are evolving. Building basic dashboards to display user stories needing review and test redesign is another common tactic.
Problem #2: Requirements can’t be tested easily
When requirements are defined without close involvement from testers, they can be imprecise and difficult to test properly. Testers need to go back to business analysts or product owners for clarification, and often they end up writing the wrong tests.
Solution: Involve testers closely in the requirements definition process to make sure testability is considered from the beginning. A behavior-driven development approach can be used to bake in tester feedback and testability from the very start.
Problem #3: Testing timelines get squeezed or delivery dates get pushed
When testers do not get involved early on, they are beholden to the business analysts or product owners to finalize and deliver requirements in order to start planning their test approach. This leaves testers scrambling to put together a plan, so they frequently either encounter unexpected delays or need to cut out test coverage that may be critical.
Solution: Test-driven development moves test creation to the beginning of the process, ensuring that testing is never getting squeezed in as the final step in the delivery process. In this way, code cannot be written on a feature before a test is developed, so if anything does need to be squeezed, the development of feature code can be pushed into a later sprint or release.
All organizations feeling the pressure of agile software delivery processes should be eager to find ways to increase collaboration within their development teams. Without proper cross-functional communication, quality and delivery timelines will suffer. It’s vital that teams have strategies to encourage close teamwork in their engineering organizations so they can drive better quality outcomes for their software.
Kevin Dunne is presenting the session Software Quality: A Cross-Organizational Competency at the STAREAST 2017 conference, May 7–12 in Orlando, FL.