Ich bin bereit Studien/Diplom/Bachelor-Arbeiten kompetent und konsequent zu betreuen. Ich erwarte allerdings von den Teams folgendes:
- Projektorganisation
- Erstellen eines Projektplanes mit min. 3 Meilensteinen
- Zeitauswertung der geleisteten Arbeit
- regelmässige wöchentliche Statusmeetings
- Für jede Sitzung soll eine Traktandenliste und ein dazugehöriges Sitzungsprotokoll erstellt werden
- Themen: was wurde gemacht, was ist geplant, wo liegen Schwierigkeiten
- Traktanden liste am Vortag zu versenden (mind 12h)
- Die Führung der Sitzung erfolgt durch die Studenten.
- Feedback und Hilfestellung durch Betreuer
- regelmässige/wöchentliche Abgabe von Code/Dokumentation zum Review
- idealerweise jeweils 1 Tag vor Statusmeeting, bei umfangreicheren Doks 1/2-1 Woche vorher
- Zugang zum Repository mit allen projektrelevanten Daten
- Build Server bzw. CVS/SVN kann bereitgestellt werden
- Test-basiertes Vorgehen mit automatischen Tests
- Unit Tests für den Code
- evtl. auch automatisierte Funktionale Tests, wenn z.B. komplexe Abhängigkeiten Unit Testing erschweren
- Einhaltung guter Programmier- und Designprinzipien
- DRY, high cohesion, loose coupling, etc.
- Clean Code!
- Automatisierter Build Prozess
- Projekt kann anhand des Repositories jederzeit wiederhergestellt werden
- automatische Tests inklusive (immer 100% OK)
- Build Server mit continuous build und Integration (virtueller Server wird bereitgestellt)
- Projektdokumentation auch auf Build Server Web Site
- Vorschlag: redmine oder trac einsetzen
Vorgehensweise:
Ich bin für eine pragmatische aber trotzdem geordnete Vorgehensweise. Für Studentenprojekte gilt manches als "Muss", dass bei einer rein ergebnisorientierten Sichtweise vielleicht nicht nötig wäre. Aber es ist notwendig sinnvoll zu dokumentieren, damit die Arbeit auch von anderen begutachtet werden kann. So sollten zum Beispiel die Anforderungen als Use Cases beschrieben sein. Priorisiert man diese, hat man leicht eine Möglichkeit einen "open scope" Contract mit mir zu vereinbaren, wobei ein Mindestmass ein Funktionalität (-> ~4.0) eine wünschenswerte Funktionalität (->~5.0) und das Maximum (->5.5-6) beschrieben werden können.
Mein Angebot:
- regelmässiges Feedback
- regelmässiges Code Review und Refactoring Vorschläge
- gute Betreuung bei technischen Schwierigkeiten
--PeterSommerlad
- Abgabe
- Bericht ausgedruckt und gebunden (2 Ex, bei BA 4 Ex (davon 1 bunt)
- Poster für Präsentation (nur bei Bachelor-Arbeit gedruckt)
- Broschürentext (Management Summary)
- Kurzzusammenfassung/Abstract (textuell, auch English)
- CD mit
- Deploy Fähiges Packages (Wemm möglich über eine Updatesite installierbar bei Eclipse)
- Wenn möglich: Lauffähige Applikation (z.B. in vm-Image)
- Alle Projekt Ressourcen
- Bericht