sprintDoc im Dialog beim XITASO Tech Talk

Wissenschaft lebt vom Dialog. Im gemeinsamen Gespräch werden unterschiedliche Positionen beleuchtet und Meinungen ausgetauscht. Für das sprintDoc-Team war es daher immer wichtig, auch projektexterne Einflüsse aufzunehmen. Daher nahmen wir die Einladung der XITASO GmbH unseren Ansatz den Entwicklern in Augsburg vorzustellen gern an. Beim regelmäßigen internen Tech Talk tauschen die Entwickler Erfahrungen aus oder stellen sich gegenseitig neue technische Entwicklungen und Trends vor. Diese offene und diskussionsfreudige Atmosphäre war genau richtig für die Vorstellung des sprintDoc-Ansatzes. Im XITASO Tech Talk: „sprintDoc: Agile Dokumentation“ wurde neben der Dokumentationsmethode auch der Prototyp über einen Screencast vorgestellt.

Anschließend stand Stefan Voigt von der Otto-von-Guericke-Universität Magdeburg für ein Interview zur Verfügung.

 

Analyseergebnisse auf der ESEM2016 vorgestellt

Ein Ausschnitt der Analyseergebnisse aus dem sprintDoc-Projekt werden auf dem 10. International Symposium on Empirical Software Engineering and Measurement (ESEM) vorgestellt. Am 8. September wird Herr Voigt von der Otto-von-Guericke-Universität das Paper mit dem Titel „A Study of Documentation in Agile Software Projects“ vorstellen. Schwerpunkt des Papers ist die Analyse des Informations- und Dokumentationsverhaltens von Softwareentwicklern. Dieses wurde sowohl bei den Pilotanwendern in den Interviews und der Tätigkeitsanalyse als auch im Rahmen der Online-Befragung herausgearbeitet.

Analyseergebnisse auf der ESEM2016 vorgestellt weiterlesen

Workshop zu Dokumentationsmustern

Innerhalb des Forschungsprojektes sprintDoc entstehen eine Dokumentationsmethode für agile Softwareprojekte und ein Prototyp für ein unterstützendes Werkzeug. Im Rahmen der Methode haben wir uns Gedanken über mögliche „Dokumentationsmuster“ gemacht. Dabei stellt sich die Frage, welche Informationen in dokumentiert werden sollten, wie die Informationen strukturiert sind und wie diese untereinander verknüpft sein sollten.

Gemeinsam mit unseren Pilotanwendern haben wir erste Dokumentationsmuster entwickelt. Unterschiedliche Rahmenbedingungen, Produkte oder Arbeitsweisen führen zu verschiedenen Anforderungen an die Dokumentation. Daher wollen wir gemeinsam mit Unternehmensvertretern Dokumentationsmuster für konkrete Anwendungsfälle erarbeiten. Aktuell planen wir im September 2016 einen entsprechenden Workshop „Dokumentationsmuster in agilen Softwareprojekten“.

Der Workshop findet am Montag, 26. September von 10:00 bis 15:00 Uhr bei der Fa. CosmoCode in Berlin statt. Nähere Informationen (inkl. Agenda) zum kostenfreien Workshop können unserem Workshopkonzept entnommen werden. Interessierte Praktiker aus agil softwareentwickelnden Unternehmen melden sich bitte per Mail bei Herrn Voigt von der Otto-von-Guericke-Universität.

Empfehlungen zur Requirements-Dokumentation im Projektalltag

Requirements sollen festlegen, was im (Software)-Projekt umgesetzt werden muss. In klassischen Projekten gibt es Requirements-Dokumentation zumeist in Form eines Pflichtenheftes; wenn nicht, muss ein Vor-Auftrag diese zumindest ansatzweise erfassen.Wobei Kunden manchmal nicht einsehen, dass diese „Akquise“-Tätigkeiten Geld kosten, weswegen man geneigt ist, auf die Erfassung der Anforderungen zu verzichten. Empfehlungen zur Requirements-Dokumentation im Projektalltag weiterlesen

Flexible Dokumentationsstrukturen mit dem struct-Plugin

Einige strukturierte Wikis – wie auch das im Projekt verwendete DokuWiki – ermöglichen die Integration strukturierter Daten. Dabei gibt es sehr unterschiedliche Anwendungsmöglichkeiten, denn mit der Verknüpfung von Wikiseiten und den darin enthaltenen Daten lassen sich verschiedenste Dokumentationsstrukturen realisieren. So lassen sich beispielsweise Projektdokumentationen mit den zugehörigen Meetings oder auch den wichtigsten Anforderungen verknüpfen.

Flexible Dokumentationsstrukturen mit dem struct-Plugin weiterlesen

Projekt- vs. Produktdokumentation

