Sunt extrem de întâlnite și de apreciate în industria software și cei mai mulți specialiști le cunosc drept practici de tip AGILE. Pentru anul 2014, cele 3 tendințe care definesc maturizarea produselor și serviciilor software prin intermediul acestor practici sunt date de implementarea proceselor personalizate de tip AGILE, creșterea nivelului de scalabilitate a practicilor AGILE și creșterea DEV OPS (ca modalitate de susținere și încurajare a comunicării interne, în cadrul echipelor de lucru, astfel încât elementele fluxului operațional să devină programabile – poziția în cadrul unei companii include atribuțiile unui developer și ale unui inginer).
Tot mai multe companii includ în structura lor organizațională posibilitatea dezvoltării automatizate și a implementării modelelor eficiente pentru propriul portofoliu de clienți.
Scrum, una dintre metodologiile AGILE, este folosită la scară largă de programatori sau de managerii de proiect în companiile de software. De asemenea, o altă metodologie de tip lean, cunoscută sub denumirea de Kanban, a câștigat popularitate printre dezvoltatorii de aplicații software.
Kanban este un sistem de organizare pentru producția de tip lean sau livrată imediat, fiind dezvoltată în cadrul companiei Toyota, ca model de menținere sau de îmbunătățire a producției interne. Kanban include câteva principii de bază: workflow-ul unei organizații/al persoanei implicate direct în proces, gradul de încărcare conform WIP (Work in Progress), creșterea workflow-ului.
În limba japoneză, kanban este o tablă pe care pot fi vizualizate stocurile de orice fel. Angajații pot solicita noi activități de lucru în momentul în care propriul stoc de activități se reduce, iar timpul rămas în vederea serviciului este încă disponibil. În acest fel, este crescută productivitatea la locul de muncă și este perfecționată organizarea internă în companii.
În dezvoltarea tradițională a produselor software, fluxul de lucru presupune generarea activităților către programatori, iar în momentul în care aceasta a fost finalizată, activitatea se continuă spre testare sau spre implementare de către specialistul dedicat tipului de activitate. Kanban nu funcționează în acest fel, întrucât fiecare persoană implicată într-un flux de lucru poate verifica în orice moment gradul de încărcare sau disponibilitatea colegului său.
Kanban nu este un parametru care definește ciclulde viață al dezvoltării unui produs software și nici o metodologie de management de proiect. Nu este o metodă de a crea aplicații software. Nu există un proces kanban pentru dezvoltarea software. David Anderson
Practic, nu este posibil să dezvolți folosind doar kanban, întrucât, așa cum a fost gândită, nu conține suficiente practici pentru tot ceea ce înseamnă management de produs. David Anderson
Cum arată o expunere kanban?
În acest sens, companiile preiau idei sau proceduri din kanban, Scrum, Extreme Programming sau alte metodologii și construiesc proceduri personalizate care să se potrivească propriilor companii.
Gândită, la început, pentru echipele de lucru restrânse, cu abilitate de co-locare, metoda Scrum a devenit deschizătoare de drumuri pentru astfel de metodologii, cum ar fi, de exemplu, seif.
Care sunt diferențele dintre Kanban și Scrum?