Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden

Konzepte schreiben mit Confluence und JIRA - ein Proof of Concept für's Anforderungsmanagement

Ein gro­ßer Teil unse­rer täg­li­chen Arbeit besteht in der Konzeption und Abstimmung der Anforderungen unse­rer Kunden.  Als Basis für die Implementierung und Anpassung von Software im Rahmen eines Projektes ist die­ser Schritt uner­läss­li­che Grundlage für jedes wei­tere Vorgehen im Projekt.

Derzeit wer­den alle Konzepte bei Communardo auf Basis einer Wordvorlage geschrie­ben. Die Verwaltung der Anforderungen erfolgt in JIRA, eine Schnittstelle zwi­schen JIRA und Word exis­tiert der­zeit nicht. Das Vorgehen ist des­halb wie folgt: alle Anforderungen wer­den direkt im Word-Dokument geschrie­ben und dort manu­ell num­me­riert. Eine Übertragung der Anforderungen ins JIRA erfolgt anschlie­ßend eben­falls manu­ell – meist nur mit Verweis auf das Word-Konzept um so eine Doppelpflege zu verhindern.

Als Atlassian Platinum und Enterprise Expert haben wir uns das Ziel gestellt, den vor­han­de­nen Prozess zu ver­bes­sern, indem die Anforderungserfassung direkt in JIRA erfolgt, ohne dass dafür Mehraufwände für das Anforderungsmanagement bei der Erstellung von Konzepten entstehen.

Wir haben des­halb anhand eines Projektes einen Prototypen mit Confluence und JIRA gebaut um wich­tige Erfahrungen zu sam­meln. An die­ser Stelle möch­ten wir nun unsere ers­ten Praxiserfahrungen wei­ter­ge­ben. Eine Demoumgebung wer­den wir bald zur Verfügung stellen.

Zielstellung

In ers­ter Linie woll­ten wir natür­lich die Erfassung der Anforderungen ver­bes­sern sowie die Abstimmungsaufwände im Rahmen der Konzepterstellung sowohl inner­halb des Teams, als auch mit unse­ren Kunden mini­mie­ren. In Verbindung mit den durch Confluence und JIRA bereit­ge­stell­ten Möglichkeiten der Kommunikation und Interaktion erschien dies als sehr gut umsetzbar.

Die meis­ten Konzepte bei Communardo ent­hal­ten neben den gan­zen all­ge­mei­nen Texten zwei große inhalt­li­che Komponenten: Anwendungsfälle und zuge­hö­rige Anforderungen. Die Anwendungsfälle beschrei­ben wir in tex­tu­el­ler Form sowie mit UML Anwendungsfalldiagrammen bzw. ‑sze­na­rien. Anforderungen hin­ge­gen erfor­dern pro­jekt­spe­zi­fisch bestimmte Informatioen und zie­hen kon­krete Implementierungsaufgaben und gege­be­nen­falls auch Tests nach sich. Somit wird für alle Anforderungen eine ein­heit­li­che Erfassung und ein wie­der­keh­ren­der Ablauf benö­tigt – das ulti­ma­tive Kriterium, diese in JIRA zu ver­fol­gen. Also unter­teil­ten wir alle Inhalte nach dem fol­gen­den ganz ein­fa­chen Schema:

"Prosatexte" 	-> 	Confluence
Anforderungen	-> 	JIRA

Lösungsansatz

Um zum einen den initia­len Aufwand gering zu hal­ten und zum ande­ren tech­no­lo­gi­sche Abhängigkeiten zu mini­mie­ren, sollte das Konzept wei­test­ge­hend mit Boardmitteln von Confluence und JIRA erstellt wer­den. Natürlich sind wir um ein­zelne Erweiterungen nicht herum gekom­men, dar­auf gehe ich in den Kapitel "Zusätzliche Plugins" und "Benutzerdefinierte Makros" näher ein.

Lösungsbescheibung

Rahmenbedingungen

Die Basis für diese Implementierung ist jeweils ein JIRA und ein Confluence System. Theoretisch kön­nen auch ältere Versionen genutzt wer­den, jedoch emp­feh­len wir hier ganz klar JIRA 5.2 und Confluence 4.3 oder jeweils aktu­el­lere Versionen. Diese bei­den Systeme müs­sen per Anwendungsverknüpfung mit­ein­an­der ver­bun­den wer­den. Zusätzlich müs­sen beide Systeme die glei­che Nutzerbasis besit­zen, bei­spiels­weise per Active Directory Anbindung oder indem JIRA als Benutzerverzeichnis für Confluence genutzt wird. Für das Konzept ist zum einen ein ein­zel­nes JIRA Projekt, zum ande­ren ein sepa­ra­ter Confluence Bereich vorzusehen.

Strukturierung der Lösung

Aufgabe von Confluence

Confluence ist das füh­rende System zum Betrachten des Konzeptes inkl. der Stuktur und aller Inhalte sowie der Verwaltung von Struktur und Prosatexten.

Es wer­den alle Rahmenbedingungen des Konzeptes sowie die Anwendungsfälle erfasst. Die Struktur wird anhand einer Wiki-Seiten-Hierarchie sowie von Überschriftenebenen in den Wiki-Seiten in Confluence abge­bil­det. Nach Notwendigkeit kön­nen belie­bige Ebenen von Unterseiten erstellt wer­den. Die Prosatexte sind Inhalte von Wiki-Seiten, z.B. die Einleitung, Anwendungsszenarien, Anwendungsfälle, Beschreibung von Stakeholdern usw. Die Nummerierung der Überschriften wurde ent­we­der im Seitentitel oder den ein­zel­nen Überschriftenebenen in der Seite manu­ell abge­bil­det. Nebenstehende Grafik zeigt exem­pla­risch eine sol­che Struktur.

Die in JIRA ver­wal­te­ten Anforderungen wer­den in den Wiki-Seiten zum Lesen ein­ge­bun­den. Neue Anforderungen kön­nen auch aus Confluence her­aus in JIRA erstellt werden.

Aufgabe von JIRA

JIRA ist das füh­rende System für die Verwaltung von Anforderungen. Dies umfasst sowohl die inhalt­li­che Beschreibung inklu­sive grund­le­gen­der Formatierung, als auch den Lebenszyklus der Anforderung. Durch die Anwendungsverknüpfung ist an jeder Anforderung ersicht­lich, wel­cher Wiki-Seite aus Confluence diese zuzu­ord­nen ist. Anforderungen kön­nen unter­ein­an­der ver­knüpft werden.

Zusätzliche Plugins

Um die Usability zu erhö­hen schla­gen wir fol­gende zusätz­li­che Plugins vor:

  • Prozesseditor: Zu einem Lösungs- oder Fachkonzept gehö­ren auch ver­schie­dene Arten von Grafiken. Dies kön­nen zum einen ein­fa­che Mockups zur Visualisierung von Designvorschlägen oder Eingabemasken sein, zum ande­ren wer­den häu­fig z.B. Aktivitätendiagramme zur Spezifizierung von Prozessabläufen ver­wen­det. Confluence bie­tet hier in der Standardkonfiguration ledig­lich die Möglichkeit, Grafiken über den Editor als Bild im Text ein­zu­fü­gen. In JIRA ist es noch etwas kom­pli­zier­ter: hier kön­nen Anhänge nur mit Wiki-Markup im Text plat­ziert wer­den. Mit Plugins wie Balsamiq Mockups, Gliffy, Diagramly und ande­ren besteht nun die Möglichkeit, diese Informationen direkt in den Confluence-Seiten oder JIRA-Issues zu erstel­len und zu bear­bei­ten. Im Gegensatz zu einer Arbeit mit Word ist dies ein gro­ßer Vorteil, da so die bei­den Arbeitsschritte Erstellung und Verwaltung direkt in Confluence bzw. JIRA vor­ge­nom­men wer­den können.
  • Bereichsvorlage: Für unse­ren Prototypen haben wir in Confluence einen Bereich als Vorlage für das Konzept hin­ter­legt. Damit ein Nutzer die­sen Bereich inkl. der vor­han­de­nen Seitenstruktur nut­zen kann, emp­feh­len wir den Einsatz des Copy Space Plugins.
  • Optimierung Export: Für eine Verbesserung der Exportmöglichkeiten und Optimierung des Designs kann das Scroll Office Plugin ein­ge­setzt werden.
