Vollständige Abdeckung des Software-Lebenszyklus

Die Projektanforderungen ändern sich heutzutage häufig, sodass man einen schlanken, flexiblen Ansatz zur Steuerung der Änderungsanforderungen benötigt, um auf Änderungen rechtzeitig zu reagieren und diese mit minimalem Zusatzaufwand in ein Projekt zu übernehmen.

Der Ausgangspunkt des NTT DATA Vorgehensmodells ist die langjährige Erfahrung in Softwareprojekten, die infolge der zahlreichen Partnerschaften mit in- und ausländischen Kunden gesammelt wurde. Weitere Grundlagen sind die theoretischen Ansätze, die in der Literatur zu finden sind (Microsoft Solutions Framework, IBM Rational Unified Process, Agile Vorgehensweisen wie z.B. Scrum, XP). Das Bestreben ist heute Projekte iterativ und inkrementell zu entwickeln und den Kunden stärker in die Projekte einzubinden.

Requirements

Support

Architecture

SoftwareDevelopmentLifecycle

Deployment

Design

Testing

Implementation

Anforderungsanalyse und Systemdesign

Innerhalb unseres Vorgehensmodells spielt die Anforderungsanalyse eine bedeutende Rolle, insbesondere, weil sie den Projektumfang definiert und basierend darauf Zeitpläne und erste Schätzungen macht. Jetzt werden die Erwartungen von beiden Seiten offengelegt und die Anforderungen des Kunden schriftlich erfasst. Diese werden vom Kunden anschließend abgenommen. Somit sind die Analysedokumente die ersten Ergebnisse, die in den Entwicklungsprozess eingehen. Die Anforderungen sind der Ausgangspunkt für den gesamten Softwareentwicklungs-Lebenszyklus und für die Abnahmekriterien. Später in der Entwicklung untersuchen wir im Detail jede einzelne Anforderung nach einem Just-in-Time-Ansatz.

  • Fachkonzept – legt die wesentlichen fachlichen und funktionalen Merkmale des Systems fest. Die Ergebnisse der ersten Gespräche mit dem Kunden sind Bestandteil des Fachkonzepts, auch wenn nur in einer groben Form. Der Inhalt der Dokumente wird dann in der Planungsphase verfeinert. Das geschieht in Zusammenarbeit mit dem Kunden; die Fortführung der Dokumentation wird jetzt von Fachleuten übernommen. Die Dokumente beinhalten weiterhin hauptsächlich funktionale und fachliche Details, es werden keine oder nur wenige technische Aspekte dokumentiert. Ziel ist es die Notwendigkeiten und Anforderungen des Kunden zu dokumentieren und nicht die Lösung, die dafür entwickelt wird.
  • Technische Spezifikation – beschreibt die Lösung, die während des Projektes erstellt werden soll. Die Dokumente beinhalten alle technischen Details, die notwendig sind um das System zu entwickeln. Die Spezifikation beinhaltet, je nach Notwendigkeit, sowohl eine Architekturbeschreibung als auch Definition von Performance Parametern, Beschreibung der Anwenderoberflächen, Schnittstellen mit Fremdsystemen, auf Portabilität bezogene Aspekte, Datenbankmodelle usw. Diese Dokumentation wird von Fachkräften erstellt und benötigt nur sehr wenig Unterstützung von Seite des Kunden, da es im Wesentlichen aufgrund des Fachkonzeptes erstellt wird.

Risiko Management

Insbesondere bei Projekten, die Nearshore/Offshore durchgeführt werden, sind zusätzliche Risiken vorhanden. Das Vorgehensmodell definiert eine effiziente Methode, um diese Risiken entsprechend zu handhaben. Risikomanagement ist ein kontinuierlicher Prozess, der in Zusammenarbeit mit dem Kunden über die gesamte Dauer des Projektes erfolgt. Die Praxis hat gezeigt, dass die beiden ersten Phasen eines Projektes ausschlaggebend sind für ein erfolgreiches Risikomanagement. Die wichtigsten Risiken sind dort schon zu erkennen und sollten auch bereits dort behandelt werden.

