15 Punkte für gute Software – (Projekte)

Durch | 10. August 2009

In den letzten Wochen habe ich viel über Teams und agiles Projektmanagement geschrieben. Agilität und ein selbstorganisierende Team sind zwar wichtig aber bei weitem nicht allein entscheidend für den Erfolg des Projektes oder die Qualität der produzierten Software. Neben der Beachtung der Teams lohnt sich aber auch ein gründlicher Blick auf die Arbeitsweise von erfolgreichen Entwicklungsteams. Wie wird gute Software denn tatsächlich entwickelt? Ist die eigene Vorgehensweise gut oder schlecht? Anstatt viele Bücher zu wälzen und langwierige Evaluierungen durchzuführen können die Rahmenbedingungen auch mit einem kurzen Test innerhalb von 5 Minuten geprüft werden.

Ein berühmter Test stammt von Joel Spolsky. Er hat zwölf Punkte formuliert, die den Weg zu besserem Code weisen. The Joel Test: 12 Steps to Better Code.

  1. Do you use source control?
  2. Can you make a build in one step?
  3. Do you make daily builds?

Ich möchte den Joel Test hier nicht in ganzer Länge zitieren. Er stellt jedoch eine wichtige Grundlage für meinen eigenen 15 Punkte Test dar. Dieser ist an einigen Stellen allgemeiner an anderen Stellen etwas detaillierter formuliert. Es sind jeweils 5 Fragen zu den Bereichen Spezifikation, Vorgehensweise und Rahmenbedingungen bzw. Management. 15 Fragen, für jede 20 Sekunden Zeit um sie mit “Ja” oder “Nein” zu beantworten:

  • Haben Sie eine fachliche Spezifikation?
  • Haben Sie eine technische Spezifikation?
  • Haben Sie dokumentierte Testfälle?
  • Haben Sie Tester?
  • Haben Sie Tester außerhalb des Entwicklungs- oder Projektteams?
  • Verwenden Sie eine Versionsverwaltung?
  • Ist Ihr Build-Prozess automatisiert?
  • Machen Sie einen täglichen Build?
  • Verwenden Sie ein Bugtracking-System?
  • Beheben Sie Fehler bevor Sie neuen Code schreiben?
  • Kann sich das Entwicklungsteam den Arbeitsplatz selbst gestalten?
  • Können die EntwicklerInnen ungestört arbeiten?
  • Stehen die besten (Wunsch)-Werkzeuge zur Verfügung?
  • Gibt es einen aktuellen und validen Zeitplan?
  • Werden Zeit-Schätzungen grundsätzlich von mehr als einer Person gemacht?

15 mal JA: Es gibt kaum noch etwas zu verbessern. Es bleibt höchstens die Frage ob die Fragen wahrheitsgemäß und nicht nur dem Wortlaut nach beantwortet wurden. Es wäre dann z.B. nachzufragen ob die vorhandenen Tester wirklich testen oder nur auf dem Papier vorhanden sind.

weniger als 3 mal JA: Dann haben Sie möglicherweise ein Problem und viel Verbesserungspotential.

Ziel des Tests ist es nicht auf Gedeih und Verderb die volle Punktzahl zu erreichen. Er soll in kürzest möglicher Zeit einen kritischen Blick auf ein konkretes Software-Entwicklungs-Projekt werfen. Die Fragen decken hierbei wichtige Grundsätze der Softwareentwicklung und des Projektmanagements ab, die in der Mindmap nochmals im Zusammenhang dargestellt sind:

15 Punkte für gute Software

Die Mindmap gibt es auch als PDF zum Download: 15 Punkte für gute Software – (Projekte). Und hier die Fragen als ausfüllbare Checkliste: Checkliste 15 Punkte für gute Software.