Czas czytania: słowa

Wtorek, 06.02.2018

O planowaniu

Rozmawiając o realizacji projektu zawsze, prędzej czy później przejdziemy do kwestii planowania. Zadamy sobie pytanie - dlaczego tak trudno precyzyjnie zaplanować to, czego oczekiwalibyśmy na koniec projektu?
Niestety, w zasadzie w przypadku rozwiązań informatycznych typu tworzenie oprogramowania, należy założyć, że precyzyjne planowanie w ogóle nie jest możliwe.

Bo zwykle nie wiemy z czym się mierzymy

Wyobraź sobie, że właśnie pędzisz na jakieś kolejne spotkanie w firmie, a tu nagle podchodzi do Ciebie przesympatyczna osoba pełna bardzo ciekawych pomysłów i pyta:
- Słuchaj, mamy taki ciekawy projekt dla naszego klienta.
Myślisz sobie ok, niech rzuci tematem zobaczymy cóż to za ciekawy projekt i mówisz:
- No dajesz, zamieniam się cały w słuch.
- Słuchaj jest taki pomysł ...
i tutaj zaczyna się bardzo ciekawa opowieść, a na koniec …
- no wiesz, to raczej chyba prosta rzecz, kilka ekranów no i fajnie byłoby gdy będzie też mobilnie, na początek iOS starczy.
Twoje oczy są coraz większe, po czym pytasz grzecznie:
- Ale jak mogę Ci pomóc?
Konsternacja na twarzy rozmówcy.
- Nie, no nie wygłupiaj się, powiedz mi ile potrzebujesz na to czasu i na kiedy to będzie, bo wiesz zarząd mi to już klepnął.
I co robisz wtedy, jak zazwyczaj odpowiadasz na takie pytania?

Opisana sytuacja w setkach różnych wariantach spotyka nas często.

  • Czy jesteśmy w stanie udzielić precyzyjnej odpowiedzi i od czego zależy jakość tej odpowiedzi?
  • Czy zawsze osoba, pełniąca rolę kierowniczą w obszarze projektów powinna umieć udzielić odpowiedzi?
  • Kiedy udzielenie takiej odpowiedzi jest możliwe?

Tematem już dawno zainteresowali się specjaliści od socjologii i zarządzania. Gdzie leży problem? Wygląda na to, że problem tkwi w wielu obszarach, również w samym człowieku. Jednak w tym miejscu skupię się tylko na samym środowisku w którym człowiek musi podejmować decyzje i udzielać odpowiedzi na pytania typu: "na kiedy to skończysz?”.

Po pierwsze rozpoznaj stopień złożoności

Pierwszy problem to rozpoznanie i zdefiniowanie z jakim stopniem złożoności i skomplikowania przychodzi nam się mierzyć.
Wyobraźcie sobie taką sytuację. Bardzo dobry kierownik projektu z firmy handlowej, który świetnie „zarządzał” obsługą procesów handlowych platformy e-commerce, zostaje zatrudniony na super warunkach do firmy produkującej oprogramowanie na życzenie.

Do tego momentu, nasz manager wraz ze swoim poprzednim zespołem doskonale poznał platformę e-commerce za pomocą której firma handlowa dla której pracował sprzedawała swoje produkty. Brał udział w pracach wdrożeniowych oraz wspierał rozwój platformy e-commerce wrzucając ciekawe drobne usprawnienia. Zaplanowane zadania rzadko napotykały na problemy, z którymi zespół naszego managera nie mógłby się szybko uporać.

Doskonale sprawdzały się klasyczne metody zarządzania projektami polegające na planowaniu konkretnego zadania do zrobienia oraz terminu jego realizacji. Duża powtarzalność tych samych czynności, wdrożone dobre praktyki i zasady, świetnie działały w środowisku …, no właśnie, mało skomplikowanym.

W tym przykładzie, zarządzanie platformą e-commerce znajduje w obszarach środowiska prostego i skomplikowanego. Tutaj jest zdecydowanie więcej czynników znanych niż nieznanych co przedstawia poniższy rysunek.
Image
Powyższy rysunek przedstawia model środowiska opisanego w przykładzie. Na osi Y mamy stopień porozumienia co do wymagań od 10 do 0. Oczywiście czym wartość bliższa 10-ciu tym porozumienie pełniejsze.
Na osi X mamy stopień pewności i znajomości wykorzystywanej technologii do osiągnięcia rezultatu zdefiniowanego w wymaganiach. Tutaj również stopniowanie od 10 do 0 oznacza, że wartość bliższa 10-ciu określa pełniejszą wiedzę w zakresie wykorzystywanej technologii.

Stopnie złożoności środowisk

Na poniższym rysunku przedstawiony został model stopni złożoności systemów.
Image
Stopnie złożoności środowisk:

Prosty - wszystko jest wiadome i znane
Skomplikowany - więcej jest wiadomych niż niewiadomych
Złożony - więcej jest niewiadomych niż wiadomych
Chaos - prawie nic nie jest wiadome
Wracając do naszego managera. Znalazł się w nowej firmie, nowym otoczeniu oraz przyjdzie mu się zmierzyć z zupełnie nowym dla niego stopniem złożoności środowisk.

Jak uważacie, jakim środowiskiem jest proces tworzenia oprogramowania?
W jakim środowisku znajdują się ludzie przed którymi piętrzy się niekończąca lista wciąż zmieniających się wymagań, dynamiczna technologia, harmonogramy, a przy tym wszystkim muszą zachować cały czas zdolność kreatywnego, twórczego myślenia?

Tak, już się pewnie domyślacie, że poziom skomplikowania takiego środowiska jest bardzo wysoki. Mamy bardzo dużo niewiadomych, a bardzo niewiele wiadomych. W takiej sytuacji próba udzielenia precyzyjnej odpowiedzi na pytanie ile potrzebujesz czasu, aby ukończyć dany projekt czy zadanie to prawie to samo co określanie przyszłych kursów akcji na giełdzie - możemy tylko prognozować w oparciu o aktualną wiedzę.
Image
Oczywiście, w zależności od danej sytuacji próby udzielenia odpowiedzi będą podjęte ponieważ czasem pytana osoba nie chce "stracić twarzy” albo po prostu boi się o swoją reputację zawodową lub poddana jest silnej presji. Dodatkowo z natury człowiek jest optymistą i ma skłonności do przesadnej wiary w swoje możliwości. Doskonale opisał to Daniel Kahneman w książce "Pułapki myślenia. O myśleniu szybkim i wolnym”.

Dostosuj model zarządzania

Razem z różnym stopniem złożoności środowisk dochodzi konieczność dostosowania metody współpracy między ludźmi. Dobrze sprawdzające się metody w środowiskach prostych zupełnie nie sprawdzają się w środowiskach o wysokiej złożoności.

Zwykle ludzie, którzy znaleźli się w nowej sytuacji, próbują korzystać z wyuczonych oraz sprawdzonych metod. Jeżeli nasz manager tak zrobi w tym przypadku i nie dostosuje się do radykalnie innego środowiska, to prawdopodobnie spotka go oględnie mówiąc duże rozczarowanie i irytacja.
Stacks Image 166

Warto na początku określić w organizacji obszary charakteryzujące się określonym stopniem złożoności środowiska. Jeśli uda nam się to określić to kolejnym krokiem może być przygotowanie ludzi do właściwych modeli współpracy w danym obszarze organizacji.

Podsumowanie

Dobrze, jeśli dla wszystkich zainteresowanych stron stanie się bardziej jasne, że pracując razem w środowisku o wysokiej złożoności pytanie o termin realizacji powinniśmy zamienić się w pytanie o prognozowany termin realizacji i tak też go rozumieć. Będzie nam zdecydowanie łatwiej skupić się i podążać w kierunku oczekiwanego rezultatu, a nie terminu.
Wspólne przejście drogi tak, aby osiągnąć prognozowany termin zakończenia to już temat na osobny artykuł :)

Źródła

  • "A Leader’s Framework for Decision Making" by David J. Snowden and Mary E. Boone Ralph Stacy.
  • "A list of websites and reading materials on strategy & complexity” by Seerp Wigboldus.
  • "Pułapki myślenia. O myśleniu szybkim i wolnym” autor Daniel Kahneman.