Business people and developers must work together daily throughout the project.
Agile software development encourages teams to regularly deliver small chunks of valuable software, get feedback on those small chunks, then use that feedback to deliver another small chunk of value. If business people and developers—and testers—aren’t regularly communicating, development teams will never be able to deliver the value the business is looking for.
One of the biggest issues in teams and organizations becoming agile is that testers are often still siloed, doing waterfall-style testing. Your development team might be working more incrementally, however, if testing is still getting thrown over the wall and pushed into the next sprint, teams will never actually become agile or even realize the benefits the methodology can bring.
If you don’t include the testers, they’re going to be completely out of the loop. They might be testing for something the business doesn’t want, which leads to extra development cycles where teams will be doing extra work creating software that doesn’t actually do what the business wants.
Including testers early and often in conversations with the business people and developers will help them stay informed.
This coming together of business, development, and testing is often referred to as the three amigos. The business is there to tell the team what problem they’re trying to solve, development is coming up with potential solutions to that problem, and testing is questioning possible scenarios based on the potential solutions. With three different perspectives, the three amigos can work together to get on the same page and decide what it is that they actually want to deliver.
It’s pretty easy to tell when the three amigos aren’t collaborating daily. Testers might open bugs that are actually features or testing might lag behind the rest of the development team. When testers start opening usability bugs and you start hearing developer says “that’s not a bug, that’s a feature” well clearly you didn’t have conversations to get everyone on the same page.
In one of our clients, we have setup a CI pipeline that includes a light number of automated tests to ensure the sanity of the system, before the code can be merged to trunk. A great deal of time is spent on tests that fail, due to wording or other changes in the system. The testers then end up having to chase down developers and BAs to determine was that change purposeful and where are the requirements for this change. Had the testers been involved in the initial discussion about these changes and the development of them, they would know these were purposeful changes coming down the line and have the tests ready for them. This is a clear example of how early collaboration can save time and money; a little more work up front, to save a lot more after the fact.
The first step in getting teams to collaborate more closely is to actually invite the right people to the table. Testers need to be invited to agile activities early on, so they have a better understanding of the problem the business is having and the solution the developers are attempting to create.
The next step is to get the testers engaged in those meetings. What questions do testers have? What concerns or possibilities can they voice? Are they unsure about something or do they see challenges arising based on the discussed solution? Will these tests be automated? If so, what information is needed by the team to do the automation? Identifying this information early can allow test automation to run in parallel with feature development. Simply discussing the tests to be run can be an eye opener to the developers, and often times spurn more questions, or drive a direction for development.
Having testers engage in these conversations early and often will help to better define the scope, limit rework, and deliver more value frequently.