Brak Procesu
Nie wiem jak Ty, ale ja za czasów studenckich za większość projektów zabierałem się w ostatniej chwili i pisałem tyle, żeby je zaliczyć. Nie tworzyłem żadnego planu, ani nie tworzyłem harmonogramu na kilka miesięcy do przodu. Brak Procesu to podejście „Weźcie i Zróbcie” (lub w krakowskim „Weźże i Zróbże”). W tworzeniu oprogramowania nazywane jest również Cowboy Coding, albo Programming-Motherf*cker. Nie wymusza żadnego procesu, definiuje jedynie oczekiwany wynik, a czasami również termin ukończenia. To czy zespół będzie pokazywał postęp i zbierał informację zwrotną zależy wyłącznie od jego potrzeb. Świetnie sprawdza się do bardzo prostych prac, takich jak wymiana żarówki, czy posprzątanie garażu, w przypadku których najczęściej obejdzie się bez ustalania Kierownika Projektu, tworzenia Project Management Planu i zarządzania zmianą.
W biznesie jest często popularny w jednoosobowych projektach oraz startupach, które robią to co uznają w danym momencie za konieczne. Używają go też działy wsparcia, czy obsługi klienta, rzucając wszystko, żeby obsłużyć najbardziej awanturującego się klienta. Co ciekawe, wiele dużych organizacji również go wykorzystuje, choć najczęściej nieświadomie. Prosimy Krzyśka i Ankę, żeby popatrzyli na problemy z prędkością działania bazy i dajemy im na to trzy miesiące. Po trzech miesiącach okazuje się, że potrzebują kolejnych trzech, potem następnych, a potem nagle oboje pracują gdzie indziej zabierając ze sobą wiedzę i nie dostarczając żadnej wartości. Dlatego Brak Procesu może stanowić problem przy bardziej złożonych przedsięwzięciach.
Jeżeli chodzi o myśliwce, to najlepszym przykładem jest znany w Polsce F-16. Zbudowany przez trzech inżynierów w terminie i budżecie (jako jedyny myśliwiec USA) ponad 40 lat temu sprawdza się do dzisiaj. Z jednej strony ich współpraca pozwoliła na szybkie dostarczenie wartościowego produktu, z drugiej strony brak przepływu wiedzy do reszty organizacji doprowadziło do zwolnienia całej trójki po zakończeniu projektu.
Zalety:
- Lekki. Brak formalizmu i zbędnego narzutu procesowego. Bez dodatkowej dokumentacji i kontroli nad postępem prac.
- Elastyczny. Pozwala reagować na nowe informacje i zmiany w otoczeniu.
Wady:
- Brak przejrzystości. Nie wiemy, co i jak się dzieje. Właściwie nigdy nie jesteśmy pewni, gdzie jesteśmy. Ciężko porównywać postępy do planu jak się nie ma planu. O tym, kiedy skończymy dowiemy się,… gdy skończymy. To oczywiście powoduje brak kontroli.
- Z tego też powodu ciężko nam poprawiać sposób pracy, bo sukcesy i porażki są często wynikiem szczęścia (lub jego braku) i intuicji zespołu.
- Wiedza nie przepływa do reszty firmy i może zniknąć wraz z pracownikami.
- Bardzo ryzykowny z punktu widzenia kontraktów, bo nie wiesz co, kiedy i czy w ogóle dostaniesz.
Model Predykcyjny
Gdy zabieraliśmy się za pracę magisterską potrzebowaliśmy jakiegoś planu, żeby mieć nadzieję, że uda nam się ją obronić przed końcem roku akademickiego. Model Predykcyjny zakłada, że jesteś w stanie przewidzieć większość niespodzianek i z góry je zaadresować. Inaczej mówiąc, jeżeli poświęcisz odpowiednią ilość czasu na zbieranie informacji, to stworzysz plan gwarantujący sukces. Tego podejścia prawdopodobnie użyjesz w przypadku większych przedsięwzięć, takich jak budowa domu, podróż życia, albo własny ślub. Kłopoty pojawiają się, gdy okazuje się, że nie przewidzieliśmy wszystkiego. Np podczas budowy domu odkryjesz gazociąg idący przez Twoją działkę, albo jak my tuż przed oddaniem naszej pracy magisterskiej, że trzeba jeszcze stworzyć instalator do aplikacji na Windowsa.
W biznesie to podejście jest znane jako Model Kaskadowy albo Tradycyjny. Prace najczęściej wykonywane są w projektach, gdzie z góry planuje się kolejne fazy i zakres prac. Te pozwolą wyliczyć czas i budżet oraz przeprowadzić wszystkie prace według planu. Model sprawdza się przy powtarzalnych, przewidywalnych przedsięwzięciach, gdzie można zarządzać ryzykami, a ilość niewiadomych jest mała. Może być zastosowany na przykład przez agencję interaktywną do zrobienia kolejnej strony, niewiele różniącej się od tuzina poprzednich. Albo do wdrożenia narzędzia „z pudełka” u kolejnego klienta. Sprawdzi się też, gdy koszty poprawy wprowadzonego rozwiązania są bardzo wysokie. Na przykład przy budowaniu autostrady, lub nowej sieci energetycznej. Albo przy ustalaniu nowej struktury płac w organizacji.
W temacie myśliwców, nie wygląda to na najlepsze podejście. Najnowsze dzieło amerykanów, F-35 opóźniony o ponad pięć lat, wciąż boryka się z błędami. Koszt programu urósł o ponad 70% przekraczając 400 miliardów (tak, czwórka i jedenaście zer). Do tego jeszcze należy doliczyć koszty utrzymania szacowane na poziomie 1,1 tryliona dolarów. Jednocześnie jedna maszyna kosztuje ponad 100 milionów, czyli dwukrotnie więcej niż początkowo zakładano. Na szczęście dla producenta program jest „za duży, żeby upaść”.
Zalety:
- Zdefiniowane procesy mają na celu uzyskanie większej kontroli nad przebiegiem projektu. Dobrze zdefiniowane fazy i techniki śledzenia postępu dają poczucie kontroli
- Najczęściej powstaje dokumentacja projektowa, pozwalająca zachować przynajmniej część stworzonej wiedzy w organizacji.
- Pozwala spisać kontrakty typu „stały zakres-czas-koszt” i przerzucić odpowiedzialność na podwykonawcę.
Wady:
- Zakłada, że wszystkie informacje możemy zebrać na początku projektu w formie wymagań i na ich podstawie wycenić koszt i czas trwania projektu. Bardzo często prowadzi to do sytuacji, że wstępne oszacowania stają się zobowiązaniami, a założenia faktami.
- Narzucone procesy często nie są dostosowane do specyfiki projektu co powoduje zbędny narzut procesowy (np. pisanie niepotrzebnej dokumentacji, używanie nieefektywnych rozwiązań).
- Celem projektu jest zgodność z uprzednio zebranymi wymaganiami. Często prowadzi to do skupienia się na spełnieniu wymagań i zgodności z procesem, a nie spełnieniu potrzeb klientów.
- Zmiany wiążą się z ponownym przeplanowaniem projektu. Są kosztowne i trudne do wprowadzenia, dlatego są unikane, nawet jeżeli niosą korzyść dla klienta. Z tego powodu wszystkie możliwe wymagania są umieszczane w specyfikacji „na wszelki wypadek”.
- Zarządzanie odbywa się poprzez kontrolę wykonania planu. Odchylenie od planu traktowane jest jako problem, nawet jeżeli miałoby prowadzić do zwiększenia zysku z inwestycji.
- Postęp projektu mierzony jako % wykonania zadań, które często nie mają jasnych kryteriów zakończenia (np. kiedy zakończyliśmy zbieranie wymagań?), co powoduje, że problemy ujawniają się dopiero pod koniec trwania projektu. Tym samym projekt jest „zielony” przez większość czasu, aż do nastąpienia katastrofy. Ponieważ „Czas-Zakres-Cena” są stałe (tzw. żelazny trójkąt), odbija się to zwykle na jakości produktu.
- Praca jest przekazywana pomiędzy działami funkcjonalnymi (np. analiza, dewelopment, testy), z których każdy jest odpowiedzialny tylko za konkretną część tworzenia produktu. Ich pracownicy są rozliczani za swoją efektywność, co generuje liczne problemy, wliczając to dużą ilość sztucznych zależności, którymi trzeba zarządzać, utratę wiedzy, pracę nad dużymi paczkami wymagań, przerzucanie się odpowiedzialnością i „spychanie” roboty.
- To wszystko powoduje, że projekt zajmuje zwykle bardzo dużo czasu.
- Jeżeli próby usprawnienia sposobu działania są podejmowane na koniec projektu (tzw. Post Mortem), to szansa na wykorzystanie tej wiedzy jest niewielka, bo w następnym projekcie będzie inny kontekst (klient, zespół czy technologia).
Model Adaptacyjny
Nasza praca magisterska bazowała na badaniach, które przeprowadzaliśmy przez ponad rok. Polegały one na modyfikacji istniejącego modelu, ponownego nauczenia sieci neuronowych i sprawdzenia wyników. Poprawa wyniku sugerowała, że idziemy w dobrym kierunku. Pogorszenie, że musimy wybrać nowy obszar do eksperymentów. Obrazuje to Model Adaptacyjny, nazywany też Iteracyjnym. Zakłada on, że nie wiemy wszystkiego i będziemy dopiero odkrywać informacje potrzebne do stworzenia produktu. Dlatego dostarczamy go w krótkich, ograniczonych czasowo cyklach, aby móc zareagować na nową wiedzę. Model ten jest podstawą wszystkich badań i eksperymentów naukowych, czyli tego co robiłeś na biologii i chemii w szkole.
W biznesie sprawdza się przy złożonych przedsięwzięciach, gdzie ilość niewiadomych jest większa niż wiadomych. Najczęściej jest to tworzenie nowych produktów (w tym oprogramowania), rozwiązywanie złożonych problemów, czy badania naukowe (R&D). Świetnie sprawdza się też w dowolnej pracy wymagającej myślenia, takiej jak sprzedaż, obsługa klienta, czy edukacja.
Przykład z awioniki? Saab Gripen jest rozwijany w ośrodku w Szwecji przez 4000 pracowników. Oprogramowanie dostarczane jest w trzytygodniowych cyklach, zaś nowa wersja gotowa do lotu jest dostępna raz na pół roku.
Zalety:
- Pozwala szybko dostarczyć wartość dla użytkownika.
- Tym samym daje możliwość otrzymania informacji zwrotnej.
- Oraz reagowania na nią. Poprzez zmianę kierunku, albo zaprzestanie prac. Jest więc otwarty na zmianę.
- Umożliwia skupienie się na wartości, a nie wykonaniu planu.
- W przypadku złożonych przedsięwzięć, takich jak tworzenie oprogramowania, działający software daje więcej informacji niż % wykonania planu.
- Zdecydowanie ogranicza ilość zależności między zadaniami ułatwia planowanie.
Wady:
- Wymaga posiadania w zespole wszystkich kompetencji niezbędnych do dostarczenia wartości dla klienta i skupienie się na efektywności, nie utylizacji. W dużych firmach może to oznaczać znajomość wszystkich komponentów systemu.
- Procesy i praktyki inżynieryjnie muszą być dostosowane do dostarczenia produktu w krótkim cyklu. Jeżeli testy zajmują trzy tygodnie, to nie da się dostarczyć nowej wersji w dwa. Tak samo jeżeli każda decyzja o zmianie musi zostać zaakceptowana przez dyrektora, to szanse na iteracyjność również maleją.
- Ponieważ prace mogą trwać w nieskończoność potrzebna jest jasna wizja co chcemy osiągnąć i narzędzia mówiące nam, czy idziemy w odpowiednim kierunku.
- Kontrakty typu „stały zakres-czas-koszt” oznaczają dla kupującego brak możliwości adaptacji. Dlatego większy sens mają umowy Czas i Materiał (Time & Material), które jednak są trudniejsze do spisania i wyegzekwowania. Podejście to wymaga więc większego zaufania.
Koktajl Procesowy
Napisałem na wstępie, że to są trzy dominujące procesy. Najczęściej są jednak mieszane i mylone ze sobą. Na przykład Brak Procesu jest uważany za Podejście Adaptacyjne („nie piszemy dokumentacji, bo jesteśmy agile”). Tak samo Model Predykcyjny z roczną fazą planowania i czterema wydaniami w roku jest traktowany jako adaptacyjność.
Nie ma złych modeli pracy. Każdy ma swoje wady i zalety. Ważne jest zatem to, żeby wiedzieć jakiego rodzaju prace prowadzimy i jaki model w rzeczywistości używamy. I wreszcie, czy wybraliśmy optymalne dla nas podejście.