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: