infforum

Evolutionäre / Inkrementelle Entwicklung

Verringerung von Risiken


Startseite Informatik Forum

Anforderungsanalyse

Prozess-Modellierung

Anwendungsentwicklung

Projektmanagement

iterativ zyklische Softwareentwicklung rekursiv Unterschied Prototyp Entwicklungsmodell Prozessmodell

INffORUM Leistungen

Projekt-Beispiele

Kontakt zu INffORUM

Ziele

Themen

SIP - Strategische Informationssystemplanung

GPM - Geschäftsprozess-Modellierung

Anforderungsanalyse Anforderungsmanagement

Vorgehensmodell

Methoden

Systemabgrenzung

PZR-Analyse

Problemanalyse / Schwachstellenanalyse

Zielanalyse

Restriktionsanalyse

Affinitätsanalyse

Durchführbarkeitsanalyse / Wirtschaftlichkeitsanalyse

Werkzeuge Requirements Engineering

Anwendungsentwicklung

Vorgehensmodelle

Wasserfall-Modell

Spiral-Modell

V-Modell

Evolutionäre / inkrementelle Vorgehen

RUP - Rational Unified Process

Agile Softwareentwicklung

MDA - Model Driven Architecture

Methoden

Methode SA - Strukturierte Analyse

Methode ESA - Essentielle System-Analyse

Methode SD - Strukturiertes Design

Methode ERM - Entity-Relationship-Modellierung

Methode RM - Relationen-Modellierung

Methode UML - Unified Modeling Language

Werkzeuge Software Engineering

case/4/0

Innovator

objectiF

Projekt-Management

Vorgehensmodell

Projektstrukturplanung

Aktivitätenplanung

Arbeitsplanung

Kapazitätsplanung / Ressourcenplanung

Change-Management

Konfigurations-Management

Methoden/Techniken

Netzplan-Technik

Balkenplan-Technik

Methoden Aufwandsschätzung

Methode NuWA - Nutzwertanalyse

Werkzeuge Projekt-Management

in-Step

Primavera

Übersicht Leistungen

Organisationskonzepte

Studien, Gutachten

Auswahl Requirements Engineering (CARE) Tool

Auswahl Software Engineering (CASE) Tool

Auswahl Projekt-Management (PM) Tool

Projektleitung

Coaching Projektleiter

Know-how-Transfer Projekte

Beratung und Unterstützung

Software Einsatz case/4/0

Software Einsatz Innovator

Software Einsatz ObjectiF

Seminare

Projektbeispiele

Informationssystem-Planung

IV-Rahmenplanung Museum

Kommunikationsanalyse Versicherung

Organisation

ORG-BW-Gesamtmodell

Prozessmodellierung und Ablauf-Organisation Rating

Versionskontrolle Logistik

Know-how-Transfer Software-Entwicklung

Vorgehensmodell Analyse
mit Einsatz case/4/0

Vorgehensmodell mit Word-Dokumentation

Werkzeug-Einführung Innovator

Simulation Tour de France

Cockpit - Steuerung der Simulation

Anleitung und Hilfe für Sudoku-Rätsel

Mitarbeiter-Profil

Kontakt

Kontakt-Formular

Impressum

Unser Thema

Evolutionäre Entwicklung / Inkrementelles Vorgehensmodell

Die Evolutionäre Entwicklung hat zum Ziel, ein Projekt in überschaubare, eigenständige Teilprojekte zu zerlegen, um frühzeitig ein funktionsfähiges Teilprodukt ausliefern zu können. Das evolutionäre Vorgehen verkürzt (bzw. stückelt) Projektlaufzeiten in der Anwendungsentwicklung und vermindert die Risiken einer komplexen Systementwicklung. Durch ein Prozessmodell der Kategorie "evolutionär" lassen sich Kosten und Zeiten für jedes Teilprojekt der Software-Entwicklung besser in den Griff bekommen.
Meist ist es möglich, geplante Anwendungen für eine evolutionäre Software-Entwicklung über die Anforderungen in eine Kernfunktionalität und darauf aufbauende Erweiterungen der Anwendung zu differenzieren.

weiterführende
externe Links

Prototyping-orientiertes Prozessmodell

Prototyping und evolutionäre
Systementwicklung

Evolutionäres Vorgehen bietet sich insbesondere an, wenn zu Beginn der Softwareentwicklung für die Planung im Projekt noch nicht bzw. nicht genau bekannt ist, welchen Funktionsumfang die Software haben soll.
Evolutionäres Vorgehen ist auch geeignet, wenn noch keine genaue Definition für Schnittstellen von und zu verbundenen Applikationen vorliegt.


