katalog

Zamów katalog

Jeżeli chcesz otrzymywać informacje na temat naszych szkoleń, podaj swoje dane.

LogowanieMoje dane

Wydania PM Newsletterów

O PM Newsletterze
Strona główna > PM Newsletter > PM Newslettery > 3/2008 > Artykuły > Istota adaptacyjności: Co czyni projekt adaptacyjnym? Część 1 z 3 Uczenie się i dostosowywanie się oraz współpraca

Istota adaptacyjności: Co czyni projekt adaptacyjnym? Część 1 z 3 Uczenie się i dostosowywanie się oraz współpraca

Alan S. Koch, PMP

Sposób podejścia określany mianem agile postrzega się często jako usprawiedliwienie dla braku dyscypliny. Mówiono mi, że polega on w istocie na zajęciu się realizacją określonego celu, a kiedy skończą się przeznaczone na ten cel środki, zażąda się więcej. Ten schemat myślenia, a także wiele innych stwierdzeń jemu podobnych pokazują, że wiele osób nie rozumie na czym faktycznie polega adaptacyjność.
Ów brak zrozumienia nie powinien wszakże dziwić, bowiem pojęcie agile (w języku polskim dodatkowo tłumaczone na niezliczone sposoby – przyp. tłum.) wiąże się z bardzo różnorodnymi działaniami. I w niektórych wypadkach trzeba przyznać, że termin ten istotnie stanowi wymówkę dla braku dyscypliny.
Sednem adaptacyjności jest zaś pewien zbiór możliwych do zauważenia zachowań i działań. Próbując dostrzec te zachowania oraz ocenić, do jakiego stopnia służą one wartościom i zasadom adaptacyjności, możemy stwierdzić, czy przedsięwzięcie ma faktycznie cechy pozwalające nazwać je adaptacyjnym, czy też rości sobie do tego prawo zupełnie bezzasadnie.
Adaptacyjność i dyscyplina
Każda organizacja ceni adaptacyjność. Kojarzy się ona ze zdolnością do stawienia czoła wszystkiemu co nas spotka, nie tracąc przy tym równowagi i pewnego rytmu działań. W wypadku tworzenia oprogramowania przekłada się to na utrzymanie wydajności i wykonania projektu w obliczu zmieniających się potrzeb odbiorcy, priorytetów biznesowych, rozwiązań technicznych i dynamiki organizacyjnej.
Stosowanie pojęcia adaptacyjności jako synonimu braku dyscypliny jest zwyczajnym nadużyciem. Kent Beck (współautor książki Extreme Programming Explained) napisał w przedmowie do mojej książki: „Adaptacyjność w wypadku oprogramowania wymaga żelaznej dyscypliny”. Jak zatem odróżnić prawdziwą adaptacyjność od nieskładnych i nieuporządkowanych zachowań?
Według zamierzeń ich twórców i wtedy, gdy korzystają z nich zdyscyplinowane zespoły, metody adaptacyjne polegają na zastosowaniu rozmaitych taktyk zmierzających do stworzenia adaptacyjnego środowiska projektowego. Nie istnieje przy tym jakiś ściśle określony zestaw rozwiązań, gwarantujący pełnię adaptacyjności. W praktyce pod szyldem adaptacyjności funkcjonują dziesiątki różnych metod i każda z nich cechuje się czymś odmiennym od pozostałych.
Prawdziwa adaptacyjność opiera się na kilku odrębnych zasadach, których podstawą jest unikalny system wartości. (Odsyłam tu do Manifestu Adaptacyjności na stronie www.agilemanifesto.org.). Zastosowanie tych wartości i zasad skutkuje kilkoma niepowtarzalnymi zachowaniami, które może zaobserwować i obiektywnie ocenić każdy interesariusz projektu. Ten zbiór zachowań nazywam Istotą Adaptacyjności:
• Uczenie się i dostosowywanie się
• Współpraca
• Nastawienie na odbiorcę
• Niewielkie, samorządne zespoły
• Zasady „odchudzania”
• Stopniowe doprecyzowywanie wymagań
• Przyrostowa realizacja
• Iteracyjne planowanie i dostosowywanie się
W tym artykule, stanowiącym pierwszy z cyklu trzech tekstów, omówimy pierwsze dwa z tych zachowań. Przyda nam się w tym celu odwołanie się do cyklu adaptacyjności.

