W i l l k o m m e n   b e i   [ www.mauspfeil.com ]
 
 



 

Wörterbuch der Bedeutung
<<Zurück
Bitte wählen Sie einen Buchstaben:
A, Ä | B | C | D | E | F | G | H | I | J | K | L | M | N | O, Ö | P | Q | R | S | T | U, Ü | V | W | X | Y | Z | 0-9

Suchen:

(Groß-/Kleinschreibung wird nicht unterschieden)

Google


Feature Driven Development

*** Shopping-Tipp: Feature Driven Development

'''Feature Driven Development''' (Abk. FDD) ist eine Sammlung von Arbeitstechniken, Strukturen, Rollen und Methoden für das Projektmanagement im Rahmen Agile Softwareentwicklung agiler Softwareentwicklung.

Grundlagen
FDD wurde als schlanke Methode von Jeff De Luca im Jahre 1997 definiert, um ein großes zeitkritisches Projekt (15 Monate, 50 Entwickler) durchzuführen. Seitdem wurde FDD kontinuierlich weiterentwickelt. FDD stellt den Funktionalität Feature-Begriff in den Mittelpunkt der Entwicklung. Jedes Feature stellt einen Mehrwert für den Kunden dar. Die Entwicklung wird anhand eines Feature-Plans organisiert. Eine wichtige Rolle spielt der Chefarchitekt (engl. Chief Architect), der ständig den Überblick über die Gesamtarchitektur und die fachlichen Kernmodelle behält. Bei größeren Teams werden einzelne Entwick-lerteams von Chefprogrammierern (engl. Chief Programmer) geführt. FDD definiert ein Prozess- und ein Rollenmodell, die gut mit existierenden klassischen Projektstrukturen harmonieren. Daher fällt es vielen Unternehmen leichter, FDD einzuführen als XP oder Scrum. Außerdem ist FDD ganz im Sinne der agilen Methoden sehr kompakt. Es lässt sich auf 10 Seiten komplett beschreiben.

FDD-Prozessmodell
FDD-Projekte durchlaufen fünf Prozesse. # Prozess #1: Entwickle ein Gesamtmodell (Rollen: alle Projektbeteiligte) # Prozess #2: Erstelle eine Feature-Liste (Rollen: i.d.R. nur die Chefprogrammierer) # Prozess #3: Plane je Feature (Rollen: Projektleiter, Entwicklungsleiter, Chefprogrammierer) # Prozess #4: Entwerfe je Feature (Rollen: Chefprogrammierer, Entwickler) # Prozess #5: Konstruiere je Feature (Rollen: Entwickler) Die ersten drei Prozesse werden innerhalb weniger Tage durchlaufen. Die Prozesse 4 und 5 werden in ständigem Wechsel durchgeführt, weil jedes Feature in maximal zwei Wochen realisiert wird.

Prozess #1: Entwickle ein Gesamtmodell
Im ersten Prozess definieren Fachexperten und Entwickler unter Leitung des Chefarchitekten Inhalt und Umfang des zu entwickelnden Systems. In Kleingruppen werden Fachmodelle für die einzelnen Bereiche des Systems erstellt, die in der Gruppe vorgestellt, ggf. überarbeitet und schließlich integriert werden. Das Ziel dieser ersten Phase ist ein Konsens über Inhalt und Umfang des zu entwickelnden Systems sowie das fachliche Kernmodell.

Prozess #2: Erstelle eine Feature-Liste
Im zweiten Prozess detaillieren die Chefprogrammierer die im ersten Prozess festgelegten Systemberei-che in Features. Dazu wird ein dreistufiges Schema verwendet: Fachgebiete (engl. Subject Areas) bestehen aus Geschäftstätigkeiten (engl. Business Activities), die durch Schritte (engl. Steps) ausgeführt werden. Die Schritte entsprechen den Features. Die Features werden nach dem einfachen Schema aufgeschrieben, z.B. „Berechne Gesamtsumme der Verkäufe“. Ein Feature darf maximal zwei Wochen zu seiner Realisierung benötigen. Das Ergebnis dieses zweiten Prozesses ist eine kategorisierte Feature-Liste, deren Kategorien auf oberster Ebene von den Fachexperten aus Prozess #1 stammen.

Prozess #3: Plane je Feature
Im dritten Prozess planen der Projektleiter, der Ent-wicklungsleiter und die Chefprogrammierer die Rei-henfolge, in der Features realisiert werden sollen. Dabei richten sie sich nach den Abhängigkeiten zwischen den Features, der Auslastung der Program-mierteams sowie der Komplexität der Features. Auf Basis des Plans werden die Fertigstellungstermine je Geschäftsaktivität festgelegt. Jede Geschäftsaktivität bekommt einen Chefprogrammierer als Besitzer zugeordnet. Außerdem werden für die bekannten Kernklassen Entwickler als Besitzer festgelegt (engl. Class Owner List).

Prozess #4: Entwerfe je Feature
Im vierten Prozess weisen die Chefprogrammierer die anstehenden Features Entwicklerteams auf Basis des Klassenbesitztums zu. Die Entwicklerteams erstellen ein oder mehrere Sequenzdiagramme für die Features und die Chefprogrammierer verfeinern die Klassenmodelle auf Basis der Sequenzdiagramme. Die Entwickler schreiben dann erste Klassen- und Methodenrümpfe. Schließlich werden die erstellten Ergebnisse inspiziert. Bei fachlichen Unklarheiten können die Fachexperten hinzugezogen werden.

Prozess #5: Konstruiere je Feature
Im fünften Prozess programmieren die Entwickler die im vierten Prozess vorbereiteten Features. Bei der Programmierung werden Komponententests und Code-Inspektionen zur Qualitätssicherung eingesetzt.

Literatur
* Stephen R. Palmer, John M. Felsing: ''A Practical Guide to the Feature-Driven Development'' Prentice Hall International, 2002, ISBN 0130676152 * Henning Wolf, Stefan Roock, Martin Lippert: ''eXtreme Programming'' dpunkt, 2., überarb. u. erw. Aufl., 2005, ISBN 3898643395. Das Buch enthält auch eine kurze Beschreibung von FDD. Teile dieses -Eintrages basieren mit freundlicher Genehmigung des dpunkt-Verlages auf der Beschreibung im Buch.

Weblinks

- Die aktuelle "offizielle" FDD-Beschreibung
- Informationen und Diskussionen zu FDD Kategorie:Projektmanagement Kategorie:Vorgehensmodell (Software) en:Feature Driven Development pl:Feature Driven Development

*** Shopping-Tipp: Feature Driven Development




[Der Artikel zu Feature Driven Development stammt aus dem Nachschlagewerk Wikipedia, der freien Enzyklopädie. Dort findet sich neben einer Übersicht der Autoren die Möglichkeit, den Original-Text des Artikels Feature Driven Development zu editieren.
Die Texte von Wikipedia und dieser Seite stehen unter der GNU Free Documentation License.]

<<Zurück | Zur Startseite | Impressum | Zum Beginn dieser Seite