In More Agile Testing: Learning Journeys for the Whole Team, Lisa Crispin and I talked about the idea of DevOps and testing. We tried to use the term to show there are DevOps activities – activities that contribute to the wholeness of the product, much like testing activities and coding and other development activities.
The activities that come from DevOps are aimed at improving maintainability and speed of automated tests and deployments, concentrating on shortening the feedback cycle. These activities help the delivery team, deliver their final product with less risk to the business – hopefully no surprises.
We use the term delivery teams very deliberately to encompass the cross-functional aspect of the team. Over the years I’ve heard terms like agile teams, development teams, squads, feature teams, etc., but to me, none seem to capture the essence like the term delivery teams – those responsible for delivering a specific feature.
I realize that not all delivery teams are completely self-sufficient. This usually happens in larger organizations where there are multiple delivery teams working on a single product or release. I like the term that Spotify uses to encompass this larger group of people – a tribe. It brings out the need to work together. I haven’t heard a better term to describe it, so I tend to use a more generic phrase – ‘delivery teams working on the same product’, but in this blog post I use the word tribe for ease of reading.
Quite often, DevOps activities cross the boundaries of individual delivery teams. Organizations have solved this in multiple ways. One approach is to have people from the tribe working as ‘consultants’, helping teams to manage their own operational activities, much in the same way a test consultant might help teams to determine what they need to test. Another way is to have one person on each team that focuses on helping the team consider the operational aspects with each feature or story. This model is much like teams that have a tester who may complete some of the testing activities, but also helps advocate for building quality into the product by asking testing questions early in the cycle.
In summary, there is one team – your delivery team. Your team may need to work closely with other teams in your tribe to deliver your product with minimum impact to your customers. DevOps activities, like testing activities should be integrated tightly with development to deliver as one.