Un ghid pentru începători pentru gestionarea dezvoltării software cu Kanban și Trello
Publicat: 2022-03-11Toată lumea este un manager de proiect. Fie că gestionați dezvoltarea unei noi aplicații și vă dezvoltați startup-ul, lucrați la un nou proiect de întreprindere de miliarde de dolari sau doar încercați să vă animați curtea cu un amenajare peisagistică DIY, gestionați întotdeauna un proiect.
Succesul proiectului dumneavoastră depinde de mulți factori, dar unul dintre cele mai frecvente motive pentru care proiectele eșuează este lipsa managementului sau managementul defectuos al proiectului. Indiferent cât de mică este echipa ta sau cât de clar sunt documentate cerințele tale, dacă nu îți gestionezi echipa în mod corespunzător, proiectul tău este obligat să eșueze.
Managementul agil al proiectelor este o metodă larg acceptată de abordare a proiectelor moderne de dezvoltare software. Dar ce înseamnă de fapt Agile?
Pentru o scufundare mai profundă în principiile Agile, vă sugerez să citiți Ghidul nostru final pentru managementul agil de proiect.
În această postare, vom explica elementele de bază ale managementului agil al proiectelor cu Kanban.
Chiar dacă sunteți un manager de proiect cu experiență, care înțelege principiile agile în interior și în exterior, ar trebui să vă reîmprospătați memoria și să vă amintiți conceptele de bază. Ciclurile de inovare în dezvoltarea software-ului se accelerează constant, făcând managementul proiectelor mai complex cu fiecare iterație. Revenirea la principiile fundamentale și consolidarea principiilor de bază ale Agile este întotdeauna importantă. La urma urmei, repetiția este mama tuturor cunoștințelor.
Kanban este una dintre cele mai ușoare metode de gestionare a oricărui proiect de dezvoltare software Agile. Puteți gestiona cu ușurință o echipă de dezvoltare locală care lucrează din același birou sau echipă distribuită, răspândită în mai multe fusuri orare.
Kanban nu este un proces. Este o modalitate de a gestiona orice proces cu modificări minime ale activităților operaționale stabilite ale echipei.
Pentru a aplica principiile Kanban în munca ta, trebuie să aplici două reguli simple:
- Vizualizați-vă procesul.
- Limitați lucrările în curs.
Vizualizați-vă procesul
Vizualizarea datelor este o modalitate rapidă și ușoară de a transmite informații într-un mod universal și ușor de înțeles. Când se uită la imagini, creierul uman poate procesa mai multe informații simultan. Unele cercetări spun că acest lucru poate fi de până la 60.000 de ori mai rapid decât citirea unui text.
Cel mai popular mod de a vizualiza un proces este un panou Kanban. Un panou Kanban este un panou împărțit vertical în mai multe coloane, fiecare coloană reprezentând o stare din procesul dumneavoastră.
Să aruncăm o privire la cum ar arăta o placă de dezvoltare software simplă. În primul rând, trebuie să definim stările pentru caracteristicile noastre de dezvoltare:
- To-Do - caracteristica așteaptă dezvoltare
- Dezvoltare - caracteristica este atribuită unui dezvoltator și el/ea lucrează la ea
- Asigurarea calității - caracteristica este în curs de revizuire
- Implementat - caracteristica este acceptată și inclusă în lansarea aplicației
Pe baza acestui lucru, placa dvs. ar trebui să aibă următorul aspect:
Vizualizarea sarcinilor individuale este la fel de ușoară ca și crearea unui card simplu (la fel ca un Post-it) care reprezintă munca care trebuie făcută. Puteți denumi sarcina, puteți adăuga numele dezvoltatorului atribuit, data scadenței și orice alte informații relevante pe acest card.
Când adăugați acel card într-o coloană de pe panoul Kanban, ați vizualizat că, de exemplu, un anumit dezvoltator lucrează la o anumită sarcină care este scadentă la o anumită dată și este în prezent în dezvoltare.
Limitarea lucrărilor în curs (WIP)
Multitasking-ul uman este o iluzie. În loc să acordăm atenție la unul sau două lucruri simultan, creierul nostru comută foarte rapid între ele.
Acest lucru este mai vizibil în dezvoltarea de software decât oriunde altundeva. Dezvoltatorii pot lucra doar la o singură bucată de cod la un moment dat, iar trecerea la o altă caracteristică va cauza întârzieri și le va afecta concentrarea și performanța.
Acest lucru nu înseamnă că trebuie să limitați numărul de sarcini la una singură la un moment dat. Dezvoltarea este o muncă complexă și creativă, unele sarcini durează mai mult, iar altele necesită mai puțin timp pentru a fi finalizate și există întotdeauna o întârziere în timp ce un dezvoltator așteaptă ceva sau pe cineva. Lucrul important este să limitați sarcinile alocate la un număr rezonabil care să nu producă haos (aceasta sunt de obicei trei până la cinci sarcini la un moment dat).
Presupunând că echipa dvs. de dezvoltare este formată din doi dezvoltatori și un inginer QA, placa dvs. ar putea avea următoarele limite WIP:
- De făcut - Nelimitat
- Dezvoltare - Limită de șase cărți (Doi dezvoltatori fiecare limitat la maximum trei sarcini)
- Asigurarea calității - Limită de trei carduri (1 inginer QA limitat la maximum trei carduri)
- Desfăşurat - Nelimitat
Este datoria ta, în calitate de manager de proiect, să te asiguri că lista de sarcini este prioritizată în mod corespunzător, iar sarcinile sunt atribuite dezvoltatorilor nu mai devreme decât este necesar.
Un panou Kanban gestionat corespunzător vă va oferi o imagine clară a stării proiectului dvs. dintr-o privire. Puteți vedea că dezvoltatorii dvs. au suficientă muncă, că ați pregătit sarcini noi pe care le pot prelua odată ce sarcinile lor sunt finalizate și că inginerul dvs. de QA așteaptă sarcini noi de revizuit.
Utilizați Trello pentru a vă gestiona panoul Kanban
Trello este o aplicație de management de proiect Kanban bazată pe web. Permite o colaborare ușoară, în timp real, între membrii echipei și chiar mai multe echipe și proiecte.
Pentru a crea un panou în Trello, faceți clic pe elementul de meniu „Creați un nou panou...” și setați un titlu pentru panoul dvs.
Veți începe cu o tablă goală. Utilizați caseta „Adăugați o listă...” pentru a crea coloane pentru cardurile dvs. Kanban.
Făcând clic pe „Adăugați un card...” în partea de jos a oricăreia dintre liste, puteți crea cu ușurință o sarcină. Fiecare card pe care îl creați ar trebui să reprezinte o sarcină care va fi executată de un membru al echipei.
Cardurile din Trello pot fi personalizate în mai multe moduri:
- Atribuiți membri ai echipei responsabili pentru executarea unei sarcini
- Codați-le cu culori în funcție de grupările specifice pe care doriți să le adăugați
- Stabiliți termene limită
- Adăugați atașamente
- Adăugați câmpuri personalizate, cum ar fi o listă de verificare, unde puteți urmări progresul elementelor mai mici care cuprind o sarcină
- Membrii echipei pot comenta un card și toată lumea va fi informată cu privire la orice modificare care se face.
Vizualizarea este totul în Kanban, așa că iată cum arată un card pe tablă:

