MANAGEMENTUL PROIECTELOR PENTRU DEZVOLTAREA DE SOFTWARE: SFATURI PENTRU SOLUȚII DE APLICAȚII

dis.agency
Publicat :2021-10-18 | Blog
MANAGEMENTUL PROIECTELOR PENTRU DEZVOLTAREA DE SOFTWARE: SFATURI PENTRU SOLUȚII DE APLICAȚII

Atunci când alegeți o echipă de dezvoltare pentru proiectul dumneavoastră, la ce ar trebui să fiți atenți? 

Portofoliului? Stiva tehnologică? Expertiza în domeniu? Toate aceste răspunsuri sunt corecte. Dar, cel mai important, echipa de dezvoltare ar trebui să aibă documentate procesele de configurare a proiectului și de dezvoltare pentru a asigura transparența pentru părțile interesate. 

Cunoașterea ciclului de viață al proiectului, a rezultatelor principale și a rolurilor critice în cadrul proiectului, vă permite, în calitate de factor de decizie, să fiți pe aceeași pagină cu echipa de dezvoltare, creând astfel așteptări mai realiste și rezultatul final. 

Acest articol explică în detaliu procesele de configurare și gestionare a proiectelor la The APP Solutions, precum și rolurile și responsabilitățile cheie ale fiecărei părți în timpul ciclului de viață al proiectului. De asemenea, enumerăm principalele livrabile pe care le primesc clienții noștri în fiecare etapă de dezvoltare a proiectului. 

Managementul proiectelor de dezvoltare software la The APP Solutions

Aplicăm SDLC (Software Development Life Cycle) ca metodologie de alegere pentru proiectele pe care le dezvoltăm de la zero și pentru proiectele existente care necesită modernizarea funcțiilor, actualizarea software-ului și refactorizarea codului. 

 

SDLC se referă la o metodologie cu procese clar definite pentru echipa de dezvoltare. 

 

Echipa de dezvoltare parcurge următoarele etape ale ciclului de viață al proiectului:  

  • Analiza cerințelor 
  • Procesul de planificare
  • Proiectarea software-ului 
  • Proiectarea arhitecturală 
  • Dezvoltarea de software 
  • Procesul de testare
  • Procesul de implementare

Ciclul de viața al dezvoltării de software din perspectiva unei părți interesate include următoarele faze:  

  • Început 
  • Inițierea proiectului 
  • Dezvoltarea proiectului și asigurarea calității 
  • Sesiunea finală de demonstrație a proiectului
  • Asistență tehnică

Fiecare dintre aceste faze necesită cooperarea părților interesate cu diferiți membri ai echipei. Haideți să analizăm mai în detaliu fiecare etapă de dezvoltare software la The APP Solutions.

Faza 1. Implicare 

Faza de angajare este primul pas spre dezvoltarea proiectului. Este nevoie de patru săptămâni pentru ca echipa noastră de dezvoltare să determine rolurile utilizatorilor, modul în care aceștia interacționează cu aplicația (povești ale utilizatorilor) și scenariile de utilizare a proiectului. 

Fiecare săptămână a fazei de angajare are obiectivele și rezultatele sale:

Săptămâna 1. Înțelegerea

Vă sugerăm tehnologii relevante, vă aprofundăm afacerea și evidențiem principalele provocări de afaceri pe care doriți să le depășiți prin proiect. 

Ne atingem aceste obiective prin:

  • Definirea obiectivelor dumneavoastră de afaceri 
  • Discutând nevoile de afaceri
  • Verificarea infrastructurii actuale a produsului 
  • Desfășurarea unei sesiuni de elicitare a cerințelor
  • Limitarea potențialelor oportunități de cooperare ulterioară

Săptămâna 2. Definiție

Conturam viziunea proiectului și creăm o listă de caracteristici pentru prima versiune a proiectului cu caracteristici de bază, adică MVP (Minimum Viable Product) al proiectului și caracteristici pentru versiunea completă a produsului.  

În cea de-a doua săptămână a fazei de implicare, dezvoltatorii The APP Solutions se dedică la 

  • Stabilirea limitelor domeniului de aplicare
  • Executarea prioritizării domeniului de aplicare
  • Definirea domeniului de aplicare MVP
  • Crearea viziunii de arhitectură

Săptămâna 3. Reprezentare

A treia săptămână din faza de angajament este dedicată colectării și redactării cerințelor proiectului, funcționale, nefuncționale și tranzacționale. 

