Agile Entwicklung.

Scrum, Kanban und Lean liegen im Trend und sind als agile Methoden in der Projektarbeit mittlerweile etabliert. Agile Softwareentwicklung ist hierbei eine Entwicklungsmethode die schnell auf veränderte Anforderungen reagieren kann, da die Entwicklung in vielen kleinen und abgeschlossen Zyklen abläuft und eine erhöhte Kommunikation zwischen den Entwicklern stattfindet. Im Artikel gebe ich ein Kurzüberblick über Funktionen und Rollen des IBM Enterprise Lifecycle Management (ELM).

Agile Leitsätze

Das Fundament der agilen Entwicklung bilden vier Leitsätze. Im Februar 2001 wurden sie von 17 Erstunterzeichnern als Agiles Manifest folgendermaßen formuliert:

Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun und anderen dabei helfen. Durch diese Tätigkeit haben wir diese Werte zu schätzen gelernt:

  • Individuen und Interaktionen stehen über Prozessen und Werkzeugen
  • Funktionierende Software steht über einer umfassenden Dokumentation
  • Zusammenarbeit mit dem Kunden steht über der Vertragsverhandlung
  • Reagieren auf Veränderung steht über dem Befolgen eines Plans

Wasserfallmethode

In der klassischen Softwareentwicklung wird oft die Wasserfallmethode eingesetzt. Diese Methode mit ihren linearen Stufen eignet sich am besten für Projekte mit festen und stabilen Anforderungen und einer Produktdefinition, die sich möglichst kaum oder nicht ändert. Nachteile der Methoden sind, dass alle Anforderungen vor der Entwicklung bekannt sein müssen. Damit kann sich der eigentliche Projektstart verzögern. Sobald eine Anwendung den Test erreicht hat, ist es eher schwierig, Korrekturen an Dingen vorzunehmen, die in der Anfangsphase nur unzureichend konzipiert wurden. Die funktionale Software wird erst sehr spät im Lebenszyklus erstellt und das Testen beginnt erst spät im Lebenszyklus.

Wasserfallmethode

Agile Methode

Die Agilität steht für Flexibilität und Anpassungsfähigkeit an Projektänderungen. Der Fokus liegt auf dem zu erstellenden System. Das Projekt wird in seiner Gesamtheit angegangen, anstatt es in sequenzielle, eigenständige Phasen aufzuteilen. Die Anforderungsbeschreibungen sind kurz und knapp aus Anwendersicht formuliert und im Rahmen eines Backlogs priorisiert. Ein hohen Stellenwert hat die Verbesserung der Zusammenarbeit und Kommunikation zwischen Teams, die normalerweise nicht zusammenarbeiten. Vorteil ist ein Verkürzen von Release-Zyklen und ein schnelleres Time-to-Market. Frühzeitig wird das Feedback der Kunden in den Entwicklungsprozess integriert.

Agile Methode mit Incremental Delivery
weiter

Enterprise Lifecycle Management Plattform und OSLC

Für den Artikel habe ich die IBM Engineering Management Lösung (ELM) anhand eines Projekts betrachtet. Die Lösung basiert auf einer skalierbaren und erweiterbaren Plattform, die unter jazz.net beheimatet ist. Besonders erwähnenswert ist die enthaltene Integrationsarchitektur, die die Teilnahme von nicht auf der plattformbasierenden Produkten oder auch von Dritthersteller-Produkten ermöglicht. Oft ist es nicht möglich, dass alle für die Entwicklung benötigten Applikationen von einem Anbieter kommen und schon miteinander integriert sind.

Open Services for Lifecycle Collaboration (OSLC)

Die Plattform verwendet die Open Services for Lifecycle Collaboration (OSLC). Der Industriestandard unter https://open-services.net beinhaltet die Spezifikationen für die Interoperabilität von ALM, PLM und DevOps.

