Mein Kollege Lukas hat mich auf einen tollen Artikel hingewiesen: The Joel Test: 12 Steps to Better Code von Joel Spolsky.
Der Artikel beginnt mit einer Reihe von einfachen Fragen:
- Verwenden Sie ein Versionskontrollsystem?
- Ist es möglich, mit einem Schritt das gesamte Produkt zu generieren?
- Erzeugen Sie täglich eine neue Version?
- Haben Sie eine Fehlerdatenbank?
- Werden Fehler korrigiert, bevor neue Funktionen implementiert werden?
- Haben Sie einen aktuellen Zeitplan?
- Haben Sie Spezifikationen aller Anforderungen?
- Haben die Entwickler eine ruhige Arbeitsumgebung?
- Haben Ihre Entwickler die besten Arbeitsmittel, die man für Geld kaufen kann?
- Haben Sie Tester?
- Lassen Sie Bewerber etwas programmieren?
- Lassen Sie „Irgend jemanden“ das Produkt auf Benutzbarkeit (Usability) testen?
Lauter gute Ideen? Mal was Neues ausprobieren? Dann habe ich eine schlechte Nachricht für Sie: Der Artikel ist aus dem Jahr 2000. Die Ideen sind alles andere als neu und zumindest Punkt 6 ist diskussionswürdig.
In modernen Software-Projekten gibt man sich nicht mehr der Illusion hin, dass es möglich ist, erst vollständig den Ist-Zustand zu erfassen, dann Alles präzise durch zu planen um es dann in einem Rutsch umzusetzen. Trotzdem sollte man auch bei agiler Entwicklung immer in der Lage sein, den aktuellen Entwicklungsstand wieder zu geben. Mit der Zeit lässt sich dann immer genauer abschätzen, wie lange die Umsetzung der aktuell spezifizierten Anforderungen noch dauern wird.
Zu guter Letzt sei zu Punkt 1 gesagt, dass CVS schon lange aufs Abstellgleis gehört. Moderne Versionierungswerkzeuge wie git und Co. haben dieses Urgestein längst abgelöst.
Doch hiervon abgesehen ist der Artikel noch sehr aktuell und unbedingt lesenswert!