Whittaker / Arbon / Carollo
James Whittaker, Jason Arbon und Jeff Carollo
How Google Tests Software, Addison Wesley, 1. Auflage, Upper Saddle River 2012, 34,99 $
Dieses Buch ist mancherlei: Es ist ein Ratgeber für Jobinteressenten um Googles Recruiting Prozess zu überstehen. Es ist außerdem eine hervorragende Imagebroschüre, in dem es die innovative und kommunikative Arbeitsatmosphäre von Google darstellt.
Es ist letztlich auch die Beschreibung des Qualitätssicherungsprozess von Google, auf mehreren Ebenen, mit eigenen, sehr speziellen Rollen sowie den damit verbundenen Erfahrungen bei der Einführung. Es beschreibt das Testvorgehen aus der Sicht der beteiligten Rollen, dem „Software Engineer in Test“, dem „Test Engineer“ sowie dem „Test Engineering Manager“.
Die Rolle des „Software Engineer in Test“ (SET) könnte man als die wichtigste Besonderheit im Testvorgehen bezeichnen. Schon rein mengenmäßig sind die meisten Beschäftigten im Test/QS-Umfeld dieser Rolle zugeordnet. Google hat hier eine klassische Entwicklerrolle mit einer Zusatzfunktion angereichert, die in der Sicherstellung der Umsetzung qualitätssichernder Maßnahmen besteht. Hauptaufgabe des SET ist nicht das Schreiben von Testfällen im eigentlichen Sinne, sondern die Gestaltung der (Test-)Rahmenbedingungen, so dass Testaktivitäten optimal entworfen und durchgeführt werden können.
Dem „Test Engineer“ (TE) kann man aus heutiger Sicht vielleicht am ehesten mit einem UX-Spezialisten vergleichen, denn er nimmt vornehmlich die Endanwender- / Benutzer-Sicht ein.
Organisatorisch sind SET und TE in einem Querschnittsbereich angesiedelt, mit weitreichenden Kompetenzen gegenüber Projekten. Neben diesen organisatorischen Rahmenbedingungen, die erst eine wirksame QS möglich machen, hat Googles Test/QS-Community aber auch durch eine Reihe von Aktionen auf sich und ihre Anliegen aufmerksam gemacht: So rief man ein „Test Certified Program“ ins Leben, im Prinzip eine Reifegradmessung bestehender Projekte im Hinblick auf die Umsetzung qualitätssichernder Maßnahmen. Je nach Erreichung eines Reifegrades werden Projekte mit Auszeichnungen und öffentlichen Rankings belohnt. Mit der Kampagne „Testing on the toilet“ wurden die Benutzer der stillen Örtlichkeit über entsprechend angebrachte Poster auf zu berücksichtigende Prinzipien guter Softwareerstellung hingewiesen. Wie man im Google Testing blog (googletesting.blogspot.com) nachlesen kann, stieß das wohl auch nicht uneingeschränkt auf Begeisterung.
Insgesamt betrachtet, verlagert sich der Schwerpunkt des googleschen Vorgehens tatsächlich vom reinen, der Entwicklung nachgelagerten Verifizieren von Anforderungen hin zur Durchführung von konstruktiven, also fehlervermeidenden Aktivitäten. Die Eckpfeiler dieser Maßnahmen sind Quellcode-Reviews, Optimierung von Programmabläufen sowie die Überwachung der Umsetzung von best practices.
Das Buch ist mehr wie ein Erfahrungsbericht geschrieben und weniger wie ein Lehrbuch. Dieser Eindruck wird durch die zahlreichen Interviews mit Mitarbeitern noch verstärkt und soll wohl die Authentizität unterstreichen. Dadurch und weil in den Interviews gerne auf Google-Interna abgehoben wird, liest es sich stellenweise etwas zäh.
Dabei wird allerdings deutlich, dass es sich bei Google um eine höchst agile, wenn auch nicht hierarchiefreie Organisation handelt, bei der klassische Rollenzuweisungen aufgehoben und Verantwortlichkeiten dem jeweiligen Team als Ganzes zugewiesen werden. So erfährt der Leser, dass jeder Mitarbeiter 20% seiner Arbeitszeit selbstbestimmt einsetzen kann um Raum für die Entwicklung und Umsetzung innovativer Ideen zugunsten der Organisation zu haben. Diese Offenheit für und Förderung von neuen Ideen und Ansätzen, fernab jeder etablierten Routinen macht den enormen Erfolg des Unternehmens aus, das jedenfalls können die Autoren nachvollziehbar beschreiben.
Dr. Oliver Kortendick