Benutzerdefinierte Makros

An eini­gen Stellen sind wir aller­dings mit Boardmitteln und den genann­ten Plugins nicht ganz aus­ge­kom­men. Um den­noch eine leicht­ge­wich­tige Lösung zu schaf­fen wur­den einige benut­zer­de­fi­nierte Makros ent­wi­ckelt. Diese die­nen bspw. der kom­pak­ten Erstellung und Anzeige von Anforderungen (d.h. JIRA Vorgängen) in einer Tabelle, ermög­li­chen die Erstellung eines anspre­chen­des Inhaltsverzeichnis und Abbildungsverzeichnis sowie die Bereitstellung eines Suchfeldes für JIRA .

Eine genauere Beschreibung die­ser Makros erhal­ten Sie gerne auf Anfrage.

Stolpersteine

Einige Aspekte eines klas­si­schen Konzeptes stell­ten sich erst im wei­te­ren Verlauf der Evaluierung als poten­ti­ell hin­der­lich heraus:

  • Kopfzerbrechen berei­tet uns noch die kom­plette Versionierung eines Konzeptes. Grund dafür ist aller­dings, dass wir intern bei Communardo unsere Projektdokumente mit SharePoint ver­wal­ten. SharePoint stellt neben der Versionierung auch einen check out/check in Mechanismus zur Verfügung. Ohne SharePoint gibt es auch für Word-Konzepte nur die Möglichkeit jede Version als ein­zelne, ent­spre­chend benannte Dateien abzu­le­gen. Erst die Zusammenarbeit von Word und Sharepoint schafft hier Abhilfe.In Confluence wer­den ein­zelne Seiten zwar bei jeder Änderung als neue Verison gespei­chert, es exis­tiert jedoch nur durch Kopieren eines kom­plet­ten Bereichs oder durch den Export der Inhalte die Möglichkeit, das Konzept als Ganzes zu einem gewis­sen Stichtag zu archi­vie­ren. Der Nachteil dabei ist, dass sich die Versionen nicht mit­ein­an­der ver­glei­chen und wie­der­her­stel­len las­sen. Wir haben uns vor­erst für die ein­fachste Lösung ent­schie­den und wer­den für jeden wich­ti­gen Zwischenstand des Konzepes einen Export des gesam­ten Bereichs als PDF Dokument erstel­len. Layoutanpassungen der hier­für genutz­ten Vorlage las­sen sich z.B. mit dem Plugin Scroll PDF Exporter umset­zen. Mit dem Plugin Scroll Office ist auch ein Export nach Word-Dokument mit Layoutanpassungen möglich.
  • Die in Microsoft Word oft genutzte Überarbeitungsfunktion sowie die Vergabe von Kommentaren an ein­zel­nen Textstellen fehlt uns auch. Änderungen an Confluence-Inhalten las­sen sich nur über einen Versionsvergleich her­aus­fin­den. JIRA bie­tet für Issues eben­falls eine Historie an. Kommentare zu einem Kapitel wer­den in Confluence immer am Ende einer Seite bzw. in JIRA am Ende einer Anforderung ange­zeigt. Eine Markierung und Kommentierung ein­zel­ner Texte ist so nicht vor­ge­se­hen. Ob dies in der Praxis wirk­lich pro­ble­ma­tisch ist, wird die Arbeit mit dem Prototypen zei­gen. Einen Ansatzpunkt zur Erweiterung der Systeme um die genannte Funktionalität stellt unter Umständen das Plugin 'Talk' für Confluence dar.
  • Werden JIRA Vorgänge in Confluence ein­ge­fügt oder erstellt, so ist in der Bearbeitungsansicht der Seite nur der Vorgangsschlüssel, aber nicht die Zusammenfassung und Beschreibung des jewei­li­gen Vorgangs sicht­bar. Da aber alle Anforderungen als JIRA Vorgänge erstellt wer­den besteht so die Notwendigkeit, die aktu­elle Seite zu spei­chern um einen Überblick über bereits erstellte Anforderungen zu gewinnen.
  • Ein Überblick über das gesamte Konzept kann mit die­sem Setting nur über einen voll­stän­di­gen Export ange­bo­ten wer­den. Der übli­che Lesefluss in einem Arbeitsdokument ist jeweils nur im Rahmen einer Wiki-Seite möglich.
  • Auf den ers­ten Blick ist es etwas gewöh­nungs­be­dürf­tig, dass man für die Suche nach Anforderungen und Prosatexten zwei ver­schie­dene Eingabefelder für die Suche hat. Im Praxistest hat sich das bis­her jedoch nicht als Showstopper erwie­sen. Zukünftig könnte man hier aller­dings über­le­gen, eine för­de­rierte Suche über beide Systeme anzubieten.

