Nasze podejście - Code Sprinters

Nasze podejście

Metody Agile są proste, ale ich stosowanie nie jest wcale łatwe. Dotyczy to szczególnie dużych organizacji, które mają już dobrze ukorzenioną kulturę pracy w zupełnie inny sposób. Wdrożenie podejścia Agile w takim środowisku jest długim procesem głębokich zmian.

Z tego powodu często wdrożenie Agile w firmach (zwłaszcza dużych) jest dalekie od ideału. Najczęściej wynika to z mechanicznego stosowania procesów i metod Agile, przez co nie przynoszą one oczekiwanych korzyści (a w wielu przypadkach organizacje nie zdają sobie nawet z tego sprawy). Czasami też idea Agile w organizacji nie jest w ogóle wspierana przez kierownictwo.

Naszą misją jest pomóc naszym klientom uniknąć tych niepożądanych efektów. Nasza wiedza i doświadczenie będą Wam służyć tak, by szanse sukcesu rosły oraz byście w każdym momencie mogli jednoznacznie sprawdzić rzeczywisty stan Waszych zwinnych metod i praktyk.

Nasze podejście charakteryzuje się poniższymi właściwościami:

  • stawiamy wiedzę na pierwszy miejscu,
  • jesteśmy pragmatyczni,
  • wierzymy w stopniową zmianę,
  • zwracamy uwagę na wszystkie aspekty,
  • skupiamy się na rozwijaniu kompetencji klienta.

WIEDZA NA PIERWSZYM MIEJSCU

Z naszego doświadczenia wynika, że najczęstszą przyczyną niezadowalającego – lub nieudanego – wprowadzenia metod Agile jest to, że osoby zaangażowane (w tym decydenci) – nie dysponowały solidnym zrozumieniem Agile zanim zdecydowały o jego wdrożeniu. W prostych słowach: kierownictwo chciało Agile nie wiedząc, o co tak naprawdę prosi.

W Code Sprinters wierzymy, że zanim zastosuje się jakąkolwiek praktykę lub metodę, muszą być one najpierw zrozumiane. Oznacza to, że wszystkie zaangażowane osoby powinny rozumieć dlaczego ta metoda lub praktyka została opracowana w dany sposób, do jakich sytuacji i w jakich kontekstach może być przydatna, jakie szanse i zagrożenia mogą wypływać z jej stosowania, jak wspomagać jej wdrażanie i co jeszcze musi się zmienić, by praktyka została zaadaptowana przez zespół lub całą organizację.

Menedżerowie również muszą rozumieć swoją rolę w danej metodzie i jak najlepiej dostosować swoją postawę, co może wymagać pewnego wysiłku – zwłaszcza jeśli nie mieli wcześniejszych doświadczeń z takim sposobem pracy.

Również zespoły deweloperskie i pozostali pracownicy muszą rozumieć dlaczego niektóre praktyki są wprowadzane, podczas gdy z innych się rezygnuje. Z naszego doświadczenia jasno wynika, że jeśli ludzie rozumieją wprowadzane metody czy praktyki, wiedzą dlaczego są one takie a nie inne, znają nawet ich historię (większość metod wyewoluowała w konkretnych warunkach, inne projektowano dla szczególnych zastosowań), wówczas nie tylko stosują je lepiej i są w ogóle bardziej zmotywowani do korzystania z nich, ale także lepiej rozumieją decyzje o ich wprowadzaniu lub nie.

Zatem naszym pierwszym zadaniem jest dostarczenie solidnej dawki wiedzy o wszystkich tematach opatrzonych zbiorczą etykietą „Agile”, rozpoczynając od podstaw teoretycznych (empiryzmu i adaptacji w kontekście rozwoju produktów) po szczegółowe wyjaśnienie metod, które zalecamy lub które są już stosowane.

PRAGMATYZM

Gdy rozmawia się z konsultantami i praktykami Agile – lub uczestniczy w agile’owej konferencji – trudno nie zauważyć, że dla niektórych osób Agile jest celem samym w sobie. Wyraźnie widać to w prezentowaniu Agile w opozycji do innych metod (szczególnie z dziedziny zarządzania projektami), jako rozwiązania wszelkich bolączek trawiących współczesne organizacje.

Chociaż my też jesteśmy pasjonatami Agile i wierzymy, że jest to najlepszy sposób pracy w złożonym obszarze produkcji i rozwoju oprogramowania, w Code Sprinters postrzegamy metody i praktyki Agile jako narzędzia do osiągania celów biznesowych, technologicznych i ludzkich.

Organizacje muszą zdefiniować sobie takie cele i śledzić metryki pozwalające im w możliwie najbardziej obiektywny sposób kontrolować, czy owe cele rzeczywiście są osiągane. Wdrażanie Agile niczym się tu nie różni – powinno być narzędziem do osiągania konkretnych zamierzeń i organizacja powinna regularnie sprawdzać czy wdrażane praktyki rzeczywiście przynoszą oczekiwane korzyści.