OSLC ist inspiriert von der Internetarchitektur. Durch die Schnittstellen können Lifecycle-Tools auf Ressourcen zugreifen und auf Ressourcen verweisen, auf denen sich die Daten befinden.

Gut an der ELM Plattform ist die Anpassbarkeit auf die gewünschte Entwicklungsmethode. Verwendet werden können traditionelle, agile und hybride Methoden, wie auch Scaled Agile (SAFe). Jeweilige Vorlagen sind für einzelne Methoden verfügbar.

Enterprise Lifecycle Management – Look & Feel

Die Enterprise Lifecycle Management Plattform beinhaltet Requirements Management, Workflow Management, Test Management, System Design, Software Configuration Management und Build Management.

Ein sogenanntes Lifecycle Project kann aufgebaut werden, das Verbindungen zwischen den einzelnen Bereichen beinhaltet. Damit ist eine Traceability gegeben, die eine Transparenz über den Projektstand abbildet. Die sogenannten Artefakte sind über OSLC-Links verbunden und ermöglichen eine umfangreiche Analyse (z.B. Traceabilityanalyse oder Impaktanalyse bei Änderungen).

Traceability im Engineering Lifecycle Project
weiter

IBM Engineering Lifecycle Management in Aktion

In den nachfolgenden Screenshots zeige ich das Zusammenspiel anhand eines Demoprojekts. Agil wird das automatisiertes Steuersystem des Autos für die Rennbahn entwicklelt. Die optimale Steuerung des Rennwagens wird dabei durch Künstliche Intelligenz unterstützt. Für die Entwicklung wird die Scrum Methode eingesetzt.

Demo Racing Track

Rollen und ihre Ansichten

Jede Rolle in der agilen Entwicklung benötigt im Projekt eine bestimmte Ansicht bzw. eine Arbeitsoberfläche. Ich stelle die jeweiligen Ansichten im IBM Engineering Lifecycle Management Tool für den Stakeholder, Product Owner, Scrum Master, das Scrum Team und den Developer vor. Wie gelingt das Zusammenspiel des Teams für die agile Entwicklung eines automatisierten Steuersystems für die Rennbahn?

Releaseplanung

Product Owner planen die Releases und erstellen Iterationen. Es wird darauf geachtet, dass die Zeitpläne klar sind und die Sprints ganze, überschaubare Arbeiten hervorbringen.

Releaseplanung

Vision Dokument

Der Stakeholder spielt in der agilen Vorgehensweise eine zentrale Rolle. Er beauftragt die Umsetzung des Projekts, entwickelt die Projektvision und gibt Requests im Formular ein. Daneben verfolgt der Stakeholder die Backlog Stories und die Arbeiten des Teams. Er ist nicht mittelbar Mitglied des Entwicklungsteams, hat aber ein besonderes Interesse am Projektergebnis.

Vision Document

Anforderungsqualität prüfen mit Requirements Quality Assistant

Bevor Stories geschrieben werden, können die eingegebenen Anforderungen mit IBM Requirements Quality Assistant geprüft werden, ob Sie den INCOSE Guidelines for Writing Good Requirements entsprechen. Das vortrainierte KI-Modell des Services kann erkennen, ob beispielsweise die Anforderung zweideutig, negativ oder passiv formuliert wurde, der Akteur unklar ist, ob Einheiten, Toleranzen oder Aktionen fehlen. Daneben findet die Lösung Anforderungsbestandteile bzw. Einschränkungen, die die Anforderung unklar und schwierig zum Verifizieren machen.

Requirements Quality Assistant

Stories und Product Backlog

Der Product Owner vertritt den Auftraggeber. Er teilt die Produkt-Vision mit dem Scrum-Team, damit alle Teammitglieder jederzeit darauf verweisen können. Daneben füllt er das Product Backlog, indem er Epics und Storys aus vorhandenen Quellen importiert und Storys einzeln hinzufügt. Das Backlog wird von ihm verfeinert und priorisiert. Die ELM Lösung bietet hier die entsprechenden Vorlagen, Listen und Eingabemasken an.