Fazit

Wir fin­den das Ergebnis sehr gut (Lächeln). Unser Hauptziel – die Optimierung des Prozesses der Anforderungserfassung sowie die Verbesserung der Qualität der Anforderungen in JIRA haben wir ganz klar erreicht. Der Prototyp hat uns gezeigt, dass man mit mode­ra­tem Aufwand eine sehr gute Vorlage erstel­len kann, die trotz der genann­ten zu klä­ren­der Punkte sofort ein­satz­fä­hig ist. In einem ers­ten Test haben wir bereits erfolg­reich ein Konzept erstellt und uns ent­schlos­sen, die­ses Verfahren nach Absprache auch mit Kunden ein­zu­set­zen. Ob und wel­che unse­rer Bedenken in der Praxis eine Rolle spie­len wer­den, wird der Feldversuch zeigen.

Besonders hilft uns die tiefe Integration bei­der Systeme. So kön­nen wir nun aus Confluence her­aus Anforderungen in JIRA erstel­len und spa­ren uns damit dop­pel­ten Pflegeaufwand. Ein wei­te­rer Vorteil die­ses Ansatzes ist das par­al­lele Arbeiten an dem Konzept in unter­schied­li­chen Kapiteln durch meh­rere Nutzer. So kön­nen wir jetzt auf Wiki-Seiten bzw. auf Anforderungsebene zeit­gleich arbei­ten ohne uns gegen­sei­tig zu behin­dern.  Mit Hilfe der inte­grier­ten Kommnikationsmöglichkeiten (Mentions, Kommentare) lässt sich die Zusammenarbeit super orga­ni­sie­ren und sich damit Abstimmungsaufwände und zuge­hö­rige Reaktionszeiten wesent­lich verringern.

Auch die Tatsache, dass es mit JIRA nur eine Quelle für Anforderungen gibt, erleich­tert das wei­tere Projektvorgehen immens. Diese kön­nen dann für die wei­tere Projektarbeit durch­gän­gig genutzt wer­den und ent­hal­ten alle wich­ti­gen Informationen zur Anforderung. Zusätzlich bie­ten JIRA-Workflows ein ein­heit­li­ches Projektvorgehen für alle Anforderungen – z.B. wenn Abstimmungsprozesse ein­ge­hal­ten wer­den müssen.

Und zuletzt sind wir uns sicher, auch für die unter "Stolpersteine" zusam­men­ge­fass­ten Punkte eine Lösung zu fin­den. Schließlich sind wir nicht umsonst Atlassian Platin Experts (Zwinkern)

Wir sind nun auf Feedback und Reaktionen gespannt und wer­den mit Sicherheit ab jetzt viele Konzepte aus­schließ­lich mit JIRA und Confluence erstel­len. Auch mit Ihnen?

Nachtrag: Anforderungsmanagement mit JIRA und Confluence selbst ausprobieren!

Wenn Sie das beschrie­bene Szenario ein­mal in der Praxis sehen möch­ten, kön­nen Sie sich in unse­rem Demonstrationssystem regis­trie­ren und somit das Zusammenspiel von JIRA und Confluence für die­sen Anwendungsfall selbst einschätzen.

Das ange­spro­chene System fin­den Sie unter fol­gen­der Adresse: https://www.communardo.de/confluence/display/kwik/Konzepte+im+Wiki+Projektraum

Wir freuen uns über Feedback, wei­tere Anregungen oder ein­fach einen kur­zen Austausch dazu 🙂

 

