W zespołach, w których ściśle współpracowałem z testerami, świetnie się dogadywaliśmy. Testerzy rozumieją decyzje podejmowane w związku z różnymi podejmowanymi decyzjami, wiedzą, jak wyglądają harmonogramy deweloperów i między dwiema grupami budowane są relacje.
W zespołach, w których test jest jakimś amorficznym bytem na morzu, tak nie było. Wyniki testerów są mniej istotne, ponieważ nie wiedzą zbyt wiele o tym, co się dzieje, twórcy zaczynają bać się zalewu tego, co uważają za nieistotne szczegóły, które są w częściach programu, które nie zostały dotknięte w dwóch miesięcy zespół testowy denerwuje się, że żadne zgłoszone błędy nie zostały naprawione (ponieważ harmonogram jest spieprzony, a deweloperzy są zajęci przygotowywaniem demonstracji lub dodawaniem żądanych funkcji itp.) i ogólnie obie grupy postrzegają się jako antagonistyczne „inni” w przeciwieństwie do członków zespołu.
Pracujcie ściśle, a wszystko będzie dobrze. Ktoś musi upewnić się, że oba zespoły są koordynowane i znajdują się na tej samej stronie. Moje najlepsze doświadczenie, zespół testowy został zaproszony na każde spotkanie wysokiego szczebla, na które został zaproszony zespół programistów (wszyscy) i wszyscy znaliśmy harmonogram, mieliśmy zunifikowaną listę priorytetów, a zarówno projektanci, jak i test mieli takie same (w górę- aktualny) dokument wymagań. Moje najgorsze doświadczenie (inne niż brak testu) w zasadzie spakowaliśmy nasze rzeczy, wysłaliśmy je za granicę, aby je obejrzeć, a następnie odzyskaliśmy wszystko miesiąc później z rzeczami oznaczonymi jako złe, które nawet nie były nasze (wtyczka innej firmy, która spełniła nowe wymagania, ale nie oczekiwania zespołu testowego).
Ani programista, ani test nie odniesie sukcesu bez drugiego. Jeśli pracujesz jak dwie połówki tej samej maszyny i szanujesz drugą stronę, tak samo jak szanujesz swoich najbliższych członków zespołu, wszystko będzie dobrze. Zachowuj się jak dwie osobne maszyny i załóż, że twoja maszyna jest lepsza, wszystko będzie okropne.