You are here: SE » ThesesHome » ThesisDPPXIV

Technische Betreuung von Saros in einem betieblichen Umfeld (DPP XIV)

Diplomarbeit von MarcRintsch

Konzept

Ziel

Im Verlauf der Arbeit wird der Einsatz von Saros bei einer Firma und bei OpenSource-Projekten, die im Rahmen von DPP IX kontaktiert werden, technisch betreut und das Plugin speziell für dieses Einsatzszenarios verbessert werden. Probleme technischer Art sollen identifiziert, dokumentiert, priorisiert, und möglichst auch zeitnah behoben werden. Das Beheben der Probleme kann an andere Saros-Entwickler delegiert werden, sofern das in ihren Aufgabenrahmen passt. Die Probleme können sowohl Defekte in der Software sein, als auch Funktionalität, welche die Sitzungen für die betreuten Projekte deutlich verbessern würde. Am Ende soll eine Aussage darüber getroffen werden können, welcher Art die Probleme waren. Eine sinnvolle Liste der möglichen Problem-Arten muss noch erstellt werden. Vielleicht auch erst am Ende der Arbeit, wenn die ganzen aufgetretenden Defekte und Featurewünsche gesammelt vorliegen.

Mit Christopher Oezbek verlässt der technische Projektleiter das Team und die Lücke wird übergangsweise von mir teilweise gefüllt, bis der neue Projektleiter, Karl Beecher, seine Arbeit aufnimmt.

Neben der technischen Betreuung werde ich aktuelle Literatur zu verteilter, kollaborativer Softwareentwicklung in Echtzeit lesen, und dokumentieren wie die Inhalte und Ergebnisse dieser Veröffentlichungen mit den Beobachtungen beim Einsatz und der Entwicklung von Saros in Verbindung stehen.

Im Saros-Entwicklungsprozess werde ich regelmässig eine der Rollen (Assistant) Release Manager und (Assistant) Test Manager ausfüllen, sowie Durchsichten von Patches der anderen Entwickler durchführen.

Aufgaben

  • Grundsätzlich Ansprechpartner für technische Fragen und Wünsche von den Entwicklern der Firma und OpenSource-Projekten sein.
  • Die Sitzungen beobachten und Probleme bei der Verwendung identifizieren, welche auf Unzulänglichkeiten bei Saros zurückzuführen sind, oder die durch zusätzliche Eigenschaften und Funktionen in der Software vermieden werden könnten.
  • Protokolldateien auswerten und die daraus gewonnenen Erkenntnisse in "Bugreports" umsetzen.
  • Die identifizierten Probleme nach geeigneten Kriterien beurteilen, priorisieren, und dokumentieren.
  • Nach Priorität und abgeschätzer Dauer einer Lösung entscheiden, welche der Probleme von mir behoben werden, und welche erst einmal nur dokumentiert werden.
  • Gegebenenfalls an andere Sarosianer delegieren und den Fortschritt verfolgen, wenn die Probleme/Lösungen in den Themenbereich von deren laufenden Arbeiten fallen.
  • Auf die Firma bezogene Anforderungen an die Software in einem eigenen Anforderungsdokument pflegen und sicherstellen, dass diese nicht mit den allgemeinen Anforderungen kollidieren.
  • Die identifizierten Probleme mit Edna Rosen/Nachfolger(in) diskutieren und abgleichen.
  • Kriterien für den Erfolg eines Einsatzes der Software entwicklen, und diese regelmässig überprüfen.

Wochenplanung

WocheSorted ascending KW Ziele Geschafft
1 KW37 Teles-Sitzung 018 Teles-Sitzung 018
2 KW38 Teles-Sitzung 019 -
3 KW39 Teles-Sitzung 019, Saros Release -
4 KW40 - -
5 KW41 - -
6 KW42 - -
7 KW43 - -
8 KW44 - -
9 KW45 - -
10 KW46 - -
11 KW47 Ab hier gibt's (vielleicht) wieder Teles-Sitzungen -
12 KW48 - -
13 KW49 - -
14 KW50 - -
15 KW51 - -
16 KW52 - -
17 KW53 Start Ausarbeitung -
18 KW1 - -
19 KW2 - -
20 KW3 - -
21 KW4 - -
22 KW5 - -
23 KW6 - -
24 KW7 - -

Wochenberichte

Woche 01 (KW37)