Related Posts

Hallo Herr Toussaint!

Sie beschrei­ben ein inter­es­san­tes Szenario. Ich stehe vor einer ähn­li­chen Aufgabe:

Ich möchte Anforderungsdokumente erstel­len, die neben Erläuterungen auch use cases enthalten.
Das Dokument baue ich in Confluence auf. Nun möchte ich an einer Stelle einen use case ein­fü­gen, den ich mit JIRA ver­wal­ten möchte. Der "Prosa"-Teil des use cases bleibt aber in Confluence.

Wenn ich nun ein jira-issue erzeuge, so möchte ich auf der dazu­ge­hö­ri­gen Confluence-Seite des­sen Summary und Description sehen – ohne dass ich copy-paste anwende. Sie beschrei­ben diese Anforderungen in Ihrem Post auch – aller­dings kann ich nicht erken­nen, wie Sie das gelöst haben. Wie haben Sie das umgesetzt?

Vielen Dank und viele Grüße,

Ulf Schröder

blank Andre Schlegel

Hallo Herr Schröder,

wenn Sie Confluence und JIRA mit­ein­an­der ver­knüp­fen, dann kön­nen Sie ein­fach in Confluence ein JIRA-Ticket hin­zu­fü­gen und geben ledig­lich die ID an. Der Status und der Name wird stets aktu­ell im Confluence ange­zeigt. Das bewirkt auch, dass man direkt zu dem JIRA-Ticket sprin­gen kann. Umgekehrt erhält das Ticket auto­ma­tisch einen Link auf die Confluenceseite.

Hallo Herr Schröder,

Um das von Ihnen beschrie­bene Problem zu umge­hen und red­un­dante Daten zu ver­mei­den haben wir ein Benutzermakro für Confluence geschrie­ben wel­ches exakt die­ses Szenario ermög­licht. Den Quellcode haben wir (zumin­dest an die­ser) Stelle bewusst noch nicht bereit­ge­stellt, ggf. wer­den wir dies aber noch nachholen.

Gerne kön­nen Sie mich oder auch meine Kollegen zu die­ser Thematik kon­tak­tie­ren, an einem Erfahrungsaustausch sind wir natür­lich ebenso interessiert.

Viele Grüße,
David Toussaint

Hallo Herr Toussaint!

In ihrem Artikel geben sie an, dass sie auch Benutzermakros in Confluence geschrie­ben haben, auch zur Erstellung eines Abbildungsverzeichnisses.
Da ich zur Zeit vor einem ähn­li­chen Problem stehe und noch keine zufri­den­stel­lende Lösung gefun­den habe, wollte ich sie um eine nähere Becshreibung bitten.
Konkret möchte ich ein Abbildungsverzeichnis erstel­len, wel­ches mir im PDF Export ange­zeigt oder sogar erst erstellt wird.

Vielen Dank und viele Grüße

Simon Scherer

Hallo Herr Scherer,

Ich habe Sie dies­be­züg­lich per Email kon­tak­tiert. Gerne kön­nen wir dazu wei­ter in Kontakt bleiben.

Viele Grüße,
David Toussaint

Hallo Herr Toussaint,

Sie erwähn­ten eine Demoumgebung.
Da wir in Projekten mit Jira vor ähn­li­chen Themen ste­hen, wäre die Frage ob Ihre Demoumgebung z.V. steht um ein sol­ches Szenario zu sichten.

Viele Grüße

Markus Lorenz

Hallo Herr Lorenz,
das Demosystem hier­für steht in unse­rem Supportportal bereit: https://www.communardo.de/confluence/display/kwik/Konzepte+im+Wiki
Hierfür müs­sen Sie sich aller­dings einen (kos­ten­freien) Account anle­gen, dann kön­nen Sie sowohl den JIRA-Teil, als auch den Confluence-Teil nutzen.
Gerne kön­nen wir die­ses Szenario auch im Rahmen eines kur­zen Telefonates ein­mal gemein­sam bespre­chen. Kontaktieren Sie mich hier­für ruhig.
Viele Grüße,
David Toussaint

Comments are closed.

Pin It on Pinterest