Pytanie jak w tytule ostatnio dostałem od pewnej osoby na maila i rozpisałem się dość mocno, co o tym sądzę, więc wklejam również na bloga.
Nigdy nie zastosowałem DSDM w praktyce i nie znam żadnej aktualnej prawdziwej historii o jego zastosowaniu. Tego typu modele (starające się pokryć wszystkie elementy korporacyjne, odpowiedzieć na wszystkie możliwe nawet hipotetyczne zagrożenia) są kuszące w świecie korporacyjnym, ale ich praktyczna aplikacja moim zdaniem mija się z jednym z celów transformacji zwinnej – rewizji absolutnie wszystkich procesów, procedur i ról, według których postępujemy aktualnie.
Takie modele jak DSDM (ale też SAFe) wyglądają na „bezpieczny” agile – wszystkie odpowiedzi są zawarte, nie zmienia się zbyt wiele, każdy korporacyjny silos i właściciel procesu znajdzie w nich zadanie dla siebie. Transformacja zwinna nie powinna mieć tematów tabu ani świętości nie do ruszenia, więc zamiast pokrywania wszystkich możliwych procesów korporacyjnych i próby odszukania na nie alternatywy w świecie zwinności – powinniśmy przy każdej takiej kwestii postawić sobie pytanie czy i dlaczego naprawdę potrzebujemy oddzielną rolę, proces albo właściciela bramki decyzyjnej na daną kwestię. Zwłaszcza, jeśli procesy tego typu mają gdzieś głęboko zaszyte niebezpieczne założenia w stylu „nasi ludzie są leniwi, kiepscy merytorycznie i nie wolno im zaufać, więc zmusimy ich do przestrzegania uciążliwej procedury i postawimy oddzielnego właściciela procedury który będzie to rozliczał”.
Sam byłem w takim punkcie na początku drogi ku zwinności (w Allegro), ale z perspektywy czasu mocno twierdzę, że wiele procesów takich jak zarządzanie portfelem, sformalizowane podejścia do architektury, rozbudowane i rozseparowane funkcje utrzymania jakości, porozdzielane silosy kompetencyjne – to wszystko w ramach agile trzeba radykalnie poupraszczać, przekazać odpowiedzialności tam, gdzie one powinny się znajdować (zespoły, biznes, ew. menedżer liniowy zespołu). I mówię to z perspektywy członka PMO odpowiedzialnego za zespół zarządzania portfelami – po kilku miesiącach transformacji mój własny zespół został rozwiązany, bo przestaliśmy być organizacji potrzebni w tej roli. Za to nasze kompetencje odnalazły się w zupełnie innych rolach – Product Ownerów, Scrum Masterów, Agile Coachów.
Oczywiście okres przejściowy (w realiach dużych organizacji – pewnie wieloletni) będzie zmuszał do współegzystowania podejścia sformalizowanego i zwinnego – ale wizja docelowa organizacji powinna być jednoznaczna, odpowiedzialność za produkt w stałych zespołach produktowych złożonych z wszystkich kompetencji technologicznej i biznesowych, przejrzystość działań, wysoka jakość pracy inżynierskiej, szybkie decyzje. Do takiej wizji sformalizowane i rozdzielające odpowiedzialność procesy nie pasują. Jeśli jednak organizacja nie ma apetytu na zwinność (ujmując to dyplomatycznie), zamiast modeli sztywnych takich jak DSDM już prędzej zastosowałbym framework Disciplined Agile Delivery, który pokrywa wszystkie aspekty funkcjonowania IT i pokazuje opcje do wyboru, mniej i bardziej zwinne sposoby zrealizowania na przykład zarządzania wymaganiami itp..