Ne asigurăm că cerințele tehnice ale proiectului sunt redactate din perspectiva soluției, adică sunt aliniate cu nevoile de afaceri. 

Pentru a atinge acest obiectiv, inginerii de testare a software-ului vizualizează cerințele în primele etape și aplică o "listă de verificare a cerințelor" care ajută la determinarea dacă cerințele sunt complete, exacte, verificabile și coerente. 

Sarcinile pentru cea de-a treia săptămână includ: 

  • Desfășurarea sesiunii de evaluare tehnică
  • Organizarea sesiunii de elaborare a cerințelor 
  • Refacerea stilului vizual al proiectului 

Săptămâna 4. Rezultat

Dezvoltăm o foaie de parcurs realistă a produsului care să sprijine foaia de parcurs comercială.

De asemenea, gestionăm aspectele tehnice ale unui proiect pentru a ne asigura că acestea sunt în concordanță cu obiectivele de creștere ale companiei. 

În ultima săptămână a fazei de angajare, suntem ocupați cu:

  • Strângerea domeniului de aplicare a proiectului pentru versiunea 0.1
  • Redactarea unui plan de resurse pentru domeniul de aplicare pentru versiunea 0.1 
  • Completarea descrierii cerințelor 

Principalele livrabile ale fazei de inițiere

După o perioadă de patru săptămâni, echipa noastră ajunge la următoarele livrabile ale fazei de angajare: 

  • Documentație tehnică 
  • Arhitectura sistemului 
  • Planul de resurse 
  • Viziunea UI/UX

Apoi, trecem la următoarea fază a ciclului de viață de dezvoltare a proiectului, numită faza de inițiere a proiectului. 

Faza 2. Inițierea proiectului

Înainte ca dezvoltatorii să înceapă să scrie cod pentru proiectul dumneavoastră, echipa parcurge o fază rapidă de configurare a proiectului pentru a aduna toată documentația necesară, inclusiv acordul de cooperare, rezumatele proiectului, specificațiile, prototipurile etc. 

Faza de inițiere a proiectului asigură, de asemenea, că toți membrii echipei sunt conștienți de obiectivele proiectului, iar dumneavoastră, în calitate de parte interesată, sunteți la curent cu calendarul planului de comunicare. 

Principalele produse livrabile ale fazei de inițiere a proiectului sunt:

Planul de comunicare

Un plan de comunicare este un document care specifică toate rapoartele pe care echipa noastră le face în timpul fazei de dezvoltare a proiectului.

Pentru a crea planul de comunicare, managerul de dezvoltare a afacerii vă invită pe dvs. și pe managerul de proiect la o întâlnire în timpul căreia discutați despre continuarea cooperării și despre etapele critice ale proiectului. 

Planul de comunicare acoperă programul de:

  • Întâlnirile zilnice Scrum. Scopul acestora este de a sincroniza managerul de proiect cu echipa în fiecare zi cu privire la progresul/blocajele/planul pentru ziua următoare. 
  • Întâlniri săptămânale de planificare. O dată pe săptămână, managerul de proiect se întâlnește cu echipa de dezvoltare pentru a stabili prioritățile sarcinilor pentru săptămâna următoare și pentru a îmbunătăți revizuirea jurnalului. Managerul de proiect notează informațiile primite din notele de la ședințele echipei pentru a se asigura că detaliile importante nu se vor pierde. 
  • Rapoarte financiare. Managerul de proiect creează declarații financiare în format PDF cu o listă a tuturor orelor petrecute și defalcarea sarcinilor către client pentru a asigura transparența cu privire la cheltuielile lunare și timpul petrecut. Clientul primește raportul financiar în prima zi a lunii.  
  • Rapoarte lunare. Managerul de proiect face o trecere în revistă a sarcinilor create în funcție de solicitări și întocmește un raport lunar cu solicitările primite de la client și solicitările pe care le-am îndeplinit. 
  • Întâlniri de livrare. Directorul de livrare și clientul discută procesele la un nivel superior și notează rezultatele din notele de ședință. 

Întâlnire de lansare

După toate pregătirile, echipa de dezvoltare organizează o ședință de lansare cu dvs. pentru a vă prezenta membrii echipei de dezvoltare și rolurile acestora. 

