Păstrați calmul și treceți la o nouă echipă de dezvoltare

Publicat: 2022-03-11

Este obișnuit ca un produs software să treacă de la o echipă de dezvoltare la alta pe parcursul vieții sale. Diferitele etape ale produsului pot necesita un alt tip de echipă de dezvoltare: o consultanță pentru a construi versiunea inițială, un dezvoltator independenți singur care să o întrețină, o echipă internă pentru a-l aduce la scară sau un designer profesionist pentru a adăuga câteva „ pop”.

În ciuda cât de des se întâmplă acest lucru, mulți fondatori și proprietari de produse non-tehnici se găsesc nepregătiți și se chinuie atunci când vine momentul să aducă următoarea echipă. Acest lucru duce adesea la incapacitatea noii echipe de a progresa rapid, timp pierdut și frustrare pentru toți cei implicați.

Dacă se pare că ai putea fi tu, fie acum, fie în viitor, atunci ar trebui să fii oarecum îngrijorat. Din fericire, vom parcurge pașii pe care îi puteți face pentru a vă pregăti pentru această eventualitate și pentru a face tranziția cât mai lină.

Trecerea torței: integrarea unei noi echipe de dezvoltare

În acest articol, vă voi oferi o listă de verificare a elementelor care vă vor ajuta să vă pregătiți pentru o astfel de schimbare. Veți învăța să vă cunoașteți produsul la un nivel mai intim și veți dobândi mai mult control asupra tuturor diferitelor servicii și tehnologii care sunt implicate în realizarea acestuia, ceea ce vă va permite să vă integrați într-o nouă echipă cu încredere și relativ ușurință.

Predați torța noilor dezvoltatori? Asigurați-vă că noua echipă nu se arde și că nu pierdeți timpul cu stingerea incendiilor.

Predați torța noilor dezvoltatori? Asigurați-vă că noua echipă nu se arde.
Tweet

Dar dacă nu înlocuiești întreaga echipă? Ar trebui să te deranjezi să citești asta?

Chiar dacă o parte din echipa anterioară rămâne la bord, este posibil să nu aibă toate răspunsurile și informațiile necesare pentru o tranziție fără probleme. Deși pot oferi continuitate și ajutor în procesul de transfer de cunoștințe de la vechea echipă la noua, baza pe membrii actuali ai echipei nu este un substitut pentru ca proprietarul produsului să preia conducerea și să faciliteze transferul. În plus, eșecul în a prelua conducerea ar putea provoca frecări între membrii vechii și cei noi ai echipei sau poate împovăra pe membrii vechii echipei cu sarcini inutile, forțându-i să piardă prea mult timp comunicând cu noii membri ai echipei și rezolvând diverse probleme.

Totuși, dacă unii membri ai echipei rămân la bord, aceștia pot fi un atu neprețuit în eforturile tale de tranziție. Consultă-te cu ei, ține-i la curent și încearcă să-și valorifice experiența fără a-i inunda cu prea multe sarcini legate de tranziție. Nu vă așteptați ca ei să facă toate sarcinile grele! Asta e treaba ta.

Așa că, fără alte prelungiri, haideți să ne scufundăm!

Adunați documentația

Dezvoltatorii independenți sunt adesea rugați să intre într-o bază de cod existentă pe care nu au mai văzut-o până acum. Acest lucru este valabil mai ales în ceea ce privește inginerii software Toptal. Scopul nostru este întotdeauna să fim la curent cât mai repede posibil, astfel încât să putem începe să avem un impact pozitiv pentru clienții noștri.

Accesul la o documentație clară și amănunțită despre proiect poate accelera dramatic procesul de integrare și poate ajuta dezvoltatorii să evite capcanele care pot împiedica progresul.

O documentație bună trebuie să acopere cel puțin următoarele subiecte:

  • Configurarea unui mediu de dezvoltare - Prima sarcină pentru orice nou venit este să pună în funcțiune aplicația pe propriile computere. Procesul pentru a face acest lucru variază între tehnologii. În general, necesită sarcini precum obținerea codului sursă, configurarea bazei de date, instalarea dependențelor, configurarea mediului cu chei și acreditări API, importarea datelor eșantioane și așa mai departe. Dezvoltatorii au o idee bună despre tot ceea ce este implicat în acest proces în domeniile lor respective și ar trebui să poată ajusta detaliile în consecință.
  • Rularea suitei de teste automatizate - Dacă treceți testele unei aplicații, vă asigurăm că totul a fost configurat corect și că modificările viitoare nu distrug nici una dintre funcțiile dvs. existente.
  • Implementarea pe serverele de staging și de producție - Actualizarea aplicației live cu cele mai noi modificări este un proces extrem de scriptat, iar ordinea acelor operațiuni ar trebui să fie subliniată pas cu pas, cât mai detaliat posibil.
  • Orice altă informație care este relevantă pentru un dezvoltator nou încorporat - Fiecare aplicație are propriul său set de ciudatenii. Scrierea acestora salvează viitoarelor echipe o mulțime de probleme de depanare irosite, pe care echipa anterioară și-a dat seama deja cum să le facă față.

O documentare bună este piatra de temelie a oricărei tranziții de succes. Asigurați-vă că noua dvs. echipă are tot ce le trebuie pentru a prelua.

O documentare bună este piatra de temelie a oricărei tranziții de succes. Asigură-te că noua ta echipă are tot ce le trebuie.
Tweet

Documentația ar trebui să fie scrisă de un dezvoltator care are experiență de primă mână în configurarea aplicației și contribuția la baza de cod.

Înainte să aibă loc orice tranziție, solicitați echipei de dezvoltare anterioară să faciliteze transferul de cunoștințe prin crearea unei resurse care să atingă subiectele de mai sus!

Dacă scrisul nu este punctul lor forte, cereți-le să înregistreze una sau mai multe screencast-uri care demonstrează configurarea, implementarea mediului de dezvoltare etc. Astăzi există chiar și instrumente precum Vagrant și Docker care permit întregi medii de dezvoltare să fie împachetate și distribuite altora. În esență, în loc să oferi cuiva instrucțiuni despre cum să construiască un ciocan, dă-i ciocanul în sine.

Testul de turnesol pentru cât de cuprinzătoare și eficientă este documentația unui proiect este cât de repede poate un nou dezvoltator să-și configureze mediul de dezvoltare și să ruleze aplicația dvs.

Înțelegeți produsul dvs

Având o documentație excelentă, nu vă scuză de a avea nevoie să cunoașteți elementele de bază ale tehnologiei propriului produs. În calitate de proprietar al unui produs software, este responsabilitatea dumneavoastră să vă înțelegeți aplicația cât mai bine puteți, chiar dacă nu sunteți foarte tehnic.

Fără cunoștințe tehnice? Nu există nicio scuză pentru a nu înțelege în mod corespunzător elementele de bază ale proiectului dumneavoastră. Te-ar putea costa scump.

Fără cunoștințe tehnice? Nu există nicio scuză pentru a nu înțelege în mod corespunzător elementele de bază ale proiectului dumneavoastră. Te-ar putea costa scump.
Tweet

Următoarele întrebări sunt frecvente și ar trebui să vă așteptați să aflați răspunsurile fără a fi nevoie să le căutați:

  • Ce stivă de tehnologie folosește aplicația dvs.? - Există multe cadre de aplicații comune pentru back-end și front-end și orice echipă de dezvoltare nouă ar trebui să fie familiarizată cu cele pe care le folosește aplicația dvs. Câteva exemple de tehnologii web back-end sunt Ruby on Rails, Node.js și Django. Câteva exemple de tehnologii web front-end sunt React.js, Angular.js și Ember.js.
  • Unde este găzduit? - Diferite gazde web au procese de implementare diferite, care necesită niveluri diferite de experiență. În ultimii ani, tehnologiile cloud au creat o serie de noi opțiuni de găzduire și va trebui să identificați pe care anume o utilizați și să descrieți de ce a fost aleasă față de celelalte.
  • Care este procesul de dezvoltare? - Echipa dvs. folosește un anumit instrument de gestionare a controlului sursei, cum ar fi Git? Dacă da, care este procesul prin care o nouă caracteristică este dezvoltată, testată, aprobată și implementată? Procesul trebuie să fie standardizat, documentat corespunzător și ușor de replicat de către nou-veniți.
  • Ce servicii terță parte folosește aplicația dvs.? - Unele aplicații sunt construite pe servicii terță parte, cum ar fi Shopify. Rețineți că dependența de serviciile terțelor crește treptat și, chiar dacă în prezent nu utilizați niciun serviciu suplimentar, proiectul dvs. poate decide să angajeze un serviciu terță parte cândva mai târziu.
  • Pe ce platforme poate rula aplicația dvs.? - Aplicația dvs. este o aplicație desktop, o aplicație web, un site mobil receptiv, o aplicație nativă iOS, o aplicație nativă Android sau orice altceva? Funcționează pe mai multe platforme diferite? Care platformă este prioritatea ta la un moment dat? Pe ce platformă este produsul dvs. cel mai puternic și cel mai slab? Asigurați-vă că cunoașteți toate detaliile platformelor actuale ale aplicației dvs. și chiar în care poate fi extinsă.

