Cum rulăm proiecte Agile ca echipă extinsă distribuită a clienților
Publicat: 2018-12-14Un raport recent al Computereconomics a constatat că, în perioada 2018/19, procesul de dezvoltare a aplicațiilor a apărut ca cel care a cunoscut o oportunitate maximă de outsourcing – cu 56% dintre organizațiile din întreaga lume care își externalizează cerințele de dezvoltare.
Motivul din spatele acestei cereri crescute de externalizare a nevoilor de dezvoltare a aplicațiilor mobile a fost același ca întotdeauna – Cost mai mic decât ceea ce ar trebui plătit dacă ar fi angajați dezvoltatori din propria țară, permițând o concentrare mai mare pe afacerea principală și o calitate mai bună a serviciilor.
Cu toate acestea, chiar dacă externalizarea ocupă un loc central în industria dezvoltării de aplicații, am constatat că există unele preocupări comune pe care clienții le manifestă atunci când intenționează să-și externalizeze proiectul de dezvoltare software în afara națiunii lor geografice.
În acest articol, vom analiza modul în care Appinventiv lucrează cu clienții offshore folosind ciclul de dezvoltare agil distribuit, permițând un proces de lucru mai conectat, cu un model de risc și remunerare aliniat pentru toți.
Dar înainte de a ajunge la partea în care spunem cum funcționăm ca echipă distribuită a clienților noștri și cum lucrăm atât de perfect încât să devenim echipa lor tehnologică internă extinsă, este important să știm ce înseamnă chiar echipa Distributed Agile .
Ce înțelegem prin echipă agilă distribuită
O echipă distribuită este un concept folosit pentru a explica evenimentul în care două sau mai multe echipe funcționează în mai multe locații geografice în loc de un spațiu de birou sau chiar două spații de birou într-un oraș.
Echipa agilă distribuită se bazează pe tehnologiile digitale pentru a interacționa perfect și pentru a lucra împreună în vederea aceluiași obiectiv – livrarea la timp a proiectelor.
De ce investesc companiile într-o echipă distribuită de dezvoltare a aplicațiilor mobile?
Există o serie de motive care determină companiile să investească în echipe distribuite, motive variind de la:
- Lipsa dezvoltatorilor calificați în națiunea lor
- Necesitatea de a testa piața înainte de a se face o investiție în formarea unei echipe
- Pentru a beneficia de avantajul echipei flexibile, care poate fi mărită în momentul scalării aplicației și dizolvată când nevoia se termină.
Odată cu definiția și nevoia satisfăcută acum, să ne uităm acum la modul în care echipa Appinventiv funcționează ca o echipă distribuită a clienților noștri. Dar înainte de a sări acolo, să ne uităm rapid la cum arată structura noastră tipică de echipă agilă distribuită -
Abordarea Appinventiv a dezvoltării agile distribuite
De multe ori primim un proiect în care cerința ne obligă să lucrăm în strânsă legătură cu FTE ai clienților. În astfel de cazuri, devine foarte important să nu lăsăm distanța în mii de mile între muncă și să fim capabili să facem schimbări și să luăm măsuri asupra procesului de dezvoltare în timp real.
Cum asigurăm livrarea la timp, fără avarii de comunicare și neînțelegeri, este o întrebare al cărei răspuns se află în Metodologia Agile Distribuită .
Potrivit atât pentru întreprinderile la scară mică, cât și pentru cele mari, respectarea celor mai bune practici agile distribuite este foarte utilă atunci când trebuie să lucrăm alături de o echipă care se află într-o altă locație geografică cu un fus orar absolut diferit.
Să ne uităm la Metoda de dezvoltare agilă distribuită pe care o aplicăm în procesul nostru de dezvoltare a aplicațiilor mobile.
După ce ne-am prezentat pe toți membrii echipei unii cu alții și am colaborat cu software-ul de management al proiectelor, începe lucrul propriu-zis.
Formulăm procesul de metodologie zilnică agilă de scrum . În timp ce în sensul său tradițional, Scrum necesită o întâlnire față în față de 15 minute în care fiecare participant își împărtășește starea sarcinilor și informează echipa despre sarcinile pe care le vor prelua în continuare, este aproape imposibil să urmați același proces atunci când jumătate al echipei se află într-o altă națiune geografică în alt fus orar.
Ceea ce facem pentru a menține vie esența interacțiunii față în față în scrum, este să organizăm un apel video la o dată determinată, care este potrivit pentru toată lumea din echipa care lucrează la proiect. Cu ajutorul partajării ecranului, sistemul nostru Agile Scrum Master trece printr-un backlog de sprint virtual cu ajutorul unor instrumente precum Trello sau Jira, permițând fiecărui membru al echipei să ofere o actualizare despre direcția în care se îndreaptă proiectul.
Ceea ce am experimentat este că este foarte important să oferim tuturor membrilor echipei acces la o platformă de urmărire a sarcinilor care este ușor accesibilă și actualizabilă. De asemenea, punem accent pe utilizarea unei platforme de comunicare precum Skype sau Slack pentru ca toată lumea să partajeze actualizări sau să își pună îndoielile între cele două perioade de timp scrum.
O altă abordare pe care o urmăm pentru procesul zilnic de agilitate și scrum este aceea că pentru fiecare scrum diferit, numim un scrum master. Așadar, fiecare lucru în echipă individual ca o echipă scrum separată cu un Scrum Master și un proprietar de produs – Un proces cunoscut și sub numele de Scrum of Scrums.
În acest sens, toți reprezentanții scrum-ului oferă un răspuns la următoarele întrebări din scrum –
- Munca pe care a făcut-o acea echipă de la ultimul Scrum of Scrums
- Echipa de lucru plănuiește să facă înainte de următoarea întâlnire Scrum of Scrums
- Blocantul actual cu care se confruntă echipa
- Blocantul care poate duce la o altă echipă Scrum.
Metoda permite tuturor persoanelor principale care lucrează la proiect să interacționeze direct între ele, ceea ce are ca rezultat întotdeauna dedicare de la etapa de inițiere până la perioada de lansare. Acest lucru asigură o comunicare deschisă, clară și transparentă între toate echipele, unde toată lumea are vocea.
Procesul, în afară de scrum of scrums, este același cu cel pe care îl urmăm conform metodologiei tipice Agile.
Dar simplul fapt că distanța dintre echipa noastră și echipa clienților noștri este la kilometri una de cealaltă și totuși trebuie să lucrăm cât mai perfect posibil, a adus o serie de învățături pe care le-am condus prin adoptarea Distributed Agile. Să vedem care sunt acele învățături -
Învățăturile pe care le-am atras lucrând la un proces de dezvoltare agilă distribuită
1. Crearea unei echipe distribuite se referă la construirea unei culturi și nu a unui proces
Ceea ce definește succesul unui proiect care lucrează sub abordarea agilă pentru echipe distribuite nu depinde de cât de bine sunt calificați membrii echipei, ci de cât de bine sunt capabili să lucreze împreună, de sentimentul de proprietate cu care lucrează și, în cele din urmă, de cât de bine sunt capabili să lucreze împreună. strâns aliniate sunt cu scopul proiectului – ceva care vine cu cultura și nu cu formarea unui proces.
2. Numai proiectele SMART reușesc
Atunci când un proiect trebuie să fie finalizat de o echipă care nu se află nici măcar în aceeași țară, cu atât mai puțin birou, este foarte important ca obiectivele pe care le-ați stabilit pentru proiect să urmeze SMART – Specific, Măsurabil, Realizabil, Realist și Timp. -încadrat, concept la t.
3. Nu există o alternativă la instrumentele de colaborare online
Indiferent cât de mult te costă, va trebui să te bazezi pe instrumente de colaborare online care sunt în timp real și au decalaje minime până la zero. În ceea ce privește finalizarea platformelor de comunicare și management de proiect online, nu poți, oricum, să tai din slăbiciune. Va trebui să vă asigurați că sunt capabili din punct de vedere tehnic să facă față cerințelor dvs.
Acum că am văzut învățăturile pe care le-am tras din experiența noastră extinsă de lucru ca o echipă distribuită, este timpul să ne uităm la unele dintre provocările cu care ne-am confruntat în timpul procesului și la modul în care le-am rezolvat pentru a deveni o aplicație agilă distribuită de încredere. Companie de Dezvoltare .
Provocări cu abordarea de dezvoltare agilă distribuită și modul în care le rezolvăm
1. Diferența de cultură
Abordarea de dezvoltare software agilă distribuită de obicei solicită lucrul cu echipe care provin din medii culturale diferite. Această diferență provoacă frecare din cauza valorilor și figurii de stil diferite.
Soluția noastră: Lucrăm foarte strâns cu echipa clientului în primele zile, astfel încât să ne obișnuim cu rândurile lor și contexte.
2. O diferență în fusurile orare
Cheia metodologiei agile distribuite este echipele care lucrează din diferite națiuni geografice. Într-o situație ca aceasta, apariția unui decalaj de comunicare apărut din cauza diferenței de timp este foarte frecventă.
Soluția noastră: Urmăm conceptul de agilitate pentru o echipă distribuită până la capăt. Fixăm un moment în care echipele din toate națiunile sunt prezente și active. Pentru a obține o concentrare și o atenție deplină, le rugăm colegilor noștri să-și schimbe ora de birou în ziua scrumului, astfel încât să fie bine adormiți și atenți.
3. Lipsa unei idei comune de „imagine de ansamblu”
Din cauza diferenței de locație geografică, structura de lucru și politici, poate exista o discrepanță în ideea de imagine de ansamblu - scopul final al aplicației mobile. Această diferență poate provoca o lipsă de interes din partea unor membri ai echipei și un interes sporit din partea altora.
Soluția noastră: O întâlnire de vizionare la începutul inițierii proiectului și un memento în fiecare scrum, astfel încât toată lumea să lucreze pentru același scop.
4. O absență a dreptului de proprietate asupra codului
Absența deținerii codului colectiv înseamnă că nicio persoană nu deține codul, acesta este deținut de întreaga echipă și astfel, atunci când ceva nu merge bine, începe jocul vina.
Soluția noastră: aplicăm un sistem de control al versiunilor pentru a verifica cine lucrează la un cod și când și efectul acestuia. În acest fel, în imagine există transparență și onestitate deplină.
Așadar, aceasta este povestea cum noi, cei de la Appinventiv, am devenit o echipă distribuită de clienți care aparțin peste tot în lume.
Doriți să discutați despre cum să ridicați nivelul dezvoltării dvs. de software agil distribuit? Luați legătura cu strategii noștri pentru aplicații mobile.