Vir slik: pixabay.com

Današnje programske ekipe so, vsaj v svojih procesih, bolj okretne! Pripravljeni so razmišljati zunaj nastavljenih parametrov, da bi sledili, kaj jim ustreza. Želijo se naučiti in usvojiti nove tehnike vodenja projektov in projektnih procesov.

Metoda vodenja projektov, imenovana Kanban, kroži v industriji programske opreme že kar nekaj let, v zadnjih petih letih pa je pridobila valuto. Skupaj z Agile metodologijami je uporaba Kanban metode podjetjem omogočila veliko praznovanja.

Obstajajo pa tudi kritike, da Kanban ni nič drugega kot poveličeni seznam opravil. Torej za kaj gre? Pa ugotovimo.

Kaj je Kanban?

Če je vaše podjetje pripravljeno preseči tradicionalni pristop k upravljanju projektov programske opreme, danes tehnik upravljanja projektov ni malo.

Za enega obstaja sistem Agile Project Management, ki se osredotoča na nelinearne, iterativne metode razvoja programske opreme. Uporaba Agile metod je očitna v Scrumu, ki se osredotoča na bolj prilagodljiv pristop k upravljanju projektov.

Agile ima tudi povezave do drugih okvirov upravljanja projektov, kot sta Kanban in Extreme Programming. Od tega je Kanban dosegel veliko priljubljenost. Konec koncev, kdo ne želi, da se Japonci razvijejo v procesu?

Kanban je koncept, ki se je razvil v Toyotinem proizvodnem obratu, da bi dosegel pravočasno proizvodnjo (JIT), ki znižuje stroške in omogoča manjše izkoriščanje virov. V njenem srcu sledi načelu dela "povleči", kar pomeni, da je treba naloge ali izdelke "povleči" po zahtevah in povpraševanju in ne "potiskati" od zgoraj navzdol. Razvit je bil za zagotavljanje boljše zaloge avtomobilskih komponent v Toyotinih obratih, ki temeljijo na povpraševanju. To je pomenilo, da se bodo povpraševanja izpolnjevala, ko se je povečalo povpraševanje.

Koncept so prilagodili industriji programske opreme z nekaj spremembami David Anderson v svoji knjigi iz leta 2010, Kanban . Od takrat se z veliko uspeha uporablja za različne projekte. Zelo je lahko v pomoč pri zapletenih projektih, ki lahko na eni strani razvojnega cikla trpijo zaradi preobremenitve.

V bistvu sistem Kanban obravnava postopek programske opreme kot cevovod. Recimo, da ima programski postopek tri vrste nalog: analizo, razvoj, testiranje in nazadnje uvajanje. Recimo, da je treba opraviti dvajset nalog.

V primeru tradicionalnega sistema upravljanja projektov, če npr.

  • Skupaj je 25 zgodb
  • Analitiki so sposobni obvladovati pet zgodb na teden
  • Razvijalci lahko na teden rešijo pet zgodb
  • Testerji so omejeni na tri zgodbe na teden

V tem primeru se delo preprosto nabira na koncu preizkuševalcev. Konec 1. tedna bo stanje naslednje:

  • Samo tri zgodbe so se premaknile k uvajanju.
  • Razvijalci in analitiki delajo na treh zgodbah, saj preizkuševalci ne morejo vzeti rezultatov razvijalcev in jih preizkusiti enako.
  • Delo se je nakopičilo, razvijalci in analitiki ter vodja projektov pa so ostali brez težav.

Analitiki in razvijalci lahko zdaj preprosto šepajo palce! Lahko pa se njihov vodja zaveda, da je nedejaven in jih preusmeri v drug projekt, kjer se lahko pojavi podobna situacija. Torej obstajata dva projekta, ki sta zdaj obtičala v fazi testiranja!

Težav v takšnih razmerah ni težko opaziti. Kaj je smiselno razviti deset zgodb (ali bitov programske opreme), ko jih ne bo kmalu preizkusiti?

Zdaj pa k metodi Kanbana.

Metoda Kanban je izjemno preprost koncept. Sledi preprosta logika uporabe metode "pull", da se najprej odstrani ozka grla, in omeji "Dela v teku" (WIP) za boljše delovne procese.

V svoji najpreprostejši obliki Kanban dobesedno "vizualna deska" pomaga tako, da "potegne" predmete s seznama opravkov, ne pa da dela s časovnimi roki. Metoda Kanban pomaga pri prepoznavanju ozkih grl, da se procesni potek bolje upravlja.

Osnovna tabla Kanban vsebuje seznam opravil, opravljenih nalog in opravljenih nalog.

