Programarea extremă în Agile - un ghid practic pentru managerii de proiect șiManager de sarcini UDN.ERS.
Am primit o mulțime de cereri de programare extremă în cascadă - și cum ar putea cinevabeneficiați de acesta ca manager de proiect. Doar în cazul în care nu știați ce este o programare extremă, este o formă de cadru agil în care PMS obține cele mai bune rezultate din resursele disponibile într-un mediu de dezvoltare software.
Programarea extremă (XP), un cadru de dezvoltare a software-ului agil, este conceput special pentru îmbunătățirea calității software-ului, procesul de lucru pentru echipa de dezvoltare și satisfacția sporită a clienților.
Este o metodă creată pentru o mai mare și mai eficientăCiclul de viață al dezvoltării software (SDLC)Pentru proiectele dvs. și a fost implementat pentru prima dată un proiect pe 6 martie 1996.
Programarea extremă funcționează spre furnizarea de software iterative și recurente pe tot parcursul proiectului; În loc de tot ceea ce împreună după un ciclu de viață de dezvoltare a proiectului unic.
Acestescurte cicluri iterativeAjutați atât membrii echipei, cât și clienții să evalueze și să revizuiască progresul proiectului pe parcursul dezvoltării sale.
XP încorporează următoarele 5 valori:
Miezul XP este un set interconectat de practici de dezvoltare software. Deși este posibilă implementarea acestor practici, multe echipe au descoperit că unele practici consolidează celelalte și ar trebui făcute în legătură. Acest lucru poate permite eliminarea pe deplin a riscurilor pe care le întâmpinați adesea în dezvoltarea de software.
Cele douăsprezece practici originale pentru XP cuprind:
De-a lungul anilor, echipele au descoperit că unele practici consolidează ceilalți. Pentru a elimina riscurile, acestea ar trebui să fie unificate. Următoarele descrieri includ unele dintre cele rafinări bazate pe experiențe diferite ale echipelor:
Intreaga echipa: Echipele ar trebui să cuprindă grupuri inter-funcționale de persoane cu abilități diferite. În acest fel, ei se pot completa reciproc pentru a realiza un rezultat specific.
Stați împreună:Majoritatea oamenilor sunt de acord că conversațiile față în față sunt cea mai bună formă de comunicare. Echipele ar trebui să stea împreună fără bariere în calea comunicării, de ex. pereți cubiclezi.
Spațiul de lucru informativ: Echipele ar trebui să fie aranjate să stea într-un mod de a face munca echipei transparente între ele și persoanele afiliate în afara echipei.
Lucrări energizate: Aceasta înseamnă asigurarea că o persoană este sănătoasă din punct de vedere mental și fizic pentru a se concentra asupra muncii. Acest lucru implică, de asemenea, că nu ar trebui să existe o muncă excesivă și să respecte echipele pentru a-și susține sănătatea mentală și fizică.
De asemenea, citiți:
Cum de a gestiona un proiect ca un pro în mediul de lucru de astăzi?
Programare pereche: Ideea din spatele acestei practici este că 2 creiere sunt mai bune decât una. Programarea perechilor se referă la producția de software prin intermediul a 2 persoane care stau la aceeași mașină. Prin aceasta, există o revizuire continuă și problemele primesc un răspuns mai rapid. Această metodă sa dovedit a îmbunătăți calitatea și a rămâne mai concentrată.
Povestiri: Poveștile definesc caracteristicile pe care ar trebui să le aibă produsul care ar fi semnificativ pentru clienți și utilizatori. Aceste povești sunt folosite pentru planificare și, de asemenea, servesc ca mementouri pentru conversații ulterioare.
Ciclul săptămânal: Prima zi a fiecărei săptămâni, echipa se întâlnește pentru a reflecta progresele înregistrate până în prezent. Povestirile care ar trebui livrate în săptămâna sunt selectate de client. Echipa determină cum să abordeze aceste povești. Scopul din spatele acestui lucru este realizarea unei funcții de funcționare, verificabile până la sfârșitul săptămânii. Perioada fixă permite producerea unei caracteristici care poate fi afișată clientului pentru feedback.
Ciclul trimestrial:Scopul ciclului trimestrial este de a verifica activitatea detaliată a fiecărui ciclu săptămânal în contextul proiectului general. Clientul oferă planul general al echipei într-un anumit trimestru. Acest lucru nu numai că oferă echipei o viziune a proiectului, ci ajută și clientul să colaboreze cu alte părți interesate implicate.
Slack.: Aceasta implică adăugarea de câteva sarcini sau povestiri prioritare scăzute în ciclurile săptămânale și trimestriale. Dacă echipa se află la sarcini mai importante, acestea pot fi abandonate. Altfel, acestea vor fi, de asemenea, completate, sporind șansele de a îndeplini programele estimate.
Construiește de zece minute: Întregul sistem și toate testele trebuie să fie executate în 10 minute. Dacă timpul depășește această limită, mai multe rereperi vor costa perioade mai mari între erori. Această practică încurajează automatizarea procesului de construire, făcându-l în mod regulat, pentru a vă conduce toate testele.
Integrare continuă:Această practică încurajează testarea imediată a noului cod la codul de coadă mai mare. Acest lucru ajută la capturarea și fixarea problemelor de integrare mai devreme. Această practică necesită disciplină și depinde de practicile de construcție de zece minute și de a testa prima dezvoltare.
Prima programare de testare: În loc să urmați modul regulat adică,
Elaborarea codului - & GT; Scrierea testelor - & GT; Rulați teste
Practica programului de testare-prima ia calea:
Scrieți testul automatizat - & GT; Efectuați testul de eșec - & GT; Dezvoltați codul pentru a face pasul de testare - & GT; Rulați testul - & GT; Repeta
Această practică, de asemenea, reduce ciclul de feedback pentru identificarea și rezolvarea eliberării. Acest lucru are ca rezultat o reducere a numărului de bug-uri care sunt introduse în producție.
Proiectare incrementală: Această practică prezintă o anumită cantitate de lucru în avans pentru a înțelege perspectiva lățimilor de proiectare a sistemului. După aceea, lucrați mai departe pe detaliile unui anumit aspect al designului atunci când sunt livrate caracteristici specifice. Această abordare reduce costul schimbărilor și vă permite să luați decizii de proiectare atunci când este necesar pe baza celor mai bune informații disponibile.
XP a încorporat anumite practici pentru echipa dvs. de urmat și nu stabilește roluri specifice membrilor echipei. Cu toate acestea, în conformitate cu cerința, cele 4 cele mai frecvente roluri sunt:
Clientul:Clientul XP este de așteptat să participe activ la proiect. Clientul face toate deciziile de afaceri cu privire la proiect, cum ar fi:
Dezvoltatorul: Dezvoltatorii realizează poveștile identificate de client, ceea ce înseamnă să furnizeze un proiect cu caracteristici decisive.
Tracker.: Trackerul este un rol opțional și depinde dacă echipa cere una. Acest lucru este realizat de unul dintre dezvoltatorii pentru urmărirea relevanteMerici agile, si e Pentru evaluarea progresului și identificarea domeniilor cheie pentru îmbunătățire. Acest lucru este important pentru urmărirea progresului și identificarea domeniilor cheie pentru îmbunătățire. Unele dintre aceste valori pot include durata de timp lucrată, cantitatea de ore suplimentare, testele de trecere și eșec, viteza și motivele variațiilor la viteza.
Antrenorul: Acest rol este util, în special dacă echipa începe doar. Antrenorul poate fi un consultant extern care a folosit XP înainte și poate ajuta la mentor echipa pe practicile XP, precum și auto-disciplina. Angajarea antrenorului ajută la evitarea greșelilor potențiale pe care le pot face echipele noi, accelerarea proiectului.
Ciclul de viață XP poate fi explicat în legătură cu ciclul săptămânal și ciclul trimestrial.
Pentru a începe, clientul definește setul de povești. Echipa estimează dimensiunea fiecărei povestiri, care, împreună cu beneficiul relativ estimat de client, indică valoarea relativă utilizată pentru prioritizarea povestirilor.
În cazul în care unele etaje nu pot fi estimate de către echipă din cauza unor considerente tehnice neclare implicate, pot introduce un vârf. Spițele sunt denumite timpuri scurte, perioade de cercetare și pot apărea înainte de începerea iterații regulate sau împreună cu iterații în curs de desfășurare.
Următoarea vine planul de lansare: planul de eliberare acoperă poveștile care vor fi livrate într-un anumit trimestru sau eliberare.
În acest moment, începe ciclurile săptămânale. Începutul fiecărui ciclu săptămânal implică echipa și întâlnirea clientului pentru a decide setul de povestiri care trebuie realizate săptămâna respectivă. Aceste povești sunt apoi rupte în sarcini care trebuie finalizate în acea săptămână.
Weekend-urile cu o revizuire a progresului până la data între echipă și client. Aceasta duce la decizia dacă proiectul ar trebui să continue sau dacă a fost livrată o valoare suficientă.
XP pentru sistemul KRIZP
Soluția KRIZP a fost o companie de start, bazată pe web în India. Planul lor de afaceri a cuprins crearea de portaluri web pentru alte companii mici sau instituții de învățământ. Compania a început ca o afacere cu fracțiune de normă, angajând oameni care lucrează deja pentru alte organizații IT importante. Planul a fost să continue cu normă întreagă numai dacă pornirea a fost aventurată într-un succes. Nu a existat niciun cadru pentru procesele lor de dezvoltare software, deoarece a fost doar o companie de pornire, fără multe proiecte și câțiva angajați.
Compania nu avea o abordare structurată a dezvoltării software. Cu cerințele inițiale jotted pe hârtie, au fost primite informații suplimentare și clarificări de la client prin apeluri telefonice. De obicei, schimbările majore ale cerințelor nu au venit până la revizuirea clientului, care a fost după dezvoltarea soluției.
Altele decât pentrucorectarea unui bugDezvoltatorii au avut o comunicare mică sau deloc unul cu celălalt. Au lucrat separat pe diferite caracteristici. Acest lucru a condus la a deveni o barieră pentru discuții privind îmbunătățirea metodelor de lucru.
În plus, proiectele nu au fost documentate. Nu a existat un manager de proiect care să urmărească proiectele sau să se asigure că cerințele stabilite de client au fost îndeplinite. Dezvoltatorii au lucrat numai pe ceea ce a fost cerut să fie făcut.
Echipa de la KRIZP System a fost introdusă în conceptele din spatele diferitelor cadre agile. Metoda XP a fost utilizată pe o perioadă de o lună și rezultatele au fost evaluate.
CEO-ul companiei a preluat 2 roluri: reprezentantul clientului și trackerul. Pentru primul său rol, el a prioritizat povestirile utilizatorilor, delegândla echipa de dezvoltareși a avut o comunicare regulată cu clientul. Ca tracker, el a urmărit timpul pentru a îndeplini sarcini specifice. CEO a inițiat, de asemenea, jocul de planificare în fiecare săptămână (sau cel puțin o dată în patru zile), deoarece proiectul a fost mic, iar dezvoltatorii ar putea îndeplini sarcini într-o singură poveste mai rapidă. Cu toate acestea, clientul a fost disponibil pentru comunicare directă doar de două ori pe lună și restul timpului a fost în contact prin apeluri telefonice și e-mail.
Tehnica de programare asociată a fost adoptată prin care atât dezvoltatorii să lucreze împreună. După finalizarea sarcinii, ambii dezvoltatori au analizat codul cu CEO-ul.
Testele de clienți au fost introduse și echipa a lucrat la îmbunătățiri continue de proiectare, care au fost de aproximativ 12-15 pe lună.
rezumat
Abordarea XP părea să aibă un impact bun asupra ciclului de dezvoltare a software-ului pentru companie. Unele dintre modificările pozitive au inclus:
Pentru a evalua practicaAplicații ale cascadeiVS. Extreme Programing, un studiu de cercetare a fost realizat prin intermediul a două studii de caz: unul la IBM și celălalt la Saber Airlines. Fiecare studiu de caz a comparat abordarea cascadei la abordarea XP.
În primul studiu de caz, la IBM, cercetătorii au dorit să studieze impactul adoptării abordării XP privind productivitatea, calitatea și satisfacția clienților. Un studiu pe an a fost efectuat pe o echipă de 7-11 membri cu privire la adoptarea practicilor XP. Echipa a fost responsabilă pentru dezvoltarea aplicațiilor Servlet / XML pentru un set de instrumente utilizat de alte echipe IBM pentru a crea produse pentru clienții externi. Studiul de caz a analizat 2 abordări pe versiuni consecutive ale aceluiași produs. Prima a fost abordarea tradițională a cascadei, iar al doilea a fost XP.
În cel de-al doilea studiu de caz, la Saber Airline Solutions, a fost utilizată aceeași metodă, adică compararea a 2 abordări prin emisiuni diferite ale aceluiași produs. Echipa a lucrat la dezvoltarea unui mediu GUI script pentru clienții externi pentru a dezvolta aplicații personalizate de utilizator și de afaceri. Echipa a compus din 6-10 membri. Vechea versiune a fost terminată cu 3 ani înainte (cu 18 luni) utilizând metoda cascadei, în timp ce noua versiune a fost finalizată recent (spanking 3,5 luni), folosind XP.
Primul pas a fost acela de a stabili un cadru extrem de evaluare de programare (XP-EF), care a cuprins trei părți: factori de context XP (XP-CF), metrici de aderență XP (XP-AM) și măsuri de rezultat XP (XP-OM):
În plus față de cadru, au fost efectuate interviuri cu membrii echipei și clienții pentru a ajuta la înțelegerea încorporării XP de către echipa pentru satisfacția clientului.
rezumat
La IBM, metoda XP părea mai productivă în comparație cu metoda cascadei prin următoarele măsuri:
La Saber Airlines, au fost observate rezultate similare:
Utilizați cazul 1:
Declarație problemă:Site-ul companiei trebuie să fie reproiectat.
Actori: client, dezvoltatori, tracker
Folosind XP:
Utilizați cazul 2:
Problemă: Un client necesită un joc care urmează să fie dezvoltat de la zero.
Actori: client, dezvoltatori, tracker
Fluxul regulat de evenimente:
Folosind XP. :
Manager de sarcini UDN.este un sistem de management al sarcinilor care acceptăMetoda agilăde cadru de programare extremă. Este o aplicație online de gestionare a sarcinilor concepute special pentru munca în echipă și de livrare a proiectului. Indiferent de industrie,Manager de sarcini UDN.Facilitează metodologia XP și contribuie la o planificare eficientă a proiectului și la alinierea procesului.
Următoarele sunt câteva dintre modalitățileManager de sarcini UDN.vă pot ajuta să vă planificați și să vă atingeți mai bine obiectivele proiectului, toate în cadrul XP.
Programarea întâlnirii
Puteți să vă programați ședințele, întâlnirile săptămânale, precum și întâlnirile trimestriale în prealabil. Agenda și calendarii reuniunilor pot fi specificate. Puteți defini un timp fix pentru întâlnire sau trimiteți un timp sugerat echipei, pentru a fi finalizat după răspunsul echipei.
Această aplicație vă permite, de asemenea, să discutați toate punctele importante discutate într-o întâlnire. Minutele pot fi apoi revizuite și publicate pentru restul echipei.
Alocarea echipei
Puteți aranja echipa dvs. și rolurile pe care le vor întreprinde prin secțiunea de alocare a echipei. Puteți defini cu ușurință roluri pentru dezvoltatori, de tracker și client.
Crearea de proiect
Clientul poate crea proiectul și poate specifica cerințele. Clientul poate defini, de asemenea, bugetul și cronologia.
Crearea și atribuirea sarcinilor
Clientul poate crea povestiri prin crearea de sarcini în cadrul proiectului. Sarcinile vor cuprinde o listă de activități pentru a finaliza sub o singură poveste. Aceste povești pot fi apoi atribuite programatorilor.
Dacă povestirile sunt finalizate înainte de unii dintre membrii echipei, clientul le poate atribui sarcinile "slăbite" adică. Sarcini prioritare mai mici în cadrul cronologiei rămase. Acest lucru economisește timp de lucru mai repede spre finalizarea proiectului.
Vezi de asemenea:
IntroducandManager de sarcini UDN.2.0 - Actualizarea noastră cea mai așteptată încă
Fluxul de proiect
Managerul de proiect sau trackerul poate ajuta la urmărirea fluxului proiectului prin modulul Timeheet. Acest modul permite monitorizarea și evaluarea eficientă a progresului proiectului. Ajută la evaluarea individuală a cronologiei pentru diferite sarcini, precum și reperele atinse sau în așteptare.
Colaborare ușoară
Uneori nu este posibil să se țină întâlniri față în față, de ex. când o anumită echipă lucrează pe un alt site. În astfel de cazuri, actualizările automate privind proiectele, sarcinile și întâlnirile pot asigura colaborarea și discuțiile în timp util și eficiente. Acest lucru evită timpul pierdut în amenajarea manuală a proiectului și a activității de urmărire, comunicarea ședinței de minute sau actualizarea proiectului.
Comentariile în timp real oferă o modalitate ușoară de a comunica cu echipa. Indiferent dacă este schimbul de informații sau idei noi, acest lucru face ca echipa să rămână pe aceeași pagină.
Sarcinile interdependente sunt evidențiate și fiecare membru al echipei poate verifica actualizările instantaneu ca fiind actualizate de ceilalți membri ai echipei. Aceasta ține echipa actualizată cu privire la situațiile în schimbare și în planificarea următoarei sarcini, în consecință.
Mai mult, clientul poate colabora direct cu echipa și poate actualiza orice modificare a cerințelor.
Transparenţă
Manager de sarcini UDN.Oferă o viziune transparentă a tuturor proiectelor și sarcinilor și sub-sarcini corespunzătoare prin intermediul tabloului său de activitate. Orice proiect creat sau modificat este comunicat imediat echipei. Nu este nevoie de recuperarea actualizărilor de progres, la satisfacerea invitațiilor sau rapoartele proiectului.
Sarcinile actualizate, modificate sau șterse calea pentru întreaga echipă să fie pe deplin conștientă și știți exact ce se realizează atunci când.
Cu opțiunea de filtrare, puteți alege să vedeți actualizări pentru proiectele selectate bazate pe prioritate sau pe sarcina la îndemână. Cu opțiunea de stare, starea sarcinii selectate poate fi văzută dacă a început sau nu, completată sau în curs de desfășurare.
Concluzie
Acest lucru scrie detaliile cum puteți beneficia de XP ca lucrător agil. În plus,Manager de sarcini UDN.este creată pentru a efectua astfel de cerințe în domeniul programării extreme și a tehnicilor de cascadă. Prin urmare, dați-i o citire și nu uitați să vă împărtășiți gândurile prin secțiunea de comentarii de mai jos. Alternativ, ne puteți trimite prin e-mail la .