First of all, what is SAFe? To summarize it in one sentence, it is a framework that defines a way of working in a software project. To have more details, I advise to read directly on the official website. Anyway, how can we perform testing in a project using SAFe?
The testing activities, in this scenario, completely change. We usually think about the classic test team, led by a test manager and composed, for example, by test engineers, test architects, test automation engineers. With SAFe, that does not apply. There is no such thing as test team, but only cross-functional teams, led by POs (product owners).
The cross-functional team
As shown in the diagram above, the cross-functional team can develop an increment (or also called epic) end to end. That means, we can find in the team at least one responsible for each area (e.g., requirement engineer, software architect, test engineer, etc.).
The role of the test engineer, in this case, is to work continuosly in the team, together with all the other members, in order to produce test cases and test automation before the feature under development is delivered.
Pro and cons of testing with SAFe
Testing with SAFe gives some of the following benefits:
- it puts test engineers in direct contact with requirement engineers and software developers
- it prevents to release a feature which was not yet tested
- it helps test engineers to learn more about the feature under development, by participating to the epic refinements, estimation rounds and planning activities (PI planning, sprint planning)
However, from testing point of view, there are also some cons:
- test engineers have to adapt to a new way of work, which differs a lot from being in a regular test team
- test managers have less visibility on test engineers, as they are led by the PO
- there is a high number of meetings, sometimes also too technical, in which test engineers participate
- test engineers could lose visibility on the features developed and tested in other cross-functional teams
Listing all the pro and cons is not easy and it also depends on the project. The perfect process that applies everywhere does not exist.
One of the solution to many of the cons could be to still have an abstract old fashioned test team in place. What does it mean? That all the test engineers, with the test manager, should have regular meetings to discuss the overall progress and keep everybody aligned.
In my experience it is the best to have a 15 minute scrum meeting in the morning (daily, or every other day) and a weekly (or bi-weekly) 30 minutes to 1 hour meeting to discuss bigger picture. However, it always depends on the project setup and size, be flexible!
To learn how to be a test manager in a SAFe project, keep reading the blog and wait for the next posts!