DSDM Atern ang. Dynamic Systems Development Method

DSDM
Metodyka
Zarządzanie projektami
Logo DSDM Atern
WłaścicielDSDM Consortium
RozpowszechnianieDSDM Consortium
Powstanie1995 r.
Aktualna wersjaDSDM Atern (2007 r.)
CertyfikacjaDSDM Consortium
Oficjalna strona internetowa
DSDM - metodyka zarządzania projektami zaproponowana przez brytyjskie konsorcjum DSDM, należy do zwinnych metod zarządzania projektami i początkowo była stosowana jako metoda tworzenia oprogramowania.

Podstawowe założenia DSDM opierają się na tym, że zadania, które należy wykonać w celu stworzenia danego systemu, zawsze podlegają zmianom i stąd wzięła się potrzeba opracowania Metodyki Projektowania Systemów Zmiennych w Czasie.

DSDM należy do metod iteracyjnych i przyrostowych, która łączy w sobie wszelkie cechy zwinnego podejścia do zarządzania projektami wraz ze stałym zaangażowaniem klienta/użytkownika.

Spis treści

Rozwój standardu

We wczesnych latach dziewięćdziesiątych powstało określenie "Rapid Application Development" (RAD) - czyli "szybkie tworzenie aplikacji". Ta ideologia i technologia zarazem polega na zapewnieniu programistom dużych ilości gotowych komponentów i szerokich możliwości prototypowania. Dzięki temu otrzymuje się możliwość uzyskania efektów już w początkowych fazach etapu programowania. Jednak technologii RAD brakowało uporządkowanej struktury i definicji odpowiedniego procesu. Dopiero po powołaniu do życia konsorcjum DSDM w 1994r., jego założyciele wykorzystali swoje doświadczenia najlepszych praktyk i na bazie RAD powstała metodyka Dynamic System Development Method.

Najnowsza wersja DSDM została wydana w roku 2007 pod nazwą DSDM Atern. Nazwa Atern to skrót od Arctic Tern (pol. rybitwa popielata) - chętnie współpracującego ptaka, który może pokonywać duże odległości i uosabia wiele cech tej metodyki, przyjętych za naturalny sposób pracy - np. ustalanie priorytetów i chęć do współpracy.

Poprzednia wersja DSDM (wydana w maju 2003r) DSDM 4.2. nadal zachowuje swoją ważność i jest powszechnie używana. Jest to nieznacznie rozszerzona wersja DSDM 4. Wersja 4.2. zawiera wskazówki dotyczącego tego, jak używać DSDM w połączeniu z metodyką programowania ekstremalnego (ang. Extreme Programming).

Zastosowanie

DSDM ustala koszty, jakość i czas od samego początku procesu tworzenia oprogramowania i używa priorytetyzacji zakresu, stosowanego w metodzie MoSCoW, ustalając wszystkie możliwości, powinności oraz ograniczenia, aby dostosować gotowość projektu do spełnienia założeń dotyczących ograniczenia czasowego. DSDM jest jedną z wielu metod Agile tworzenia i rozwoju oprogramowania, ale także i rozwiązań nie związanych z IT. Jako taka, metoda ta jest zgodna z załozeniami Agile Alliance. Jej kluczowymi zasadami są:
  • Koncentracja na potrzebach biznesowych firmy.
  • Dostarczanie oprogramowania na czas.
  • Współpraca z klientami, użytkownikami i innymi interesariuszami.
  • Brak kompromisów względem jakości - tylko najwyższa i stała jakość.
  • Stopniowe budowanie oparte na solidnych fundamentach.
  • Rozwój iteracyjny.
  • Stała i jasna komunikacja.
  • Stała kontrola.


Opis

Skład procesu DSDM

  • Inspekcja zastosowalności - jest wykonywana zawsze na początku projektu jednokrotnie w celu potwierdzenia zasadności stosowania metody DSDM, w trakcie wykonywania inspekcji zastosowalności wstępnie określa się ryzykowne punkty w projekcie, jeśli to niezbędne buduje się prototypy, ilość prac jaką przeznacza się na tę fazę daje się zrealizować w kilka tygodni.
  • Badania biznesowe służą rozpoznaniu kluczowych dla projektu lub jego części zagadnień i osób po stronie odbiorcy, w późniejszym okresie osoby te są włączane w proces opracowywania systemu; efektem działań w tej fazie są wysokopoziomowy opis systemu (ang. Businnes Area Definition), specyfikacja zakresu systemu, zarys architektury systemu (ang. System Arhitecture Definiction) oraz plan prototypowania (ang. Outline Prototyping Plan).
  • Iteracyjne opracowanie modelu funkcjonalnego (ang. Functional model iteration) - jest to etap budowy modelu funkcjonalnego, składa się naprzemiennie z procesów analizy i budowy prototypów, wyniki prototypowania służą do poprawienia i uszczegółowienia modeli analitycznych; w miarę możliwości prototypy są udoskonalane w taki sposób, by można było je włączyć do produktu końcowego, efektem końcowym tej fazy jest model funkcjonalny oraz kod prototypów, prototypowanie jest często traktowane jako forma testowania modelu funkcjonalnego. W każdej pętli iteracji tworzone są następujące dokumenty:
    • lista funkcjonalności do opracowania wraz z ich priorytetami,
    • uwagi i komentarze użytkowników na temat prac w aktualnym cyklu (ang. functional prototyping review documents),
    • wymagania niefunkcjonalne,
    • analiza ryzyka pod kątem dalszych prac,
    • iteracyjne projektowanie i implementacja (ang. design and build iteration)
