Sursa imaginii: pixabay.com

Echipele software de astăzi sunt, cel puțin în procesele lor, mai agile! Ei sunt dispuși să se gândească la parametrii stabiliți pentru a urma ceea ce funcționează pentru ei. Aceștia sunt dornici să învețe și să adopte noi tehnici de management de proiect și procese de proiect.

O metodă de gestionare a proiectelor numită Kanban face runde în industria software de câțiva ani și a câștigat monedă în ultimii cinci ani. Împreună cu metodologiile Agile, adoptarea metodei Kanban a oferit companiilor o mulțime de sărbători.

Dar există și critica conform căreia Kanban nu este altceva decât o listă glorificată de a face. Atunci despre ce este vorba? Să aflăm.

Ce este Kanban?

Dacă compania dvs. este gata să treacă dincolo de abordarea tradițională de gestionare a proiectelor software, astăzi, nu există lipsa tehnicilor de management de proiect.

Pentru unul, există sistemul de gestionare a proiectelor Agile, care se concentrează pe metode non-liniare, iterative de dezvoltare de software. Utilizarea metodelor Agile este evidentă în Scrum, care se concentrează pe o abordare mai flexibilă a managementului de proiect.

Agile are legături și cu alte cadre de management de proiect, cum ar fi Kanban și Extreme Programming. Dintre acestea, Kanban a obținut multă popularitate. Până la urmă, cine nu vrea un proces evoluat de japonezi?

Kanban este un concept care a evoluat la Uzina de Fabricare a Producției Toyota pentru a obține o producție justă la timp (JIT), care reduce costurile și permite utilizarea mai redusă a resurselor. La baza ei, urmează principiul „tragerii” de lucru, ceea ce înseamnă că sarcinile sau produsele trebuie „trase” de cerințe și cerere și nu „împinse” de sus în jos. A fost dezvoltat pentru a asigura o mai bună stocare a componentelor auto din uzinele Toyota, pe baza cererii. Aceasta a însemnat că, pe măsură ce cererea a crescut, cererile vor fi completate.

Conceptul a fost adaptat industriei software cu câteva modificări de David Anderson, în cartea sa din 2010, Kanban . De atunci, a fost folosit pentru diferite proiecte cu mult succes. Poate fi de ajutor imens în proiecte complexe care pot suferi de supraîncărcare pe o parte a ciclului de dezvoltare.

Practic, sistemul Kanban tratează procesul de proiectare software ca o conductă. Să spunem că un proces software are trei tipuri de sarcini: analiză, dezvoltare, testare și, în final, implementare. Să spunem că există douăzeci de sarcini care trebuie finalizate.

În cazul unui sistem tradițional de management de proiect dacă, de exemplu,

  • În total sunt 25 de povești
  • Analistii sunt capabili să se ocupe de cinci povești pe săptămână
  • Dezvoltatorii sunt capabili să se ocupe de cinci povești pe săptămână
  • Testerii sunt limitați la trei povești pe săptămână

În această situație, munca pur și simplu se acumulează la capătul testerilor. La sfârșitul săptămânii 1, situația va fi următoarea:

  • Doar trei povești au trecut la desfășurare.
  • Dezvoltatorii și analiștii lucrează pe trei povești, deoarece testerii nu sunt capabili să ia rezultatul dezvoltatorilor și să testeze la fel.
  • Munca se acumulează, lăsându-i pe rezolvanți și analiștii și managerul de proiect.

Analiștii și dezvoltatorii pot fi pur și simplu învârtind degetele lor! Sau managerul lor și-ar putea da seama că sunt inactivi și îi pot realoca în alt proiect, unde poate apărea o situație similară. Deci, există două proiecte care sunt acum blocate în faza de testare!

Problemele într-o astfel de situație nu sunt greu de observat. Ce rost are să dezvolți zece povești (sau biți de software) atunci când nu vor fi testate în curând?

Acum, treceți la metoda Kanban.

Metoda Kanban este un concept extrem de simplu. Urmează o logică simplă a utilizării unei „metode de tragere” pentru a elimina mai întâi blocajele și limitarea lucrărilor în curs (WIP) pentru procese de lucru mai bune.

În forma sa cea mai simplă, Kanban, literalmente, „placa vizuală” ajută prin „tragerea” elementelor dintr-o listă de activități, în loc să lucreze cu cronologie. Metoda Kanban ajută la identificarea blocajelor, astfel încât fluxul procesului să fie mai bine gestionat.

O placă de bază Kanban are o listă de sarcini de făcut, sarcini în desfășurare și sarcini finalizate.