Diagram 1 - koch

Uczenie się i dostosowywanie się
Sedno adaptacyjności sprowadza się do uświadomienia sobie, że w chwili rozpoczęcia projektu nie wiemy wszystkiego. Nawet to, co w naszym mniemaniu wiemy, może ulec weryfikacji w trakcie trwania przedsięwzięcia i w wyniku zmian w otaczającym nas świecie. Z pewnością przy tym nie mamy pojęcia, jakie czekają nas niespodzianki.
Z uwagi na tak dużą dozę niepewności, każdy projekt traktujemy jako doświadczenie poznawcze. W istocie tak organizujemy projekty, by zwiększać tempo, w jakim uczymy się. Kwestie techniczne? Zbadać je jak najwcześniej. Niepewność związana z odbiorcami? Uzyskać ich opinie na temat pierwszych przyrostów produktu. Pytania dotyczące jakości? Sprawdzać szybko i często. Trudności związane z integracją? Rozwiązywać codziennie, a nawet na bieżąco. Im szybciej odpowiemy na jakieś pytanie, zajmiemy się jakąś kwestią i zmierzymy z trudnościami, tym szybciej dostosujemy się do tego, czego się nauczyliśmy. Tym szybciej wyrównamy drogę, którą kroczy projekt.
Dostosowywanie się to powód, dla którego chcemy się uczyć i uczymy się szybko. Zaczynamy każdy projekt mając najlepsze na tym etapie wyobrażenie tego, co nas w nim czeka. Jednakże w miarę uczenia się, nieustannie odkrywamy, że niektóre z naszych przewidywań były chybione. Tam, gdzie oczekiwaliśmy prostej drogi czeka nas mnóstwo zakrętów. Czy będziemy pędzić na łeb, na szyję? Naturalnie nie. Postaramy się dostosować ponownie oceniając sytuację, tym razem opierając się już na nowej wiedzy i dopasowując nową drogę do obranego kierunku. Zastosowanie tego, czego się uczymy to jedyny sposób na udaną realizację naszych przedsięwzięć. Ślepe trzymanie się starego planu byłoby absurdem!
Adaptacyjne zespoły projektu nie tylko poznają niepewność. Uczą się także samych siebie i swoich metod. Na koniec każdej iteracji przeprowadzają rodzaj podsumowania, zastanawiając się, co się sprawdziło, co spowodowało trudności, jak dobre były wcześniejsze oszacowania, czy stworzono wartość dla odbiorcy, czy obrano drogę prowadzącą do sukcesu... Następnie dostosowują swoje metody i plany do kolejnej iteracji, zastanawiając się, co tym razem należałoby zmienić. A na koniec następnej iteracji zadają sobie pytanie, jak zmieniło to ich pracę i czy nadal postępować w ten sposób.
W tym ciągłym cyklu uczenia się i dostosowywania się zespół adaptacyjny tworzy faktyczną wartość dla odbiorców i – co więcej – uczy się, jak robić to coraz skuteczniej.
Współpraca
Uczenie się jest naturalnym działaniem ludzkim, a jest ono najbardziej skuteczne w warunkach kontaktu z innymi ludźmi. Współpraca w zespole adaptacyjnym może przybierać wiele form, a każda z nich ma kluczowe znaczenie dla zdolności zespołu do skutecznego tworzenia wartościowych produktów dla swych odbiorców.
Pierwszy rodzaj współpracy występuje w samym zespole adaptacyjnym. W jego skład wchodzą przedstawiciele wszystkich dyscyplin technicznych potrzebnych w projekcie: architekci i projektanci, programiści, analitycy baz danych, testerzy, autorzy tekstów technicznych itd. Żaden z nich nie chowa się w swoim cichym kąciku i nie pracuje samodzielnie. Wprost przeciwnie – stale współpracują ze sobą na każdym kroku w projekcie.
Taki sposób podejścia sprzyja uczeniu się (omówionemu wcześniej), ponieważ każdy członek zespołu dowiaduje się, co robią inni i uczy się doceniać oraz szanować swoich kolegów. (O tak, nawet testerów!) W ten sposób w projekcie powstaje nie tylko zdrowsza atmosfera, ale również wzmacnia się sam zespół, a jego członkowie zyskują nową wiedzę i większą skuteczność działania. Współpraca interdyscyplinarna pozwala również zespołowi zgłębiać i rozwiązywać kwestie techniczne oraz szybciej odkrywać niespodzianki tego typu, co dodatkowo ułatwia szybsze uczenie się i dostosowywanie się do zdobytej wiedzy służące pomyślnej realizacji projektu.
Współpraca nie ogranicza się jednak tylko do grona zespołu. Dotyczy również relacji z kierownictwem, odbiorcami oraz wszystkimi interesariuszami projektu. Otwarta komunikacja i przejrzystość w przekazywaniu informacji to kolejny czynnik sprzyjający szybkiemu uczeniu się i skuteczniejszemu dostosowywaniu się. Co więcej, pomaga on budować zaufanie i zapobiega jakże powszechnemu schematowi myślenia „my i oni”. Jeśli współpracują ze sobą i uczą się nawzajem od siebie wszystkie osoby związane z przedsięwzięciem, sam projekt znacznie łatwiej nabiera tempa i daje większe szanse na uzyskanie pożądanego rezultatu. A kiedy pojawiają się nieuniknione przecież problemy, zamiast wytykania palcami winnych i prób unikania odpowiedzialności, wszyscy wspólnie zabierają się za rozwiązywanie problemów.
Dążenie do większej adaptacyjności
Kolejne zachowania składające się na istotę adaptacyjności omówimy w kolejnych częściach tego cyklu. Już teraz jednak można zacząć dążyć do prawdziwej adaptacyjności.
Można przyjąć zasadę, że każdy projekt zaczyna się od wielu nieznanych oraz że ich poznawanie jest czymś dobrym! Można szukać skuteczniejszych sposobów uczenia się oraz uwzględniania tego, czego się nauczyliśmy w projekcie, w miarę jak trwa jego realizacja. Można również nagradzać chęć do uczenia się, zamiast karać za „zmiany”.
By tak się stało trzeba stworzyć atmosferę współpracy, w której wszyscy interesariusze projektu (odbiorcy, kierownictwo i każda z dyscyplin technicznych) wspólnie dążą do sukcesu projektu. Swobodny i otwarty przepływ informacji ułatwi wykształcenie przekonania, że wszyscy zajmujemy się czymś razem i będzie sprzyjał współpracy.
Dzięki temu staniemy się nieco bardziej adaptacyjni, jednak trudno będzie w pełni wykształcić te zachowania bez pozostałych składników istoty adaptacyjności. Warto zatem czekać na ciąg dalszy!

________________________________________
©2008 Alan S. Koch. Wszelkie prawa zastrzeżone. Opublikowane przez ProjectConnections za zgodą autora.

Alan S. Koch, PMP, autor książki Agile Software Development: Evaluating the Methods for your Organization, wygłasza odczyty, pisze i udziela konsultacji na temat skutecznego zarządzania projektami. Specjalizuje się w poprawie rentowności inwestycji softwarowych poprzez skupianie się na jakości zarówno samego oprogramowania jak i procesów, w których to oprogramowanie powstaje. Można się z nim skontaktować za pośrednictwem strony internetowej www.ASKProcess.com.