Izvor slike: pixabay.com

Današnji softverski timovi su, barem u svojim procesima, agilniji! Oni su voljni razmišljati izvan postavljenih parametara kako bi slijedili ono što njima djeluje. Oni su željni učenja i usvajanja novih tehnika upravljanja projektima i projektnim procesima.

Metoda upravljanja projektima nazvana Kanban vodi krugove u softversku industriju već nekoliko godina, a valuta je stekla u posljednjih pet godina. Zajedno s Agile metodologijama, usvajanje Kanban metode omogućilo je tvrtkama puno da slave.

No tu su i kritike da Kanban nije ništa drugo nego proslavljeni popis obveza. Pa o čemu se radi? Hajde da vidimo.

Što je Kanban?

Ako je vaša tvrtka spremna prijeći tradicionalni pristup upravljanju softverskim projektima, danas nema tehnika upravljanja projektima.

Kao jedan, postoji sustav Agile Project Management koji se fokusira na nelinearne, iterativne metode razvoja softvera. Upotreba Agile metoda vidljiva je u Scrumu koji se fokusira na fleksibilniji pristup upravljanju projektima.

Agile također ima veze s drugim okvirima za upravljanje projektima kao što su Kanban i Extreme Programming. Od toga je Kanban postigao veliku popularnost. Uostalom, tko ne želi da se Japanci razvijaju?

Kanban je koncept koji se razvio u Toyotinoj tvornici za proizvodnju kako bi se postigla pravodobna proizvodnja (JIT), koja smanjuje troškove i omogućava manje korištenje resursa. U svom srcu slijedi princip rada „potezanja“, što znači da zadatke ili proizvode treba „povlačiti“ prema zahtjevima i potražnji, a ne „gurati“ odozgo prema dolje. Razvijen je kako bi se osiguralo bolje skladištenje automobilskih komponenata u Toyotinim pogonima, na temelju potražnje. To je značilo da će se s porastom potražnje ispunjavati zahtjevi.

Koncept je prilagođen softverskoj industriji s nekoliko izmjena David Anderson, u svojoj knjizi iz 2010., Kanban . Od tada se s velikim uspjehom koristi za razne projekte. To može biti od ogromne pomoći u složenim projektima koji mogu pretrpjeti preopterećenje s jedne strane razvojnog ciklusa.

U osnovi, sustav Kanban tretira proces softverskog projekta kao cjevovod. Recimo da softverski proces ima tri vrste zadataka: analiza, razvoj, testiranje i na kraju, implementacija. Recimo da postoji dvadeset zadataka koje je potrebno dovršiti.

U slučaju tradicionalnog sustava upravljanja projektima, na primjer,

  • Ukupno ima 25 priča
  • Analitičari su u mogućnosti nositi se s pet priča tjedno
  • Programeri mogu rješavati pet priča tjedno
  • Ispitivači su ograničeni na tri priče tjedno

U toj se situaciji posao jednostavno gomila na kraju testara. Na kraju 1. tjedna situacija će biti sljedeća:

  • Samo su tri priče prešle na implementaciju.
  • Programeri i analitičari rade na tri priče, jer testeri nisu u mogućnosti uzeti rezultate programera i testirati ih isto.
  • Posao se nagomilava, ostavljajući programere i analitičare i voditelja projekata, u ispravnom stanju.

Analitičari i programeri sada jednostavno mogu zamahnuti palcima! Ili njihov voditelj može shvatiti da radi bez posla i preusmjeriti ih u neki drugi projekt, gdje može doći do slične situacije. Dakle, postoje dva projekta koja su sada zaglavljena u fazi testiranja!

Probleme u takvoj situaciji nije teško uočiti. Kakva je svrha razviti deset priča (ili bitnih dijelova softvera) kad ih uskoro neće testirati?

Sada, na metodu Kanban.

Kanban metoda je krajnje jednostavan koncept. Slijedi jednostavna logika korištenja „metode izvlačenja“ za prvo uklanjanje uskih grla i ograničavanja rada u tijeku (WIP) za bolje radne procese.

U svom najjednostavnijem obliku, Kanban, doslovno, "vizualna ploča" pomaže "povlačenjem" predmeta s popisa zadataka, a ne radom s rokovima. Kanban metoda pomaže u prepoznavanju uskih grla kako bi se protok procesa bolje upravljao.

Osnovna ploča Kanban sadrži popis zadataka koje treba obaviti, zadataka u tijeku i izvršenih zadataka.

Međutim, u upravljanju softverom zadaci mogu biti malo složeniji. Većina projekata Agile također ima sličan odbor. Na Kanban ploči, faze implementacije su jasno označene, zajedno s brojem za svaki stupac. Taj broj predstavlja maksimalni broj zadataka ili priča koje određeni korak može podnijeti.

Naš bi primjer na Kanbanovoj ploči izgledao ovako nešto, početkom drugog tjedna. To znači da programeri i analitičari neće raditi na optimalnom broju priča u tom tjednu. Bilo bi očito da se posao gomila na kraju testera. I organizacije mogu osigurati da timovi rade zajedno kako bi testiranje bilo završeno. Alternativno, mogu pregledati i druge modele tijeka procesa da se to ne dogodi.

Kada se projekti rješavaju kroz sustav Kanban, manje je prostora za gomilanje posla. Priče se uzimaju prema maksimalnoj dostupnoj širini pojasa.

U uobičajenoj Kanbanovoj postavci, posao će se uzimati prema raspoloživoj širini pojasa, a posao će privući timovi, tako da su uvijek na maksimalnom kapacitetu. Sustav također omogućava brzi zapis za hitne zadatke tako da se kroz ploču kreću uz minimalni napor.

Pogledajte ovu ploču Kanban.

Jasno je da svi koraci rade s maksimalnom učinkovitošću. A zadatak koji je na brzoj stazi također se vodi u obzir.

Kanban ni u kom slučaju nije jedina metoda koja se koristi za povećanje učinkovitosti ograničavanjem WIP-a. Postoje i drugi sustavi koji postižu isti rezultat - na primjer, sustavi CONWIP (neprestani radovi u tijeku) i DBR (bačvasti konop) koji su prvenstveno namijenjeni prerađivačkoj industriji.

Međutim, Kanban je sustav koji je najbolje modificiran da odgovara softverskoj industriji.

Po čemu se Kanban razlikuje od agilne metodologije?

U svom srcu, Kanban je metodologija koja koristi neke elemente agilnog upravljanja projektima. Mnogi projekti u okviru Agilnog sustava imaju korijene u lean pristupima. Razlika između Kanbanove metodologije i agilnog upravljanja projektima nije tako crna i bijela kao što bi vjerovali zagovornici dviju metoda. Imaju više zajedničkog nego različitog.

Okretni okvir nije apsolutni. Pitanje nije jesu li momčini okretni ili ne. Timovi često imaju okretnost u različitom stupnju. Jedna od metoda za postizanje više okretnosti u vašem procesu razvoja softvera je uporaba Kanbana.

Postoji nekoliko razlika između metodologija Kanban i Agile. Neke od karakteristika Kanbanovog razvoja koje su malo drugačije od Agile-a su:

  • Vremenske linije nisu važan faktor . Ovo je tvrd koncept da zamotamo glave, jer se čini vrlo ne-intuitivnim. "Kako radite bez rokova?" Ljudi se često pitaju. Ali ako se svaki član tima bavi svojom maksimalnom učinkovitošću, tada vrijeme prestaje biti faktor.
  • Priče (zadaci) su veće nego u tipičnim Agile sustavima. Dužina i složenost priča obično su duže nego kod tipičnog Scrum projekta. Kako fokus nije na procjeni vremena, već na jednostavno pokretanju procesa, Kanban si može priuštiti rad na većim pričama.
  • Nema značajnih promjena u postojećim procesima. Principi Kanbana za razvoj softvera, što je u svom blogu artikulirao njegov osnivač, David Anderson, uključuje sljedeća osnovna načela:
    • Počnite s onim što sada radite
    • Dogovorite se da ćete postići postupnu, evolucijsku promjenu
    • Poštujte trenutni postupak, uloge, odgovornosti i naslove
  • Svaka se priča mjeri u vremenu ciklusa . Projekt se ne procjenjuje prema tradicionalnom Agilnom računanju brzine (broju završenih priča tijekom određenog vremena), već prema vremenu ciklusa. To znači da Kanban stavlja naglasak na to koliko je vremena trebalo da se ispuni neki zadatak. Na mnogim Kanbanovim pločama često možete vidjeti kvačicu koja spominje koliko dana treba timu da završi priču. Ova procjena prelazi u sljedeći ciklus.

Kanban: Odbor, ali što drugo?

Dakle, Kanban je ploča koja nam pokazuje kako su poredane priče - da je čak i tako velika stvar, mnogi pitaju. U stvari se vodi velika rasprava o tome što Kanban može i može učiniti.

Je li Kanban samo metoda upravljanja tijekom rada? Ili je to nešto što se može koristiti zajedno s Agile metodologijama za maksimalnu učinkovitost? Ili, može li to biti potpuno novi način upravljanja tijekom rada?

Svaki tim koristi Kanban za svoje posebne situacije. Bez obzira na to, Kanban ima potencijal da djeluje kao način života za razvoj softvera, ako se navikne na njegovu optimalnu razinu.

Bilo da se koristi za upravljanje tijekom rada ili kao nova paradigma u razvoju softvera, ne može se poreći da pomaže u upravljanju WIP-ovima.

Da bi Kanban najbolje radio, važno je razmišljati ne samo o upravljanju WIP-ovima, već i kao okviru za upravljanje projektima. Određene osnovne smjernice pomoći će procesu u tome.

  1. Optimizirajte timove tako da nijedan tim ne pokrene nešto što ne može dovršiti. To pomaže tijeku procesa.
  2. Ne odolijevajte promjenama izvornog Kanban sustava. Ako se vaš projekt dobro uklopi sa rokovima i rokovima, uključite ga isto kao i vi. To stvara zdravije i snažnije razvojno okruženje.
  3. Nemojte izbjegavati timski rad. Kanban će možda izgledati kao, ali nije, model zasnovan na pojedincima koji rade u izolaciji. Timski rad mora biti sastavni dio razvoja Kanban softvera.
  4. Razmišljati izvan okvira. Razmislite o promjenama u tijeku rada. Mnogi se timovi sada odlučuju za razvoj vođen testom, s Acceptance Test-Driven Development, gdje se testovi prihvaćanja prvo provode s slučajevima uporabe, a zatim pokreću potrebne značajke i prirodu razvoja.

hibridi

Budući da sve više i više tvrtki koristi alate za upravljanje projektima koji su najprikladniji za njihovu specifičnu situaciju, ne čudi što su dvije najbolje metodologije upravljanja projektima: Scrum i Kanban integrirane do velikog uspjeha.

Hibrid, nazvan Scrumban, ulazi u brojne projekte.

Ako organizacija već koristi Scrum, ali mu je teško držati projekt zajedno, bilo kada sprinteri ne rade dobro, kako bi testiranje bilo nepropusno za zrak, možda je vrijeme da razmotre Scrumban.

Da objasnim jednostavno, Scrumban je uključio povećalo na sprinte. Ne radi se samo o sprintovima kao dijelu projekta, već o onome što se događa u sprinterima. Scrumban pomaže pogledati kako se priča obrađuje u sprintu i što bi moglo značiti sve.

Scrumban ili bilo koja njegova inačica minimalna je promjena u odnosu na postojeće prakse. Ljepota korištenja Kanbana je u tome što se može koristiti s bilo kojom vrstom modela upravljanja projektima: vodopad, Agile ili bilo što između.

Početak rada s Kanbanom

Lako je započeti s Kanban sustavom. Također je moguće Kanban implementirati na minimalan način kao pokus za određeni dio projekta.

  1. Iscrtajte postupak razvoja softvera. Napravite jasnu kartu cijelog postupka. Kako projekt funkcionira - od početnog dizajna, razvoja, testiranja, promjene karakteristika?
  2. Navedite korake u kojima će se Kanban koristiti. Koristite korake koji su u potpunosti pod vašom kontrolom. To obično uključuje faze analize, razvoja, pregleda i ispitivanja.
  3. Radite na važnim točkama kao što su:
    1. Ograničava radove u tijeku za svaki korak.
    2. Procesi za ubrzani / blokirani rad
    3. Procjena zaostalog omota s obzirom na vrijeme ciklusa
    4. Učestalost pregleda odbora / procesa / procjene ploče Kanban
  4. Kupite bijelu ploču i hrpu bilješki Post-It.
  5. Započnite
  6. Pregledajte prema potrebi.
  7. Ponoviti

Dakle, samo naprijed i krenite na Kanban!

Ne bojte se ako se ne ispostavi onako kako ste prvotno namjeravali. Cijela ideja iza Agile metodologija je prilagoditi promjenama ljudi i procesa! Javite nam svoja iskustva s metodom Kanban.

Preporučeni članci

  1. 6 najboljih korisnih ureda za upravljanje projektima (PMO)
  2. 8 korisnih koraka za izradu sofisticiranih karata priča za vaš projekt
  3. 5 važnih vrijednosti ekstremnog programiranja (snažnog)

Kategorija: