Ich bin wohl noch verhältnismässig Jung in der ganzen Projektwelt. Seit Mai 2009 bin ich jetzt bei der Previon als Drupal Software Engineer tätig. Und habe so einige Erfahrungen gesammelt, besonders im Rückblick auf das jüngste (fast abgeschlossene Projekt). Hier eine kleine Sammlung mit Erfahrungen, welche ich gemahct habe, die ich im nächsten Projekt garantiert NICHT mehr so machen werde:
- E-mail Verkehr. Es gibt einfach schlauere Sachen, als E-mail. Change Requests per E-mail führen -> extrem schlecht!! Nachträgliche Nachvollziehbarkeit ist praktisch nicht möglich. ZWINGEND von Anfang an dem Kunden ein Tool aufzwingen, an welches er sich halten muss (irgend ein Bugtracker oder irgend sonst ein System), welches für beide Parteien einsehbar ist und welches immer klar darlegt, was noch offen ist (ist einfacher gesagt als getan in der Praxis).
- Datenmigration: Diese ist definitiv nicht zu unterschätzen! Frühzeitig durchführen, damit der Kunde diese prüfen kann und gegebenfalls Fehler finden kann, damit das Script verbessert werden kann. Mit Drupal und seiner node_save Methode ist es relativ einfach, aber diese Migrationssachen haben halt einfach ihre Tücken.
- Kunden zu Meilensteinen verpflichten. Vom Entwickler wird eigentlich immer erwartet, dass alles Termingerecht fertig ist, der Kunde kann ruhig mal ein paar Tage Verspätung haben -> nein! Nur wie verpflichtet man den Kunden dazu… klaro, für den Endtermin ist das einfach, aber für "kleine" Zwischenmeilensteine ist es nicht ganz so einfach. Wahrscheinlich müsste man visuell irgendwo festhalten, wann Meilensteine erreicht wurden, damit der Kunde auch sieht, wenn er einen verpasst hat und dadurch der Entwickler einen anderen Meilenstein nicht mehr einhalten kann.
- Grosszügig schätzen. Es ist und bleibt oftmals eine sehr vage Schätzung, aber es gibt einfach Dinge, welche ein Drupalprojekt komplexer und somit aufwändiger gestalten, dazu gehören unter anderem:
- Mehrsprachigkeit
- Shopfunktionen
- Multsites/Single Sign-on
Jeder einzelne dieser Punkte erhöht die Kosten pauschal um einen gewissen Prozentsatz, da sie einfach von Natur aus Probleme mit sich bringen: Mehrsprachigkeit: Fehlende Übersetzungen und Module, welche nicht mit der Mehrsprachigkeit zurechtkommen usw.
Würde ich wieder machen
Natürlich gibt es auch einige gute Dinge, welche ich beim nächsten Projekt wiederholen werde:
- Sehr früh den Kunden bereits auf einen Prototypen loslassen und anhand des Prototypen weitere Funktionen entwickeln. Spekulationen im luftleeren Raum bringen nichts.
- Drupal für Projekte einsetzen
- Den Kunden regelmässig über Budget informieren. Optimal wäre natürlich, wenn dies gleich in den Bugtracker/ die Todoliste integriert wäre, damit zu jederzeit klar ist, wieviel Geld verbraucht wurde, und was es noch zu machen gibt.
Ehrlich gesagt… so online Projekte sind nicht ganz trivial und von der Uni aus lernt man es eigentlich anders, aber der Zeitdruck ist enorm gross und daher ist es auch nicht ganz so einfach hier den "Lehrbuchweg" zu finden. Das war ja hoffentlich nicht mein letztes Projekt und so bleibt doch noch ein wenig Zeit zur Verbesserung 🙂