Componența echipei și dezvoltarea depind de domeniul de aplicare al proiectului. O componență medie a echipei de dezvoltare include managerul de proiect, proprietarul produsului, responsabilul tehnic, managerul de asigurare a calității și administratorul de sistem. 

După ședința de lansare, echipa se pregătește pentru faza de dezvoltare a proiectului: 

Managerul de proiect și analistul de afaceri creează un backlog al proiectului cu sarcinile.

  • Managerul de proiect și proprietarul produsului prioritizează sarcinile din backlog.
  • Managerul de proiect, proprietarul produsului și restul echipei de dezvoltare estimează primul sprint, adică timpul de care au nevoie pentru a implementa funcționalitatea necesară.
  • Responsabilul tehnic creează arhitectura generală a proiectului.
  • Managerul de asigurare a calității creează o listă de verificare pentru funcționalitatea proiectului pe care o va folosi pentru a se asigura că funcțiile proiectului funcționează așa cum trebuie
  • Administratorul de sistem creează depozitul GitLab CI/CD în care echipa va implementa și stoca diferite versiuni ale codului proiectului. 
  • Administratorul de sistem configurează mediile de dezvoltare și de etapă. Mediul de dezvoltare este mediul de codare. Mediul Stage (staging sau preproducție) este mediul de testare care seamănă cu un mediu de producție.

Faza 3. Dezvoltarea proiectului și asigurarea calității

Pentru majoritatea proiectelor, aplicăm cadrul de dezvoltare a proiectelor Scrum. Aceasta înseamnă că domeniul de aplicare al proiectului este împărțit în sprinturi de 2-3 săptămâni. La sfârșitul sprintului, echipa face o demonstrație a noii funcționalități pentru părțile interesate și lansează noua funcționalitate în mediul real. 

Planificarea sprinturilor 

Fiecare nou sprint începe cu planificarea sprintului. La începutul sprintului, echipa de dezvoltare planifică și stabilește ce domeniu de aplicare va fi livrat.

În cazul în care echipa consideră că nu poate livra rezultatul așteptat, găsim dezvoltatori suplimentari care să suplimenteze echipa. 

În această fază, managerul de proiect și echipa de dezvoltare

  • Definesc o persoană responsabilă pentru conducerea tehnică a proiectului, adică liderul tehnic (tech lead)
  • Implementează liniile directoare de dezvoltare (model de proiectare, scalabilitate, mentenabilitate, acoperire a testelor, revizuirea codului etc.)    

Definirea termenului "Done" (realizat) 

Definiția termenului "done" este un document esențial pentru dezvoltatori, managerii QA și părțile interesate de proiect. Definition of done este o listă de cerințe care determină faptul că una sau alta dintre caracteristici este realizată așa cum trebuie, este pregătită pentru implementarea într-un mediu real și este iluminată cu specificația tehnică. 

Echipa de dezvoltare stabilește definiția de făcut pentru fiecare funcție a proiectului în timpul planificării de primăvară: 

  • Dezvoltatorul estimează timpul necesar pentru a finaliza o anumită sarcină
  • Managerul de proiect adaugă poveștile utilizatorului și cazul de utilizare la descrierea sarcinii 
  • Dezvoltatorul și managerul de proiect adaugă condițiile pe care sarcina trebuie să le îndeplinească corect în definiția de done     

Odată ce echipa definește domeniul de aplicare a proiectului pentru noul sprint, dezvoltatorii încep să codifice funcționalitatea proiectului. Echipa de asigurare a calității testează fiecare sarcină imediat după ce dezvoltatorul termină de codificat. 

Sfârșitul sprintului 

Când echipa mai are câteva zile înainte de încheierea sprintului, responsabilul tehnic al proiectului dedică o ramură stabilă pentru un manager de asigurare a calității pentru testarea proiectului: 

  • Managerii QA execută teste de regresie pentru a găsi bug-uri și erori
  • Dezvoltatorii corectează erorile și fac refactorizarea codului
  • Echipa lansează noi funcții și organizează o sesiune de demonstrație cu părțile interesate și colectează feedback-ul acestora
  • Echipa își împărtășește provocările din timpul sprintului, potențialele blocaje pentru noua primăvară în timpul retrospectivei sprintului și creează domeniul de aplicare pentru procesul de îmbunătățire a proiectului în cazul în care părțile interesate nu sunt mulțumite de demonstrația proiectului.

Îmbunătățirea proiectului 

