Modelowanie zwinne - Agile modeling

Modelowanie zwinne (AM) to metodologia modelowania i dokumentowania systemów oprogramowania w oparciu o najlepsze praktyki. Jest to zbiór wartości i zasad, które można zastosować w (zwinnym) projekcie tworzenia oprogramowania. Ta metodologia jest bardziej elastyczna niż tradycyjne metody modelowania, dzięki czemu lepiej pasuje do szybko zmieniającego się środowiska. Jest częścią zestawu narzędzi do tworzenia oprogramowania Agile .

Modelowanie zwinne jest uzupełnieniem innych metodologii programowania zwinnego, takich jak Scrum , programowanie ekstremalne (XP) i Rational Unified Process (RUP). Jest wyraźnie uwzględniony w ramach zdyscyplinowanego zwinnego dostarczania (DAD). Według statystyk z 2011 r. Zwinne modelowanie stanowiło 1% całego zwinnego tworzenia oprogramowania.

Podstawowe praktyki

Istnieje kilka podstawowych praktyk:

Dokumentacja

  1. Dokumentuj w sposób ciągły. Dokumentacja jest tworzona przez cały cykl życia, równolegle do tworzenia reszty rozwiązania.
  2. Dokument późno. Dokumentację sporządza się jak najpóźniej, unikając spekulacyjnych pomysłów, które mogą się zmienić na korzyść stabilnych informacji.
  3. Wykonywalne specyfikacje. Wymagania są określane w postaci wykonywalnych „testów klienta” zamiast niewykonalnej „statycznej” dokumentacji.
  4. Informacje z jednego źródła. Informacje (modele, dokumentacja, oprogramowanie) są przechowywane w jednym miejscu i tylko w jednym miejscu, aby uniknąć pytań o „poprawną” wersję / informacje.

Modelowanie

  1. Aktywny udział interesariuszy. Zainteresowane strony modelowanego rozwiązania / oprogramowania powinny być w to aktywnie zaangażowane. Jest to rozszerzenie praktyki klienta na miejscu z Extreme Programming .
  2. Wizja architektury. Zespół przeprowadza lekkie, wysokopoziomowe modelowanie, które jest ledwo wystarczająco dobre (JBGE) na początku projektu oprogramowania, aby zbadać strategię architektury, która według zespołu będzie działać.
  3. Narzędzia integracyjne. Preferuj narzędzia do modelowania, takie jak tablice i papier, które są łatwe w użyciu (są dołączone).
  4. Modelowanie iteracyjne. Gdy wymaganie / element pracy nie zostało wystarczająco szczegółowo zbadane poprzez modelowanie z wyprzedzeniem, zespół może zdecydować się na tę eksplorację podczas sesji planowania iteracji / sprintu. Potrzeba zrobienia tego jest ogólnie postrzegana jako objaw, że zespół nie wykonuje wystarczającego modelowania z wyprzedzeniem.
  5. Po prostu ledwo wystarczająco dobry (JBGE). Wszystkie artefakty, w tym modele i dokumenty, powinny wystarczyć do wykonania zadania. JBGE ma charakter kontekstualny, w przypadku modelu jest określany przez połączenie złożoności tego, co opisuje model, i umiejętności odbiorców tego modelu.
  6. Modelowanie z wyprzedzeniem. Zespół zwinny będzie analizować swoje zaległości w zakresie jednej lub więcej iteracji / sprintów w przód, aby upewnić się, że wymaganie / element pracy jest gotowy do pracy. W Scrumie nazywane również „oczyszczaniem zaległości” lub „udoskonalaniem zaległości” .
  7. Model szturmowy. Krótka, często improwizowana, zwinna sesja modelowania. Organizowane są sesje modelowania w celu zbadania szczegółów wymagań lub aspektu projektu.
  8. Wiele modeli. Zwinni projektanci powinni wiedzieć, jak tworzyć szereg typów modeli (takich jak historyjki użytkownika, mapy fabularne, modele danych, diagramy UML ( Unified Modeling Language ) i nie tylko), aby zastosować najlepszy model dla danej sytuacji.
  9. Wymagania z priorytetami. Wymagania należy opracować w kolejności priorytetów.
  10. Przewidywanie wymagań. Zespół wykonuje lekkie, wysokopoziomowe modelowanie, czyli JBGE na początku projektu oprogramowania w celu zbadania wymagań interesariuszy.

Ograniczenia

Istnieje znaczna zależność od komunikacji osobistej i współpracy z klientami. Dyscypliny modelowania zwinnego mogą być trudne do zastosowania:

  • W dużych zespołach (powiedzmy 30 lub więcej) bez odpowiedniego wsparcia narzędziowego
  • Gdy członkowie zespołu nie mogą udostępniać modeli i współpracować nad nimi (co ogólnie utrudniłoby tworzenie zwinnego oprogramowania )
  • Gdy umiejętności modelowania są słabe lub ich brakuje.

Zobacz też

Bibliografia

Zewnętrzne linki