Für eine Inkrementelle Entwicklung ist es im Vorgehensmodell notwendig, ein Grobkonzept und die Definition der Systemarchitektur für den gesamten Projektumfang festzulegen und inkrementell nur bei den Phasen Feinkonzeption, Software-Entwurf, Implementierung und Integration vorzugehen.
Ein Inkrementelles Vorgehen kann zu temporären Prototypen und später zu nutzbaren Produkten führen. Oder die Inkrementelle Vorgehensweise hat von Beginn an zum Ziel, einsetzbare Teilprodukte in der vorgegeben Qualität als Ergebnis der Systementwicklung zu erzeugen.

Durch eine konsequente Handhabung der Inkrementellen Entwicklung in der Projektarbeit wird es möglich, neue oder auch geänderte Anforderungen seitens der Auftraggeber aus der laufenden Entwicklung herauszuhalten und in einem nachfolgenden Inkrement umzusetzen.

Beide Arten der Vorgehensmodelle (Evolutionär / Inkrementell) bedingen im Projekt eine enge Zusammenarbeit zwischen Auftraggeber und Auftragnehmer. Dies bringt auch entsprechende Konsequenzen für die vertraglichen Abmachungen, das Projektmanagement und die Verrechnung der Leistungen mit sich.


Weitere Varianten der Evolutionären und Inkrementellen Vorgehensmodelle sind zum Beispiel rekursive und iterative Vorgehensweisen bzw. Modelle.

  • Die Rekursive System-Entwicklung ist gekennzeichnet durch ein Vorgehen bei dem die einzelnen Phasen im Modell mehrfach durchführt werden, um jeweils eine Optimierung der Ergebnisse zu erzielen.

  • Die Iterativen Vorgehensmodelle (s.a. RUP - Rational Unified Process) zielen auf eine Verbesserung der Produkte bzw. Erweiterung der Funktionalität durch die Wiederholung (Iteration). Iterativ wird die Gesamtheit aller Phasen der Software-Entwicklung für eine jeweils abgegrenzte Funktionalität genutzt.
    Häufig fehlt beim iterativen Vorgehen jedoch der Überblick über das Anwendungssystem, wenn kein Gesamtkonzept und keine Systemarchitektur gemäß der inkrementellen Vorgehensweise erstellt wurden.

Die evolutionär oder inkrementell zu entwickelnden Teilprodukte können nach den bewährten Vorgehensweisen im Unternehmen etablierter Modelle (zum Beispiel Wasserfall-Modell, Spiral-Modell, ...) angegangen werden.

Es gibt jedoch auch angepasste inkrementelle Vorgehensmodelle (zum Beispiel STEPS - auch als zyklisches Projekt-Modell bezeichnet), die ergebnisorientiert Abhängigkeiten zwischen den Arbeitsschritten über die Produkte beschreiben.

Die Evolutionäre und die Inkrementelle Software-Entwicklung führen implizit zu einer höheren Qualität der Architektur durch die Notwendigkeit,

  • funktionale Unabhängigkeit zu schaffen und

  • Kapselungsprinzipien (Information Hiding) einzuhalten.

Durch das Evolutionäre und das Inkrementelle Vorgehen der Systementwicklung in der IV wird eine bessere, weil fernwirkungsfreie Software geschaffen. Die Erfahrungen aus der Entwicklungsarbeit für ein Inkrement können durch ein angepasstes Vorgehen direkt zur Optimierung für das nächste Inkrement genutzt werden. An der Definition dieses kontinuierlichen Verbesserungsprozesses wird durch die frühzeitige Bereitstellung von Komponenten des Produktes auch der Auftraggeber beteiligt.

INffORUM bietet Ihnen Unterstützung, wenn Sie eine Evolutionäre / Inkrementelle Software-Entwicklung einführen wollen und wenn Sie eine Systematisierung des Verbesserungsprozesses für Ihre unternehmensspezifische Evolutionäre / Inkrementelle Anwendungsentwicklung erreichen wollen.

Zur Unterstützung gehören auch die Gestaltung der Modelle, die Erstellung einer Arbeitsanleitung zum Vorgehensmodell für die Entwickler (s.a. Projekt-Beispiel: Vorgehensmodell Analyse mit Einsatz case/4/0, Vorgehensmodell mit Word-Dokumentation) sowie den zugehörigen Know-how-Transfer in Form von Schulung (Seminar, Workshop, Tutorial) und Coaching. Das Training für ein Evolutionäres bzw. Inkrementelles Vorgehen, sowohl Seminar als auch Workshop und Tutorial, kann dabei auf den speziellen Bedarf einer Projekt-Gruppe zugeschnittenen werden.

Profitieren Sie von den langjährigen Erfahrungen der INffORUM Berater.






STEPS in 'Management von Software-Projekten (Kap. 3)'




Kapselungsprinzip für Methoden / Komponenten (Seite 4.34)