Model funkcjonalny opracowany w poprzednim etapie jest przekształcany w kod źródłowy właściwego produktu, prototypy powstałe w trakcie prac nad modelem funkcjonalnym mogą być w tej fazie adaptowane do kodu aplikacji, wynikiem tej fazy jest przetestowany produkt zawierający uzgodniony wcześniej zestaw funkcjonalności,
  • Wdrożenie - na tym etapie, sprawdzony system, w tym odpowiednia dokumentacja, jest dostarczany użytkownikom. Zaczyna się także organizacja szkoleń dla przyszłych użytkowników.

Praktyki wprowadzane przez DSDM

  • Użytkownik jest aktywny w procesie tworzenia oprogramowania.
  • Zespoły biorące udział w DSDM są uprawnione do podejmowania decyzji.
  • Duży nacisk na częste dostarczanie nowych wersji oprogramowania.
  • Każda nowa wersja jest oceniana pod kątem przydatności i odpowiedniości w zastosowaniach biznesowych.
  • Iteracyjne i inkrementalne tworzenie oprogramowania.
  • Prowadzenie kontroli wersji, aby zmiany mogły być wycofywane.
  • Testowanie jest integralną częścią każdego etapu w projekcie.

Role w projekcie

DSDM wyróżnia 15 ról w procesie tworzenia oprogramowania. Najważniejsze i najistotniejsze z nich to:
  • Executive Sponsor (Project Champion) - rola, mająca możliwość i uprawnienia zatwierdzać zmiany w projekcie oraz zdobywać potrzebne zasoby, materiały; ma decydujący głos w dyskusjach; sponsor projektu.
  • Visionary - osoba odpowiedzialna za to aby w miarę wcześnie sprecyzować wymagania, posiada najlepsze rozeznanie w dziedzinie zastosowań produkowanego systemu, nadaje projektowi kierunek rozwoju, często pomysłodawca systemu.
  • Ambassador User - odpowiedzialny za przekazanie wiedzy od klienta, odpowiedzialny jest za całokształt projektu, zapewnia sprzężenie zwrotne programistom podczas implementacji.
  • Advisor User - rolę tę pełni użytkownik (użytkownicy) wyznaczeni do reprezentowania danego punktu widzenia na projekt, są przedstawicielami użytkowników, ma wgląd w realizowany projekt a w miarę potrzeb potrafi dostarczyć programistom odpowiedniej wiedzy na dany temat - za który jest odpowiedzialny.
  • Technical Co-ordinator - osoba odpowiedzialna za architekturę systemu, kontrolę realizacji oraz techniczną jakość projektu, odpowiedzialny za architekturę i jakość produktu, zarządza zmianami w projekcie.
  • Team Leader - dowodzi zespołem ludzi i zapewnia im stale możliwość efektywnej pracy.
  • Developer - implementuje system, interpretuje wymagania systemowe oraz model systemu, dostarcza kod programu i buduje prototypy.
  • Senior Developers - odpowiedzialni za analizę, starsi programiści wyznaczani są na podstawie doświadczenia w danej dziedzinie lub technologii.
  • Tester - testuje poprawność techniczną produktu, pisze testy, dodaje odpowiednie komentarze i tworzy dokumentację.
  • Scribe - odpowiedzialny za zbieranie i zapisywanie wymagań, porozumień i decyzji podjętych przy wspólnej pracy
  • Facilitator - kieruje postępami prac, stanowi motor do przygotowań do pracy a także jest odpowiedzialny za dobry przebieg komunikacji
  • Business Architect, Quality Manager, System Integrator - osoby pełniące inne funkcje podczas realizacji projektów tradycyjnymi metodami


Uwagi

Podejście to jest zgodne z PRINCE2.[1]

Zobacz też

Linki zewnętrzne

Bibliografia

Znaki towarowe

  • DSDM® and Atern® are registered trademarks of Dynamic Systems Development Method Limited in the United Kingdom and other countries;
  • DSDM® and Atern® are registered trademarks of Dynamic Systems Development Method Limited in the United Kingdom and other countries;
  • PRINCE® and PRINCE2® are registered trade marks of the Cabinet Office;
ostatnia modyfikacja 20 sierpnia 2016 r.