Cele trei tendințe principale în gestionarea lansării, figvam

Companiile IT care au înființat instrumente de gestionare fiabile de lansare au astăzi un avantaj competitiv foarte semnificativ. În acest articol, Surinderpal Kumar vorbește despre cele trei tendințe majore în gestionarea lansărilor pe care le poate beneficia orice companie IT.







În legătură cu presiunile crescute de pe piață, companiile încearcă să producă produsele lor în fața concurenților. Astfel de versiuni frecvente permit echipelor să verifice funcționalitatea mai devreme și să identifice greșelile mai ușor. În plus, un ciclu de eliberare mai mic oferă o mai mare flexibilitate, permițându-vă să faceți schimbări neintenționate de la început fără costuri nejustificate. Ca urmare, companiile care au un astfel de sistem de lansări obțin un avantaj competitiv semnificativ.

Procesul de implementare a acestor tehnici este, cu toate acestea, mult mai ușor de descris în cuvinte decât de a fi implementat efectiv în companie, deoarece în fiecare zi dezvoltarea software-ului devine din ce în ce mai complicată și mai complexă. Cel puțin pentru că apare codul permanent mai vechi, resursele se schimbă, echipele sunt distribuite în întreaga lume, iar numărul de platforme acceptate este în creștere. În acest articol, voi vorbi despre cele trei tendințe principale pe care le poate beneficia orice companie IT.

Prima tendință: introducerea de metodologii flexibile la nivel de nucleu, inclusiv automatizarea. Doar în fiecare dimineață pentru a organiza întâlniri de stand-up nu va fi de ajuns. Da, planificarea sprinturilor și a iterațiilor, împreună cu o revizuire și retrospectivă, sunt de asemenea elemente importante pentru lansările reușite. Cu toate acestea, pentru a elibera povești semnificative, semnificative sau caracteristici pentru timpul alocat sprinturilor, companiile sunt obligate să investească în automatizare.

Lipsa de automatizare duce la încărcarea echipei de dezvoltare și aduce un factor uman în mediul dvs., ceea ce afectează atât viteza cât și eficiența echipei. O automatizare corectă va forma un proces repetabil neschimbător, reducând astfel numărul de erori și timpul de eliberare. Metodologiile flexibile - indiferent dacă sunt scrumiere sau slabe - toate recomandă foarte mult automatizarea asamblării, automatizarea testelor, automatizarea transportului / livrării și automatizarea feedback-ului / feedback-ului. Este deosebit de important ca automatizarea să elibereze echipele de dezvoltare de configurarea manuală inutilă, permițându-le să se concentreze asupra dezvoltării codului și a produselor.

De exemplu, de îndată ce dezvoltatorul comite schimbări în sistemul de control al versiunilor, modificările sunt integrate automat cu restul modulelor. Apoi, aplicația deja asamblată este plasată automat în mediul de testare. Modulele asamblate sunt apoi plasate automat în mediul de testare. Dacă s-au produs modificări în platformă sau în mediu, aceste modificări sunt construite automat și transferate pe platforma de testare. Următorul pas testează în mod automat aplicabilitatea unui astfel de ansamblu, care include și teste de performanță, fiabilitate și capacitate. Dezvoltatorii și / sau managerii sunt notificați numai în caz de eroare. Cu toate acestea, accentul principal rămâne asupra dezvoltării nucleului și nu doar asupra activității suplimentare inutile. Desigur, unele verificări manuale vor rămâne în orice caz, acestea vor trebui să fie efectuate de echipa managerului de lansare pentru a trece la pașii următori, dar aproape toată activitatea din cadrul procesului de dezarhivare poate fi mai mult sau mai puțin automatizată.







Pe măsură ce trece prin teste de asigurare a calității, versiunea de lansare a produsului este transferat automat la un depozit de eliberare din care se poate face noua versiune să dispară alte sisteme automat sau pot fi descărcate de către clienți. Există o serie de tehnologii disponibile pe piață, în fiecare dintre aceste secțiuni, inclusiv automatizarea construiește (cum ar fi Ant, Maven, Marca), integrarea continuă (Jenkins, Cruise Control, Bamboo), automatizare de testare (Test de mătase, vânătă, test complet, UI codată ), și un demo continuu (Bamboo, Prism, Jenkins). Introducerea celor mai bune practici necesită de obicei planificarea strategică și investirea timpului în stadiile incipiente ale proiectului dumneavoastră. Dar acest lucru va reduce costurile organizaționale și costurile de implementare a modificărilor în etapele ulterioare.