Jak wszystkie inne narzędzia, także Agile ma swoje ograniczenia i działa najlepiej tylko w pewnych określonych sytuacjach. W większości dużych organizacji metody Agile będą musiały być łączone z innymi podejściami do zarządzania pracą – albo tymczasowo (zanim i te obszary nie ulegną zmianie) albo na stałe, ponieważ te wcześniej istniejące metody są bardziej adekwatne dla innych rodzajów pracy.

Jako konsultanci nie skupiamy się wyłącznie na Agile jako takim, ale na współczesnym zarządzaniu i nowoczesnych praktykach technicznych. Pomagamy Klientom osiągać ich cele, a nie przekonywać ich do „Agile” rozumianego jako ideał teoretyczny. Naszym celem jest pomóc naszym Klientom prowadzić sprawny biznes.

Mocno to podkreślamy, gdyż uważamy że właśnie to podejście odróżnia nas od innych konsultantów – i prawdopodobnie wszystkich naszych konkurentów na polskim rynku.

STOPNIOWA ZMIANA

Nasze doświadczenie, jak i powszechna wiedza z obszaru zmiany organizacyjnej, jednoznacznie wskazują że radykalne, rewolucyjne zmiany są ryzykowne i mogą być usprawiedliwione wyłącznie desperackimi okolicznościami (jak groźba rychłego bankructwa lub klęska projektu). W normalnych okolicznościach, gdy w zasadzie wszystko idzie dobrze i jedynie poszukuje się usprawnień, a nie ratunku przed nadciągającą katastrofą, zalecamy stopniowe, ewolucyjne zmiany.

Czasem w firmach, w których Agile jest absolutną nowością w podejściu do pracy, musi jednak nastąpić jakaś cezura – pierwszy krok. Tam rekomendujemy rozpocząć z kilkoma zespołami, złożonymi z ochotników – i kilku pozytywnie nastawionych sceptyków (czyli takich, którzy są sceptyczni, ale chcą dać nowej metodzie uczciwą szansę). Wspomagamy takie zespoły i staramy się utrzymać ich jak najbliżej prawdziwych wartości Agile. Pozwala to członkom tych zespołów zdobywać wiedzę o nowych sposobach pracy płynącą z realnego doświadczenia, którą będą następnie szerzyć wraz z postępem zmian w organizacji. Także pozostali pracownicy pozostający w styczności z tymi pierwszymi zespołami poznają i uczą się nowego sposobu pracy, dzięki czemu będą cennymi sprzymierzeńcami na kolejnych etapach drogi ku zwinności.

Mniej zespołów nie znaczy od razu, że wysiłki będą koncentrowane na jednym produkcie lub projekcie. Jednakże doradzamy zacząć z małymi projektami, gdzie oddziaływanie metod zwinnych na wyniki pracy jest bardziej wyraźne do zaobserwowania.

Po tym pierwszym etapie czas na drugi, zdecydowanie większy – taki, na którym zazwyczaj sięga się po metody skalowania. To może być też punktem startu dla organizacji, gdzie Agile jest powszechnie stosowany, ale tylko na poziomie zespołów.

Oczywiście, zanim zarekomendujemy odpowiednie podejście, będziemy potrzebowali zapoznać się z obecnym stanem organizacji i jej pożądanymi celami.

ZWRACAMY UWAGĘ NA WSZYSTKIE ASPEKTY

Stosowanie prawidłowego procesu – czy to na poziomie zespołu jak Scrum, czy metod skalowania jak Nexus czy SAFe – nie jest wystarczające, by być Agile, osiągać zwinność biznesową i korzyści z niej płynące.

Zespoły muszą być na bieżąco z dobrymi praktykami inżynierii oprogramowania (jak dobre projektowanie obiektowe, używanie wzorców projektowych, czysty kod itd.), jak również być przygotowane do używania nowoczesnych narzędzi (repozytoria kodu, ciągła integracja itd.).

Oprócz tego, wymagane jest też nowoczesne podejście do zarządzania ludźmi – a to wymaga solidnej dawki szkolenia i coachingu menedżerów, pomagającego im pracować w trybie który jest mniej dyrektywny, a bardziej oparty o ich miękkie umiejętności i talenty przywódcze.

W Code Sprinters pracują profesjonaliści z tych trzech obszarów: procesy, technologia, zarządzanie i przywództwo. Dlatego jesteśmy w stanie kompetentnie wspierać naszych Klientów nie tylko w obszarze procesowym, lecz również we współczesnej inżynierii oprogramowania oraz nowoczesnego zarządzania. Innymi słowy, możemy dostarczyć nie tylko konsultantów od procesów, ale też doświadczonych programistów i inżynierów QA, zdolnych do bezpośredniej pracy w Waszych zespołach, oraz profesjonalnych coachów i mentorów, którzy pomogą Waszym pracowników, gdy ci będą odkrywać na nowo swoje role wraz ze zmianami następującymi w organizacji.

BIEŻĄCE WSPARCIE I ROZWÓJ KOMPETENCJI