Story und Product Backlog

Scrum Meeting

Der Scrum Master sorgt dafür, dass die Scrum-Regeln im Projekt eingehalten werden. Er hilft dem Team bei der Erreichung seiner Lieferziele und sucht ständig nach möglichen Verbesserungen. Für die regelmäßig Scrum Besprechung benötigt er Informationen über die aufgetretenen Hindernisse, wie auch den Status der geplanten Items in der Taskboard-Ansicht.

Moderieren und unterstützen sind wichtige Aufgaben des Scrum Masters. Er ist verantwortlich für die Beseitigung von Hindernissen für den Teamfortschritt. Sogenannte Impediments können von den Beteiligten in die ELM Platform eingeben werden. Das System benachrichtigt den Scrum Master durch Reporting und eingebauten Notifikationen. Wichtig für den Scrum Master ist auch die Retroperspektive am Ende jedes Sprints. Es sollte reflektiert werden, was funktioniert hat und was nicht.

Scrum Master Sprint Backlog und Impediment

Transparente Sicht auf den Entwicklungsfortschritt

Für seine Tätigkeit benötigt der Scrum Master Infos über den Entwicklungsfortschritt. Wichtige Informationen, wie Open Stories, Release Burndown oder Sprint Burndown, werden in Listen und in grafischer Darstellung im Dashboard angezeigt. Schnell und einfach kann der Scrum Master die benötigten Informationen aus den vorbereiteten Ansichten herauslesen.

Dashboard

Wie ist der aktuelle Entwicklungsstand?

Der Stakeholder kann im Dashboard sehen, an was das Team gerade arbeitet. Über die Product Backlog Ansicht behält er den Überblick über die Backlog und den noch offenen Stories.

Backlog-Stories und Dashboard

Transparente Sicht des Entwicklers auf das Projekt

In der Ansicht „Meine Arbeit/Inbox“ kann der Entwickler nachverfolgen, wofür er verantwortlich ist und wann er mit anderen Teammitglieder zusammenarbeiten muss. Er kann die eingebauten Funktionalitäten für Source Control Management (SCM) verwenden oder hat eine Integrationsmöglichkeit zu anderen Entwicklungswerkzeugen wie GIT oder SVN. Daneben kann der Entwickler in seinem gewohnten IDE arbeiten, wie eclipse oder Visual Studio. Im Werkzeug können auch Regeln festgelegt werden, die dem Entwickler bei seiner Arbeit unterstützen.

Entwickler Inbox und Build

Testmanagement

Das Testmanagement ist mit dem Anforderungs- und Workflowmanagement integriert. Der Tester kann den Testplan an spezifische Prozess- oder Qualifikationsstandards anpassen. Es ist ein schneller manueller Test möglich, wie auch die Integration zu Testautomatisierungstools. Das Werkzeug bietet eine Gesamtübersicht über Testpläne und einen detaillierten Ausführungsstatus. Den Fortschritt bekommt das Team im Dashboard in Echtzeit dargestellt.

Fazit

Die IBM Engineering Lifecycle Management Lösung besticht dadurch, dass sie skalierbar und integriert ist und auf einer offenen Softwareentwicklungsplattform basiert. Es können Dritthersteller-Produkte, wie auch Open-Source-Lösungen (z.B. GIT oder Subversion) angebunden werden. Da agile Ansätze, wie Scrum, Kanban oder Scaled Agile Framework (SAFe) unterstützt werden, kann flexibel das eigene Projekte schnell und bequem aufgesetzt werden. On-premise und auch in der Cloud kann die Lösung laufen. Besonders positiv sehe ich die jeweiligen Dashboards, die für die Beteiligten einen sehr guten Einstieg und auch Transparenz für das Projekt bieten. Ohne weitere Addons sind für die Projektbeteiligten die benötigten Informationen verfügbar.