A doua tendință este utilizarea platformelor de virtualizare și cloud ca mediu de dezvoltare și testare. Astăzi, cea mai mare parte a software-ului va sprijini mai multe platforme, fie că este vorba de sisteme de operare, servere de aplicații, baze de date sau browsere de internet. Echipele de dezvoltare trebuie să-și testeze produsele în toate aceste medii înainte de a le lansa pe piață.

Cu toate acestea, există o dificultate cu crearea tuturor acestor medii, precum și cu sprijinul acestora. Aceste dificultăți sporesc complexitatea, mai ales că echipele de dezvoltare și testare devin din ce în ce mai mult distribuite din punct de vedere geografic. În astfel de condiții, utilizarea platformelor de virtualizare și cloud poate fi foarte convenabilă și astfel de platforme au fost recent implementate pe scară largă în industria IT.

În unele companii, echipele managerilor de lansare încep să transfere de-automatizarea la platformele virtualizate și cloud. În acest caz, la fel cum susținem istoria modificărilor de cod și a configurației aplicațiilor, acceptăm și istoria versiunilor tuturor platformelor acceptate.

De exemplu, am descris mai devreme procesul de verificare a codului de către dezvoltator și lansarea automată a construirii și depanării pe mediile de testare necesare. În mod similar, dacă inginerii de lansare sau construcție schimbă configurația platformei țintă (setările OS, bază de date sau serverul de aplicații) - întreaga platformă poate fi complet sbildena și imaginea sistemului este creată și deploțată pe platforma corespunzătoare. Cu alte cuvinte, dacă utilizați virtualizarea VMWare, mașina virtuală se desfășoară automat din imaginea sistemului de operare subiacent, sunt configurate configurațiile corespunzătoare, iar restul platformei și componentelor aplicației sunt create automat.

Același lucru este valabil și pentru mediul cloud (atât IaaS cât și PaaS). Imediat ce apar noi configurații, se ridică o nouă instanță, se configurează ca mediu de dezvoltare și un mediu de testare. Acest lucru este esențial pentru performanță, altfel poate dura săptămâni pentru a se adapta schimbărilor de configurație. Cu ajutorul automatizării, procesul devine repetabil, rapid și nu există capcane în comunicarea dintre diferitele echipe de dezvoltare.

A treia tendință este utilizarea sistemelor de control al versiunilor distribuite. Sisteme similare precum git, mercurial, perforce - devin din ce în ce mai populare, datorită flexibilității pe care le oferă echipelor să interacționeze la nivel de cod. Baza fundamentală a acestor sisteme este că fiecare utilizator păstrează o versiune a depozitului cu întreaga istorie a calculatorului său. Nu este nevoie de un depozit master separat, dar majoritatea echipelor îl folosesc oricum ca fiind cea mai bună practică. Sistemele distribuite permit programatorilor să lucreze offline și să efectueze schimbări la nivel local.

Odată ce dezvoltatorii și-au finalizat rolul, ei își vor împinge schimbările în depozitul central ca RC. DVCS oferă o abordare de interacțiune fundamental nouă, astfel încât fiecare dezvoltator să poată să trimită frecvent modificările, fără a afecta baza de cod sau trunchiul de bază. Acest lucru este foarte util când echipele explorează idei noi sau experimentează.

DVCS devine ușor de utilizat pentru echipele de dezvoltare care utilizează o strategie flexibilă a ramurilor bazate pe caracteristici. Acest lucru îi încurajează pe dezvoltatori să continue să lucreze pe ramurile lor (caracteristici) până când sunt gata, să testeze complet modificările la nivel local și apoi să le încarce în lanțul de lansare. În cadrul acestei scheme, dezvoltatorii pot lucra între ei în copia locală a depozitului.

Numai după evaluările standard și testele de calitate - se fac modificări în depozitul principal. Dacă dezvoltarea software-ului dvs. include mai multe echipe de proiect, echipe distribuite sau dezvoltare bazată pe caracteristici - DVCS trebuie să fie luate în considerare.

Introducerea acestor trei tendințe majore în gestionarea lansărilor creează o rezervă foarte bună pentru viitor pentru toate companiile IT.







Trimiteți-le prietenilor: