Agile Coaching

Trenutno, u svim vodećim IT kompanijama u svetu, postoji velika potreba za veštinima koje poseduje neko koga zovemo Agile Coach. Kod nas je pak situacija potpuno suprotna. Ako me sećanje dobro služi kod nas se još ni jednom nije pojavio oglas za ovu poziciju. IT kompanije koje posluju u Srbiji, u velikoj meri,  još uvek veruju u to da se IT projektima može upravljati samo na waterfall način ili sa nekom frankenštajn implementacijom onoga što oni zovu Scrum. Dolazimo čak do apsurda da postoje izvesni konsultanti koji tvrde da rade “Agile coaching using Scrum”. S obzirom na takvu situaciju u ovom članku želim da pojasnim šta to u stvari jeste agile coaching, ko je agile coach i kako on može da pomogne organizaciji bez obzira da li ona razvija svoj proizvod ili posluje po nearshoring/outsourcing modelu.

Kada kažeš Agile na šta tačno misliš?

Jedan od glavnih razloga za konflikte oko toga šta je agile potiče od toga što ne postoji jedinstvena metodologija agilnog razvoja softvera. Agile počiva na 4 vrednosti i 12 principa i to je sve. Ne postoji nešto što bi bilo “Agile by the book”. S obzirom da proizvode razvijamo u kompleksnom okruženju možemo reći da ne postoji nešto kao “best practices” za agilni razvoj softvera. Ovo se najbolje može opisati rečenicom statističara George Box-a koji je rekao “Svi modeli su pogrešni, ali su neki korisni”.

Agile Umbrella
Agile Umbrella

Uobičajeno je da kada neko kaže agilni razoj softvera u stvari misli na jednu od metodologija koje potpadaju pod nešto što se popularno zove “agile umbrella”. U ovom slučaju treba biti veoma oprezan jer iako Lean i Kanban imaju velikih sličnost sa ostalim agilnim pristupima oni ipak ne znače isto. Lean je u stvari zapadnjački naziv za Toyota Production System i nastao je kao model upravljanja proizvodnjom, dok je kanban nastao kao sistem za signalizaciju u Tojoti. Ovde treba obratiti pažnju na razliku između Kanban i kanban. Kanban (sa velikim K) predstavlja način upravljanja softverskim projektima, dok kanban (sa malim k) reprezentuje Tojotin pristup vizuelnom obaveštavanju u proizvodnji.

Šta je to Agile Coaching?

Kada već ne možemo definisati jedan način na koji se ispravno radi “Agile”, postavlja se pitanje kako onda možemo definisati agile coaching. Agile coaching je u stvari pristup koji nam omogućava da na proces razvoja proizvoda ne gledamo kroz prizmu jedne metodologije, već da imamo holistički pogled na ceo sistem u kome se nalazimo.

Po mom mišljenju, agile coaching, se najbolje oslikava kroz Agile Coaching Competency Framework (ACCF).

Agile-Coaching-Competency-Framework
Agile-Coaching-Competency-Framework

ACCF pruža uvid u to koja znanja i veštine treba da poseduje neko ko se bavi agile coaching-om. Ovde namerno ne kažem neko ko ima titulu/poziciju agile coach, jer agile coaching-om može da se bavi svako bez obzira na naziv pozicije. Kako je ovo moguće? Uzmimo za primer samo-organizovani tim u kome nema ni jedna druga uloga osim član tima. U ovakvom timu i dalje postoji potreba za kontinuiranim unapređenjem procesa i učenjem iako ona nije formalizovana kroz ulogu. U tom timu osoba koju zanima proces može preuzeti na sebe ulogu facilitatora i biti odgovorna za timske sastanke. U tom trenutku ta osoba iz identiteta “član tima” prelazi u identitet “facilitator” i obavlja deo uloge agile coach-a.

Ko je Agile Coach?

Agile coach je osoba kojoj je primarna uloga da služi ljudima i organizaciji. On treba da poseduje znanja i veštine u svakoj od oblasti koje su navedene u ACCF. U praksi ovo ne znači da je on ekspert u svakoj od oblasti, tako da podjednako dobar agile coach može biti osoba koja je karijeru počela kao programer i osoba koja nikad nije pisala kod.

Dve stvari se, po mom mišljenju, ipak izdvajaju kada govorimo o osobi koja može da obavlja ovu ulogu. Prva je da osoba mora da ima praktično iskustvo sa više pristupa agilnom razvoju softvera. Ja bih rekao da mora da ima iskustvo sa minumum sledeća tri prustpa: eXtreme Programming, Scrum i Kanban. Poznavanje sva tri pristupa omogućava veću fleksibilnost prilikom razmišljanja o tome koji pristup je dobar za koji nivo kompleksnosti problema.

Veština koja je po meni podjednako važna kao i poznavanje agilnih pristupa je profesionalni coaching. Profesionalni coaching se najčešće opisuje kao umetnost postavljanja otvorenih pitanja. Ovo je veoma važna veština, jer osoba koja je u stanja da postavi prava pitanja ne mora da bude ekspert u svim drugim oblastima. Na primer, ako osoba ne zna šta je to “definition of done”, a primeti da u timu postoji konflikt oko toga kada je neki zadatak gotov, ona može da postavi sledeća pitanja:

  • Kada kažeš da je nešto gotovo, na šta tačno misliš?
  • Za koga je gotovo? Za koga nije gotovo?
  • Kako tvoje gotovo utiče na druge?
  • Šta je to što mi kao tim možemo da uradimo da imamo jedinstveno razumevanje oko toga šta znači gotovo?
  • Koje su još opcije koje nismo do sada razmatrali?
  • Ako primenimo to što smo dogovorili, kako ćemo znati da smo bili uspešni?

Na ova pitanja se ne može odgovoriti samo sa da ili ne, pa samim tim ona navode članove tima na razmišljanje i donošenje odluka.

Naravno, dobar agile coach se neće zaustaviti na ove dve veštine. On će kontinuirano razvijati ostale veštine u zavisnosti od trenutnih potreba tima i/ili organizacije u kojoj radi. Jedan od načina na koji možete proveriti koliko ste dobri kao agile coach je da odradite samoevaluaciju u skladu sa Agile Coach Competency Matrix dokumentom prikazanom na slici ispod.

Agile Coach Competency Matrix
Agile Coach Competency Matrix

Kome je potreban Agile Coaching?

Kratak odgovor na ovo pitanje bio bi: svima. Moje mišljenje je da je on potreban čak i organizacijama kojima razvoj softvera nije “core business” jer u današnje vreme ni jedna ozbiljna organizacija ne može da bude kompetitivna bez odgovarajućeg softvera.

Uloga agile coacha posebno dolazi do izražaja u organizacijama koje ne žele da grade tradicionalnu hijerarhijsku strukturu. Uzmimo za primer kompaniju koja je dovoljno narasla da osnivač više ne može sam da radi sa svim zaposlenima. Recimo i da u tom trenutku kompanija ima potrebu za daljim rastom, razvojem i inovacijama. Umesto da taj osnivač uvede još jedan nivo hijerarhije u svojoj kompaniji, on može da se odluči za drugi pristup i da zaposli osobu sa veštinima agile coach-a. Izborom ovog puta organizacija kompanije može da se skalira na vrednostima kao što su transparentnost, poverenje i posvećenost. U toj kompaniji napredak pojedinca više nije limitiran hijerarhijom već je izražen kroz kontinuiranu podršku napretku kroz usvajanje novih znanja i veština.

Neke od situacija u kojima agile coaching veštine i znanja mogu da pomognu su date u tabeli ispod.

Situacija Implementacija Znanja i veštine
Upoznavanje novih zaposlenih sa načinom rada u kompaniji Bootcamp Mentoring,
Teaching,
Facilitating,
Agile-Lean Practitioner
Kreiranje tima i izgradnja samo-organizovanih timova Team offsite,
Workshops,
Retrospectives,
Coaching 1 – 1,
Teaching,
Mentoring,
Facilitating,
Agile-Lean Practitioner
Implementacija praksi kao što je Continous Delivery OpenSpace,
Workshops
Facilitating,
Technical Mastery,
Teaching,
Agile-Lean Practitioner
Tranzicija kompanije sa tradicionalne organizacije na agilnu organizaciju OpenSpace,
Visual Meetings,
Workshops
Facilitating,
Coaching 1 – 1,
Teaching,
Transformation Mastery,
Business Mastery,
Agile-Lean Practitioner

Kako zaposliti Agile Coach-a?

Za kompanije koje već nemaju ovu ulogu osnovno pitanje kako zaposliti nekog na ovu pozicju. Moj savet je da pre svega odrede koje veštine su koliko važne. Na primer, marketniškoj agenciji  koja svojim klijentima prodaje Facebook aplikacije i koja želi da usvoji agilni pristup je mnogo važnije da je osoba dobar coach, učitelj i da razume kako treba sprovesti transformaciju, nego da ima veliko tehničko znanje. Najbolji način za prikaz ovoga bi bila slika ispod.

Lyssa's “truth in advertising” Profile
Lyssa’s “truth in advertising” Profile

Agile coaching je profesija koja se još uvek razvija. Ono što je meni posebno zanimljivo je to što profesija objedinjuje dve stvari koje ja profesionalno najviše volim a to su IT i rad sa ljudima. Ukoliko vas ova tema više zanima priključite se Agile Coaching Serbia grupi i učestvujte u radu najveće aktivne agilne zajednice u Srbiji.


Literatura:

Coaching Agile Teams
Agile Coaching
Coaching for Performance
Facilitator’s Guide to Participatory Decision-Making
Lean from the Trenches
Scrum and Xp from the Trenches
Management 3.0: Leading Agile Developers, Developing Agile Leaders

Slike preuzete sa:

http://michiogrubbsjiujitsu.com/wp-content/uploads/2014/01/Bowing_in_.jpg
http://blogs.seapine.com/wp-content/uploads/2011/12/Alan_Graphic_1_v2.jpg
http://etactix.info/wp-content/uploads/2013/07/Agile-Coaching-Competency-Framework.png
http://www.slideshare.net/smithcdau/agile-coaching-workshop-13180108/15
http://www.slideshare.net/agileindia/hiring-or-growing-right-agile-coach-by-lyssa-adkins-and-michael-spayd/7

Follow Jovan Vidić:

After more than ten years of being a part of the IT industry, I can say that I have always loved my job and that it has always kept me going. What I value is cooperation and readiness to contribute, and what I am convinced in is that knowledge is there to be shared and available to everyone. The first time I experienced a leadership position in a team was at the age of 24. Since then, one of my guiding principles in both life and business has been enhancing learning. The other has been working together with my team and supporting them to grow and continuously improve. Giving everyone an equal chance to excel is one of the things I am strongly passionate about, as I am a hopeless believer in humankind and better tomorrow. I have founded “Agile Coaching Serbia” group hoping that everyone should have a chance to share ideas, experiences and knowledge.