Was beachtet werden sollte: Die Application Lifecycle Management (ALM)-Lösung ist eine Enterprise Lösung und bedarf etwas Aufwandes für die Installation und Konfiguration. Auch sollte eine gewisse Lernzeit in der Kick-off-Phase eingeplant werden, um die wichtigen Funktionalitäten bestmöglichst kennenzulernen und zu verwenden.

weiter

Impressum

Hubert Spieß
Reventlowstraße 5
80805 München
Tel. 0175 7281914
Internet: www.hubert-spiess.de
E-Mail: mail@hubert-spiess.de

Datenschutzhinweis

Erhebung und Speicherung personenbezogener Daten sowie Art und Zweck von deren Verwendung beim Besuch der Website. Beim Aufrufen der Website hubert-spiess.de werden durch den auf Ihrem Endgerät zum Einsatz kommenden Browser automatisch Informationen an den Server unserer Website gesendet. Diese Informationen werden temporär in einem sog. Logfile gespeichert. Folgende Informationen werden dabei ohne Ihr Zutun erfasst und bis zur automatisierten Löschung gespeichert:

IP-Adresse des anfragenden Rechners, Datum und Uhrzeit des Zugriffs, Name und URL der abgerufenen Datei, Website, von der aus der Zugriff erfolgt (Referrer-URL), verwendeter Browser und ggf. das Betriebssystem Ihres Rechners sowie der Name Ihres Access-Providers.

Die genannten Daten werden durch uns zu folgenden Zwecken verarbeitet: Gewährleistung eines reibungslosen Verbindungsaufbaus der Website, Gewährleistung einer komfortablen Nutzung unserer Website, Auswertung der Systemsicherheit und -stabilität sowie zu weiteren administrativen Zwecken.

Die Rechtsgrundlage für die Datenverarbeitung ist Art. 6 Abs. 1 S. 1 lit. f DSGVO. Unser berechtigtes Interesse folgt aus oben aufgelisteten Zwecken zur Datenerhebung. In keinem Fall verwenden wir die erhobenen Daten zu dem Zweck, Rückschlüsse auf Ihre Person zu ziehen.

Weitergabe von Daten

Eine Übermittlung Ihrer persönlichen Daten an Dritte zu anderen als den im Folgenden aufgeführten Zwecken findet nicht statt. Wir geben Ihre persönlichen Daten nur an Dritte weiter, wenn: Sie Ihre nach Art. 6 Abs. 1 S. 1 lit. a DSGVO ausdrückliche Einwilligung dazu erteilt haben, die Weitergabe nach Art. 6 Abs. 1 S. 1 lit. f DSGVO zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen erforderlich ist und kein Grund zur Annahme besteht, dass Sie ein überwiegendes schutzwürdiges Interesse an der Nichtweitergabe Ihrer Daten haben, für den Fall, dass für die Weitergabe nach Art. 6 Abs. 1 S. 1 lit. c DSGVO eine gesetzliche Verpflichtung besteht, sowie dies gesetzlich zulässig und nach Art. 6 Abs. 1 S. 1 lit. b DSGVO für die Abwicklung von Vertragsverhältnissen mit Ihnen erforderlich ist.

Betroffenenrechte

Sie haben das Recht:

gemäß Art. 15 DSGVO Auskunft über Ihre von uns verarbeiteten personenbezogenen Daten zu verlangen. Insbesondere können Sie Auskunft über die Verarbeitungszwecke, die Kategorie der personenbezogenen Daten, die Kategorien von Empfängern, gegenüber denen Ihre Daten offengelegt wurden oder werden, die geplante Speicherdauer, das Bestehen eines Rechts auf Berichtigung, Löschung, Einschränkung der Verarbeitung oder Widerspruch, das Bestehen eines Beschwerderechts, die Herkunft ihrer Daten, sofern diese nicht bei uns erhoben wurden, sowie über das Bestehen einer automatisierten Entscheidungsfindung einschließlich Profiling und ggf. aussagekräftigen Informationen zu deren Einzelheiten verlangen;

