Reconf 2008 – abwechslungsreicher Konferenztag (11.03.2008)
Nach einer doch nicht ganz so kurzen Einführung in die organisatorischen Belange der Reconf, startete der erste Konferenztag mit zwei Keynotes vor einem schon recht vollen Konferenzsaal (ca. 200 Personen), obwohl noch längst nicht alle Konferenzteilnehmer anwesend sind. Die erste Keynote war ein nicht gerade spannender, sehr allgemein gehaltener Vortrag über Anforderungsmanagement von Dr. Chrisof Ebert (Gründe / Methoden), der nicht stark in die Tiefe ging. Die zweite Keynote von Colin Hood war dagegen sehr kurzweilig und immer wieder mit lustigen Sprüchen aufgelockert. Er skizzierte Entwicklungen im Anforderungsmanagement von den 70er Jahren bis heute und gab eine Aussicht auf die Herausforderungen in der Zukunft. Hier wurden vor allem die Themen genannt, die auch in vielen Fachvorträgen der Konferenz eine Rolle spielen: Priorisierung und Wiederverwendung von Anforderungen, Eindeutigkeit versus Verständlichkeit, Testbarkeit. Ebenfalls angesprochen wurde die Problematik zu langer Analysephasen versus zu viele Nachforderungen, für die als Lösung die möglichst schnelle Produktion eines Prototyps genannt wurde. Dadurch kann ein rechtzeitiger Diskurs mit den Stakeholdern initiiert werden, so wie das auch mit dem Beta-Test von Campus IT ermöglicht wurde.
Die Fachvorträge, von denen immer drei verschiedene Themen zur Auswahl standen, starteten mit dem Thema „Ontologien im Anforderungsmanagement“, gehalten von Thomas Syldatke (Audi AG) und Joachim Zeyn (Peak Solutions), welcher seinem Kollegen schon mal ins Wort fiel. Vorgestellt wurde ein Projekt bei Audi, bei dem ein Ansatz zur Lösung des Problems unterschiedlichen Vokabulars in der zentralen IT und den verschiedenen Fachbereichen implementiert wurde. Bei Ontologien handelt es sich um eine Methode des Wissensmanagement – um ein maschinell unterstütztes Set von Begriffen, Relationen und Abhängigkeiten. Hierbei wurden Begriffe und Unterbegriffe (Vererbung) mit ihren Synonymen in einem Thesaurus (Glossar) definiert und dokumentiert. Über eine Inferenzmaschine ist dann eine webbasierte Suchfunktion angebunden, die Füllwörter herausfiltert und über Synonyme, Unter- und Überbegriffe die Ergebnisse der Anforderungssuche listet. Über Angaben zu Kategorien und einen Ähnlichkeitsindex kann das Ranking der Suchergebnisse verändert werden. Leider wurden keine Details zur Implementierung des Projekts in der Präsentation vorgestellt, deutlich wurde jedoch, dass ein solches Projekt mit einer Laufzeit von 10 Jahren und einem Budget von mehreren Millionen Euro pro Jahr, erst bei einer gewissen Größe des Unternehmens und des dort etablierten Anforderungsmanagements sinnvoll ist.
Deutlich spannender gestaltete sich „Conversations in Context – Using Use Cases on Agile Projects“, einer der wenigen englisch-sprachigen Vorträge der Reconf 2008. Gehalten wurde er von Ian Spence (Ivar Jacobson Consulting), der mit seinem lockeren Sprachstil, einer guten Powerpoint-Präsentation und mit Publikumsinteraktion überzeugte. Seine erste Umfrage ergab, dass das Publikum zu überragenden Teilen interessiert an agile projects war, aber bisher wenig Erfahrung mit diesem Ansatz zur Systemarchitektur hatte. Agile projects nutzen schnelle, gut zu ändernde Methodiken, die auf kleinen (1-5 Manntage) Arbeitsschritten basieren, was eine gewisse Abneigung gegen stark formalisierte Anforderungen nach sich zieht. Eine sehr verbreitete Methode in Agile Projects sind User Story Cards, die als Platzhalter einer Konversation und als Grundlage für das zentrale Thema Testen dienen, und die sich zu „Epics“ und „Themes“ zusammenfassen lassen. Als Ergänzung stellte Ian Spence Use Cases als weitere Methode für agile projects vor. Dabei werden die Use Cases durch viele verschiedene Szenarien (happy day, exceptions) spezifiziert und dienen als Grundlage für die Generierung von Test Cases. Ein solches Szenario wird mit mehreren Test Cases zu einem Use Case-Modul zusammengefasst und ist dann gut auf Karten dokumentierbar (vglb. mit den User story Cards). Sie dienen darüberhinaus als Grundlage für die Kalkulation von Arbeitstagen und damit der Kostenplanung. Die mit dieser Methodik bearbeiten Projekte, die als Beispiele vorgestellt wurden, erreichten die bei agile projects angestrebten kurzen Zeiträume für Software-Release von 6-9 Monaten, hatten Iterationszeiträume von 2-4 Wochen und waren in unterschiedlichsten Größenordnungen erfolgreich.
Der Dritte Vortrag aus dem Bereich Anwendervorträge IT beschäftigte sich mit einem „Rahmenwerk für (modellbasierte) Fachkonzepte“ von Dr. Walburg an der Bundesagentur für Arbeit. Ein Projekt, welches sich noch am Anfang seiner Implementierung befindet, und das auf ein systematisches, einheitliches Vorgehen im Anforderungsmanagement abzielt. Dies reicht von den grobgranularen Anforderungen des Lastenhefts bis zu der feingranularen Ebene der Systemspezifikation (Pflichtenheft) und dient auch der Standardisierung bei externer Auftragsvergabe. Genutzt werden hier die zeitige Einbindung von Entwicklern und Testern, Traceability (das Management der Nachvollziehbarkeit von Anforderungen) und Qualitätssicherung. Der Schwerpunkt liegt dabei auf einem modellbasierten Anforderungsmodell (UML 2), wobei vor allem UseCase-, Activity-, Class-, Component- und State-Diagramme verwendet werden. Der Vortrag blieb aufgrund des Projektstands noch sehr theoretisch und sorgte durch Kommentare zur Erotik von Modellen für unfreiwillige Erheiterung.
Interessanter Methodenvortrag zu den Erweiterungen aus der SysML, die es ermöglichen „Anforderungen im Modell [zu] integrieren“, von Tim Weilkiens (oose Innovative Informatik GmbH), der durch zahlreiche Veröffentlichungen zur SysML bekannt ist. Die Stakeholder eines Projekts können in das Modell über Actor-Symbole integriert werden, anstelle sie in Listen zu verwalten, was den Vorteil aufweist, sie mit Anforderungen verknüpfen zu können. Anforderungen können auf verschiedene Weisen modelliert werden – über natürliche Sprache, EPKs, etc. In der UML kommen sie nicht klassisch als eigenes Element vor. Die SysML bietet als eine Erweiterung der UML für den Systems Engineering-Bereich einen Stereotyp namens „requirement“, der prinzipiell nur die Basisbestandteile (Name, ID, Text) umfasst, die aber als Stereotyp um zusätzliche Elemente (z.B. Priorität, Risiko, Test Cases…) erweitert werden kann. Die SysML ermöglicht die Zerlegung von Anforderungen über eine „Enthalten Sein“-Beziehung und die Verknüpfung von Anforderungen untereinander bzw. mit Stakeholdern oder Test Cases über die trace-Beziehung. Die Transition deriveReqt dient der Ableitung von Anforderungen untereinander, Varianten lassen sich über Packages im Modell abbilden. Eine Verknüpfung zu Anwendungsfällen kann über die refine-Beziehung erreicht werden. Wichtig bei der Einführung dieser Erweiterungen ist laut Hr. Weilkiens vorab die Frage zu regeln, welche Beziehungen benötigt werden und wann sie eingesetzt werden. Vor allem bei einer großen Menge an Anforderungen ist es sinnvoll, das Modell nicht nur als Diagramm, sondern auch über Reports als Listen darzustellen oder mit Anforderungsmanagement-Werkzeugen zu verknüpfen.
Hr. Schacher stellte mit angenehmen Schweizer Akzent den Modellierungsansatz seiner Firma Know Gravity aus Zürich vor. Bei dem Ansatz des „Model Driven Enterprise Engineering“ liegt der Schwerpunkt auf dem Unternehmen, nicht auf einer Software oder einem Sytem, was vielleicht der Grund für die mit ca. 35 Personen geringe Zuhörerschaft sein kann. Der Ansatz basiert auf den Standards der OMG und umfasst die Bereiche Geschäftsstrategie, Geschäftsgestaltung, IT-Konzept und IT-Realisation. In dem ersten Bereich geht es um die Motivation eines Unternehmens, welche in einem Business Motivation Model (BMM) dargestellt wird, das als Elemente Ziele, Einflüsse, Einschätzungen und Mittel umfasst. In der operationalen Geschäftsgestaltung werden die Prozesse, Organisationstrukturen, Regeln und das Vokabular eines Unternehmens modelliert. Neben BPMN und Organigramme wurde hier eine neue Methodik der OMG vorgestellt, die Semantics of Business Vocabulary and Business Rules (SBVR), welche die Definition von Begriffen in strukturellen Regeln genauso beinhaltet wie das Umsetzungskonzept operativer Regeln. Das IT-Konzept, das Projekte, Anforderungen, Spezifikationen und Test Cases umfasst, wird im Model Driven Enterprise Engineering mit Hilfe der SysML und xUML (ausführbare UML-Modelle) beschrieben – bei der IT-Realisation kommen die „klassische“ UML und Model Driven Architecture zum Einsatz. Der Vortrag war etwas theoretisch, aber machte durchaus Lust darauf sich noch weiter mit diesen Methoden zu befassen.
Insgesamt ein thematisch abwechslungsreicher Tag mit einigem Input, der Vorfreude auf den zweiten Konferenztag erzeugt hat.