W ostatnich latach Agile stał się hasłem o tyle głośnym, o ile jest nośne w branży IT i poza nią. Zwinne zespoły, zwinne zarządzanie, zwinne dostarczanie, zwinny biznes. Zwinność ponad wszystko! Tak wiele mówimy o tej zwinności, a w moim odczuciu relatywnie niewiele jest jej efektów.
Najsłynniejszym reprezentatntem Agile’a w świecie IT jest oczywiście Scrum. Wstyd go nie mieć, powiedziałabym, sądząc po tym, jak większość firm bez namysłu odwróciła się od waterfalla, idąc ku lepszemu. Często bez wiedzy i bez pomysłu, jednak z przekonaniem, że zwinność (cokolwiek znaczy) to właściwy kierunek. W końcu konkurencja już to ma.
3…2…1… Scrum start!
Zaczyna się od daily meetingów, tablic scrumowych, nadania ról. Czasem firma dorzuci jakieś szkolenia na start i jedziemy z tym Scrumem! Zapominamy jednak, że Agile to filozofia, to stan umysłu, a nie artefakty i role. W organizacjach, których umysł nie jest agile’owy framework scrumowy staje się wydmuszką. Zwinność musi być w myśleniu i działaniu. Pozwolę sobie przytoczyć słowa Alistaira Cockburn’a, amerykańskiego informatyka, jednego z inicjatorów zwinnego ruchu w rozwoju oprogramowania (celowo w języku angielskim, aby nie pozbawić ich utraty na znaczeniu):
Agile … is an attitude, not a technique with boundaries. An attitude has no boundaries, so we wouldn’t ask ‘can I use agile here’, but rather ‘how would I act in the agile way here?’ or ‘how agile can we be, here?’
— Alistair Cockburn
Zaczynaliśmy na poziomie dewelopmentu po to, aby po latach zrozumieć, że oprócz Scruma w zespołach deweloperskich potrzebujemy czegoś więcej. Potrzebujemy mentalności na poziomie organizacji. I potrzebujemy zwinego procesu zaadaptowanego do naszych potrzeb, takiego, który będzie nas wspierał.
Ubieranie wszystkich projektów w ramy jednego procesu (jakiegokolwiek) zawsze będzie któryś projekt uwierać. Możemy być Agile, ale w różny sposób. I to właśnie w Agile’u jest najfajniejsze. Zapominamy o tym, przytwierdzając się do myśli, że scrum guide’owa wersja Scruma jest jedyną słuszną. Oczywiście jest, jeśli mowa o Scrumie. Rodzą się jednak pytania, po pierwsze, czy nasze rozumienie jej jest słuszne, po drugie, czy tylko Scrum jest słuszny do tego, aby być zwinnym?
Scrum-but, a jednak Agile!
Proces, w którym obecnie pracuję mógłby bez wahania być nazwany Scrum-butem, pomimo to jest procesem agile’owo dobrym. Dobrym, czyli spełniającym swoje cele i będącym w zgodzie z wartościami i pryncypiami Agile, bogatym również w dobre praktyki. Jest procesem zwinnym. Realizujemy cel, jakim jest ciągłe dostarczanie wartości biznesowej. Przyjmujemy zmiany, aby zapewnić konkurencyjność rozwiązań i odpowiadać na potrzeby użytkowników końcowych. Zespół deweloperski ma wpływ na architekturę rozwiązań i kontakt z przedstawicielami biznesu. Rozmawiamy ze sobą często pomimo różnic kulturowych i stref czasowych. Koncentrujemy się na jakości, dbając o kod już na etapie tworzenia, ale również przez refaktoring, który jest częścią niemal każdej iteracji. Zespół proponuje technologiczne usprawnienia i zmiany. Na tej podstawie sądzę, że jest zmotywowany :) Oczywiście są pewne aspekty niedoskonałe, są powody do narzekań i pola do poprawy. Zmiana jest procesem i wymaga czasu. Nad tym też pracujemy. Ilość pomysłów na usprawnienia jakie rodzą się podczas retrospektyw pokazuje mi jaki potencjał jest w zespole. Różne punty widzenia spotykają się ze sobą, aby dążyć do wspólnego celu – aby wspierać zwinność.
To be or not to be Agile?
Nie mam potrzeby nazywania procesu, w jakim pracujemy. Porównywanie się do Scrum’a rodziłoby frustrację zespołu. Nie, nie jest to książkowy Scrum. Ale czy o to właśnie chodzi, żeby ubierać niepasujący garnitur tylko dlatego, że jest modny? Wolę myśleć, że pracujemy agile’owo. Uczę zespół myśleć, że pracujemy agile’owo, chodzi bowiem bardziej o pewien sposob myślenia, niż o ramy działania. I chodzi o konsekwencję.
Do Agile’a musi również dojrzeć klient. Trend trendem, ale firmy wciąż chcą wiedzieć ile zapłacą i za co oraz kiedy będą to mieć. Nic dziwnego. Czy to już nie jest Agile? Przecież w Agile’u pieniądze nie leją się z kranu, są budżety i limity. Zakres też wysokopoziomowo jest zdefiniowany, choć może częściej ubrany w postać celu biznesowego. Klient powinien rozumieć na czym to zwinne dążenie do celu będzie polegało, a wykonawca wiedzieć, że time & material też ma gdzies koniec.
Klient również musi umieć współpracować z zespołem i mieć tę gotowość w sobie. Musi mieć na to czas i szereg kompetencji społecznych. Musi się zaadaptować do takiego sposobu pracy. Tego również nie zapewnią nam kontrakty, jeśli nie będzie tej zwinności w myśleniu na poziomie czysto ludzkim i na poziomie samej oganizacji.
Zespoły deweloperskie powinny być zmotywowane, samo-organizujące się i na tyle dojrzałe, aby mogły same stanowić o sposobie pracy. Nie zawsze są. I co? Nie możemy już być Agile? Możemy. Biorąc pod uwagę obecny rynek pracy i trudność w zatrudnieniu i utrzymaniu deweloperów, często pracujemy z zespołami, jakie mamy, a nie jakie sobie wybieramy. To wersja Agile z wyzwaniami.
Project Manager – czarna owca Agile’a?
No i kolejne nurtujące nas pytanie – czy w Agile’u nie ma miejsca dla project managera? Zdecydowanie bliższe jest mi zarządzanie niż “servant leadership”. Rola Scrum Mastera to ta, której nigdy nie chciałam pełnić. Czy nie jestem “Agile enough”? Jako project manager z krwi i kości (żaden Scrum Master), zarządzam zmianami (udaje się zwinnie), ryzykami (jest ich niemało), zasobami (jakkolwiek to brzmi), a także (bardzo świadomie) interesariuszami. Tak, robię to w Agile’u.
No i w końcu… skąd się bierze zwinność?
Kluczowe dla tego artykułu jest pytanie: skąd się bierze zwinność? Odpowiem jednym rysunkiem.
Rys. 1. Skąd się bierze zwinność?
Agile’owa (samo-) ewaluacja
Zanim Ty odpowiesz sobie czy jesteś Agile, sprawdź czy:
1. Na poziomie zwinnej organizacji:
- Myślisz i działasz systemowo
- Zachęcasz do współpracy
- Promujesz transparentność
- Wybierasz liderów zmiany
2. Na poziomie zwinnego biznesu:
- Reagujesz szybko na potrzeby rynku
- Działasz pod kątem wartości biznesowej
- Śledzisz i mierzysz wartość biznesową
3. Na poziomie zwinnego zarządzania:
- Myślisz i działasz systemowo
- Wspierasz ciągle doskonalenie
- Modelujesz pożądane zachowania
4. Na poziomie zwinnych zespołów deweloperskich:
- Adaptujesz metody i praktyki Agile
- Stwarzasz środowisko dla Agile’a
- Świętujesz sukcesy zespołu
A ponad wszystko czy kultywujesz mentalność Agile i podzielasz wartości i pryncypia Agile. I czy w ogóle je znasz :)
Fajny post :)
Dobry początek dyskusji. Może następnym razem przy śniadaniu :) (jak to brzmi! a przecież mam na myśli śniadania biznesowe :D)
Mi zabrakło bardziej wyraźnego zaznaczenia, że w Scrum chodzi o samoorganizację i oddanie części decyzyjności zespołowi – zaufanie, że jest w stanie dojść do dobrych rozwiązań, jeśli mamy wartości Scrum – m.in. transparentność, odwagę, zaufanie. Oraz jeśli ich decyzje mają potencjał naprawdę wpływać na projekt.
Może to jest ta różnica w podejściu do zarządzania, ale już wiele razy widziałem jak zespół może zacząć działać inaczej, jeśli po partnersku robimy wspólny projekt, a nie robią go jedynie dla mnie i wynagrodzenia.