Pri upravljanju programske opreme pa so naloge lahko nekoliko bolj zapletene. Tudi večina Agile projektov ima podobno tablo. V Kanban plošči so stopnje uvajanja jasno označene, skupaj s številko za vsak stolpec. Ta številka predstavlja največje število nalog ali zgodb, s katerimi se lahko spoprime določen korak.

Naš primer na Kanban plošči bi bil videti takole v začetku drugega tedna. To pomeni, da razvijalci in analitiki v tem tednu ne bodo delali na optimalnem številu zgodb. Očitno bi bilo, da se delo na koncu preizkuševalca nabira. Organizacije lahko zagotovijo, da ekipe sodelujejo pri preizkušanju. Lahko pa pogledajo tudi druge modele pretoka procesa, da se to ne zgodi.

Ko se projekti rešijo prek sistema Kanban, je manj možnosti za nalaganje dela. Zgodbe se povzemajo glede na največjo razpoložljivo pasovno širino.

V običajni postavi Kanban se bodo dela lotila glede na razpoložljivo pasovno širino, dela pa bodo vlekle ekipe, tako da so vedno pri največji zmogljivosti. Sistem omogoča tudi hitro sled, za nujna opravila, tako da se skozi desko premikajo z minimalnimi napori.

Oglejte si to tablo Kanban.

Jasno je, da vsi koraki delujejo z največjo učinkovitostjo. Naloga, ki je na hitri poti, je prav tako upoštevana.

Kanban nikakor ni edina metoda, ki se uporablja za povečanje učinkovitosti z omejevanjem WIP. Obstajajo drugi sistemi, ki dosegajo enak rezultat - na primer sistemi CONWIP (stalna dela v teku) in sistemi DBR (bobnilna vrv), ki so namenjeni predvsem predelovalni industriji.

Vendar je Kanban sistem, ki je najbolje spremenjen, da ustreza programski industriji.

V čem se Kanban razlikuje od agilnih metodologij?

Kanban je v svojem središču metodologija, ki uporablja nekatere elemente Agile Project Management. Številni projekti v okviru Agile temeljijo na vitkih pristopih. Razlika med Kanban metodologijo in agilnim projektnim vodenjem ni tako črno-bela, kot bi verjeli zagovorniki obeh metod. Imajo več skupnega kot razlike.

Okvir Agile ni absolutni. Vprašanje ni, ali so ekipe agilne ali ne. Ekipe imajo pogosto različno spretnost . Eden od načinov za večjo okretnost v procesu razvoja programske opreme je uporaba Kanbana.

Nekaj ​​razlik je med metodologijama Kanban in Agile. Nekatere značilnosti razvoja Kanbana, ki se nekoliko razlikujejo od Agile-a, so:

  • Časovne vrstice niso pomemben dejavnik . To je težek koncept, da si ovijemo glave, saj se zdi zelo neintuitiven. »Kako delate brez rokov?« Se pogosto sprašujejo ljudje. Če pa se vsak član ekipe ukvarja s svojo največjo učinkovitostjo, potem čas preneha biti dejavnik.
  • Zgodbe (naloge) so večje kot v običajnih Agile sistemih. Običajno sta dolžina in zapletenost zgodb daljša kot pri značilnem projektu Scrum. Ker poudarek ni na oceni časa, ampak zgolj na tem, da se proces giblje naprej, si lahko Kanban privošči delo na večjih zgodbah.
  • V obstoječih procesih ni bistvenih sprememb. Načela Kanbana za razvoj programske opreme, kot ga je v svojem blogu izrazil njegov ustanovitelj David Anderson, vključujejo naslednja osnovna načela:
    • Začnite s tem, kar počnete zdaj
    • Strinjam se, da bo sledil postopne evolucijske spremembe
    • Spoštujte trenutni postopek, vloge, odgovornosti in naslove
  • Vsaka zgodba se meri v času cikla . Projekt ne ocenjujemo po tradicionalnem Agile računanju hitrosti (število zgodb, dokončanih v določenem času), temveč po času cikla. To pomeni, da Kanban poudarja poudarek, koliko časa je trajalo, da je opravila nalogo. Na številnih deskah Kanbana lahko pogosto vidite odkljuk, ki omenja, koliko dni traja ekipa, da zaključi zgodbo. Ta ocena se poda v naslednji cikel.

Kanban: Odbor, ampak kaj drugega?

Torej, Kanban je tabla, ki nam pokaže, kako so zgodbe urejene - je, da se celo tako veliko sprašujejo. Pravzaprav se veliko razpravlja o tem, kaj Kanban je in zmore.