Îmbunătățirea proiectului este domeniul de activitate pe care dezvoltatorii trebuie să îl facă pentru ca funcțiile proiectului să corespundă definiției de realizat:

  • Managerul de proiect stabilește backlogul de îmbunătățire și îl reînnoiește până la sfârșitul unei iterații 
  • Managerul de proiect implică părțile interesate în generarea ideilor de îmbunătățire a proiectului și le fixează în backlogul de îmbunătățire

Copii de rezervă

Înainte de a lansa codul noului proiect, dezvoltatorii creează o copie de rezervă a depozitului proiectului. Această procedură este necesară deoarece este posibil ca noile funcții să nu fie compatibile cu sarcinile din codul vechiului proiect.

În plus, copiile de rezervă ne ajută să comparăm o stare anterioară bună a proiectului cu starea actuală a proiectului. În cele din urmă, copiile de rezervă previn pierderea de date, asigurându-se că infrastructura critică nu a fost decupată de la Github de către o terță parte care dorește ca breșa să se răspândească. 

Echipa creează o copie de rezervă a depozitelor GitHub cu activele critice ale proiectului, inclusiv:

  • Baza de cod                        
  • Infrastructura și configurația                         
  • Baze de date                        

Apoi, managerii QA testează fiecare copie de rezervă a proiectului.

Iterație cu iterație, echipa de dezvoltatori APP Solutions face planificarea de primăvară, codificarea, repararea erorilor, realizarea de copii de rezervă și testarea până la demonstrația finală a proiectului.

Faza 4. Demonstrația finală

Sesiunea demonstrativă finală a proiectului este o întâlnire între echipa de dezvoltare și dumneavoastră, în calitate de parte interesată în proiect, înainte de lansarea proiectului. 

În timpul sesiunilor de demonstrație finală, echipa de dezvoltare vă prezintă dumneavoastră și altor părți interesate funcționalitatea proiectului scrisă în documentația tehnică a proiectului.

După sesiunea de demonstrație finală, dvs. și alte părți interesate puteți testa produsul pe cont propriu în mediul de testare înainte ca dezvoltatorii să încarce proiectul pe serverul dvs. 

În următoarele două săptămâni, echipa The APP Solutions oferă asistență tehnică gratuită pentru a rezolva problemele care nu sunt aliniate cu cerințele tehnice la sistem. După încheierea celor două săptămâni, echipa APP Solutions și dvs. puteți semna un acord de asistență tehnică pentru a continua îmbunătățirea proiectului. 

Faza 5. Asistență tehnică 

Suportul tehnic este necesar pentru toate proiectele noi pentru a menține un sistem care poate funcționa diferit într-un mediu real și nu într-un mediu de testare. 

Asistența tehnică este, de asemenea, esențială pentru a asigura stabilitatea sistemului, deoarece sarcinile de trafic ridicate și neașteptate pot crește durata de nefuncționare a proiectului și pot cauza alte probleme tehnice. 

Echipa de asistență tehnică 

Echipa tipică de asistență tehnică include: 

  • Inginerul DevOps menține sănătatea rețelei și remediază erorile de pe server 
  • Managerul de asistență (sau un operator de feedback) adună solicitările utilizatorilor (informare, primirea reclamațiilor, procesarea cererilor și propunerilor)
  • Dezvoltatorul de asistență face orice modificări urgente ale proiectului pentru a asigura rezolvarea raționalizată a problemelor critice, ocolind backlog-ul de îmbunătățire a proiectului

Suport tehnic pe 3 nivele

La The APP Solutions, avem trei niveluri diferite de suport tehnic care variază în funcție de complexitatea proiectului, de nevoile părților interesate și de maturitatea afacerii clientului: 

Nivelul 1. Biroul de servicii

În cadrul nivelului de service desk, echipa The APP Solutions asigură: 

  • Procesarea incidentelor și a cererilor 
  • Tratarea problemelor comune, tipice și documentate anterior
  • Escaladarea problemelor
  • Colectarea de statistici

Nivelul 2. Gestionarea problemelor/problemelor

Cel de-al doilea nivel de asistență tehnică îi împuternicește pe dezvoltatori cu mai multe responsabilități:

  • Rezolvarea problemelor non-standard 
  • Analizarea cauzelor de bază 
  • Furnizarea de soluții alternative și soluții rapide pentru a minimiza întreruperile de activitate
  • Rezolvarea incidentelor de gravitate ridicată și urgente

Nivelul 3. Dezvoltarea produselor

