One of the thornier agile concepts around my workplace is what XP calls “whole team”, where people put getting tasks done over their job titles.
I got to demonstrate this firsthand in my team this week, as we’re completely blocked by some testing tasks. We have a practice in place forbidding developers to write test cases for their own code (which would be a bit like students writing their own final exams), but we can certainly execute test cases written by others on the team. Can, being the key word.
I like to think of scrum teams like basketball teams. (Rugby’s not big here.) And, of American professional sports, basketball suits scrum well. Here, I’m referring to the role players play on a team. Everyone plays defense. Everyone plays offense. Everyone takes a shot at the basket sometimes. Yet everyone has a specialty. One guy is a 3-point man. Another blocks shots.
On my scrum “basketball” team, I’m definitely a forward and the team captain. I score 20+ points a game, 10+ assists, and call the plays on the court. But yesterday, I took to the court as a QA shooting guard.
That’s right, to the amazement of some of my developer colleagues, I executed some test cases in Quality Center, our test tracking tool. It was an educational experience!
The team’s QA specialist and I learned some interesting things. He learned that his test cases assumed some tribal knowledge that wasn’t in the test scripts. I learned that this particular troublesome piece of functionality is hard to test. In troubleshooting, I learned some interesting things about the environment and how the moving part I’d been enhancing in isolation fit in its habitat. And I may have even uncovered an issue! :)
I’d highly recommend the experience of doing another person’s job for a day, if you get a chance. It can be rather refreshing and eye-opening! Honestly, though, I’m glad to be back playing forward again.