În managementul software, însă, sarcinile pot fi ceva mai complexe. Cele mai multe proiecte Agile au un consiliu similar. Într-o placă Kanban, etapele implementării sunt marcate clar, împreună cu un număr pentru fiecare coloană. Acest număr reprezintă numărul maxim de sarcini sau povești pe care un anumit pas le poate gestiona.

Exemplul nostru de pe un consiliu Kanban ar arăta astfel la începutul celei de-a doua săptămâni. Aceasta înseamnă că dezvoltatorii și analiștii nu vor lucra la numărul optim de povești în acea săptămână. Ar fi evident că munca se acumulează la sfârșitul testerului. Iar organizațiile se pot asigura că echipele lucrează împreună pentru a finaliza testarea. În mod alternativ, ei pot privi alte modele de flux de proces, astfel încât acest lucru să nu se întâmple.

Atunci când proiectele sunt gestionate prin sistemul Kanban, există mai puține posibilități pentru acumularea lucrărilor. Poveștile sunt preluate în funcție de lățimea maximă de bandă disponibilă.

Într-o configurație obișnuită Kanban, lucrările vor fi preluate în funcție de lățimea de bandă disponibilă și lucrările vor fi trase de echipe, astfel încât acestea să fie întotdeauna la capacitate maximă. Sistemul permite, de asemenea, o pistă rapidă, pentru sarcini urgente, astfel încât acestea să se deplaseze prin placă cu efort minim.

Uitați-vă la această placă Kanban.

Este clar că toate etapele funcționează la o eficiență maximă. Și sarcina care este pe „Fast Track” este, de asemenea, contabilizată.

Kanban nu este în niciun caz singura metodă utilizată pentru creșterea eficienței prin limitarea WIP. Există și alte sisteme care obțin același rezultat - de exemplu, sistemele CONWIP (Constant Works in Progress) și DBR (Drum-Buffer-Rope), care sunt destinate în principal industriei de fabricație.

Cu toate acestea, Kanban este sistemul care a fost cel mai bine modificat pentru a se potrivi cu industria software.

Prin ce diferă Kanban de metodologiile agile?

La baza sa, Kanban este o metodologie care folosește unele elemente ale Agile Project Management. Multe proiecte din cadrul Agile își au rădăcinile în abordările Lean. Diferența dintre Metodologia Kanban și Managementul proiectelor agile nu este la fel de alb-negru, pe cât ar fi de părere că susținătorii celor două metode. Au mai multe în comun decât diferențele.

Cadrul Agil nu este absolut. Întrebarea nu este dacă echipele sunt agile sau nu. Echipele au adesea agilitate în diferite grade. Una dintre metodele de a avea mai multă agilitate în procesul de dezvoltare a software-ului este utilizarea Kanban.

Există câteva diferențe între metodele Kanban și Agile. Unele dintre caracteristicile dezvoltării Kanban, care sunt puțin diferite de Agile, sunt:

  • Liniile de timp nu sunt un factor semnificativ . Acesta este un concept dur pentru a ne înfățișa capul, întrucât pare foarte non-intuitiv. „Cum lucrați fără termene?”, Oamenii se întreabă adesea. Dar dacă fiecare membru al echipei este angajat la eficiența sa maximă, timpul încetează să mai fie un factor.
  • Poveștile (sarcinile) sunt mai mari decât în ​​sistemele tipice Agile. De obicei, lungimea și complexitatea poveștilor sunt mai lungi decât cu un proiect tipic Scrum. Deoarece accentul nu se bazează pe estimarea timpului, ci doar pe procesul de derulare a procesului, Kanban își poate permite să lucreze la povești mai mari.
  • Nu există nicio schimbare semnificativă în procesele existente. Principiile Kanban pentru dezvoltarea de software, așa cum au fost elaborate de fondatorul său, David Anderson, în blogul său, includ următoarele principii de bază:
    • Începeți cu ceea ce faceți acum
    • Sunt de acord să urmărești schimbarea progresivă, progresivă
    • Respectați procesul, rolurile, responsabilitățile și titlurile actuale
  • Fiecare poveste este măsurată în timp de ciclu . Proiectul este evaluat nu prin calculul tradițional Agile al vitezei (numărul de povești completate într-un timp dat), ci după timpul ciclului. Aceasta înseamnă că Kanban pune accentul pe cât a durat până la finalizarea unei sarcini. Puteți vedea adesea un bulevard pe multe planșe Kanban care menționează câte zile durează echipa pentru a termina o poveste. Această estimare intră în ciclul următor.

Kanban: Un consiliu, dar ce altceva?

Așadar, Kanban este un consiliu care ne arată cum sunt aranjate poveștile - este faptul că chiar și o afacere atât de mare, se întreabă mulți. Există, de fapt, multe discuții despre ce este Kanban și poate face.