Tätigkeiten

  • Aufzeichnungsumgebung für Teles-Sitzung eingerichtet und mit Edna zusammen durchgegangen und getestet.
  • Reflektion vs. Reflexion nachgegangen.
  • Arbeit angemeldet.
  • Logmeldungen zum späteren Auswerten hinzugefügt.
  • Übertragung von Zeilentrennzeichen vom Host plus Unit-Test implementiert. #2828917
  • Teles-Sitzung 017 aufgezeichnet und ausgewertet.
  • Assistant Test Manager (ATM) bei Saros-Release 9.9.11 gegeben.
  • Code-Durchsichten von Patches.
  • Kleine Bugfixes.

Ergebnisse

  • Funktionsfähiges Setup zum Aufzeichnen von Teles-Sitzungen.
  • Reflektion ist IMHO logischer auch wenn es "falsch" ist.
  • Saros hat in der Teles-Sitzung sehr gut funktioniert. Während der Sitzung keine schwerwiegenden Fehler und der Client hat keine Inkonsistenzen gesehen.

Probleme

  • Brazzaville ist sehr träge und beim Installieren/Einrichten von Mumble einmal hart abgestürzt (BSOD).
  • Teles-Sitzung wurde fünf Minuten vor Beginn von Edi per Mail auf den nächsten Tag verschoben.

Nächste ToDos

  • Teles-Sitzung 018
  • Logparser schreiben
  • Der Fix zu #2847667 berücksichtigt nur das Eclipse-Hauptfenster und keine Dialoge. → Lösung finden.
  • #2837566 versuchen nachzuvollziehen.
  • Treffen mit Eike und Betreuern.

Woche 02 (KW38)

Tätigkeiten

  • Übertragung der Zeichenkodierung vom Host an die Clients implementiert.
  • Teles-Sitzung 018 aufgezeichnet und Video und Logdateien ausgewertet.
  • Versucht Bug #2861409 nachzuvollziehen und mehr Informationen aus dem Melder des Problems herauszukitzeln.

Ergebnisse

  • Fix: #2256164 Problems with different character encodings
  • Bei der Auswertung der Sitzung sind drei neue Bugs herausgekommen:
    • 2847756 Selecting a user in session view doesn't work in whole line
    • 2861406 Progress display of project transfer in invitation dialog
    • 2861409 Ctrl + Esc does not work for auto completion
  • Das mit Ctrl + Esc ist wahrscheinlich kein Problem von Saros.

Probleme

  • Eike war krank. Treffen mit Betreuern verschoben.

Nächste ToDos

  • Teles-Sitzung 019
  • Logparser schreiben
  • Der Fix zu #2847667 berücksichtigt nur das Eclipse-Hauptfenster und keine Dialoge. → Lösung finden.
  • Treffen mit Eike und Betreuern.

Woche 03 (KW39)

Tätigkeiten

  • Tas hat mit anwesenden Sarosianern verschiedene Optionen bei der Gestaltung der nicht-modalen Einladung diskutiert.
  • Nachfragen bei Melder von #2861409 nach Details zu dem Bug.
  • Release-Dokumentation für Mittwochs leicht überarbeitet. Ist jetzt hoffentlich etwas klarer.
  • Besprechung mit Eike und Betreuern.
  • DEV3-Plugin in Eclipse installiert und #2836302 nachvollzogen.
  • Patches reviewed.
  • Bugfixes.

Ergebnisse

  • Ich bin jetzt auch für technische Fragen und Wünsche aus den OpenSource-Projekten verantwortlich, die über Eike an mich herangetragen werden.
  • Die Fragebögen für die Teles-Sitzungen sind vorerst mein Job, bis Edna II anfängt.
  • Fix: #2863403 Multi-Driver the default option.
  • Fix: #2256164 Problems with different character encodings
  • Invalid: #2861409 Ctrl + Esc does not work for auto completion
  • Fix: #2849925 Contribution annotation doesn't work with PDT
  • Eintrag im Bugtracker vom DEV3-Projekt: http://forge.typo3.org/issues/show/4772

Probleme

  • Sitzung fand nicht statt, weil einer der beteiligten Programmierer krank war.

Nächste ToDos

  • Release 9.10.2
  • Teles-Sitzung 019
  • Logparser schreiben
  • Der Fix zu #2847667 berücksichtigt nur das Eclipse-Hauptfenster und keine Dialoge. → Lösung finden.

