Diplomarbeit Verbesserung der „First Contact Experience“ für angehende Saros-Entwickler

bearbeitet von Lev Stejngardt

Outline

Es hat sich gezeigt, dass Entwickler, die am Saros Projekt mitwirken wollen, immer wieder auf die selben Probleme treffen. Diese sind auf verstreute, inaktuelle und unvollständige Webseiten und Dokumentationen zurückzuführen. Ebenfalls wirken sich lange, unübersichtliche Dokumentationen oder komplizierte Setups nachteilig auf die First Contact Experience aus. Zusätzlich hat es sich gezeigt, dass es Probleme beim Einrichten des Testframeworks gibt. Ziel der Arbeit soll es sein, die First-Contact-Probleme mithilfe von Interviews/Umfragen/Benutzertests zu erkennen und die vorhandenen Quellen zu überarbeiten um den Einstieg in den Saros Entwicklungsprozess zu vereinfachen.

Durchzuführende Aufgabeen

  • Literaturrecherche: (Web-?)Usability, Benutzertests, Interviews (Fragen, Durchführung)
  • Dokumentation Holger Freyther (http://saros-build.imp.fu-berlin.de/sarosGettingStarted/ Link) überarbeiten und in Webseite integrieren
    • Leicht verfügbar machen
    • In Saros Seite integriert
    • Kompaktere Version (enthält zu viele Workflows) - relevante / optionale Workflows filtern
    • Textuelle und Version mit Screenshots konsolidieren
  • Entwickler das Einfinden in relevante Codeteile erleichtern – Grafiken (näheres s. Mail 4. Dez)
    • Werden vorhandene Grafiken gefunden?
    • Sind vorhandene Grafiken hilfreich?
    • http://www.saros-project.org/Technicals Technicals wurde zerteilt in der neuen Version cry
    • Typische Szenarien herausarbeiten, die ein neuer Entwickler machen möchte.
    • Wo Quelltext für bestimmte Art Issue finden, welche properties Dateien sind bspw. relevant etc.
  • andere Grafiken: Workflows u. Infrastruktur auf höherer Ebene: in Saros auf höherer Ebene (Informationsquellen von Franz Zieris: http://www.inf.fu-berlin.de/inst/ag-se/teaching/P-SWTP-2012/slides/01_Introduction.pdf 1, http://www.inf.fu-berlin.de/inst/ag-se/teaching/P-SWTP-2012/slides/02_Introduction.pdf 2)
  • Einstieg in das Testframework erleichtern
    • „kompakte“ Einstiegsdoku mit relevanten Punkten und Fallstricken
    • Wofür welches Testframework einsetzen? Wann JUnit Test, wann STF Test?
      • ggf. Stefan Rossbach befragen: Was haben Neuentwickler immer wieder falsch gemacht?
      • Zwei Versionen der STF Doku?
  • Klar machen: Bei Informationen auf der Saros Seite ist oft unklar, wofür diese Informationen jeweils angedacht / nützlich sind
  • Konzeption der Datenerhebung:
    • Datenerhebung bei Teilnehmern der VL Softwareprozesse (Interviews mit Gruppen)
    • Datenerhebung: „Benutzertests“ mit Entwicklern die bei Saros mitmachen wollen
  • Erfassung Ist-Stand: Durchzuführende Schritte für Neuentwickler, verschiedene Dokumentationen, Verteilung der Informationen, Mögliche Stolptersteine beim Setup des Testframeworks
    • Welche Vorannahmen gibt es bei der Gestaltung / Benennung der Informationen
    • Implizite Vorannahmen explizit machen, ggf. Verweis zu relevanten Informationen (Bspw. Git)
    • Welches Vorwissen (aus anderen Projekten) über bestimmte Workflows etc. kann zu Schwierigkeiten beim Einfinden in Saros führen.
  • Erarbeitung Soll-Zustand
    • Lösungsansätze für Soll-Zustand evaluieren
      • Umsetzung des Soll-Zustands
      • Benutzertest nach Umsetzung des Soll-Zustands
      • Technische- und Usability-Aspekte

Thesis Requirements

formulate requirements here (together with your adviser)

Vorweg klären…

(mittel Literaturrecherche)
  • Usability
    • Was ist gut, was ist schlecht?
    • bezieht sich IMHO größtenteils auf Web, Grafik und Text
      • mögliche Frage im Bezug auf z.B. Installationsdokumentation:
        • Ist Anleitung leicht zu lesen? (Sprache verständlich)
        • Könnte Grafik zum Verständnis beitragen?
        • Steht das Nötige da? (z.B. URLs aus Screenshots abtippen ist nicht benutzerfreundlich)
        • Wo bin ich gerade? (bezogen auf den gesamten Installationsprozess)
        • Ist die Navigation im Dokument verständlich? (z.B. Zurückbutton vorhanden?)
        • Warum mache ich das gerade? (Grund klar erkennbar)
  • Interview
    • Wie führt man Interviews?
    • Welche Interviewform? (Gruppengespräch? Einzelgespräch?)
    • Fragen für Interviews erarbeiten
    • Wie zeichne ich das ganze auf?
    • Was darf ich nicht? (Stichwort Suggestivfragen)
    • Wie wertet man Interviews aus?
  • Benutzertests
    • Wie führt man Benutzertests durch?
    • Welche Szenarien sollen durchgearbeitet?
    • potentielle Benutzer ausfindig machen
    • Was wird aufgezeichnet?
    • Wie wertet man Benutzertests aus?
(mittels try&error @ localhost)
  • Drupal
    • Wie lege ich eine Seite an?
    • Wie lege ich Unterseiten an?
    • Wie ändere ich irgendwas?
    • Wie füge ich Bilder ein?
(Website anschauen, vorhandene Doku lesen, JTourBus lesen)
  • Ist-Zustand erfassen
    • sichten: Webseite, Dokumentation Holger Freyther, Code-Einstieg (Website und JTourBus), Texte zum Testen
    • Welche impliziten Annahmen gibt es bei Gestaltung / Benennung der Informationen? (z.B. "Es wird von erfahrenen Entwicklern ausgegangen")
    • Implizite Vorannahmen explizit machen, ggf. Verweis zu relevanten Informationen (Bspw. Git) [meine Formulierung wäre: "Wo gibt es explizite Beweise für implizite Annahmen?", ist das richtig?]
    • Welches Vorwissen (aus anderen Projekten) über bestimmte Workflows etc. kann zu Schwierigkeiten beim Einfinden in Saros führen?

Meilensteine

ALLE VIER WOCHEN EIN MEILENSTEIN

Nr. Zeit days KW Aufgaben target erreicht wrench
- choice-yes 22.01.13 KW 4 START! Anmeldung der Arbeit; Lesen: Was ist Usability? Was ist User Experience? Wie stehen sie in Verbindung? Merksätze rausschreiben incomplete
- choice-yes 29.01.13 KW 5 Lesen: Gründe für OSS-P.-Teilnahmen, Probleme bei OSS-P.-Einstieg (nichttechnischer Natur), incomplete
- choice-yes 05.02.13 KW 6 Sichten: DD sichten, Webseite, Guidelines (Usability, Contribution, Code), Manuals; Verbindungen und Abhängigkeiten suchen; Welche Kenntnisse werden vorausgesetzt? incomplete
- choice-yes 12.02.13 KW 7 Lesen: Wie macht man eine Umfrage? incomplete
- choice-yes 19.02.13 KW 8 Interview erarbeiten; Email formulieren; Leute anmailen incomplete
1 choice-yes 26.02.13 KW 9 Lesen: Wie wertet man Interview aus?; Interviews auswerten incomplete
- choice-yes 05.03.13 KW 10 Zielgruppe und ihrend Wissensstand (technisch) identifizieren (anhand der Umfrage) complete
- choice-yes 12.03.13 KW 11 Lesen: Welche Einstiegsszenarien (technisch) gibt es? incomplete
- choice-yes 19.03.13 KW 12 Einstiegsszenarien erarbeiten; Welche Informationen braucht man für diese Szenarien? incomplete
- choice-yes 26.03.13 KW 13 Lesen: Einleitung in Git (Commit, Cherry Pick, Rebase, Fetch …) incomplete
- choice-no 02.04.13 KW 14 Relevante Git-Workflows von Entwicklern in Erfahrung bringen; Schritte zeigen lassen incomplete
2 choice-yes 09.04.13 KW 15 Anleitung mit relevanten Git-Workflows schreiben incomplete
- choice-yes 16.04.13 KW 16 Anhand von "Designing Web Usability" (Nielsen) Fehler auf Seite identifizieren; Einarbeiten in Drupal; erste kleine Änderungen vornehmen (Typos, Links etc.) incomplete
3 choice-yes 23.04.13 KW 17 Suchfunktion in Drupal implementieren; grobe Fehler auf der Website fixen incomplete
- choice-yes 30.04.13 KW 18 Unnütze Workflows identifizieren; Neue Struktur für Developer Documentation finden incomplete
4 choice-yes 07.05.13 KW 19 Neue Developer Documentation in die Seite überführen;Bild- und Text-Version dabei vereinen complete
- choice-no 14.05.13 KW 20 STF Manual lesen; Neue Struktur für Testing finden; Testing zerteilen und mit relevanten Teilen aus STF konsolidieren; Anleitung mit Screenshots anreichern incomplete
- choice-no 21.05.13 KW 21 -''- incomplete
- choice-no 28.05.13 KW 22 Step-By-Step Anleitung „Writing your First Test“ (jeweils STF und JUnit); Anleitung in Seite integrieren incomplete
- choice-no 04.06.13 KW 23 JTourBus Tour für Testing (STF und JUnit), Cheet Sheats machen (herausfinden für welche Prozesse) VERWORFEN incomplete
- choice-no 11.06.13 KW 24 Überarbeiten: Klassengraphik; zu jeder aufgeführten Klasse einleitenden Satz schreiben incomplete
5 choice-no 18.06.13 KW 25 Schreiben incomplete
- choice-no 25.06.13 KW 26 Schreiben incomplete
- choice-no 02.07.13 KW 27 Schreiben incomplete
- choice-no 09.07.13 KW 28 Schreiben incomplete
- choice-no 16.07.13 KW 29 Schreiben incomplete
6 choice-no 23.07.13 KW 30 Abgabe? Oder war die gestern? 6 Monate a 4 Wochen macht 24 Wochen?! 6 Monate a 30 Tage macht 180 Tage?! Wie rechnen? incomplete

Weekly Status

Week 1 (CW XX)

Activities

  • been there, done that

Results

  • achieved XYZ

Next Steps

  • planning …

Problems