Kanbani mudel tarkvaratehnikas
Mis on Kanban?
Kanban on väga populaarne arendusraamistik agiilse tarkvaraarenduse metoodikas. See pakub läbipaistvat viisi meeskonna ülesannete ja töövõime visualiseerimiseks. See kasutab peamiselt füüsilisi ja digitaalseid tahvleid, et meeskonnaliikmed saaksid visualiseerida projekti hetkeseisu, millega nad töötavad.
Kanban sai alguse Toyotast 1940. aastatel. Kanbani tähendus jaapani keeles on "reklaamtahvlid". Kanbani tahvlil on veerud ja jutukaardid. Veerud ei ole midagi, kuid töövoo olekud ja kaardid on vaid demonstratsioon meeskonnaliikme tegelikust ülesandest.
Millal Kanbani kasutada?
Siin on Kanbani arendusmeetodi kasutamise põhjused:
- Kanbani saab kasutada igas domeenis ja seda saab väga tõhusalt kasutada tarkvaraarenduses. Kanbani projektijuhtimine aitab parandada meeskonna efektiivsust.
- See on tõmbepõhine süsteem. Ülesanded tõmmatakse kohe, kui isik on vaba.
- Kanbani tuleks kasutada siis, kui soovite oma teose igal ajal avaldada. See nõuab giti hargnemist, kuid see on teostatav.
- Kanbani tuleks kasutada siis, kui soovite prioriteete lennult muuta. Selleks pole vaja teha muud, kui panna see lugu ülesannete järjekorra tippu.
- Seda tuleks kasutada siis, kui soovite oma tööd visualiseerida ja ülesannete edenemist visuaalselt näha.
Kanbani kaardid
Kanbani süsteem soovitab töö visualiseerimist. See soovitab kasutada füüsilist ja digitaalset tahvlit.
Kanbani kaardid on Kanbani tahvli olulised osad, kuna need esindavad tööd, mille kallal meeskond töötab. Nendel kaartidel on
- Prioriteet
- omanik
- KASUTUSALA
- Tähtaeg
Kanbani tahvli veerg tähistab tööetappi ja veerule saate määrata WIP-i (Work in Progress) piirangu. WIP-i limiit tähendab maksimaalset kaartide arvu, mis võivad sellesse veergu jääda.
Kuna Kanbani projektijuhtimine kasutab tõmbamispõhist süsteemi, saab arendaja vabal ajal tõmmata kaardi ülesannete veerust arendaja veergu.
Kanban Board
Kanban Board on agiilne projektijuhtimise tööriist, mis aitab rakendada Kanbanit isiklikel ja ärilistel eesmärkidel projektide haldamiseks. See on füüsiline või digitaalne (JIRA) tahvel, mis on loodud selleks, et aidata meeskondadel visualiseerida oma tööd erinevates etappides ja protsessides. Samuti aitab see kuvada kaartide abil veergudega töötamise etappe.
Sellel on veerud, mis tähistavad töö olekut nagu
- ülesanded,
- dev
- Testimine
- Valmis.
Igas veerus võib olla kaarte <=WIP limiit. Kaardid tähistavad tegelikku tööd.
Positiivseid numbreid saate kasutada pooleliolevate tööde piiramiseks ja selle piirarvu saab paigutada nii füüsiliste kui ka digitaalsete Kanbani tahvlite veergude ülaossa. Iga meeskonna liige saab oma kaardi olekut hallata ja kogu meeskond saab töövoogu visualiseerida. Järgmisena selles Kanbani õpetuses õpime tundma Kanbani töövoogu.
Kanbani töövoog
Kanbani töövoog on sammude kogum, mis aitab meeskondadel Kanbanis selgesõnalisi eeskirju ja põhimõtteid määratleda. See esindab reegleid ja protseduure, samal ajal kui töö toimub erinevates arendus- ja tarnetsüklite etappides. Kanbani töövoog koosneb samm-sammulistest protsessidest konkreetse ülesande käivitamise ja kohaletoimetamise vahel.
Kanbani põhiprintsiip on järgmine: "Lõpeta alustamine, alusta lõpetamist". WIP-piirangute abil saab see rohkem tööd teha. Igas kaasaegses tööriistas, nagu JIRA, on kohandatavad Kanbani töövood ja olekud.
Allpool on toodud põhiolekud, mida paljud tarkvarameeskonnad oma töövoo haldamisel järgivad.
Ühendriigid | Ülesannete mõistmine |
---|---|
Tegema | Sellises olekus jõuavad ülesanded siia esimest korda. |
Analüüsiks valmis | Analüüsige ülesannet ja lisage nõuded täielikult. |
Arendamiseks valmis | Analüüs tehtud ja arendus võib alata. |
Arenduses | Tööülesanded on väljatöötamisel. |
Testimiseks valmis | Arendus on lõpetatud ja nüüd võib alata testimine. |
Testimisel | Ülesandeid testitakse. |
Vabastamiseks valmis | Testimine lõpetatud; vabanemine võib juhtuda. |
Välja antud/tehtud | Välja antud. |
Kanbani neli põhimõtet
Allpool on Kanbani neli peamist põhimõtet:
- Alusta sellest, mis sul praegu on: Kanban süsteem soovitab töötada järk-järgult ja alustada sellest, mis teil praegu on. Kuna üks selle tavadest on pidev täiustamine, peate süsteemi järk-järgult täiustama.
- Nõustuge jätkama järkjärgulisi evolutsioonilisi muutusi: Kanban soovitab protsessi järk-järgult muuta ja te ei tohi protsessis ühe hooga suuri muudatusi teha.
- Austage praegust protsessi, rolle ja kohustusi: Alustage taas sellest, mis teil praegu on, ja muutke protsessi, rolli ja vastutust järk-järgult.
- Julgustage juhtimist kõigil tasanditel: Iga inimene saab tegutseda juhina ja pakkuda ideid üldise Kanbani süsteemi tõhususe parandamiseks. Te ei tohiks arvata, et see on juhtimistasandi tegevus ja isegi meeskonna noorim liige võib tegutseda juhina.
Kuus Kanbani põhipraktikat
Järgmised on Kanbani kuus peamist tava.
- Visualiseerige töövoogu: see põhimõte soovitab töövoo visualiseerimiseks Kanbani tahvlit (füüsilist või digitaalset). Iga meeskonna isik peab nägema oma kaarti ja teiste meeskonnaliikmete kaarte. Saate oma kaarte liigutada erinevatesse veergudesse, nagu ülaltoodud pildil. See toob meeskonnas palju läbipaistvust ja hõlbustab ka blokeerijate lahendamist
- Piirata pooleliolevat tööd: Kanban on tõmbepõhine süsteem, mis parandab meeskonna tõhusust, piirates pooleliolevat tööd ja omada ülesandeid, mida meeskond saab etteantud aja jooksul täita. See WIP-piirang kehtib töövoo algusest lõpuni. Saate rakendada piirangut veeru ülaosas, kasutades positiivset täisarvu.
- Keskendu voolule: see põhimõte keskendub voolule ja mis tahes katkestustele. Kui esineb katkestusi või blokeerijaid, tuleb need püsivalt parandada.
- Selgesõnalised eeskirjad: Meeskonnas saab kehtestada poliitikad, et vähendada ümbertöötamist ja keskenduda valdkondadele, mis nõuavad tähelepanu või kus see on tõhusam.
- Tagasiside silmus: Tagasiside ahelad on Kanbanis väga olulised. See ei toimu ainult meeskonnas, vaid ka mitme meeskonna, treeneri jne vahel. See aitab parandada Kanbani süsteemi üldist tervist.
- Pidev täiustamine: See on Kanbani süsteemi põhiprintsiip. See ütleb, et saate protsessi alati parandada ja see toob kaasa parema tõhususe.
Tõmbepõhine süsteem
Kanban on tõmbepõhine meetod, kus ülesandeid tõmmatakse, mitte lükatakse. Niipea, kui olete oma praeguse kaardi valmis saanud, saate Kanbani tahvli eelmisest veerust uue kaardi tõmmata.
WIP-piiranguga aitab Kanban parandada tarneaega ja tsükliaega. Nende kahe aja vahel peaks olema võimalikult väike vahe. Näiteks on meil 5 arendajat ja ainult 1 testija; mis sel juhul saab? Testimist nõudvaid kaarte on alati palju ja need jäävad jõude ja ootavad.
Eespool mainitud probleemidest ülesaamiseks ja tõhususe parandamiseks järgib Kanban tõmbepõhist lähenemist WIP-limiitidega, mille puhul oleks väljatõmmatavate kaartide arv piiratud.
Seega tõmbab testija ülesande "testimiseks valmis" etapist, kui ta on oma praeguse ülesande täitnud. Kanbani veergude (arenduse etapid) WIP-limiidi korral pole teil Kanbani töövoos palju järelevalveta kaarte.
Tõmbepõhine süsteem aitab leida ka meeskonnale õige kiiruse. Õige kiiruse korral toimib meeskond paremini.
Tarneaeg ja tsükli aeg
Kanbani meetodis kasutatakse laialdaselt teostusaega ja tsükliaega, nende kahe vahel on erinevus ja segaduse vältimiseks on oluline sellest aru saada.
ettevalmistusaeg | Tsükliaeg |
---|---|
Esitusaega mõõdetakse kui aega ülesande töövoosse saabumise ja töövoost lahkumiseni, mis tähendab, et see on vabastatud. | Tsükliaega mõõdetakse kui aega, mis kulub ülesande jõudmise olekusse "töös" kuni ülesande "vabastamiseks valmis" saabumiseni. |
Siin on samuti oluline mõista, et mitte arvesse võtta aega, mis kulub vabastamiseks valmisoleku ja tegeliku vabastamise vahel.
Cycle Time = Work in Progress/Throughput
Ideaalse stsenaariumi korral peaks vahe teostusaja ja tsükliaja vahel olema minimaalne ning Kanban kasutab ülekande- ja tsükliaja ajalooliste andmete mõõtmiseks kumulatiivset vooskeemi (CFD).
Kumulatiivne vooluskeem (CFD)
CFD on diagramm, mis on saadaval kõigis juhtivates riikides töövoo haldamise tööriistad nagu JIRA. See diagramm mõõdab töövoogu sisenenud töökaartide/ülesannete koguhulka ja aja jooksul kogutud lõpetatud kaarte/ülesannete koguarvu.
See aitab teil hinnata eelmääratud aja keskmist tarneaega ja tsükliaega.
CFD diagramm annab teile indikaatorid või probleemsed piirkonnad, mida parandada. See annab teile selge pildi ja põhineb sellel diagrammil. Saate korrigeerida oma meeskonna tööaega ja tsükli aega.
- ettevalmistusaeg: see on ajavahemik uue kaardi töövoosse saabumise ja töövoost lõpliku lahkumise vahel.
- Tsükliaeg: see on ajavahemik kaardi tööolekusse jõudmise ja vabastamiseks valmisoleku vahel.
- WIP: Töö pooleli (WIP) piirab töövoo eri etappides tööüksuste maksimaalset hulka.
- Läbilaskevõime: see on tegelik jõudlus ja see näitab antud aja jooksul tarnitud kaartide tegelikku arvu.
Läbilaskevõime = WIP/tsükliaeg
WIP-i piiramine (töötaoline)
Kanbani arendusmetoodikas piirab WIP nende ülesannete/kaartide arvu, millega meeskonnaliige või terve saab korraga töötada.
WIP-piirangud tagavad, et meeskond stabiliseerib oma tööd ja suurendab ennustavat olemust, mis on tõmbepõhises süsteemis hädavajalik. Tavaliselt teeb WIP limiidi otsuse meeskond ise.
WIP-piirangute määramise põhjus
Siin on põhjused WIP-i piirangute seadmiseks:
- See muudab fookuse asjade tegemisele, kuna üksikisik keskendub korraga ühele ülesandele.
- See aitab meeskondadel oma võimekust mõista.
- See parandab tootlikkust ja tsükliaega.
- See aitab vältida ülesannete kuhjumist (ooterežiimis).
- See aitab töövoo liikumist ja ülesanded liiguvad.
- Samuti aitab see lahendada blokeerijaid, kuna üksikisik ei lülitu erinevate ülesannete vahel.
Scrum vs. Kanban
Siin on olulised erinevused Scrum vs. Kanban
Palli mängupanek | Kanban |
---|---|
Palli mängupanek rõhutab planeerimist. See algab sprindi planeerimisest ja lõpeb sprindi retrospektiiviga. Peetakse palju koosolekuid, mis aitavad tagada, et meeskond on vastavuses järgmiste sammude, prioriteetide ja eelmiste sprintide õppega. | Kanban on avatud muudatuste tegemiseks liikvel olles. See tähendab, et jäikus on väiksem ja asjad võivad sageli muutuda. |
See soovitab koguda aja mõõtmised tehtud sprindide ajal | Kanban soovitab graafikuid et saada ülevaade meeskonna arengust aja jooksul. |
Palli mängupanek mitte enam palub meeskondadelt pühendumust. Selle asemel on tegemist sprindi eesmärkide ja prognoosidega. | Kanban tugineb ajakast ja prognoosid. |
See rõhutab planeerimist jne hinnangul on väga oluline roll Scrumis | Kanbanil on kohustuslikke nõudeid pole hinnangu saamiseks. |
Iga inimesel on oma roll ja vastutus. | Ei määrake rollid nii paindlikult individuaalsete kohustuste osas. |
Iteratsioonid/Sprints on kestusega fikseeritud. See kestus varieerub 2 nädalast 1 kuuni. | Kanban on ei põhine kestusel. Seda mõõdetakse tsükliaegade järgi. |
Meeskonnad on kohustatud toime panema konkreetne töömaht. | Pühendumine pole vajalik see on meeskondadele vabatahtlik. |
Selles meetodis funktsionaalsed meeskonnad on olulised, kuna need suudavad toime tulla mis tahes häiretega, mis võivad tarkvaraarenduses kitsaskohti põhjustada. | Võttes spetsialiseerunud meeskond on oluline. |
See on esemeid pole võimalik lisada käimasolevatele iteratsioonidele. | Uus üksusi saab hõlpsasti lisada kui lisavõimsus on saadaval. |
Sprindi mahajäämus kuulub ainult a üksik meeskond. | Mitu meeskondas saab Kanbani tahvlit jagada. |
Saadetised on määratakse sprintidega, mille tööde komplekt peab olema lõpetatud ja valmis ülevaatamiseks. | Tooted ja protsessid on tarnitakse pidevalt vajalikul alusel. Nii et testimis- ja ülevaatusprotsess jätkub samaaegselt. |
Scrum tarkvara arendamise meetod keskendub mahajäämusele. | Kanbani meetod täielikult keskendub protsessi armatuurlauale. |
Iga meeskonnaliikmel on kindel roll Scrumis määrab meister ajakava, tooteomanik seab eesmärgid ja eesmärgid ning meeskonnaliikmed viivad läbi arendustööd. | Meeskonnal ei ole eelnevalt määratletud rolle. Siiski võib siiski olla projektijuht; meeskonda julgustatakse koostööd tegema ja koostööd tegema. |
Parim projektide jaoks prioriteetide muutmine. | Ideaalne meeskondadele stabiilsed prioriteedid mis tõenäoliselt aja jooksul ei muutu. |
Mõõdab tootmist kiirust kasutades läbi sprintide. | Mõõdab tootmist kasutades tsükli aeg või täpne aeg, mis kulub ühe projekti täielikuks valmimiseks. |
Scrum nõuab a täielik üleminek traditsiooniliselt mudelilt Agile Scrumi mudelile, mis projekti ellu viiks. | Kanban ei luba drastilisi muutusi projektis. |
See on ideaalne meetod projektide jaoks väga erinevad prioriteedid. | Sobib kõige paremini stabiilsete prioriteetidega meeskonnad. |
Scrumis on kogu team keskendub koostööle ja ülesande täitmisele pakkuda kvaliteetset arendustööd. | Meeskonnad töötavad eesmärkide saavutamiseks ja lühendage kogu protsessi lõpuleviimiseks kuluvat aega. Seega on ajatsükli vähenemine siin suurim edu näitaja. |
Palli mängupanek rõhku selle ajakavadele; käimasolevatele iteratsioonidele ei saa uusi üksusi lisada. | Kanban on oma olemuselt iteratiivsem ei ole kindlaid ajakavasid. Nii et uusi üksusi saab pidevalt lisada, kui lisavõimsus on saadaval. |
Kogu töö on tehtud partiid/Sprints. | Kogu projekt viiakse läbi liikumisel ühe keermega tööese voolab. |
Scrum kapten toimib probleemide lahendajana. | Kanban julgustab iga meeskonnaliige on juht ja vastutuse jagamine nende kõigi vahel. |
Scrum määrab ajakastiga iteratsioonid. | Kanban keskendub erineva kestuse planeerimine individuaalseks iteratsiooniks. |
Scrum aitab ettevõtetel säästa aega ja raha. | Kanbani meetod keskenduda pidevale täiustamisele, tootlikkus ja tõhusus. |
Saavutada stabiilne ja järjepidev suhtlus jõudlust kõigil tasanditel. | Meeskonnaliikmetel on suurem tõenäosus saavutavad oma eesmärgid palju lihtsamalt Kanbani tahvlite visuaalse olemuse tõttu. |
Projekt on kodeeritud ja sprindi käigus testitud läbi | Meeskonnaliikmetel on suurem tõenäosus saavutavad oma eesmärgid palju lihtsamalt Kanbani tahvlite visuaalse olemuse tõttu. |
See on kergem kohaneda pidevate muutustega lühikeste spurtide ja regulaarse tagasiside tõttu. | See on mõeldud regulaarseks ja ühtlaseks väljundiks, suured muutused klientide nõudluses võivad Kanbani ebaõnnestuda. |
Projekti kogumaksumus on minimaalne, mis võib kaasa tuua kiirem ja odavam tulemus. | Kui ülesanne ei ole õigesti hinnatud, projekti kogumaksumus ei ole kunagi täpne. Sellistel juhtudel võib ülesande jaotada mitmele sprindile. |
See metoodika nõuab kogenud meeskonnaliikmeid ainult. Seega, kui meeskond koosneb inimestest, kes pole asjatundjad, ei saa projekti õigeks ajaks valmis. | Ei konkreetsed ajaraamid on iga faasi jaoks eraldatud, nii et meeskonnaliikmed ei saa kunagi aimu, kui palju aega neil igas etapis kuluda võib. |
Selle Agile Scrumi meetodi puhul on see nii lihtsam kvaliteetset toodet tarnida ettenähtud ajal. | See on mõeldud a regulaarne, püsiv väljund, suured muutused klientide nõudluses võivad Kanbani langeda. |
. projektiplaan ei häiri kunagi isegi kui meeskonnaliige lahkub meeskonnast. | Kui mõni meeskonnaliige arenduse käigus lahkub, saab see kahjustada projekti arengut. |
Igapäevased kohtumised mõnikord pettuma meeskonna liikmed. | Vananenud Kanbani tahvel võib arendusprotsessis probleeme tekitada. |
Suuri projekte saab hõlpsasti jagada kergesti juhitavateks sprindideks. |
kokkuvõte
- Kanbani määratlus: Kanban on defineeritud kui agiilne arendusmetoodika tarkvara, autode, kaupade, ravimite, jalanõude või mis tahes muu tootmistöö arendamiseks.
- Kanban kasutab töö visualiseerimiseks Kanbani tahvlit. See kasutab veerge etappidena (ülesanded, arendus, testimine jne) ja kaarte tööüksusena.
- Kanbani metoodika toetab visualiseerimiseks füüsilist ja digitaalset tahvlit.
- Kanban on tõmbepõhine süsteem ja kaardid tõmbavad eelmisest etapist praegustesse etappidesse meeskonnaliikmed.
- Kanbani meetod kasutab CFD diagrammi, et mõista meeskonna teostusaega ja tsükli aega. See diagramm aitab meeskondadel parandada nende kahe ajastuse vahet ja parandada tõhusust.
- Kanbani arendusmetoodika, WIP piirab ülesannete/kaartide arvu, millega meeskonnaliige või terve saab korraga töötada.
- WIP piirab keskendumist asjade tegemisele, kuna üksikisik keskendub korraga ühele ülesandele.