Metodyka FDD - Feature Driven Development

Indywidualna odpowiedzialność - podział na cechy.


Feature Driven Development (FDD) to metodyka tworzenia oprogramowania należąca do grupy metodyk zwinnych. Wspomaga zarządzanie fazami analiz, projektowania i konstrukcji oprogramowania. Kładzie nacisk na krótkie iteracje, indywidualną odpowiedzialność za kod(programista ma przypisaną klasę, którą się zajmuje), inspekcje, oparcie systemu na wymaganiach klienta, zarządzanie konfiguracją oraz raportowanie i widoczność wyników pracy.

Fazy procesu FDD:

  • tworzenie ogólnego modelu - składa się z następujących zadań:
    • stworzenie zespołu projektowego pod kierownictwem Głównego Architekta,
    • przeprowadzenie przeglądu dziedziny problemu,
    • studiowanie dokumentów z wymaganiami i z dziedziny problemu,
    • przygotowanie alternatywnych modeli w oddzielnych małych grupach projektowych,
    • wypracowanie wspólnego modelu,
    • zatwierdzenie ogólnego modelu,
    • udokumentowanie istotnych założeń dotyczących projektu i alternatywnych rozwiązań.
  • budowanie listy cech - w oparciu o model ogólny budowana jest lista cech produktu, które dostarczą wymaganej funkcjonalności (feature list),
  • planowanie implementacji cech - składa się z następujących zadań:
    • sformowania zespołu planującego,
    • określenia kolejności implementacji,
    • przypisania zbioru cech do Głównych Programistów,
    • przypisania klas do programistów.
  • projekt według cech - składa się z następujących zadań:
    • sformowania zespołu programistów pod kierunkiem Głównego Programisty,
    • opcjonalnego przeglądu dziedziny problemu i studiowania dokumentów referencyjnych,
    • stworzenia diagramów sekwencji (ang. sequence diagram),
    • uszczegółowienia modelu obiektowego,
    • zapisania nagłówków klas i metod,
    • inspekcji projektu.
  • implementacja według cech - składa się z następujących zadań:
    • implementacja kodu klas,
    • przeprowadzenie inspekcji kodu,
    • testowanie jednostkowe,
    • integracja nowego kodu z produktem.

Role w FDD:

  • kierownik projektu,
  • główny architekt,
  • eksperci dziedzinowi,
  • kierownik dewelopmentu,
  • główni programiści,
  • właściciele klas.
Komentarze facebook (polub nasz profil na FB aby je zobaczyć):