Das Risikomanagement setzt folgende drei Schritte voraus:

  • Identifizierung der Risiken
  • Analyse und Bewertung der Risiken
  • Maßnahmen zur Risikobeseitigung

Unser Vorgehensmodell definiert Templates mit deren Hilfe solche Informationen festgehalten werden können. Risiken werden erfasst und zusammen mit dem Kunden analysiert und bewertet. Entsprechende Maßnahmen werden zusammengetroffen. Der iterative Charakter des Projektverlaufes bietet eine gute Möglichkeit dieses Verfahren periodisch über die gesamte Projektdauer zu wiederholen, so wie es das Risikomanagement vorschreibt.

Entwicklung

Unabhängig der Notwendigkeit zur Formalisierung bleibt der Aufwand für die Entwicklung der bedeutendste in den meisten Entwicklungsprojekten. Best Practices konnten hier im Laufe der Zeit in der Praxis ermittelt werden. Diese wurden zusammengefasst und als Richtlinie für die Programmierung in das NTT DATA Vorgehensmodell eingefügt, im Sinne der kontinuierlichen Verbesserung. Code Richtlinien, Architekturmodell, wiederverwendbare Komponenten und Frameworks stehen zur Verfügung und können sofort in neuen Projekten verwendet werden.

Qualitätssicherung

Die Qualitätssicherung ist ein Pflichtbaustein des NTT DATA Vorgehensmodells. Entwicklungsprozesse werden grundsätzlich nur mit paralleler, begleitender Qualitätssicherung organisiert. Der QS-Prozess beginnt schon in der ersten Phase des Projektes und endet erst, nachdem das Produkt die Abnahmetests bestanden hat. Die Planung des gesamten Qualitätssicherungsprozesses ist Bestandteil des Projektplanes. Je nach Komplexität des Projektes und Umfang des QS-Teams werden funktionale Tests, Integrationstests, fachliche Teste und Performance Teste mit Hilfe von Testszenarien und Testfällen geplant und beschrieben. Der gesamte Prozess wird dokumentiert und durch Tools unterstützt, wodurch alle Informationen, die aus dem Prozess resultieren, sowohl dem Kunden als auch den Teammitgliedern zur Verfügung stehen. Testprotokolle werden regelmäßig erstellt. Entsprechend dem iterativen und inkrementellen Charakter des Projektes werden die Ergebnisse des QS-Prozesses während des Sprint Reviews analysiert und bewertet.

Projektmanagement

Dem Projektleiter kommt eine zentrale Rolle im NTT DATA Vorgehensmodell zu. Er organisiert den gesamten Entwicklungsprozess. Jede Aktivität in jedem Bestandteil des Vorgehensmodells wird durch den Projektleiter geplant und genehmigt. Er behält die Übersicht über das Projektgeschehen und steuert den Verlauf. In den meisten Fällen ist er auch erster Ansprechpartner für den Kunden.

Für größere Projekte sieht das Modell vor, dass der Projektleiter sich ausschließlich auf organisatorische Aufgaben konzentriert. Je nach Komplexität und Größe eines Projekts kann der Projektleiter aber auch Aufgaben aus anderen Bereichen übernehmen. So kommt es relativ oft vor, dass er in kleineren Projekten zusätzlich technische Aufgaben übernimmt oder das Projekt aus technischer Sicht leitet.

Der Projektleiter ist dafür zuständig die einzelnen Iterationen zu definieren und zu überwachen sowie Change Requests einzuleiten. Er ist Moderator für die Sprint Reviews. Das Vorgehensmodell definiert Templates für Dokumente (Protokolle, Statusreports usw.), die regelmäßig an den Kunden gesendet werden.

Wartung

Zusammen mit dem Kunden wird genau analysiert und festgelegt, welche Services im Sinne der weiteren Systempflege und Erweiterung der Funktionalitäten durch NTT DATA unterstützt oder übernommen werden sollen. Unsere Mitarbeiter können bei Bedarf in die Supportorganisation der Partner eingebunden werden und arbeiten remote in deren Infrastruktur. Bei der Bedarfsermittlung geht es auch um die Frage, wann die Arbeiten erbracht werden sollen: welche Zeiten an Werktagen, Feiertagen und an Wochenenden abgedeckt werden sollen.