Ian Carroll: 17 sposobów na zarządzanie zależnościami
„Zależności są wszędzie„
Metryk Cycle Time pokazuje jaką ilość czasu zajmuje realizacja zadań od momentu zobowiązania się do pracy do momentu spełnienia Definition of Done. To co chcemy osiągnąć to być bardziej przewidywalni. W metryce zaobserwujemy to w histogramie Cycle Time. Jest wiele czynników które mogą wpływać na brak (niższą) przewidywalność. Można to też określić mianem fat/long tail distribution, czyli długiego lub krótkiego ogona. Taka informacja jest bardzo przydatna w zrozumieniu co dzieje się w naszym projekcie. Ponieważ tych czynników jest zawsze wiele, jednym z nich, którym tutaj się zajmiemy, są zależności w projekcie agile.
3 rodzaje zależności
Rozmawiając o zależnościach zawsze warto się upewnić o którym typie mówimy.
- zależności wiedzy
- zależności zadań
- zależności zasobów
Zespoły nawet jeżeli są samowystarczalne w pewnych obszarach są zależne od innych zespołów. Często mogą być to zależności wielopoziomowe, gdzie poszczególne zespoły stają się dla siebie zespołami down stream i up stream.
2 podejścia do zarządzania zależnościami:
- usunięcie zależności w projekcie Agile – przeważnie trudne do osiągnięcia
- zmniejszenie wpływu zależności na przepływ pracy
17 sposobów zarządzania: zależności w projekcie Agile:
- planowanie prac przy pomocy wykresów Gantt’a
- tablica zależności (popularna w SAFe) – zwróć uwagę, że często są tworzone ale potem nie aktualizowane
- wizualizacja blokad i zależności, i ich grupowanie również z użyciem matrycy
- ograniczenie WIP na poziomie portfolio
- monitorowanie i redukcja czasów oczekiwania
- tworzenie możliwości rozwiązywania zadań we własnym zespole
- swarming pomiędzy zespołami
- pull requests – działanie w trybie bardziej open source niż zamkniętych repozytoriów
- używanie mocków, uproszczonych rozwiązań
- redukcja kolejek
- wizualizacja zależności w backlogu
- zarządzanie oboma stronami zależności – wizualizacja pracy na tablicy każdego zespołu
- mapa zależności
- ustalone zasady działania szczególnie dla zadań pilnych
- zmiany architektury aby możliwe było przerwanie zależności
- usunięcie współdzielonych środowisk pracy
- trunk based development
Podsumowanie tematu zależności w projekcie Agile
Pamiętaj, że w celu lepszego zarządzania zależnościami warto skupić się na takich trzech obszarach:
- wizualizacja
- metryki
- optymalizacja
Teraz Przeczytaj też Troy Magennis: Zrozumieć wpływ ryzyka, blokerów i zależności.