AI created image of Jörn Auerbach

Der Joel Test - besserer Code in 12 Schritten

software engineering

Einer meiner letzten Uni-Scheine war eine Gruppenarbeit. Wir sollten ein Softwareprodukt erstellen – welches genau war uns überlassen. Das übermütig getaufte Projekt SmartFridge lief kurz zusammengefasst auf ein Bananen-Reifegrad-Erkennungssystem heraus. Unser Prof gab uns am Ende die Aufgabe mit, das ganze auch aus Organisationssicht zu evaluieren. Eine Empfehlung war der Joel on Software Test, der einem Blogpost aus dem Jahr 2000 entstammt. Er ist keine silver bullet, aber der schnelllebigen IT-Welt auch noch nicht ganz entwachsen.

Der Test besteht aus 12 Indikatoren, wie gut ein Software Team aufgestellt ist. Auf deutsch sehen die Fragen so aus:

  1. Benutzt ihr ein Versionierungssystem (source control)?
  2. Könnt ihr in einem Schritt einen Build-Prozess anstoßen?
  3. Macht ihr täglich Builds?
  4. Habt ihr einen Bug Tracker?
  5. Behebt ihr Bugs, bevor ihr neuen Code schreibt?
  6. Habt ihr einen aktuellen Zeitplan?
  7. Habt ihr Spezifikationen?
  8. Haben Programmierer ruhige Arbeitsbedingungen?
  9. Benutzt ihr die besten Tools, die für Geld zu kaufen sind?
  10. Habt ihr Tester?
  11. Lasst ihr Bewerber Code schreiben?
  12. Prüft ihr die Usability des Produkts an Versuchspersonen (Hallway Tests)?

Joels Empfehlung für die Bewertung ist hart, aber ich gebe sie mal ungefiltert weiter. Man muss lediglich zählen, wie oft man mit Ja geantwortet hat.

  • 12x: Perfekt
  • 11x: tolerierbar
  • < 11x: ernsthaftes Problem!!!!

Die Fragen sind auf ein professionelles Umfeld zugeschnitten und nicht optimal für Studententeams (z.B. Frage 9 und 11). Sie zeigen dennoch viele Aspekte auf, die für uns hilfreich waren. Aufgrund des Ja/Nein-Charakters sind die Antworten schnell verfügbar und bieten keinen Platz für heißen Brei. Ein grober Status Quo lässt sich ableiten. In jedem Fall ergeben sich für dein aktuelles Team Verbesserungsvorschläge oder Anlässe zum Schulterklopfen. In deinem nächsten Bewerbungsgespräch kannst du mit Hilfe der Fragen potentielle Arbeitgeber evaluieren. Bedenke aber, dass der Zahn der Zeit an allem nagt. Und so kursiert im Internet™ auch schon ein lesenswertes Update dieses Tests, das z.B. diese zusätzlichen Fragen vorschlägt:

  1. Durchläuft der gesamte Code ein Review?
  2. Gibt es Codestyle-Richtlinien?
  3. Werden neue Mitarbeiter eingearbeitet (Onboarding)?