Drei Monate Entwicklung: Ein Rückblick in Zahlen und Diagrammen
Seit dem 03.11.2009 wird nun an Kunstretter programmiert. Im Folgenden möchte ich einen kleinen statistischen Einblick auf die bisherige Entwicklung ermöglichen und auch meine persönlichen Ansichten zum Entwicklungsprozess schildern. Die eigentlich schon länger fälligen “Neuigkeiten aus dem Maschinenraum” gibt es dann diesen Monat etwas später.
Für das Verständnis dieses Eintrags ist es wichtig, zwei Begriffe zu verstehen:
- Tickets. Das sind Einträge in einem internen Entwicklungswerkzeug (namens Trac), in der notiert wird, was bisher noch nicht so läuft wie es soll. Das können also Fehler sein (z. B. “Login funktioniert auch ohne Angabe eines Passworts”) oder Funktionen des Systems, die noch nicht programmiert wurden (z. B. “Suchfunktion”). Ein Ticket wird “geöffnet”, wenn es neu geschrieben wird, meistens dann, wenn jemandem der Fehler/die fehlende Funktion erstmals auffällt. Ein Ticket wird “geschlossen”, wenn entweder die Ursache für die Fehlfunktion im Programmcode korrigiert wurde – oder man feststellt, dass man ein ungültiges (“Hoppla, ich hatte mich ja nur vertippt”), doppeltes (“Oh, da hat Heinz ja vorgestern schon ein Ticket zu geöffnet”) oder nicht zu korrigierendes (“Ja, das ist so, aber das ist Absicht, weil …”) Ticket vor sich hat.
- Commits. Das sind Änderung am Programmcode. Das kann eine Korrektur eines Rechtschreibfehlers genau so sein, wie eine neue Suchfunktion, eine komplette Umstrukturierung der Seite oder gar eine Änderung, die überhaupt keinen bzw. keinen Sichtbaren Effekt hat. Es sagt nur aus, dass zu einem bestimmten Zeitpunkt ein bestimmter Entwickler einen neuen Datenstand von seinem Rechner in den allgemeinen Programmcode (Repository) übertragen hat.
Die obige Grafik (Anklicken zum Vergrößern) zeigt die Anzahl der geöffneten, geschlossenen, noch verbleibenden offenen Tickets in bestimmten Zeitspannen an. Außerdem wird die Anzahl der Commits in diesen Zeitspannen angegeben. Am Anfang unserer Entwicklung haben wir noch mit anderen Werkzeugen gearbeitet, so dass ich bis zum 14.12.2009 keine Daten über Tickets vorliegen habe. Dieser Bereich ist blau hinterlegt und wird von mir im Folgenden nicht betrachtet. Wer sich dafür interessiert, was in dieser Zeit inhaltlich passiert ist, möge den entsprechenden Blogeintrag lesen.
Interessant wird es nun bei den grün bzw. rot hinterlegten Daten. Grün sind die Zeiträume mit denen ich – rein subjektiv und emotional bewertet – äußerst zufrieden bin, rot die, mit denen ich weniger zufrieden bin. Hierzu auch nochmal die gleichen Daten als Diagramm (Anklicken zum Vergrößern):
Woche 6: Im Zeitraum vom 15.12.2009 bis 22.12.2009 wurden alle Funktionen, die wir uns für Kunstretter wünschen in unser Ticket-System eingetragen. Aus diesem Grund gab es die sehr hohe Zahl von 58 geöffneten Tickets. Außerdem wurden wichtige Grundfunktionen des Kunstretter-Systems implementiert. Zusätzlich wurden die bestehenden Systeme entscheidend erweitert. Ganze 10 Tickets konnten geschlossen werden. Die Entwicklung verlief in dieser Zeitspanne vor allem deswegen so gut, weil zu Beginn ein Entwicklertreffen stattgefunden hat, bei dem wichtige offene Fragen geklärt werden konnten. Auch die neuen Entwicklungswerkzeuge haben sich positiv ausgewirkt.
Woche 7: Im Zeitraum vom 23.12.2009 bis zum 30.12.2009 wurde vieles entwickelt, das weniger abstrakt als das vorangegangene ist: Allen voran ist Login und Logout zu nennen. Aber auch an der Stabilität des Systems und an Grundlagen für spätere Funktionen wurde hart gearbeitet. Die hohe Zahl von sowohl geöffneten als auch geschlossenen Tickets, sowie natürlich die Commit-Aktivität spricht eine deutliche Sprache.
Woche 8: Im Zeitraum vom 31.12.2009 bis zum 07.01.2010 wurden erstmals mehr Tickets geschlossen als geöffnet – auch wenn es nur vier Stück waren ein gutes Gefühl.
Viele Änderungen, die sich nicht direkt in Tickets wiederspiegelten wurden ebenfalls durchgeführt. Hier eine Liste der wichtigsten Änderungen dieser Woche insgesamt:
- Passwortsicherheit [mit Ticket]
- Projekte können favorisiert werden [mit Ticket]
- Einem Projekt zugehörige Veranstaltungshinweise werden angezeigt
- Im Benutzerprofil werden eigene Projekte angezeigt und favorisierte Projekte angezeigt
- Administrationsbereich wurde stark erweitert (Veranstaltungshinweise und Projekte administrieren)
- Letzte Fehler aus dem Login wurden entfernt [mit Ticket]
- Allgemein wurde das Projekt “präsentabel” gemacht: z. B. gibt es keine toten Links mehr [mit Ticket]
Auch wenn in der 8. Woche wenig am “großen Ganzen” gearbeitet wurde, zeigt sich hier doch, dass wir “ernten” konnten, was wir in den Wochen zuvor “gesät” haben. Relativ viel konnte mit relativ wenigen Commits umgesetzt werden.
Nun folgt die rotmarkierte Phase. Ich muss dazu sagen, dass ich vorher wusste, dass im Januar wenig entwickelt werden könnte. Ich selbst hatte zu viel mit einem anderen Projekt zu tun, ansonsten gab es bei den Entwicklern Diplomprüfungen, Probleme mit unseren Entwicklungswerkzeugen, weitere Projekte, Klausuren, Krankheit, Urlaub, Stress usw. usf. was eben oft dann bei einem kleinen Team von vier Entwicklern alles zusammen hereinbricht.
Woche 9 bis 11: Völlig unspektakulär. Durch einen Commit wurden falsch angezeigte Umlaute korrigiert. Zwei Fehler in den Entwicklungswerkzeugen konnten behoben werden, die uns bis dahin beeinträchtigt hatten. Dummerweise sind uns gleich wieder neue Fehler in unseren Entwicklungswerkzeugen bewusst geworden und wurden als Ticket eröffnet. Ansonsten eher vorbereitende bzw. Testcommits. Einige Tickets konnten wir in ihrer Beschreibung verbessern bzw. neu aufteilen.
Woche 12: Ja, die läuft eigentlich noch zwei Tage, daher auch fragwürdig, dass ich sie rot markiert habe. Kann ja noch viel passieren.
Die Registrierung und die Erstellung neuer Projekte wurde umgesetzt, vorbereitende Arbeit fürs Editieren von Projektseiten.
Und die Zukunft? Die wird spannend! Denn ich bin mir sicher, dass auf die “rote Phase” nun wieder eine “grüne Phase” folgt, da die oben beschriebenen Probleme nun für die meisten Entwickler Vergangenheit sein sollten. Ich werde in den nächsten “Neuigkeiten aus dem Maschinenraum” drüber berichten.





