This month’s Lean Coffee was hosted by Cambridge Consultants. Here’s some brief, aggregated comments on topics covered by the group I was in.
What is your biggest problem right now? How are you addressing it?
- A common answer was managing multi-site test teams (in-house and/or off-shore)
- Issues: sharing information, context, emergent specialisations in the teams, communication
- Weinberg says all problems are people problems
- … but the core people problem is communication
- Examples: chinese whispers, lack of information flow, expertise silos, lack of visual cues (e.g. in IM or email)
- Exacerbated by time zone and cultural differences; lack/difficulty of ability to sit down together, …
- Trying to set up communities of practice (e.g. Spotify Guilds) to help communication, iron out issues
- Team splits tend to be imposed by management
- But note that most of the problems can exist in a colocated team too
- Another issue was adoption of Agile
- Issues: lack of desire to undo silos, too many parallel projects, too little breaking down of tasks, insufficient catering for uncertainty, resources maxed out
- People often expect Agile approaches to “speed things up” immediately
- On the way to this Lean Coffee I was listening to Lisa Crispin on Test Talks:”you’re going to slow down for quite a long time, but you’re going to build a platform … that, in the future, will enable you to go faster”
How do you get developers to be open about bugs?
- Some developers know about bugs in the codebase but aren’t sharing that information.
- Example: code reviewer doesn’t flag up side-effects of a change in another developer’s code
- Example: developers get bored of working in an area so move on to something else, leaving unfinished functionality
- Example: requirements are poorly defined and there’s no appetite to clarify them so code has ambiguous aims
- Example: code is built incrementally over time with no common design motivation and becomes shaky
- Is there a checklist for code review that both sides can see?
- Does bug triage include a risk assessment?
- Do we know why the developers aren’t motivated to share the information?
- Talking to developers, asking to be shown code and talked through algorithms can help
- Watching commits go through; looking at the speed of peer review can suggest places where effort was low
Testers should code; coders should test
- Discussion was largely about testers in production code
- Writing production code (even under guidance in non-critical areas) gives insight into the production
- … but perhaps it takes testers away from core skills; those where they add value to the team?
- … but perhaps testers need to be wary of not simply reinforcing skills/biases we already have?
- Coders do test! Even static code review is testing
- Why is coding special? Why shouldn’t testers do UX, BA, Marketing, architecting, documentation, …
- Testing is dong other people’s jobs
- … or is it?
- These kinds of discussion seem to be predicated on the idea that manual testing is devalued
- Some discussion about whether test code can get worse when developers work on it
- … some say that they have never seen that happen
- … some say that developers have been seen to deliberately over-complicate such code in order to make it an interesting coding task
- … some have seen developers add very poor test data to frameworks
- … but surely the same is true of some testers?
- We should consider automation as a tool, rather than an all (writing product code) or nothing (manual tester). Use it when it makes sense to, e.g. to generate test data
Ways to convince others that testing is adding value
- Difference between being seen as personally valuable against the test team adding value
- Overheard: “Testing is necessary waste”
- Find issues that your stakeholders care about
- … these needn’t be in the product, they can be e.g. holes in requirements
- … but the stakeholders need to see what the impact of proceeding without addressing the issues could be
- Be humble and efficient and professional and consistent and show respect to your colleagues and the project
- Make your reporting really solid – what we did (and didn’t); what we found; what the value of that work was (and why)
- … even when you find no issues