Kanban a fost inventat în industria auto japoneză în prima jumătate a secolului XX. Inspirat de modul în care supermarketurile își depozitează rafturile în funcție de cerere, obiectivul Toyota a fost de a reduce stocurile și de a îmbunătăți fluxul în întregul lor sistem de producție.

În cartea sa Kanban: Schimbare evolutivă de succes pentru afacerea dvs. de tehnologie, David Anderson a descris cum se aplică principiile Kanban dezvoltării de software. Aceste principii sunt:

  • Începeți cu ceea ce faceți acum
  • Sunt de acord să urmărească schimbarea progresivă, progresivă
  • Respectați procesul, rolurile, responsabilitățile și titlurile actuale

Ce înseamnă asta pentru dezvoltarea software-ului agil?

La cursurile mele de instruire, îi întreb pe participanți despre ce știu deja dezvoltare software agila. Răspunsurile obișnuite sunt: ​​„Lucrați în sprinturi”, „Există un proprietar de produs”, „Gestionați poveștile utilizatorilor într-un backlog”. Oamenii sunt influențați de cel mai popular cadru agil de astăzi, Scrum.

Scrum vine cu propriile sale roluri, evenimente și artefacte predefinite. Scrum vă cere să respectați regulile definite în Ghid Scrum, dacă doriți să apelați ceea ce faceți Scrum. Kanban este diferit.

Kanban începe cu procesul pe care îl urmați acum în compania dvs. Vizualizați pașii pe o placă Kanban. Ele pot include tot ceea ce faci, de la idee până la livrare.

Fiecare pas devine titlul unei coloane de pe tablă.

Ce este Kanban S a definit metodologia Agile si cum sa

Pentru a vă urmări munca de zi cu zi, cel mai bine este să o împărțiți în obiecte mici. Poate povestirile utilizatorilor care pot fi implementate în cel mult 2 zile. Scrieți fiecare articol pe o notă stick și agățați-l pe tablă. Puteți utiliza ordinea verticală pe tablă pentru stabilirea de priorități.

Cărțile se mișcă de la stânga la dreapta. Persoanele care lucrează trag elementele care au fost finalizate până la etapa anterioară a procesului. Când au capacitatea de a face acest lucru. Deci, dezvoltatorii din exemplu trag Incarca imaginea card în Dev atunci când au capacitatea de a-l implementa.

Urmărirea schimbărilor evolutive incrementale

Deci, ați creat un tablou Kanban care vă arată procesul? Vă faceți munca vizibilă, ceea ce este un început minunat!

Pentru a obține beneficiile Kanban, trebuie să mai faceți câteva lucruri. Trebuie să:

  • Limitați munca în proces și în cozi
  • Observați și îmbunătățiți fluxul
  • Colaborați eficient

Limitați munca în proces și în cozi

Limitarea muncii în proces înseamnă: setați un maxim pentru numărul de articole la care lucrați. Aceasta se numește limita Work-in-Process sau, într-o limită scurtă de WiP. Iată placa Kanban cu o limită WiP pentru câțiva pași de proces.

1611424327 710 Ce este Kanban S a definit metodologia Agile si cum sa

Dezvoltatorii pot lucra la 5 articole odată. Cel mult. Dacă coloana lor conține 5 articole, nu li se mai permite să extragă articole. Acest lucru are două consecințe.

În primul rând: încurajează oamenii să-și termine munca, în loc să înceapă mai multă muncă. Lucrările începute care nu sunt terminate prezintă riscuri. Cât de fericiți vor fi clienții dvs. atunci când nu puteți lansa software-ul conform planificării? Pentru că ai început să lucrezi la toate aceste idei grozave, dar nu ai trecut cu ele?

A doua consecință a limitării muncii în proces: blocajele devin vizibile. Când o etapă de proces începe să funcționeze pe care nu o poate termina, oamenii o vor simți imediat. Deoarece următorul pas al procesului nu va putea extrage articole.

În afară de limitarea muncii în proces, ar trebui să limitați și dimensiunile cozii. În tabla de mai sus, acestea sunt prezentate ca linii punctate între coloane. Funcționează în același mod ca și limitarea muncii în proces.

