Wdrażanie kultury Agile
Jeśli z ostatniej dekady "transformacji Agile", nie ma jednego uniwersalnego rozwiązania do wdrożenia lub wdrożenia podejścia Agile . Każda organizacja ma różne potrzeby, ograniczenia i wymagania. Ślepo po receptie nie doprowadzi do sukcesu.
Ruch Agile polega na ciągłym znajdowaniu sposobów ulepszania praktyki tworzenia oprogramowania. Nie chodzi o doskonały codzienny standup lub retrospektywę. Zamiast tego chodzi o tworzenie kultury, w której właściwa rzecz dzieje się częściej niż nie. Działania takie jak standupy i retrospektywy mają swoje miejsce, ale nie zmienią kultury organizacji.
W tym artykule szczegółowo elementy podstawowe, które każda organizacja musi utworzyć sposób myślenia i kulturę Agile. Zalecenia nie powinny być przestrzegane ślepo. Każda organizacja powinna stosować to, co ma sens w danym środowisku.
Harmonogram i rytm
Nie ma idealnej długości przebiegu. Zespoły odniosły sukces z długościami sprintu, które wahają się od jednego do czterech tygodni. Najważniejszą sprawą jest spójność.
Wybierz długość przebiegu, która działa dla kultury, produktu i chęci dostarczenia aktualizacji w organizacji. Na przykład dział Developer Tools w firmie Microsoft (około 6000 osób) pracuje w trzech tygodniach przebiegu. Zespół kierowniczy nie wybrał tej długości przebiegu; pochodziła ona z bezpośrednich opinii zespołów inżynieryjnych. Cały podział działa na tym trzytygodniowym harmonogramie przebiegu. Sprinty od tego czasu stały się pulsem organizacji. Teraz każdy zespół maszeruje do pokonania tego samego bębna.
Ważne jest, aby wybrać długość przebiegu i trzymać się z nim. Jeśli istnieje wiele zespołów Agile, wszystkie powinny używać tej samej długości przebiegu. Jeśli opinie napędzają zmianę, bądź otwarty. Stanie się jasne, kiedy obowiązują właściwe terminy.
Kultura wysyłki
Peter Provost, główny menedżer programu grupy w firmie Microsoft, powiedział: "Nie można oszukiwać wysyłki." Prostota i prawda tego oświadczenia jest kamieniem węgielnym kultury Agile. Peter oznacza, że wysyłka oprogramowania nauczy Cię rzeczy, których nie możesz i nie zrozumiesz, chyba że rzeczywiście wysyłasz oprogramowanie.
Ludzka natura ma opóźniać lub unikać robienia rzeczy, dopóki nie będzie to absolutnie konieczne. To nie może być bardziej prawdziwe, jeśli chodzi o tworzenie oprogramowania. Zespoły punt usterek na końcu cyklu, nie myślą o konfiguracji lub uaktualnieniu, dopóki nie zostaną zmuszone do i zwykle unikają takich rzeczy jak lokalizacja i ułatwienia dostępu wszędzie tam, gdzie to możliwe. Gdy ten wzorzec się pojawi, zespoły tworzą dług techniczny, który będzie musiał zostać wypłacony w późniejszym czasie. Wysyłka wymaga zapłaty wszystkich długów. Nie można oszukiwać wysyłki. Aby ustanowić kulturę Agile, zacznij od próby wysłania produktu na końcu każdego przebiegu. Na początku nie będzie łatwo, ale gdy zespół spróbuje go, szybko odkryją wszystkie rzeczy, które powinny się wydarzyć, ale nie są.
Zespoły w dobrej kondycji
Nie ma przepisu dla idealnego zespołu Agile. Jednak kilka kluczowych cech znacznie ułatwia osiągnięcie sukcesu.
Współlokuj zespoły zawsze, gdy jest to możliwe
Czy zespół może znaleźć sukces z ludźmi rozmieszczonymi w różnych lokalizacjach geograficznych? Tak, ale jest to trudniejsze. Gdy ludzie są współlokowane i siedzą w tym samym pokoju, właściwe rozmowy po prostu się zdarzają. Nadal można odnieść sukces z zespołami znajdującymi się na całym świecie i w różnych strefach czasowych. Ale czy ten sam zespół nie ma przewagi bez tych wszystkich przeszkód?
Zachowaj nienaruszone zespoły przez rozsądny czas
Umożliwia zespołom opanowanie sztuki tworzenia oprogramowania razem. Gdy zespoły są scrambled, każda chemia, którą opracowali, zostaje zakłócona. Czasami właściwe jest zreorganizowanie, ale zespoły są zazwyczaj bardziej produktywne, gdy otrzymują czas, aby dowiedzieć się, jak współpracować. Zgodnie z wytycznymi, staraj się zachować zespoły nienaruszone przez co najmniej 12 miesięcy.
Równoważenie obciążenia pracy, a nie osób
Czasami zespoły stoją w tyle i potrzebują pomocy. Typową taktyką rozwiązania tego problemu jest wypożyczenie osoby od jednego zespołu do drugiego. Może to być jednak sprzeczne z produktem. Lepszym rozwiązaniem jest równoważenie obciążenia pracy z innym zespołem, a nie równoważenie obciążenia między nimi. Ściąganie osoby z jednego zespołu, aby pomóc innemu zakłócić obie drużyny i może sfrustrować osobę przenoszoną, nawet jeśli jest tymczasowa. Wszystko to wpływa na produktywność zespołu i, co jest bardziej prawdopodobne niż nie, negatywnie wpływa na zdolność powrotu do harmonogramu.
Równoważenie obciążenia działa zamiast osób, dzięki czemu zespół, który jest już ustalony, aby wejść i pomóc. Staje się to rozmową o priorytetach, a nie rozmową o ludziach.
Zezwalaj zespołom na posiadanie obszarów funkcji, a nie warstw architektury
Staraj się tworzyć zespoły pionowe, które są właścicielami obszarów funkcji. Te zespoły są odpowiedzialne za całą pracę wymaganą do dodawania funkcji do ich obszaru, od bazy danych do zmian interfejsu użytkownika. Zespół jest uprawniony do dostarczania i posiadania kompleksowego środowiska.
Gdy zespoły poziome posiadają warstwy architektury, żaden zespół nie jest odpowiedzialny za kompleksowe środowisko pracy. Dodanie funkcji wymaga, aby wiele zespołów koordynowało i wymaga wyższego poziomu zarządzania zależnościami. Rozwiązywanie usterek wymaga, aby wiele zespołów zbadało, czy jest właścicielem kodu wymaganego do naprawienia usterki. Usterki są poobijane, gdy zespoły określają, że nie jest to ich usterka i przypisz je do innego zespołu.
Zespoły funkcji nie mają tych problemów. Własność i odpowiedzialność są jasne. Może istnieć miejsce dla niektórych zespołów opartych na architekturze. Jednak zespoły skoncentrowane w pionie są bardziej skuteczne.
Następne kroki
Gdy zespoły rozpoczynają własną transformację Agile, pamiętaj o tych podstawowych zasadach. Pamiętaj, że nie ma jednego przepisu, który będzie działać dla każdej organizacji. Przekształcenia Agile to podróż. Wprowadź zmiany i naucz się od nich. W miarę upływu czasu organizacja opracuje potrzebną kulturę Agile.
Firma Microsoft jest jedną z największych firm Agile na świecie. Dowiedz się więcej o tym, jak firma Microsoft przyjęła kulturę Agile na potrzeby planowania metodyki DevOps.
Dowiedz się, jak usługa Azure DevOps umożliwia zespołom wdrażanie i skalowanie kultury Agile.