Technische Universität München Projekt: Systementwicklung WS 2007/08 Entwicklung moderner Rich-Internet-Applications 15.10.2007 Kickoff-Meeting Florian Forster Florian Forster (forster@in.tum.de)
Agenda zum Kickoff-Meeting 1. Ergebnisse der Einführungsaufgabe 1.1. Präsentation 1.2. Erfahrungsberichte 2. Aufgabenstellung des Projekts 2.1. Überblick 2.2. Beispiel 2.3. Userstories 3. Vorgehensweise 3.1. Agiler Softwareentwicklungsprozess (SCRUM) 3.2. Projektplan 3.3. Rollen und Aufgaben
1. Ergebnisse der Einführungsaufgabe Die Teilnehmer präsentieren kurz ihre Lösungen und berichten von ihren Erfahrungen bei der Bearbeitung der Aufgabe.
2.1. Aufgabenstellung des Projekts: Überblick Im Rahmen des Projekts soll von den Teilnehmern eine moderne Rich-Internet-Application entwickelt werden, mit der Gruppen von Anwendern über den Browser in Echtzeit an einem gemeinsamen Whiteboard arbeiten, z.b. um Ideen auszutauschen. Als Beiträge auf dem Whiteboard sollen Texte, Bilder und Zeichnungen möglich sein Der Client-Teil der Anwendung soll im Firefox-Browser laufen, sich dabei aber möglichst wie eine Desktop-Anwendung benutzen lassen Beiträge sollen mit Metadaten genauer beschrieben werden können. Es muss verhindert werden, dass durch gleichzeitige Bearbeitung inkonsistente Daten entstehen. Gleichzeitig ist ein hoher Grad an Parallelität in der Zusammenarbeit anzustreben Die Anwender sollen sich innerhalb der Anwendung Textnachrichten versenden können Die Anwendung soll mehrere Whiteboards unterstützen. User können neue Whiteboards anlegen und an bestehenden teilnehmen.
2.2. Beispiel: Thinkature http://www.thinkature.com
2.3. Userstories ID Story 1 Ein Benutzer logt sich mit Login und Passwort auf der Website ein. 2 Ein Benutzer bekommt nach erfolgreichem Login die Liste der verfügbaren Whiteboards angezeigt 3 Ein Benutzer ruft eine Seite auf ohne sich vorhin eingelogt zu haben. Er wird auf die Loginseite verwiesen. 4 Ein Benutzer ruft ein Whiteboard auf. Alle momentan aktiven Benutzer des Boards werden darüber informiert. 5 Ein Whiteboard wird als "anonym" deklariert. Im folgenden werden Benutzernamen und -bilder anonymisiert. 6 Ein Benutzer erzeugt einen neuen Text auf dem Whiteboard. 7 Ein Benutzer bearbeitet einen existierenden Text auf dem Whiteboard. 8 Ein Benutzer löscht einen existierenden Text auf dem Whiteboard. 9 Ein Benutzer lädt ein Bild auf das Whiteboard hoch. 10 Ein Benutzer malt eine Zeichnung auf dem Whiteboard. 11 Ein Benutzer entfernt ein Bild vom Whiteboard....
3.1. Agiler Softwareentwicklungsprozess Agiler Softwareentwicklungsprozess: Abkehr vom linearen Prozessmodell => empirische Prozesskontrolle ( expect the unexpected ) Iterativ, inkrementelles Verfahren Kurze Iterationszeiten Häufige Abstimmung des Entwicklungsstandes der Anwendung mit den Erwartungen der Kunden Wenig Formalitäten Keine Vorgaben hinsichtlich Design und Models Viele unterschiedliche Ausprägungen (XP, Scrum,...) Quellen zur Vertiefung: http://www.scrumalliance.org http://www.jeffsutherland.com/oopsla/schwapub.pdf http://www.netobjectives.com/events/download/rup_xp_scrum_pc_030326_ppt.pdf
3.1. Agiler Softwareentwicklungsprozess
3.1. Agiler Softwareentwicklungsprozess Develop the product further - implement, test, and document. Wrap up the work - get it ready to be evaluated and integrated. Review the work done in this sprint. Adjust for any changes in requirements or plans. Text Text 9
3.2. Projektplan Datum Sprint Beschreibung 15.10. Kick-Off-Meeting 1.11.? 1 Besprechung Verlauf Sprint 1 15.11. 1 Review Sprint 1, Planung Sprint 2 29.11. 2 Besprechung Verlauf Sprint 2 13.12. 2 Review Sprint 2, Planung Sprint 3 17.01. 3 Review Sprint 3, Planung Sprint 4 31.01. 4 Besprechung Verlauf Sprint 4 14.02. 4 Review Sprint 4 28.02. spätester Abgabetermin mit Dokumentation
3.3. Rollen und Aufgaben Ernennung des Scrum-Masters eines Teams für Sprint 1 Ausgabe des Product Logs Was ist nun zu tun? Ordnen der Userstories im Log, Auswahl der Stories, die realistischerweise in Sprint 1 realisiert werden können. Ziel: möglichst schnell möglichst breite Funktionalität. Grundlegende Entscheidungen und Vorbereitungen: Versionsverwaltung: SVN eingerichtet auf 131.159.24.245/svn/pseria1 2 3 Username: Nachname, Passwort: Matrikelnummer Wie wird koordiniert / kommuniziert? Grobe Systemarchitektur und Technologienwahl (Persistenz, Darstellungsschicht) Ableiten von Tasks aus den Userstories des Sprints Erstellen eines Wochenplans: wer übernimmt welchen Task bis wann. Diesen Plan nach Ausarbeiten an forster@in.tum.de weiterleiten.
Fragen?