gemäß Art. 16 DSGVO unverzüglich die Berichtigung unrichtiger oder Vervollständigung Ihrer bei uns gespeicherten personenbezogenen Daten zu verlangen;

gemäß Art. 17 DSGVO die Löschung Ihrer bei uns gespeicherten personenbezogenen Daten zu verlangen, soweit nicht die Verarbeitung zur Ausübung des Rechts auf freie Meinungsäußerung und Information, zur Erfüllung einer rechtlichen Verpflichtung, aus Gründen des öffentlichen Interesses oder zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen erforderlich ist;

gemäß Art. 18 DSGVO die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen, soweit die Richtigkeit der Daten von Ihnen bestritten wird, die Verarbeitung unrechtmäßig ist, Sie aber deren Löschung ablehnen und wir die Daten nicht mehr benötigen, Sie jedoch diese zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen benötigen oder Sie gemäß Art. 21 DSGVO Widerspruch gegen die Verarbeitung eingelegt haben;

gemäß Art. 20 DSGVO Ihre personenbezogenen Daten, die Sie uns bereitgestellt haben, in einem strukturierten, gängigen und maschinenlesebaren Format zu erhalten oder die Übermittlung an einen anderen Verantwortlichen zu verlangen;

gemäß Art. 7 Abs. 3 DSGVO Ihre einmal erteilte Einwilligung jederzeit gegenüber uns zu widerrufen. Dies hat zur Folge, dass wir die Datenverarbeitung, die auf dieser Einwilligung beruhte, für die Zukunft nicht mehr fortführen dürfen und

gemäß Art. 77 DSGVO sich bei einer Aufsichtsbehörde zu beschweren. In der Regel können Sie sich hierfür an die Aufsichtsbehörde Ihres üblichen Aufenthaltsortes oder Arbeitsplatzes oder unseres Firmensitzes wenden.

Widerspruchsrecht

Sofern Ihre personenbezogenen Daten auf Grundlage von berechtigten Interessen gemäß Art. 6 Abs. 1 S. 1 lit. f DSGVO verarbeitet werden, haben Sie das Recht, gemäß Art. 21 DSGVO Widerspruch gegen die Verarbeitung Ihrer personenbezogenen Daten einzulegen, soweit dafür Gründe vorliegen, die sich aus Ihrer besonderen Situation ergeben oder sich der Widerspruch gegen Direktwerbung richtet. Im letzteren Fall haben Sie ein generelles Widerspruchsrecht, das ohne Angabe einer besonderen Situation von uns umgesetzt wird.

Möchten Sie von Ihrem Widerrufs- oder Widerspruchsrecht Gebrauch machen, genügt eine E-Mail mail@hubert-spiess.de

Datensicherheit

Wir bedienen uns geeigneter technischer und organisatorischer Sicherheitsmaßnahmen, um Ihre Daten gegen zufällige oder vorsätzliche Manipulationen, teilweisen oder vollständigen Verlust, Zerstörung oder gegen den unbefugten Zugriff Dritter zu schützen. Unsere Sicherheitsmaßnahmen werden entsprechend der technologischen Entwicklung fortlaufend verbessert.

Aktualität und Änderung dieser Datenschutzerklärung

Diese Datenschutzerklärung ist aktuell gültig und hat den Stand Mai 2018. Durch die Weiterentwicklung unserer Website und Angebote darüber oder aufgrund geänderter gesetzlicher beziehungsweise behördlicher Vorgaben kann es notwendig werden, diese Datenschutzerklärung zu ändern. Die jeweils aktuelle Datenschutzerklärung kann jederzeit auf der Website unter Datenschutzhinweis von Ihnen abgerufen und ausgedruckt werden.

Hinweis: Basistemplate ist von HTML5 UP und lizenziert unter Creative Commons Attribution 3.0 License.