Ești familiar cu Scrum, nu? Bănuiesc că da, având în vedere că The Scrum Alliance are peste 400.000 de membri, iar dintre aceștia, majoritatea îl folosesc cu succes în organizațiile lor.
Dar nu este singura modalitate de a construi software într-un mod agil - serios! Ai auzit de Kanban?
Pentru puține informații de fundal, a fost inițial aplicată la producția slabă, ca o modalitate de vizualizare a intrării și ieșirilor de lucru pe măsură ce curgea printr-o fabrică. Această vizualizare a fost prezentată pe o placă cunoscută sub numele de „așteptați-o” - Kanban. Mai recent și mai relevant pentru dvs., a fost adoptată ca metodă de gestionare a dezvoltării de software.
Mai întâi prezentată de neurologul David J. Anderson, este o modalitate de organizare a dezvoltării și planificării software-ului care vă permite să descoperiți problemele procesului și să oferiți în mod constant îmbunătățiri valoroase în produsul dvs., care știu, sună ideal. Pur și simplu pus, în orice moment al timpului, puteți vedea unde se află munca (reprezentată de cărți) în proces de dezvoltare.
Cum functioneaza
Placa Kanban de bază folosește șase coloane care arată unde se află fiecare lucrare din ciclul de dezvoltare a produsului. Un eșantion aproximativ de cum arată este mai jos.
Vizualizați acest exemplu de bord Kanban pe Trello.
Coloana 1: Backlog
Coloana Backlog ar trebui să conțină o listă prioritară de idei, bug-uri sau nevoi de afaceri. Cardul nu trebuie să aibă încă o mulțime de detalii, dar ar trebui să aibă suficiente informații pentru ca membrii echipei dvs. să înțeleagă de ce este important.
Coloana 2: Planificare
În această coloană, un manager de produs va completa o specificație pentru funcție, întâlnindu-se cu părțile interesate de afaceri, ingineri și designeri. Când este gata, el sau ea îl vor muta în coloana „Pregătit pentru inginerie”.
Coloana 3: Gata pentru inginerie
În această etapă, toate cărțile ar trebui să aibă specificații detaliate. În timp ce este posibil să aveți încă întrebări cu privire la detaliile tehnice, cerințele de afaceri ar trebui să fie clare.
Coloana 4: în curs
Puteți muta cardul în „Progress” în orice moment. Acest sistem de „tragere” auto-bazat creează o cultură a responsabilității personale și a curiozității.
Coloana 5: Testare
După ce ați finalizat lucrările pe card, mutați-l pe „Testing” unde îl va ridica un alt inginer (sau cineva din echipa QA).
Coloana 6: implementată
O altă caracteristică definitorie este aceea că munca ar trebui să fie livrată continuu într-un mediu de producție. Această coloană permite oricui din echipă să vadă ce lucrare a fost lansată recent.
Avantajele și compromisurile
Când decideți între Kanban și o metodologie mai comună precum Scrum sau Cascada, țineți cont de aceste beneficii și provocări:
Beneficiu: îmbunătățește colaborarea
În unele echipe de dezvoltare cu care am lucrat, inginerii au fost specialiști. Fiecare echipă va avea un inginer frontend cuplu și ingineri backend. Aceasta însemna că munca era deseori blocată, deoarece un inginer era ocupat cu altceva.
Pe de altă parte, Kanban, limitează munca în desfășurare și descurajează blocajele. Fiecare membru al echipei poate lucra la un singur articol la un moment dat și oricine nu este ocupat poate trage de lucru din partea de sus a coloanei „Gata pentru inginerie”. Acest lucru încurajează generaliștii și colaborarea dintre membrii echipei.
Sporă avantajul: nu lăsa lucrurile să treacă înainte de a fi gata
Kanban funcționează numai atunci când aștepți să muti cărțile pe coloana următoare până când acestea sunt complet terminate. (Bonus: Acest lucru minimizează foarte mult defectele.)
Provocare: descurajează timpul pentru a reflecta
În mod implicit, nu există sprinturi cu timp, cu obiective clare, ținte pentru date și cicluri de lansare. În schimb, gândiți-vă la fiecare carte ca la o lucrare independentă care poate fi finalizată și lansată în orice moment.
Cu acest flux continuu de lucru, nu există opțiunea „așteptați până la următorul sprint”. Trebuie să verificați continuu placa, să trageți următorul articol și să mutați articolele finalizate în aval. Cu excepția cazului în care vă construiți la timp pentru retrospective și standup-uri, ar putea fi greu pentru membrii echipei să țină pasul cu modul în care se desfășoară.
Înconjurați-vă: împrumutați ce funcționează de la Scrum
Am folosit standup-uri și retrospective zilnice cu Kanban și am constatat că acestea adaugă valoare. Dacă există întâlniri regulate sau modele care funcționează pentru echipa ta, nu le schimbați pentru a respecta dogmatic Kanban. Bugetează timpul pentru a vorbi despre priorități și cum s-au schimbat, astfel încât toată lumea să știe ce se întâmplă în ciclul de dezvoltare a produsului.
Beneficiu: crește transparența
Fiecare dezvoltator trebuie să ia inițiativa de a muta o carte în coloana „În desfășurare”. Adică, în orice moment dat, managerul echipei poate arunca o privire despre cine este ocupat, cine nu este ocupat și cât timp a fost lucrat.
Când producția încetinește sau se oprește, Kanban vă permite să vedeți exact de ce. Indiferent dacă este vorba de faptul că echipa de afaceri nu a acordat prioritate articolelor din trecut, echipa de produse nu a terminat specificațiile, echipa dev se mișcă mai lent decât se aștepta sau echipa QA nu a reușit să testeze ceva; blocajele sunt evidente.
Sporirea avantajului: Permiteți progresul să fie public
Unul dintre avantaje este că Kanban este foarte vizual. Chiar și membrii echipei non-tehnice se pot uita la un consiliu Kanban și pot spune unde sunt lucrările în proces. Folosește acest lucru în avantajul tău și permite realizărilor echipei să strălucească punându-ți consiliul într-un loc public.
Provocare: nu permite planificarea pe termen lung
Îți faci griji pentru termene și estimări nu este cea mai productivă utilizare a timpului tău, așa că s-ar putea să apreciezi că Kanban se referă mai mult la producția de zi cu zi. Acestea fiind spuse, nu oferă un sistem de construire a unui plan pe termen lung. Acest lucru vă poate determina să lucrați la proiecte sporadic, mai degrabă decât să vă concentrați pe un lucru mult timp. Este greu să petreci o zi în proiectul A, apoi o zi în proiectul B, apoi să reveniți la proiectul A.
Încercați-l: utilizați-l când prioritățile dvs. se vor schimba probabil
Fiecare coloană din consiliul dvs. este independentă de celelalte, astfel încât membrii echipei pot muta lucrurile în orice moment. Acest lucru poate enerva dezvoltatorii într-o setare Scrum (unde estimările pentru sprint sunt făcute în avans), dar Kanban prosperă într-un astfel de mediu care se schimbă rapid.
Toată lumea vrea să fie mai productivă, dar poate fi greu să încercați ceva nou dacă nu sunteți sigur de unde să începeți. Am constatat că Kanban va fi de ajutor și sper să îl găsiți util și pentru fluxul dvs. de lucru personal (sau chiar pentru întreaga echipă!).
Tweet-mi dacă decideți să-i dați o lovitură!