Preia proprietatea

Procesul de dezvoltare software de astăzi utilizează o multitudine de servicii și instrumente terțe. Indiferent dacă știi sau nu, cererea ta nu face excepție.

Pe parcursul dezvoltării, este posibil ca echipa anterioară să se fi înscris în numele dvs. sau chiar să fi folosit propriile conturi pentru a avea acces la serviciile necesare. Trecerea la o nouă echipă înseamnă că trebuie să vă asumați și să aveți controlul asupra fiecăruia dintre serviciile și instrumentele pe care se bazează aplicația dvs., astfel încât să puteți acorda acces noii echipe fără a fi nevoie să treceți printr-un intermediar sau să urmăriți dezvoltatori originali.

Mai jos este o listă a diferitelor instrumente sau servicii externe pe care aplicația dvs. le poate folosi:

  • Managementul controlului sursei - GitHub, Bitbucket, Gitlab
  • Gazduire web - Heroku, EngineYard, Digital Ocean, Bluehost, Amazon Web Services
  • Găzduire fișiere - Amazon Web Services (S3)
  • Furnizor DNS - GoDaddy, DNSimple, Hover
  • Servicii de dezvoltare - NewRelic, FileStack, Segment, Bugsnag (și nenumărate altele)
  • Servicii de plată - Stripe, Braintree, PayPal
  • Servicii de blogging - WordPress, Tumblr, Ghost
  • Soluții de comerț electronic - Shopify, Squarespace
  • Analytics / Urmărire - Google Analytics, Mixpanel, Kissmetrics
  • Marketing prin e-mail: MailChimp, Contact constant

Întrebați-vă echipa de dezvoltare care sunt aplicabile. Pentru orice servicii care sunt deținute de echipa de dezvoltare, cereți-le să vă transfere dreptul de proprietate. Dacă acest lucru nu este posibil, atunci cereți-le să vă ajute să vă creați un cont nou și să vă asigurați că aplicația vă folosește contul în loc de al lor. Acest lucru nu ar trebui să necesite altceva decât modificarea unor setări de configurare pentru aplicația dvs.

Inutil să spunem, asigurați-vă că fiecare contract de dezvoltare vă protejează interesele din prima zi și asigură o tranziție lină, indiferent de situație.

Primește acces

Cu o înțelegere solidă a ecosistemului aplicației dvs. și proprietatea asupra tuturor diverselor instrumente și servicii pe care le utilizează aplicația dvs., acum puteți oferi acces deplin echipei sau individului primit.

Majoritatea serviciilor vă vor permite să adăugați un colaborator la contul dvs. și să le acordați un anumit nivel de acces. Este în regulă să fii conservator aici . mulți fondatori, în special antreprenorii solizi, preferă să ofere dezvoltatorilor lor acces de administrator complet la serviciile lor și să îi pună pe ei să se ocupe de totul. Acest lucru are efectul secundar negativ de a vă ține departe de buclă, ceea ce, după cum am aflat, poate îngreuna tranziția în viitor.

Ar trebui să acordați dezvoltatorilor dvs. privilegii complete de administrator? Este chemarea ta și majoritatea oamenilor nu au nicio problemă cu această abordare. Cu toate acestea, trebuie întotdeauna să planificați din timp și să vă asigurați că decizia dvs. nu afectează negativ o nouă echipă de dezvoltare. Nerespectarea acestui lucru în etapele incipiente ale proiectului poate avea consecințe enervante în viitor.

Gestionarea transferului

Acum că ai acoperit toate bazele, va trebui să gestionezi transferul de la o echipă la alta. Iată câteva sfaturi de bază pentru a face față atât cu echipa care vine, cât și cu cea care iese.

Asigurați-vă că gestionați în mod corespunzător aspectele tehnice și personale ale transferului proiectului. Faceți-vă noua echipă să se simtă ca acasă și nu vă contrariați vechea echipă.