Doar privind cardul, fără a deschide vizualizarea detaliată, puteți vedea că:
- Sarcina de configurare a depozitului de coduri GitHub așteaptă să fie executată în lista de activități.
- Sarcina este valabilă până pe 27 ianuarie.
- Sarcina are o descriere.
- Există un comentariu asupra sarcinii.
- Există o listă de verificare cu două articole și niciunul dintre aceste elemente nu este finalizat în prezent.
- Sarcina este atribuită utilizatorului DS, care o va prelua în continuare.
- Sarcina aparține unui grup de carduri de culoare verde, ceea ce înseamnă că este necesară înainte de începerea proiectului.
Estimați timpul și complexitatea muncii de dezvoltare
Planificarea și gestionarea unui proiect este imposibilă fără a înțelege efortul și timpul necesar pentru a îndeplini o anumită sarcină. Cu toate acestea, unul dintre cele mai dificile lucruri de făcut în dezvoltarea de software este să determinați cât timp va dura livrarea unui nou produs sau caracteristică software.
Scrum, unul dintre cele mai populare principii Agile, se bazează în mare măsură pe estimări, indiferent dacă acestea se bazează pe timp sau pe „puncte de complexitate”.
Echipa ar trebui să petreacă mult timp pentru a defini sarcina.
Acest lucru se datorează faptului că Scrum se bazează pe intervale de timp, când se așteaptă ca un anumit grup de sarcini să fie finalizat. Pentru a planifica livrarea, trebuie să aveți o înțelegere completă a tuturor lucrărilor planificate pentru acel interval de timp.
Kanban nu se bazează pe livrări stabilite în timp și puteți planifica livrarea zilnică dacă doriți. Se bazează pe optimizarea fluxului, ceea ce înseamnă că obiectivul echipei este să completeze și să golească coloana WIP cât mai curând posibil.
Echipa nu petrece timpul estimând munca cu mult în avans. Un dezvoltator va ridica următorul articol de la To-Do; completați-l cât mai curând posibil; și ridică o altă sarcină.
Acest lucru nu înseamnă că o echipă nu ar trebui să estimeze volumul volumului de muncă.
Puteți folosi apelurile săptămânale sau zilnice pentru a actualiza și a verifica datele scadente.
Cu toate acestea, pentru o echipă mică, este mai important să se asigure că dezvoltatorii lucrează la sarcina cu cea mai mare prioritate în orice moment și că nu există blocaje, forțând un dezvoltator să-și întrerupă munca.
În cele din urmă, proiectul dvs. va crește și va trebui să începeți să estimați cantitatea de muncă de dezvoltare mai detaliată. Când ajungeți la această situație, petreceți ceva timp citind ghidul nostru pentru Estimarea costurilor software în managementul agil de proiect.
Practici de management obligatorii
Până acum, ați învățat despre importanța vizualizării procesului și limitarea WIP și despre cum să utilizați Trello pentru a vă gestiona proiectul.
Un proiect software nu poate fi gestionat doar cu carduri și coloane. Prin urmare, este important să implementați și cele mai bune practici Agile:
Organizați o întâlnire regulată a echipei.
Faceți acest lucru cel puțin săptămânal pentru a revizui ceea ce s-a făcut și pentru a rafina și a prioritiza restul (lista de sarcini) dacă este necesar. În acest fel, întreaga echipă va primi actualizări în același timp, iar ideile pot fi împărtășite. În aceste întâlniri, este important să aveți o parte interesată în proiect (client, CTO al companiei sau oricine din echipa de produs care poate lua o decizie și poate răspunde la întrebări) pentru a oferi eventual feedback non-tehnic.Asigurați o comunicare constantă cu membrii echipei individuale.
Acest lucru va face munca zilnică a tuturor mult mai ușoară. Păstrați aceste întâlniri sau sincronizări foarte scurte și simple, doar o actualizare rapidă a programului dvs. de chat preferat va fi suficientă. Este util să aveți check-in-uri zilnice, care ar putea fi o întâlnire zilnică de aproximativ 15 minute pe care o aveți cu echipa dvs. În această întâlnire, fiecare membru al echipei vorbește timp de câteva secunde spunând:
- La ce au lucrat ieri.
- La ce plănuiesc să lucreze astăzi.
- Ce provocări sau blocaje se confruntă.
Luați notițe în timpul apelului și acordați atenție pentru a găsi posibile probleme (blocante, concentrare greșită asupra sarcinii, provocări tehnice neașteptate) și lucrați la ele împreună cu echipa.
Porniți proiectul dvs. de dezvoltare software
Deși fiecare proiect de dezvoltare software este diferit, există anumite sarcini pe care le veți găsi în aproape toate. Iată câteva dintre sarcinile pe care ar trebui să le planificați atunci când începeți un proiect de dezvoltare software:
Configurați versiunea codului și un depozit.
Urmărirea modificărilor și monitorizarea codului este extrem de importantă, mai ales atunci când colaborăm la proiecte în care mai multe persoane vor actualiza același cod.
Unul dintre cele mai populare servicii pentru versiunea codului este GitHub. GitHub este un depozit Git sau de control al versiunilor bazat pe web, care oferă toate funcționalitățile distribuite de control al versiunilor și managementul codului sursă (SCM) ale Git.
Oferă controlul accesului și mai multe funcții de colaborare, cum ar fi urmărirea erorilor, solicitările de funcții, managementul sarcinilor și wiki-uri pentru fiecare proiect.Definiți o politică de backup a bazei de date.
Utilizarea serviciilor precum GitHub va asigura că codul dvs. este copiat în mod regulat.
De obicei, bazele de date nu fac parte din sistemul dvs. de versiuni și ar trebui să configurați și copii de siguranță ale bazei de date.
Procesul de dezvoltare este predispus la erori și este ușor să faceți o greșeală și să actualizați datele greșite în timpul dezvoltării. A avea o copie de rezervă vă va scuti de probleme dacă apare o astfel de problemă.Configurați instrumente de colaborare și partajarea fișierelor.
Documentația proiectului, specificațiile funcționale, fișierele de proiectare și orice altă documentație și fișiere care sunt utilizate în timpul dezvoltării proiectului sunt actualizate în mod constant și ar trebui distribuite echipei dumneavoastră.
Puteți utiliza o serie de servicii diferite pentru a partaja aceste fișiere. Google permite o soluție simplă și rentabilă pentru această problemă. Folosiți Google Drive, Google Docs, Foi de calcul Google și alte aplicații Google pentru a partaja și a colabora la fișiere.Configurați servere separate de dezvoltare și testare.
Procesul de dezvoltare trebuie să continue în orice moment.
Dezvoltatorii nu ar trebui să aștepte rezultatele testării aplicațiilor și ar trebui să continue să lucreze la sarcinile lor în timp ce Asigurarea Calității examinează funcționalitățile finalizate.
În același timp, clientul ar trebui să poată verifica în orice moment starea curentă a aplicației, fără a aștepta echipa de dezvoltare. Având un server de testare dedicat, care este actualizat în mod regulat, va elimina toate blocajele din acest proces și va asigura că echipa dumneavoastră va funcționa neîntrerupt.Definiți o oră fixă pentru apelurile săptămânale în echipă și o oră fixă pentru apelurile sau conversațiile zilnice ale echipelor.
Obțineți toți membrii echipei dvs. să programeze o oră în calendarul lor pentru apeluri și întâlniri. Acest lucru oferă echipei dvs. un program constant, fără întreruperi de lucru.
La pachet
Managementul proiectelor este o activitate complexă și, prea des, foarte stresantă. Adăugarea de structură la acesta și a face starea proiectului vizibil și precis în orice moment atenuează o mare parte din acest stres. Folosirea metodei Kanban și a principiilor Agile, combinate cu instrumentele adecvate, vă va economisi mult timp.
Acestea fiind spuse, nu există niciun instrument sau metodologie care să compenseze timpul pe care dumneavoastră, în calitate de manager de proiect, trebuie să-l dedicați gestionării proiectului.
Și doar pentru că un proiect este mic, nu înseamnă că necesită neapărat mai puțin din timpul tău. Această mentalitate este o rețetă grozavă pentru o mare durere de cap în continuare.
Iată o listă de verificare simplă pentru a vă ajuta să verificați dacă proiectul dvs. este sau nu gestionat corespunzător:
- Procesul dvs. este vizualizat corect?
- Este WIP limitat și minimizat pentru fiecare membru al echipei?
- Echipa ta are o întâlnire programată în mod constant – fie săptămânal, fie zilnic?
- Tabloul dvs. Kanban este actualizat regulat?
- Aveți un depozit de coduri?
- Ați programat copii de siguranță ale bazei de date?
- Ați configurat instrumente de comunicare și colaborare în echipă?
- Mediul dumneavoastră de dezvoltare este separat de testare, acceptare și producție?
Rețineți că această listă este departe de a fi definitivă și gata; e doar inceputul.
Vă rugăm să lăsați comentariile dvs. și să împărtășiți sfaturile și practicile dvs. cu managerii de proiect care abia încep călătoria lor nesfârșită de a da putere echipelor de dezvoltare software.