În cadrul celui de-al treilea nivel de asistență tehnică, The APP Solutions pune la dispoziție o echipă dedicată care se ocupă de

  • Dezvoltarea de soluții permanente la problemele de curgere rare
  • Eliberarea și implementarea managementului pentru a alinia modificările de sistem cu nevoile de afaceri în schimbare

Modele de cooperare 

Modele de cooperare Modelul de cooperare determină numărul de responsabilități cu care se confruntă o echipă de dezvoltare atunci când construiește un proiect. Există trei modele fundamentale de cooperare - Servicii gestionate, echipa dedicată și echipa extinsă. Să le explicăm pe rând. 

 

Managed Services este un model de cooperare în cadrul căruia echipa APP Solutions gestionează toate procesele de dezvoltare a produsului, în timp ce dumneavoastră aveți libertatea și timpul necesar pentru a vă dezvolta afacerea. Acest model de angajament funcționează cel mai bine pentru a crea produse complexe, cum ar fi aplicații web sau mobile de la zero și oferă servicii de asistență tehnică. 

Componența unei echipe care lucrează în cadrul acestui model poate include dezvoltatori de aplicații și specialiști în asigurarea calității și un manager de produs, UI/UX Designer, analist de afaceri sau de sistem și alți membri ai echipei, în funcție de nevoile proiectului dvs. 

Modelul de echipă dedicată înseamnă că echipa de dezvoltare împarte responsabilitățile cu dumneavoastră. Puteți lucra în cadrul acestui model pentru externalizarea funcțiilor de afaceri, cum ar fi dezvoltarea și asigurarea calității, pentru a vă împuternici echipa de dezvoltare existentă cu specialiștii noștri în domenii restrânse. 

Componența echipei din modelul de echipă dedicată include dezvoltatori, manageri de asigurare a calității și un manager de proiect dedicat care se ocupă de metodologia și procesul de dezvoltare a ciclului de viață al software-ului (SDLC). Managerul de proiect facilitează, de asemenea, integrarea echipei dedicate cu alte echipe din partea dvs. și cu terțe părți.

Echipa extinsă este un model de cooperare în cadrul căruia dumneavoastră, în calitate de client, gestionați toate procesele de dezvoltare a proiectului. Modelul echipei extinse este popular în rândul întreprinderilor care doresc să extindă echipele de dezvoltare software existente cu profesioniști suplimentari, evitând în același timp găsirea de candidați interni și costurile de angajare. 

Pentru ca modelul echipei extinse să funcționeze, trebuie să aveți stabilite procese de gestionare a proiectelor. Echipa noastră extinsă va moșteni structura dvs. existentă și va raporta direct către dvs. sau către managerul de proiect.

Managementul proiectelor pentru dezvoltarea de software: Sfaturi pentru soluții APP

Echipa APP Solutions are șase valori centrale care ne diferențiază de alte companii de dezvoltare software: 

Fericirea ca KPI. Ne concentrăm pe lucrurile care contează. Știm cum să ne ocupăm de problemele afacerii tale și să le transformăm în soluții. 

Orientați spre rezultate. Prețuim cel mai mult afacerea dvs. și suntem dispuși să vă ajutăm cu direcții care să producă o valoare mare, unde timpul este totul și îndoielile sunt dăunătoare. 

Expertiză îngustă. Înțelegem echilibrul dintre cele mai bune practici ale industriei și adaptarea la oportunități atunci când acestea bat la ușă.

Vechime verificată. Gestionăm calificarea fiecărui membru al echipei, aplicând Matricea de competențe, și creăm un Plan de dezvoltare personală pentru a crește profesioniștii interni. 

Îmbarcare standardizată. Aplicăm un Plan de integrare pentru a scurta procesul de integrare în proiect, astfel încât noii membri ai echipei să fie integrați rapid și eficient în proiect.

Verificarea stării de sănătate a proiectului. Ne asigurăm că proiectul merge bine aplicând cele mai bune practici de Project Health Check pentru a compara caracteristicile și calitățile proiectului cu standardele industriei.

Echipa APP Solutions este aici pentru a vă ajuta să vă dezvoltați noul proiect, să vă îmbunătățiți vechiul sistem, să vă măriți echipa de dezvoltare existentă și să vă oferiți asistență tehnică. Puteți scrie cererea dvs. în formularul de contact pentru a intra în contact cu echipa.

Scrieți-ne