Sollen alle Tester programmieren können?

16.08.2017
Von: Alex Schladebeck

Die Frage ob alle Tester programmieren können/sollen ist immer wiederkehrend in Testerkreisen und die Meinungen spalten sich deutlich. Was mir persönlich bei der einfachen Frage fehlt, ist jeglicher Kontext. Aus der Erfahrung im Anforderungsmanagement bin ich sowieso sehr vorsichtig mit Aussagen, die Worte wie „alle“ oder„immer“ beinhalten. Außerdem ist mir der Begriff „Programmieren“ zu schwammig, um eine klareAntwort abgeben zu können.

Ich sehe die Antwort nuanciert. Es hat mir deutlich geholfen, über die Jahre „technischer“ zu werden. Ich kann ein wenig programmieren (wobei man mich wirklich nicht als Entwicklerin einsetzen sollte) und ich kann problemlos mit Entwicklern über technische Probleme und Ansätze sprechen. Ich bin durch mein Wissen besser in der Lage, „ihre Sprache“ zu sprechen. Mein Horizont hat sich dadurch erweitert und meine Kommunikationsmöglichkeiten innerhalb des Teams haben sich verbessert.

Das ist für mich das Wichtigste dabei – wenn wir von „Whole Team Quality“ und agilen Ansätzen sprechen, verstehe ich nicht darunter, dass jeder im Team durch jeden anderen komplett austauschbar sein sollte. Es geht viel eher darum, dass wir keine Einzelkämpfer haben und dass die Verantwortung und das Verständnis für die Softwareentwicklung und ihrer Qualität in den Händen aller Teammitglieder liegt. Die Kommunikation im Team ist dabei für den Erfolg wesentlich. Dafür sollten alle Teammitglieder schon lernen, die „Sprache“ der anderen auch sprechen zu können.

Es geht mir also nicht darum, austauschbare Ressourcen zu haben. Sondern ein Team an Individuen zu bilden, die ihre eigenen Stärken und Persönlichkeiten mitbringen. Durch die Vielfalt sind wir besser – aber es müssen alle miteinander kommunizieren können. Dieser Kommunikationsaufwand ist auf alle Teammitglieder zu verteilen. Und die Kommunikation muss auf verschiedenen (Abstraktions- und Gesprächs-) Ebenen und zu unterschiedlichen Themen stattfinden können.

Aus diesem Grund sehe ich nämlich nicht, dass wir uns die Testerrolle in agilen Teams schenken können. Es gibt nicht die Eierlegendewollmilchsau „Agile Team Member“. Und wenn wir uns davon verabschieden, können wir uns ebenfalls davon verabschieden, dass jeder im Team programmieren können muss. Die Rolle eines Testers ist in einem agilen Team anders als früher. Skills wie Coaching, Befähigen und Koordinieren sind wichtiger geworden als reine Durchführung (sei es manuelle Tests oder die Automatisierung von Testfällen). Ein Tester im agilen Team hat die Priorität und die Ausbildung, stets über Qualität und Risiko aus verschiedenen Perspektiven zu denken. Das muss nicht bedeuten, dass diese Person alles für die Qualität alleine durchziehen muss. Aber die Person hat „den Hut“ dafür auf. Mehr Wissen über Programmieren und Entwicklung kann der Person und dem Team bei diesem Vorhaben helfen. Gleichzeitig aber hilft es dem Team, wenn die erfahrenen Programmierer gut mit Nicht-Entwicklern sprechen können. Annäherungen aus beiden Seiten sind wichtig, sodass wir als Team fungieren können.

Unsere Erfahrungen in der BREDEX zu diesem Thema sind sehr positiv. Wir haben viele Tester, die als Quereinsteiger zu uns kommen. Durch unsere Ausbildung lernen sie viel über Entwicklung, Programmierung und Prozesse. Sie lernen auch Code zu schreiben für die Zwecke, für die sie es benötigen. Das sind durchaus technische Menschen. Aber es sind auch Menschen, die eine andere Perspektive mitbringen und diese in ihren Teams vertreten. Sie arbeiten mit Entwicklern, Kunden und anderen Testern zusammen, damit das Team als Ganzes funktioniert und gute Software abliefert. Wir haben auch Tester, die mehr Programmierkenntnisse mitbringen oder entwickelt haben. Sie haben eine andere Schnittstelle und Kommunikationsgrundlage zu den Entwicklern, und die Arbeitsaufteilung in ihren Teams kann manchmal anders aussehen. Aber sie verfolgen das gleiche Ziel für „Whole Team Responsibility“.

Meine Antwort auf die Titel Frage lautet: Es kommt auf das Projekt, die Person und die Bedingungen an. Es kommt auch darauf an, was man mit „Programmieren“ meint. Mehr Verständnis und Unterstützung zwischen Entwicklern und Testern hilft Teams zu besserer Qualität.  Beide Rollen können Schritte machen, um dies zu verwirklichen. Programmierkenntnisse sind dabei nur ein Tool aus vielen.                                                                                                                                                                                     


Kategorie: Agile, Open Source, Development

INDIVIDUELLE SOFTWARE

KONTAKT | IMPRESSUM | DATENSCHUTZ | AGB