Kanban este doar o metodă de gestionare a fluxului de lucru? Sau este ceva pe care îl putem folosi împreună cu metodologiile Agile pentru eficiență maximă? Sau poate fi un mod cu totul nou de gestionare a fluxurilor de lucru?

Fiecare echipă folosește Kanban după cum consideră potrivit, pentru situația lor particulară. În orice caz, Kanban are potențialul de a funcționa ca mod de viață pentru dezvoltarea de software, dacă este utilizat la nivelul optim.

Indiferent dacă este folosit pentru a gestiona fluxul de lucru sau ca o nouă paradigmă în dezvoltarea de software, nu se poate nega faptul că acesta ajută la gestionarea WIP-urilor.

Pentru ca Kanban să funcționeze cel mai bine, este important să ne gândim la acesta nu doar la gestionarea WIP-urilor, ci la un cadru de management al proiectului. Anumite linii directoare de bază vor ajuta procesul.

  1. Optimizați echipele astfel încât nicio echipă să înceapă ceva ce nu pot termina. Acest lucru ajută procesul de-a lungul.
  2. Nu rezistați la schimbările din sistemul inițial Kanban. Dacă proiectul dvs. se va descurca bine cu termene și termene, încorporați la fel ca dvs. Acest lucru face ca un mediu de dezvoltare mai sănătos și mai robust.
  3. Nu evitați munca în echipă. Kanban poate părea, dar nu este, un model bazat pe indivizi care lucrează izolat. Munca în echipă trebuie să fie o parte integrantă a dezvoltării de software Kanban.
  4. Gandeste in afara cutiei. Gândiți-vă la modificările fluxului de lucru. Multe echipe optează acum pentru Dezvoltarea condusă prin test, cu Acceptance Test-Driven Development, unde testele de acceptare sunt efectuate mai întâi cu cazuri de utilizare, care determină apoi caracteristicile necesare și natura dezvoltării.

hibrizii

Întrucât tot mai multe companii folosesc instrumentele de gestionare a proiectelor cele mai potrivite pentru situația lor particulară, nu este surprinzător faptul că două dintre cele mai bune metodologii de management de proiect: Scrum și Kanban, au fost integrate cu mult succes.

Hibridul, numit Scrumban, intră în multe proiecte.

Dacă o organizație folosește deja Scrum, dar este dificil să țină proiectul împreună, fie cu sprinturile care nu funcționează bine, pentru a testa că nu este etanș, ar putea fi momentul să ia în considerare Scrumban.

Pentru a explica simplu, Scrumban a implicat luarea unei lupi la sprinturi. Nu este vorba doar despre sprinturi ca parte a proiectului, ci despre ceea ce se întâmplă în cadrul sprinturilor. Scrumban ajută să analizeze modul în care o poveste este procesată într-un sprint și asta ar putea face toată diferența.

Scrumban, sau oricare dintre variantele sale, este o modificare minimă față de practicile existente. Frumusețea folosirii Kanban este că poate fi folosit cu aproape orice fel de model de management de proiect: cascadă, Agile sau orice altceva.

Noțiuni introductive cu Kanban

Este ușor să începeți cu sistemul Kanban. De asemenea, este posibil să implementăm Kanban într-o manieră minimă ca proces pentru o anumită parte a unui proiect.

  1. Elaborați un proces de dezvoltare a software-ului. Realizați o hartă clară a întregului proces. Cum funcționează în realitate proiectul - de la proiectarea inițială, la dezvoltare, la testare, la schimbări de caracteristici?
  2. Enumerați etapele în care va fi utilizat Kanban. Folosiți pașii care sunt sub controlul dumneavoastră. Aceasta cuprinde de obicei fazele de analiză, dezvoltare, revizuire și testare.
  3. Lucrați asupra unor puncte importante precum:
    1. Limite la lucrările în curs pentru fiecare etapă.
    2. Procese pentru lucrări accelerate / blocate
    3. Estimările din spate ale plicului cu privire la timpul ciclului
    4. Frecvența revizuirii / procesului / estimării Kanban
  4. Cumpărați o tablă și o grămadă de note Post-It.
  5. Incepe
  6. Examinați după caz.
  7. Repeta

Așadar, mergeți mai departe și începeți-vă pe Kanban!

Nu vă speriați dacă nu se dovedește așa cum v-ați propus inițial. Întreaga idee din spatele metodologiilor Agile este de a adapta schimbările la oameni și procese! Spuneți-ne despre experiențele dvs. cu metoda Kanban.

Articole recomandate

  1. 6 cel mai util un birou de management de proiect (PMO)
  2. 8 pași utili pentru a crea hărți de poveste sofisticate pentru proiectul dvs.
  3. Cele 5 valori importante ale programării extreme (puternice)