Woche 04 (KW40)

Tätigkeiten

  • Einen besseren Fix für #2847667 gesucht, aber nicht gefunden. Zeit auf zwei Stunden beschränkt, da Bug nicht so gravierend.
  • #2869752 Viewport follows refactoring: Der Viewport folgt bei Beobachtern den Änderungen, die durch Refaktorisierungsoperationen ausgelöst werden. Das ist unerwünscht. Lösung für das Problem gesucht, und drei Alternativen implementiert und ausprobiert.
  • Als ATM und später TM am Release(-Versuch) mitgewirkt.
  • Bugfixes.
  • Patches reviewed.

Ergebnisse

  • Verschiebung des Release 9.10.2 um eine Woche wegen zu gravierender Probleme.
  • Fix: #2849925 Contribution annotation doesn't work with PDT
  • Fix: #2847756 Selecting a user in session view doesn't work in whole line

Probleme

  • Die Worddokumente der Test-Suite verhalten sich manchmal komisch. Aus nicht nachvollziebaren Gründen war bei der Formatvorlage für Überschriften plötzlich ein Tabulator mit 15cm Einzug definiert und die Überschriften klebten deshalb alle am rechten Rand der Seiten.
  • Teles-Sitzung fand nicht statt. Keine Angabe von Gründen.

Nächste ToDos

  • Teles-Sitzung 019
  • TM/ATM bei Release 9.10.2
  • Besprechung mit Betreuern über Neuausrichtung der Arbeit.

Woche 05 (KW41)

Tätigkeiten

  • An #2871841 Renaming contact in roster does not always work gearbeitet. Zwei Lösungen, ein "quick fix" für aufgetretende NPE und eine etwas tiefergreifende Überarbeitung, die noch mehr potentielle Probleme löst und OOP besser nutzt.
  • Besprechung mit Beteuern über Zukunft meiner Arbeit.
  • Neues Feature implementiert: Der lokale Zustand des `StopManagers` (blocked/unblocked) wird als Icon im Session-View angezeigt.
  • Patches reviewed.

Ergebnisse

  • Patch: #2871841 Renaming contact in roster does not always work
  • Besprechung: Ich bin nicht mehr nur für Teles' technische Probleme zuständig, sondern generell. Ausserdem halte ich die Patches/Reviews im Auge, damit sich dort nicht zuviel anhäuft. Des weiteren beteilige ich mich an der Organisation des Release-Prozesses, also zum Beispiel die Rollenvergabe und mit Rücksprache mit Stephan S. die Priorisierung der Bugs, die im jeweils nächsten Release behoben werden sollten.

Probleme

  • Teles-Sitzung fand nicht statt. Es gibt keinen gemeinsamen Tasks für Wien/Bangalore.

Nächste ToDos

  • Meine vorhandenen Patches, sofern noch nötig reviewen lassen, und committen.
  • Teles-Sitzung 019
  • Problemen mit StopManager nachgehen.
  • Überarbeitung des RosterView integrieren.
  • Patches und Review-Prozess im Auge behalten.

Woche 06 (KW42)

Tätigkeiten

  • Meine Patches auf die dpp-devel Mailingliste umgezogen und die anderen Sarosianer gebeten das auch zu tun.
  • Saros 9.10.2.r1803 bei Freshmeat.net angekündigt.
  • Behobene Bugs im Bugtracker geschlossen.
  • Mit Stephan S. zusammen den Bugtracker durchgegangen und einige Bugs für das nächste Release neu priorisiert.
  • Bugs, die bkirch zugeordnet waren "freigesetzt".
  • Meine Bugs ein wenig aufgeräumt.
  • Rollen für das nächste Release vergeben.
  • Patches reviewed.

Ergebnisse

  • Fix: #2869752 Viewport follows refactoring
  • Fix: #2871841 Renaming contact in roster does not always work
  • Henning und Stephan L. sind TestManager und ReleaseManager.

Probleme

  • Teles-Sitzung fand nicht statt. Es gibt keinen gemeinsamen Tasks für Wien/Bangalore.
  • Freitag fiel wegen Krankheit aus.

Nächste ToDos

  • Teles-Sitzung 019
  • Problemen mit StopManager nachgehen.
  • Patches und Review-Prozess im Auge behalten.

Woche 07 (KW43)