Asigurați-vă că gestionați în mod corespunzător aspectele tehnice și personale ale transferului proiectului. Fă-ți noua echipă să se simtă ca acasă.
Tweet

Echipa de intrare

  • Stabiliți așteptări - Noua echipă ar trebui să știe care sunt cele mai importante obiective ale dvs., astfel încât să se poată concentra în direcția corectă. Gestionarea propriilor așteptări cu privire la ceea ce noua echipă poate realiza imediat este la fel de importantă.
  • Înregistrați-vă des - Nu lăsați noua echipă să se scufunde sau să înoate. Vrei să te înregistrezi des pentru a te asigura că au tot ce le trebuie și nu simți că trebuie să se descurce singuri. Încercați să faceți acest lucru fără microgestionare. Asigurați-vă că ei știu că sunteți acolo pentru a sprijini și a ajuta dacă au nevoie, dar nu pune presiune inutilă asupra lor.
  • Aveți răbdare - Dezvoltatorii durează timp pentru a se aclimatiza la o nouă bază de cod. Înțelegeți că va exista un timp de învățare înainte ca noua echipă să se potrivească cu ritmul celei anterioare.

Echipa ieșită

  • Colectați tot codul restante - Asigurați-vă că tot codul sursă este verificat în depozitul principal și că cunoașteți starea a ceea ce a fost sau nu a fost implementat. Noua echipă va trebui să știe exact de unde să ridice și să înceapă să lucreze. Eu însumi m-am confruntat cu o situație în care am preluat o echipă care a implementat cod fără a-l pune în depozitul principal. Acest lucru a dus la erori, lucrări duplicate și dureri de cap care ar fi putut fi evitate cu ușurință dacă echipa de ieșire ar fi lăsat codul sursă într-o stare consecventă.
  • Actualizați-le nivelul de acces - Dacă v-ați despărțit în condiții bune, poate doriți să le lăsați cu acces la codul și/sau implementarea dvs. Multe echipe sunt bucuroși să ajute în timpul fazei de tranziție, până când noua echipă poate prelua complet. Dacă nu, luați în considerare retrogradarea sau revocarea accesului pentru a preveni orice probleme sau conflicte accidentale cu noua echipă.
  • Mulțumiți-le pentru munca lor - Tranzițiile pot fi agitate. În timp ce ești ocupat să ai de-a face cu noua echipă, nu uita să mulțumești echipei tale ieșite pentru contribuția lor la proiectul tău.

Concluzie

Orice tranziție în viață poate fi înfricoșătoare, aducând incertitudinea dacă va funcționa sau nu, frică de necunoscut și așa mai departe. Trecerea la o nouă echipă de dezvoltare nu este diferită, dar puteți și ar trebui să luați măsuri pentru a le ușura. În cele mai multe cazuri, necesită doar un pic de planificare pe termen lung.

O mai bună înțelegere tehnică și non-tehnică a produsului dvs. software, a procesului de dezvoltare și a tuturor lucrurilor care au intrat în proces va ajuta la realizarea oricărei tranziții de la o echipă la alta cât mai simplă și nedureroasă posibil.

Cel mai bine, noua ta echipă te va respecta și îți va mulțumi că ești în fruntea jocului tău! Este posibil să le economisiți timp și efort, ceea ce înseamnă, de asemenea, că veți economisi bani. În plus, cu cât noua echipă își dă seama mai devreme că insistă pe standarde profesionale înalte, cu atât mai bine. Sunt șanse ca ei să continue implementarea acestor practici odată ce preiau proiectul, făcând și următoarea tranziție ușoară.

Deci, să trecem în revistă punctele cheie care ar trebui să precedă orice transfer de proprietate asupra produsului dvs. software:

  • Colectați sau creați cât mai multă documentație despre aplicația dvs., mediul de dezvoltare și procesul de implementare.
  • Cunoaște-ți produsul în interior și în exterior.
  • Păstrați controlul asupra tuturor serviciilor și dependențelor terță parte ale aplicației dvs. și aveți numele de utilizator și parolele pentru orice.
  • Fii gata să-i oferi noii tale echipe acces la tot ceea ce are nevoie pentru a începe să funcționeze.
  • Fii proactiv și nu lăsa nimic la voia întâmplării sau echipei de dezvoltare.
Înrudit: Cum să nu vă gestionați echipa de dezvoltatori de la distanță