Wie organisiert man die Projektdokumentation? Wann wird aus einer Projektdoku eine Produktdoku? Dieser Artikel beleuchtet wichtige Eigenschaften von Dokumentationsartefakten und will helfen, Dokumentationsvorgänge besser zu planen und zu managen.

Use Cases für Dokumentation

Für die Nutzung der erstellten Dokumentation gibt es viele Use Cases:

  • Rückgriff auf Entscheidungen: Wer hat welche Designentscheidung zu verantworten?
  • Identifikation von Detaillösungen: Wie funktioniert eine Systemkomponente im Detail?
  • Beschreibung von Wartungsvorgängen: Was ist im Betrieb zu beachten?
  • Testdokumentation: Wie kann eine Komponente getestet werden, wenn zB Weiterentwicklungen geplant sind?

Die oben stehenden Beispiele zeigen, dass unterschiedliche Kontexte für die Dokumentationsnutzung vorstellbar sind: Der Projektkontext („wer hat warum etwas entschieden“), der Produktkontext („wie verhält sich ein Systembaustein“).

Diese Unterscheidung ist deswegen so wichtig, weil die Dokumentation meistens während der Softwareentwicklung, also im Projektkontext erfolgt. Während der Entwicklung ist die Wahrnehmung eines Entwicklers in der Regel sehr fokussiert auf aktuelle Stories – bestensfalls ausdehnbar auf den aktuellen Sprint. Ist bei der Dokumentation vorwiegend eine Projektdokumentation zu erstellen, so schadet dieser Fokus nicht. Wenn aber eine Produktdokumentation zu erstellen ist, so interessiert nicht, warum, und wann etwas entwickelt (oder zum wiederholten male geändert wurde), sondern es gilt den Status Quo des Produktes in der Dokumentation nachzuziehen.

Projekt- vs. Produktdokumentation weiterlesen

Prototyp des MagicMatcher wird auf Tagung vorgestellt

Das erste wissenschaftliche Paper aus dem sprintDoc-Projekt wurde für die CISTI’2016 – 11th Iberian Conference on Information Systems and Technologies angenommen. Hier stellen wir auf einer international renommierten Tagung unser Werkzeugkonzept und den ersten Prototypen des MagicMatchers vor.

Der MagicMatcher verbindet vier Systeme aus dem agilen Softwareentwicklungsprozess:

  • Bug-/Issue-Tracker
  • Code-Verwaltung (VCS)
  • Entwicklungsumgebung (IDE)
  • Wiki

In der oberen Grafik wird der zentrale Use-Case innerhalb der agilen Softwareentwicklung anhand der folgenden Nummern verdeutlicht:

  1. Spezifikation und Diskussion von Design- /Umsetzungsvarianten
    im Ticket-System über Kommentare
  2. Umsetzung erfolgt in der Entwicklungsumgebung unter „Mitnahme“ der Ticket-ID
  3. Commit an Code-Verwaltung unter Übergabe der Ticket-ID
  4. Über das verlinkte Ticket setzt der Entwickler den Status des Tickets neu
  5. Über das Ticket-System erfolgt eine automatischer Verlinkung in das Wiki in den korrekten Bereich der Dokumentation

Im Wiki können über den MagicMatcher kontextflexibel passende Seiten, Code-Dateien oder Tickets angezeigt werden.

Der Beitrag wird anschließend in der IEEE Xplore Digital Library veröffentlicht und ist unter folgendem Link abrufbar: sprintDoc: Concept for an agile documentation tool.

Dokumentation in agilen Softwareprojekten

Im November/Dezember 2015 haben wir eine Online-Befragung zur „Dokumentation in agilen Softwareentwicklungsprojekten“ durchgeführt. An dieser Befragung haben 104 Personen aus hauptsächlich mittelständischen Softwareunternehmen teilgenommen.

Bei der offenen Eingabe des durchschnittlichen Anteils der aufgewendeten Arbeitszeit für die Dokumentation lag der Mittelwert bei 16%. Dem gegenüber steht ein durchschnittlicher Informationssuchanteil von 25% der Arbeitszeit. Verglichen mit unserer Tätigkeitsanalyse erscheinen diese Werte recht hoch (4% Arbeitszeit für Dokumentation und 7% für Informationssuche).

Dokumentation in agilen Softwareprojekten weiterlesen

(Quellcode)-Dokumentation in der Softwareentwicklung

Dokumentation zählt nicht zu den beliebtesten Tätigkeiten von Softwareentwicklern.

Während Quellcode relativ gut dokumentiert wird, findet Projekt-Dokumentation (Wartungshandbücher, Projekthandbücher, Anwenderdokumentationen)  häufig nicht oder nicht ausreichend statt.

Warum ist das so? Warum ist die Quellcode Dokumentation für Entwickler vergleichsweise einfach durchführbar?

(Quellcode)-Dokumentation in der Softwareentwicklung weiterlesen