Tätigkeiten

  • Erinnerung an die neue Saros-Version und Fragebögen an die Teilnehmer der Teles-Sitzung geschickt.
  • Thunderbird Plugin "Colored Diffs" installiert. In Mails eingebettete Diffs werden davon mit Syntaxhighlighting versehen.
  • Bei Wojtek per Mail wegen den Dateioperationen auf dem Release-Plan nachgefragt.
  • Einladungs-Patch von Tas durchgesehen.
  • Ein wenig mit SWT beschäftigt ("inspiriert" vom neuen Einladungsdialog).
  • Versuchskaninchen für die Video-Übetragung von Stephan Lau gespielt.

Ergebnisse

Probleme

  • Teles-Sitzung fand nicht statt. Es gibt keinen gemeinsamen Tasks für Wien/Bangalore und bis KW47 ist einer der Entwickler im Urlaub.
  • Montag fiel wegen Krankheit aus.
  • Saros-Plugin aus Host-Eclipse heraus gestartet bekam nicht immer Verbindung zum Jabber-Server, weder lokaler OpenFire noch externe Server, und hat ständig 100% Prozessorzeit verbraucht. Nach längerem Suchen und Probieren, war das Problem in einem neuen Workspace nicht mehr vorhanden.

Nächste ToDos

  • Statustreffen mit Betreuer.
  • Saros Release 9.10.30
  • TWiki-Seite der Arbeit an die geänderte Ausrichtung anpassen.
  • Gedanken über die grobe Struktur der Ausarbeitung machen.
  • Patches und Review-Prozess im Auge behalten.

Woche 08 (KW44)

Tätigkeiten

  • Treffen mit Betreuer.
  • Gedanken über die Struktur der Ausarbeitung gemacht.
  • Logdateien zur laufenden Mitschrift zu den Themen Bugs, Patches, und Releases angelegt.

Ergebnisse

  • Wöchentliche Statustreffen mit Stephan S. vereinbart. Terminlich mit den schon bestehenden Treffen zum Beraten über die Bugs und den Fortschritt zusammenlegen.
  • Grobe Struktur der Ausarbeitung und viele ToDo's.
  • LaTeX-Kommando für Verweise auf den Bugtracker.
  • Release- und Patch-Log mit aktuellen Informationen gefüllt.

Probleme

  • Mittwoch und Freitag krankheitsbedingt ausgefallen.

Nächste ToDos

  • Statustreffen mit Betreuer (und vielleicht mit dem neuen Projektleiter).
  • Saros Release 9.10.30
  • Patches und Review-Prozess im Auge behalten.

Woche 09 (KW45)

Tätigkeiten

  • Patches reviewed.
  • Patch-Log um eine Erklärung des Formats erweitert.
  • Wöchentliches Statustreffen mit Stephan S.
  • Am Release-Tag beide Assistenrollen übernommen, da die Assistenten verhindert waren.
  • Wojtek's _SPath_-Aufgabe übernommen.
  • Tests mit Sandor zu Verbindungsproblemen via Socks5/IBB durchgeführt.
  • MikTex neu installiert. Alte Installation war "kaputt".

Ergebnisse

  • Beim nächsten Release ist Karl TM und ich bin ATM.
  • Ich werde meine Notizen wöchentlich in meinem SVN-Bereich aktualisieren, damit Stephan sie lesen kann.
  • Release von Saros 9.10.30

Probleme

Nächste ToDos

  • Statustreffen mit Betreuer (und vielleicht mit dem neuen Projektleiter).
  • Schriftliche Ergebnisse vom Treffen in meinem SVN-Bereich.
  • Patches und Review-Prozess im Auge behalten.
  • In den Aktivitäten die JIDs durch User-Objekte ersetzen.

Woche 10 (KW46)

Tätigkeiten

  • Dokumentation zu Codestriker, einer Webanwendung zur Unterstützung von Code-Reviews, gelesen. Wird von SourceForge als "hosted app" angeboten.
  • Mit Henning zusammen Bugs vom letzen Test in den Tracker eingetragen.
  • Eintrag des letzten Releases bei Freshmeat.
  • Patches reviewed.
  • Beschreibung der Bugprioritäten ins Wiki gestellt.
  • Meine offenen Patches aktualisiert (liessen sich nicht mehr sauber auf den Trunk anwenden).
  • Wöchentliches Statustreffen.

