de Andrei Danciu

Urmați acești pași cheie pentru a începe un proiect de succes de dezvoltare software

Urmati acesti pasi cheie pentru a incepe un proiect de

Cel mai adesea, începutul unui proiect te surprinde nepregătit. S-ar putea să faceți parte din echipa de proiect din prima zi, dar programul este strâns și nu există suficient timp pentru pregătire. Și mai rău, s-ar putea să treceți cu vederea niște pași, iar acest lucru ar putea reveni pentru a vă bântui mai târziu.

Proiectul începe, dar după câteva luni ajungi într-un loc întunecat. Au revenit acele lucruri enervante care v-au frustrat în timpul sarcinilor anterioare.

Dacă sună prea familiar, acest articol este pentru tine. Urmați aceste instrucțiuni atunci când începeți un proiect și pregătiți-vă succesul.

Stabiliți căi de comunicare clare

Începând cu prima zi, asigurați-vă că rolurile sunt bine definite și că toată lumea știe cine se ocupă de ce. Oamenii vor solicita acces la sisteme externe, vor cere clarificări sau vor semnaliza situații de urgență. Indiferent de scenariu, asigurați-vă că persoanele cheie de contact sunt ușor identificate. Păstrați aceste informații într-o locație bine cunoscută și faceți-le accesibile tuturor.

Definiți cele mai bune practici și convenții

Când începe proiectul, nu începeți codarea imediat. Dacă faceți acest lucru, cel mai adesea baza dvs. de cod va deveni o mizerie încurcată pe care nimeni nu dorește să o atingă sau să o întrețină.

Alocați-vă ceva timp pentru a vă evalua experiențele anterioare și pentru a identifica ce a mers bine și ce nu. Vă va ajuta să definiți cum doriți să se întâmple lucrurile pentru această nouă inițiativă. Implicați întreaga echipă în exercițiu și asigurați-vă că ascultați ceea ce spun.

Rezultatul final ar trebui să fie o listă de convenții și cele mai bune practici validate de întreaga echipă. Urmați aceste convenții și veți dezvolta o soluție mult mai bine organizată și coerentă.

Creați o definiție semnificativă a Terminat

De câte ori ați aflat chiar înainte de demonstrație că nu puteți prezenta o caracteristică pentru că lipsește ceva? Știu, prea des.

Dezvoltatorii tind să considere că o caracteristică este realizată odată ce funcționează pe mașina lor locală. Cu toate acestea, un ciclu complet de dezvoltare software implică mult mai mult decât atât.

Funcția ar putea funcționa numai pe mașina dvs. locală, deci trebuie să o testați cel puțin pe un alt mediu. Apoi, ar trebui să le cereți colegilor să vă revizuiască munca. Acest lucru asigură îndeplinirea criteriilor de acceptare și a standardelor de calitate.

Următorul pas este să adăugați pașii de implementare, astfel încât să puteți lansa caracteristica în mediul demonstrativ. Ar trebui să puneți acești pași împreună în Definiția Terminat, împreună cu orice alt pas relevant.

După aceea, asigurați-vă că echipa dvs. folosește Definiția Terminat ca listă de verificare înainte de a finaliza o sarcină. Acest lucru vă va oferi mult mai multă încredere că un bilet rezolvat este ceea ce vă așteptați să fie.

Alegeți un sistem adecvat de integrare continuă

Integrarea continuă este crucială pentru fiecare proiect. Doriți să vă asigurați că puteți lansa noile dezvoltări cu un efort minim. Din fericire, există o gamă largă de opțiuni disponibile pe piață, Jenkins și TeamCity fiind doi dintre ei. Există totuși câțiva factori foarte importanți de luat în considerare atunci când faceți această alegere.

Una dintre ele este preferința echipei, iar cealaltă este prețul instrumentului. Este întotdeauna mai înțelept să folosești un instrument de integrare continuă pe care echipa ta l-a folosit anterior. Asta înseamnă că toată lumea este familiarizată cu instrumentul și nu va trebui să depuneți eforturi suplimentare pentru a învăța un nou sistem.

Nu trece cu vederea factorul de preț, totuși. Dacă instrumentul dvs. ales este unul scump, sponsorii proiectului ar putea să nu fie dispuși să plătească pentru el. Știm cu toții că acest lucru se întâmplă, dar nu este sfârșitul lumii.

Există o mulțime de instrumente puternice de integrare continuă care sunt gratuite. Faceți-vă timp pentru a le testa și alegeți-l pe cel mai potrivit pentru dvs.

Alegeți instrumentele și aplicațiile dvs.

Un lucru pe care doriți să îl evitați este să utilizați prea multe instrumente diferite pentru a atinge același scop. Să ne imaginăm că echipa dvs. trebuie să dezvolte un API REST.

Unul dintre membrii echipei dvs. mai puțin experimentați, John, are nevoie de ajutor pentru a testa un punct final pentru crearea utilizatorului. El îi cere lui Alex asistență, care este dornic să ajute, până când își dă seama că John folosește SOAP UI pentru a-și testa obiectivele.

Alex, un mare fan al Postman, petrece câteva minute încercând să înțeleagă modul de utilizare a instrumentului, dar fără prea mult succes. Ea renunță după câteva încercări, așa că decid să se adreseze lui George, cel mai experimentat tip din echipă.

Cu toate acestea, George este un programator vechi. Îi place să facă totul de la linia de comandă, așa că îi cere lui John să rescrie apelurile API pentru a le testa cu cURL. Nu este o situație ideală pentru nimeni.

Știm că dezvoltatorilor le place să aibă libertatea de a-și alege propriile instrumente, dar nu este întotdeauna optim să funcționăm în acest fel. Pe termen lung, echipa va beneficia mai mult de utilizarea aceluiași set de instrumente. Încercați să evitați acest tip de situație alegând instrumente specifice pentru fiecare scop.