W Code Sprinters wierzymy, że nasza rola jako zewnętrznych konsultantów polega na pomaganiu w rozwoju Waszych kompetencji i zdolności – by ostatecznie uczynić nas… zbędnymi.

Od pierwszego dnia skupiamy się na rozwoju wewnętrznych umiejętności naszych Klientów. Po udzieleniu wstępnego wsparcia – które może trwać kilka miesięcy i być bardzo intensywne – preferujemy przejście do bardziej pośredniej roli, pracując więcej ze Scrum Masterami, Product Ownerami, wewnętrznymi Agile Coachami, menedżerami i kierownikami projektów, asystując im jako coachowie i mentorzy. Staramy się, by ludzie w organizacji będącej naszym klientem korzystali z otrzymanej podbudowy teoretycznej po to, by uczyć się jak najwięcej z praktyki, przede wszystkim próbując i eksperymentując z własnymi pomysłami – metodami i praktykami. Ostatecznie nie chodzi nam o to, by podążać ślepo za praktykami już istniejącymi, ale by śmiało próbować i empirycznie weryfikować nowe. Tylko w ten sposób można ewolucyjnie rozwijać nowe sposoby pracy, które będą najlepiej służyć Waszej organizacji. Tylko tak zachowana zostanie istota Agile, którą jest empirycznie sterowana ewolucja organizacji, pozwalająca jej na stałe doskonalenie się.

RODZAJE KONSULTANTÓW

By sprostać naszym standardom – że zawsze jesteśmy w stanie wspierać we wszystkich aspektach szeroko rozumianego Agile – nasze usługi są dostarczane przez konsultantów mogących występować w różnych rolach, jak opisano poniżej.

Agile Coachowie

Agile Coach to starszy konsultant z doświadczeniem w stosowaniu i wdrażaniu Agile jak również w dodatkowych dyscyplinach pokroju zarządzania projektami, zarządzania liniowego, facylitacji (m.in. facylitacji wizualnej) i coachingu. Nas Agile Coachowie ukończyli nasz program Agile Coaching Academy oraz są certyfikowanymi trenerami Scrum.org. W zależności od doświadczenia, niektórzy z nich lepiej nadają się do wspierania zespołów i średniego szczebla zarządzania, podczas gdy inni mogą służyć radą i pomocą na szczeblu zarządu.

Agile Coachowie pracują ze Scrum Masterami, Product Ownerami i menedżerami obserwując ich działania w odpowiednich rolach i dostarczając ukierunkowanego wsparcia – działając jako trenerzy, mentorzy i coachowie w zależności od potrzeb, czy to pojedynczej osoby czy całego zespołu w danym momencie. Agile Coachowie zazwyczaj odwiedzają naszych klientów 3-4 razy w miesiącu na dzień lub dwa intensywnej pracy indywidualnej i zespołowej.

Scrum Masterzy

Scrum Masterzy to konsultanci z doświadczeniem w pełnieniu tej roli w różnych zespołach i w różnych organizacjach. Są starannie dobrani, każdy z nich posiada certyfikację Professional Scrum Master, a także wiedzę i doświadczenie w innych niż Scrum metodach z rodziny Agile.

Scrum Master jest osadzony w pracy zespołu i będzie prowadził go na ścieżce do zwiększenia produktywności, jakości i satysfakcji poprzez udoskonalanie stosowania Scrum i dodatkowych metod i praktyk. Przyszły Scrum Master z organizacji Klienta może być szkolony przez naszego konsultanta w trakcie. W takim układzie szkolony Scrum Master będzie od niego stopniowo przejmował facylitację spotkań i inne czynności.

Scrum Masterzy zazwyczaj pracują z zespołami bezpośrednio, codziennie, przez minimum 2 miesiące.

Eksperci techniczni

Dodatkowo dostarczamy ekspertów w zakresie programowania i zapewniania jakości, którzy mogą pracować z zespołami, wprowadzając im dobre praktyki programowania zgodne z podejściem agile’owym (krótkie pętle zwrotne i częste wydania), takie jak:

  • Test-Driven Development (TDD) i refaktoryzacja – w Java, C#, C++ i PHP,
  • Wzorce projektowe – w Java, C# i PHP,
  • Automatyzacja testów (dla personelu QA, wraz z prostym wprowadzeniem do Java, C# lub PHP).

Zazwyczaj ich obowiązki polegają na intensywnym zaangażowaniu w prace zespołu przez 1-2 tygodnie, wliczając bezpośrednią pracę przy tworzeniem kodu.

Coachowie indywidualni i biznesowi

Możemy również zapewnić czyste usługi coachingowe (szczególnie przydatne dla menedżerów), gdyż współpracujemy ze sprawdzonymi, certyfikowanymi coachami indywidualnymi i biznesowymi, którzy mogą prowadzić sesje zarówno na miejscu w biurach chętnych Klientów (co jest zalecane), a także zdalnie przez Skype lub telefon.


NASZA OFERTA