Ergebnisse

  • Codestriker erscheint mir nicht geeigneter als die bisherige Praxis mit der Mailingliste.

Probleme

Nächste ToDos

  • Statustreffen mit Betreuer und Projektleiter.
  • Übersicht über die offenen Patches zum nächsten Statustreffen vorbereiten.
  • Patches und Review-Prozess im Auge behalten.
  • In den Aktivitäten die JIDs durch User-Objekte ersetzen.

Woche 11 (KW47)

Tätigkeiten

  • Patches reviewed.
  • Kleine Quelltextänderungen.
  • JID_s in den Aktivitäten durch _User ersetzt.
  • _XStream_-Annotationen aus den Aktivitäten entfernt.

Ergebnisse

  • 2 Patches.

Probleme

  • 2 Tage wegen Krankheit verloren.

Nächste ToDos

  • Statustreffen mit Betreuer und Projektleiter.
  • Übersicht über die offenen Patches zum nächsten Statustreffen vorbereiten.
  • Patches und Review-Prozess im Auge behalten.
  • In den Aktivitäten die JIDs durch User-Objekte ersetzen.

Woche 12 (KW48)

Tätigkeiten

  • Einen Teil der Tests vom Word-Dokument in Testlink übertragen.
  • Patches reviewed.
  • Beim Patch der JIDs in Aktivitäten durch User ersetzt nachgebessert.
  • Statustreffen mit Betreuer.
  • Auf dieser Seite den Abschnitt ThesisDPPXIV auf die veränderte Ausrichtung der Arbeit angepasst.
  • Einen SPath-"Dummy" in die Aktivitäten eingebaut. Kapselt im Moment nur den IPath, der vorher an der Stelle verwendet wurde.

Ergebnisse

  • Patch-Reviews liefen ganz gut. Es waren noch 4 offen.
  • Karl wird meine Patches reviewen, um mehr von der Architektur von Saros kennenzulernen.

Probleme

  • Die Unit-Tests zu Jupiter enthalten eine "Netzwerksimulation", die mit Threads arbeitet und mit Thread.sleep(), wenn sichergestellt werden soll, dass die Nachrichten in einer bestimmten Reihenfolge abgearbeitet werden. Das ist sehr fragil und fällt bei mir zum Beispiel reproduzierbar aber nicht-deterministisch auf die Nase, wenn man die Tests aus Eclipse über den Debug- statt den Run-Knopf startet.

Nächste ToDos

  • ATM beim "Weihnachtsrelease".
  • Statustreffen mit Betreuer und Projektleiter.
  • Patches und Review-Prozess im Auge behalten.
  • Anfangen Abgeschlossenes in der Ausarbeitung zu formulieren.

Woche 13 (KW49)

Tätigkeiten

  • SPath-"Dummy" mit Karl und Henning zusammen reviewed.
  • Patches reviewed.
  • ATM-Rolle * Mit Karl zusammen Testfälle für den Testtag ausgesucht. * Am Test teilgenommen.
  • NPE's und andere Probleme mit dem SPath behoben.

Ergebnisse

  • SPath-"Dummy" im Trunk.
  • Testlink berücksichtigt unser Szenario, dass mehrere Leute gleichzeitig die selben Testfälle durchführen und zu jeweils anderen Ergebnissen (passed/failed) kommen können, nicht so gut. Die (zeitlich) letzte abgegebene Wertung entscheidet zum Beispiel darüber, ob der Test in der Baumdarstellung grün (passed) oder rot (failed) dargestellt wird. An der Stelle würden wir gerne rot sehen, wenn auch nur einer der Teilnehmer "failed" gewählt hat. Beim nächsten Test sollten wir also wieder einzelne Testprotokolle von jedem führen lassen, die dann konsolidiert vom Test-Manager in Test-Link eingetragen werden.
  • Einen Patch von Tas am Anfang vom Test auf dem Testing-Branch rückgängig gemacht.
  • Probleme mit dem SPath und ein "show stopper" in der Konsistenzwiederherstellung haben zur Verschiebung des Releases auf nächste Woche geführt.

Probleme

Nächste ToDos

  • ATM beim "Weihnachtsrelease".
  • Statustreffen mit Betreuer und Projektleiter.
  • Patches und Review-Prozess im Auge behalten.
  • Konzept für den SPath/Multiprojekt.

Comments