Nu fiți prea rigizi, ascultați preferințele echipei dvs., dar faceți o alegere clară. De asemenea, asigurați-vă că explicați tuturor de ce este important acest lucru și obțineți buy-in-ul de la colegii dvs. La urma urmei, nu vrei să fii un ciudat de control.

Folosiți cu înțelepciune sistemele de control al versiunilor

Sistemele de control al versiunilor sunt obligatorii pentru fiecare proiect software. Nu puteți dezvolta o soluție software în colaborare fără a utiliza una. Cu toate acestea, nu este suficient să selectați un sistem de control al versiunii și să comunicați echipei dvs. alegerea.

Trebuie să investiți ceva timp pentru a defini modul în care doriți ca sistemul să fie utilizat pentru noul dvs. proiect. Un bun punct de plecare este să comparați fluxurile de lucru existente și să decideți care este cel mai bun pentru cazul dvs. de utilizare.

Apoi, ar trebui să validați fluxul de lucru cu echipa dvs. Dacă feedback-ul este pozitiv, este posibil ca sistemul de control al versiunii să fie utilizat conform intenției.

Evitați să aveți mai multe sisteme de gestionare a documentelor

Unul dintre cele mai frustrante lucruri este atunci când trebuie să găsești o informație și nu știi unde să o cauți. Acest lucru se întâmplă de obicei, deoarece există prea multe locuri unde ar putea fi. Nu ar trebui să fie atât de complicat!

Când tipul dvs. DevOps dorește să găsească adresa IP a serverului QA, ar trebui să se uite într-un singur loc. Pentru ca acest lucru să se întâmple, ar trebui să alegeți un sistem bun de gestionare a documentelor și să îl respectați.

Păstrați-l organizat și confruntați cu oricine încearcă să stocheze informații în afara sistemului. Toată lumea va vedea beneficiile pe termen lung, chiar și persoanele la care se strigă.

Definiți mediile necesare pentru soluția dvs.

Știm cu toții că dezvoltatorii, testerii și companiile nu ar trebui să utilizeze același mediu. Dar acest aspect este de obicei trecut cu vederea în faza inițială a unui proiect.

Ar trebui să începeți să vă gândiți la ce medii sunt necesare pentru proiectele dvs. de la început. Obținerea aprobării și configurarea acestora ar putea dura ceva timp, deci este mai bine să începeți cât mai curând posibil.

Ca orientare, ar trebui să aveți cel puțin patru medii: dezvoltare, test de acceptare a utilizatorilor (UAT), etapizare și producție.

Mediu de dezvoltare

Mediul de dezvoltare va fi sandbox-ul echipei de dezvoltare. De aceea nu va fi stabil în orice moment și vă puteți aștepta la neconcordanțe ale datelor.

Mediul de testare a acceptării utilizatorului

UAT este destinat acceptării utilizatorilor, deci aici oamenii de afaceri își vor face testele.

Medii de punere în scenă și producție

În cele din urmă, punerea în scenă și producția vin mână în mână și ar trebui să se oglindească reciproc. Acest lucru va asigura că operațiunile executate pe etapă vor avea aceleași rezultate la producție.

Dar fiecare proiect este diferit. S-ar putea să aveți nevoie de mai multe medii decât cele de mai sus sau nu veți putea să le aveți pe toate din cauza costurilor ridicate.

Oricare ar fi cazul, asigurați-vă că luați în considerare peisajul sistemului în avans și definiți de ce aveți nevoie, astfel încât să puteți livra proiectul.

Pregătiți baza de cod și structura proiectului

O bază de cod bine organizată va parcurge un drum lung. Începeți să faceți câțiva pași proactivi din timp, astfel încât proiectul dvs. să nu se transforme în curând într-o minge mare de noroi.

Ar trebui să definiți principalele module ale proiectului, structura bazei de cod, convențiile de denumire a fișierelor, regulile de ambalare etc.

Faceți-l cât mai intuitiv posibil, astfel încât fiecare să poată găsi cu ușurință lucrurile pe care le caută. De asemenea, priviți înapoi la lecția învățată din proiectele anterioare și asigurați-vă că nu repetați aceleași greșeli.

Creați un document pentru configurarea proiectului local

Chiar dacă începeți cu o echipă foarte mică, sunt șanse să nu fiți singurii din proiecte. Când oamenii noi sunt pe cale să se alăture, doriți să le faceți viața cât mai ușoară și posibilă și să îi ajutați să se ridice la viteză în cel mai scurt timp. Aceasta trebuie să înceapă cu configurarea proiectului local.

Am văzut prea multe cazuri în care noul tip trebuie să petreacă o săptămână întreagă pentru ca proiectul să ruleze pe mașina sa. Acest lucru se întâmplă de obicei atunci când documentația de configurare a fost slab scrisă, incompletă sau lipsește cu totul.

Pentru a evita acest lucru, începeți cu un document care definește toți pașii necesari pentru configurarea proiectului. Apoi, asigurați-vă că îl testați singur și îl rafinați.

Apoi, cereți colegilor dvs. să revizuiască pașii de instalare și să încorporeze feedback-ul lor. Veți ajunge cu un ghid de configurare concis, ușor de urmat, care va începe rapid toată lumea.

Înfășurându-se

Încă un lucru, totuși. Nu tratați acest document așa cum este scris în piatră. Revedeți-o din când în când și nu uitați să includeți noi pași necesari pe măsură ce sistemul evoluează. Echipa ta vă va mulțumi pentru asta.

Acestea sunt câteva lucruri cheie pe care le puteți face pentru a vă configura următorul proiect de succes. Ce ați adăuga la această listă? Vă rog să vă lăsați gândurile mai jos.