În concluzie: Nu mai începe, începe să termini este deviza. De la concept la livrare în cât mai puțin timp posibil.

Observați și îmbunătățiți fluxul

Observarea unui blocaj poate fi dureros la început. Dar măcar știi unde sunt problemele majore în procesul tău. Și Kanban vă încurajează să îmbunătățiți fluxul prin eliminarea blocajului. Un flux consistent vă permite să livrați mai fiabil și acest lucru este bun pentru toate părțile interesate, inclusiv pentru dezvoltatori.

Pentru a observa fluxul, înregistrați ora la care o carte intră într-o etapă de proces. Și momentul la care finalizați etapa procesului. Deci, știți cât timp petrece cardul în fiecare pas și în fiecare coadă dintre pași.

Pe baza datelor, puteți configura valori care vă ajută să îmbunătățiți fluxul. Valorile obișnuite includ:

  • Timpul ciclului: timpul pe care îl ia o carte din momentul în care o echipă începe să lucreze la ea (adică Dev) până la livrare (adică Eliberare). Îmbunătățirea acestei valori vă poate ajuta să vă îmbunătățiți timpul pe piață.
  • Randament: numărul de cărți care se deplasează prin sistem într-un timp dat. Îmbunătățirea acestei valori vă poate ajuta să îmbunătățiți performanța organizației dvs. de livrare.

O modalitate obișnuită de a obține o prezentare generală a numărului de cărți în care etapă de proces în timp este o diagramă de flux cumulativă. În mod ideal, numărul de cărți din fiecare pas, dar ultimul rămâne aproximativ același în timp. Numărul de cărți eliberate ar trebui să se monteze. Când graficul se abate de la aceasta, este posibil să aveți un blocaj.

1611424327 393 Ce este Kanban S a definit metodologia Agile si cum sa

Colaborați eficient

Valorile Kanban sunt un instrument puternic pentru a analiza și a îmbunătăți ceea ce faceți. Dar nu valorează nimic fără ca oamenii să facă treaba. Toți cei implicați în etapele procesului ar trebui să fie deschiși la transparența pe care Kanban o creează.

Oamenii ar trebui să colaboreze în mod constructiv pentru a elimina blocajele, în loc să dea vina pe indivizi. Uită-te la starea actuală în mod regulat. Există blocaje? Există prea multă sau prea puțină muncă disponibilă pentru un anumit pas de proces? Este suficient debitul? Există alte surse de nemulțumire? Ce trebuie îmbunătățit?

De acord asupra experimentelor care încearcă mici modificări ale sistemului. Realizați schimbările. Mai târziu, uitați-vă dacă experimentele au funcționat conform așteptărilor. Pentru a putea implementa modificările, sprijinul de conducere este adesea crucial.

Când se folosește Kanban

Kanban este foarte flexibil. Poate fi folosit în combinație cu Scrum, care se numește Scrumban. Poate fi folosit în afara dezvoltării produsului. Îl puteți folosi chiar și pentru a planifica o călătorie sau pentru a organiza ceea ce faceți în timpul liber.

Mi s-a părut deosebit de util când lucrul în Scrum Sprints nu este posibil sau este dificil. Exemplu: două companii în care una este client, iar cealaltă este furnizor, iar o predare este inevitabilă. Un alt exemplu este atunci când lucrați la un produs care implică atât software cât și hardware și sunt implicate mai multe discipline de inginerie.

Kanban poate fi, de asemenea, utilizat în interiorul companiei dvs. atunci când dezvoltarea funcționează într-un mod agil, dar nu și restul companiei. Poate fi utilizat pentru a facilita cooperarea dintre planificarea strategică și dezvoltarea de software.

Nu credeți că doar pentru că aveți probleme la implementarea Scrum, nu există nicio modalitate de a deveni mai agili. Kanban începe cu ceea ce faci acum. Și dacă îl luați în serios, vă va ajuta să vă îmbunătățiți. Un mic pas la rând.

La aflați mai multe despre dezvoltarea software-ului agil, vizitați cursul meu online. Pentru a ține pasul cu ceea ce fac sau pentru a-mi trimite o notă, urmează-mă dev.to, LinkedIn sau Stare de nervozitate. Sau vizitați-o pe a mea Proiectul GitHub.