Je Kanban le metoda za upravljanje delovnega toka? Ali je to nekaj, kar lahko uporabimo skupaj z Agile metodologijami za največjo učinkovitost? Ali pa gre morda za povsem nov način upravljanja delovnega toka?

Vsaka ekipa uporablja Kanban za svoje posebne razmere. Ne glede na to ima Kanban potencial, da deluje kot način življenja za razvoj programske opreme, če ga uporabi na svoji optimalni ravni.

Ne glede na to, ali se uporablja za upravljanje delovnega toka ali kot nova paradigma pri razvoju programske opreme, ne moremo zanikati, da pomaga pri upravljanju WIP-jev.

Da bi Kanban najbolje deloval, je nanj treba razmišljati ne le kot upravljanje WIP-jev, ampak kot okvir za upravljanje projektov. Pri tem bodo pomagale nekatere osnovne smernice.

  1. Optimizirajte ekipe, tako da nobena ekipa ne začne nekaj, česar ne bi mogla dokončati. To pomaga procesu.
  2. Ne upirajte se spremembam izvirnega sistema Kanban. Če se bo vaš projekt dobro spopadel z roki in roki, vključite enako kot bi. To omogoča bolj zdravo in trdno razvojno okolje.
  3. Ne izogibajte se timskega dela. Kanban se morda zdi, vendar to ni model, ki temelji na posameznikih, ki delujejo izolirano. Timsko delo mora biti sestavni del razvoja programske opreme Kanban.
  4. Mislite zunaj okvira. Razmislite o spremembah v toku dela. Številne ekipe se zdaj odločajo za testno voden razvoj (Acceptance Test-Driven Development), kjer se sprejemni preizkusi najprej izvedejo s primeri uporabe, ki nato poganja zahtevane lastnosti in naravo razvoja.

Hibridi

Ker vse več podjetij uporablja orodja za upravljanje projektov, ki so najbolj primerna za njihov poseben položaj, ni presenetljivo, da sta bili dve najboljši metodologiji upravljanja projektov: Scrum in Kanban že zelo uspešno integrirani.

Hibrid, imenovan Scrumban, vstopa v številne projekte.

Če organizacija že uporablja Scrum, vendar mu je težko združevati projekt, bodisi če šprinti ne delujejo dobro, da preizkusi, da ne bodo neprepustni, je morda čas, da razmislijo o Scrumbanu.

Povedano preprosto, Scrumban je v sprint vključil povečevalno steklo. Ne gre samo za šprinte kot del projekta, ampak za dogajanje v šprintih. Scrumban pomaga pregledati, kako se zgodba predela v šprintu in to bi lahko pomenilo vse.

Scrumban ali katera koli od njegovih različic je minimalna sprememba v primerjavi z obstoječimi praksami. Lepota uporabe Kanbana je v tem, da ga je mogoče uporabiti s praktično vsemi modeli vodenja projektov: slap, Agile ali kar koli vmes.

Prvi koraki s Kanbanom

Začeti je mogoče s sistemom Kanban. Kanban je mogoče tudi na minimalen način izvesti kot preizkus za določen del projekta.

  1. Izločite postopek razvoja programske opreme. Naredite jasen zemljevid celotnega postopka. Kako projekt deluje - od začetne zasnove, razvoja, testiranja, sprememb lastnosti, v resnici?
  2. Navedite seznam korakov, kjer se bo uporabljal Kanban. Uporabite korake, ki so v celoti pod vašim nadzorom. To običajno vključuje faze analize, razvoja, pregleda in testiranja.
  3. Delajte na pomembnih točkah, kot so:
    1. Omejitve za nedokončana dela za vsak korak.
    2. Procesi za pospešeno / blokirano delo
    3. Ocene za nazaj glede na čas cikla
    4. Pogostost pregleda Kanban / procesa / ocene / ocene
  4. Kupite belo tablo in sveženj opomb Post-It.
  5. Začeti
  6. Pregled po potrebi.
  7. Ponovite

Torej, pojdite naprej in začnite na Kanbanu!

Ne bojte se, če se ne izkaže tako, kot ste si zamislili. Celotna ideja Agile metodologij je prilagoditi spremembe v ljudeh in procesih! Sporočite nam vaše izkušnje z metodo Kanban.

Priporočeni članki

  1. 6 Najbolj koristen urad za vodenje projektov (PMO)
  2. 8 uporabnih korakov za izdelavo prefinjenih zemljevidov zgodb za vaš projekt
  3. 5 pomembnih vrednosti ekstremnega programiranja (močno)

Kategorija: