În dezvoltarea de software, fie că vorbim de produse sau servicii, există mai multe metodologii folosite pentru implementare. Încă din anul 2009, din ce în ce mai mulți specialiști au început să renunțe la metodologia tradițională, Waterfall, în încercarea de a folosi Agile, un mod de lucru ce separă fiecare etapă a proiectului și implică testare continuă de-a lungul întregului proces de dezvoltare.

Această abordare este una potrivită pentru companiile care își doresc să crească eficiența și să reducă gradul de risc, deoarece permite dezvoltatorilor să facă îmbunătățiri în mod constant, în urma feedback-ului primit. Totuși, deși pare să ofere soluția perfectă pentru echipele de dezvoltare, deseori apar blocaje când vine vorba de livrarea produsului, atunci când echipele tehnice sunt nevoite să reia unele operațiuni de la zero, dacă au fost descoperite erori către finalul proiectului. Acest lucru înseamnă că testarea rămâne pe ultima sută de metri.

 

DevOps – primele implementări

Așadar, pentru a integra metodologia Agile în fiecare stadiu de dezvoltare, Patrick Debois a lansat un nou concept: DevOps. Nevoia de a aduce inovație în dezvoltarea de software a apărut datorită succesului înregistrat de metodologia Agile. Atât furnizorii, cât și cei ce folosesc soluții software, își doreau să construiască și să acceseze soluții dedicate mai repede, și din ce în ce mai des. Acest lucru a influențat în mod evident procesul de “release management’ în companiile de dezvoltare. Cu timpul, acestea au fost nevoite să adopte noi proceduri, pentru a ține pasul cu cererile clienților: integrarea de noi instrumente, automatizarea procesului de lansare a unei aplicații, livrarea constantă.

Adoptată pentru prima dată în 2009, metodologia DevOps a devenit foarte populară, în special în ultimii ani, deoarece combină zona operațională cu cea de dezvoltare, crescând astfel eficiența, reducând riscurile și oferind un mod de lucru complet.

 

Ce este DevOps? 

Trecerea la DevOps este ceva ce multe companii își doresc să implementeze, însă înainte de a demara acest proces, este important să înțelegem mai multe despre această metodologie relativ nouă. Pentru ca acest lucru să se întâmple, trebuie mai întâi să înțelegem ce nu este DevOps:

–              O simplă alăturare a echipelor responsabile de operațiuni și dezvoltare;

–              O echipă dedicată, care face parte din procesul de dezvoltare;

–              Un produs sau o soluție separată, pe care echipele trebuie să le implementeze.

 

Spre deosebire de Agile și Waterfall, DevOps este un proces continuu de îmbunătățire a unui anumit produs. În cadrul acestuia, se crează o coeziune între echipele de dezvoltare, operațiuni și testare, ceea ce duce la livrarea constantă a produsului, prin adoptarea metodologiei Agile. DevOps nu se bazează pe reguli și proceduri stricte. De fapt, se bazează pe colaborarea cât mai strânsă a diverselor zone de business implicate în proiect. Principiile sale includ măsurarea obiectivelor, cultură, automatizare și colaborare.

 

Ce ar trebui să știi înainte de implementarea DevOps 

Deși numeraose companii încearcă să implementeze DevOps, această metodologie poate fi adoptată numai în anumite condiții. În primul rând, alegerea este potrivită numai în contextul unui proiect continuu, care are ca scop îmbunătățirea constantă a unui produs. În plus, este o metodologie recomandată companiilor mature, deoarece implică un grad înalt de structurare și un sistem de evidență foarte bine pus la punct.

Organizațiile care plănuiesc să implementeze DevOps ar trebui să știe că este nevoie de documentație, procese bine definite și roluri ale persoanelor din echipă, stabilite în mod clar. Există o idee preconcepută potrivit căreia waterfall este cel mai meticulous mod de lucru, deoarece implică o documentație stufoasă, iar oamenii au impresia că petrec foarte mult timp în fiecare stadiu al proiectului. De fapt, în ceea ce privește structura și efortul organizațional, agile și DevOps necesită eforturi mai intense, deoarece fiecare etapă a proiectului este concentrat într-un timp mult mai scurt. Pe de o parte, acest lucru are ca principal avantaj faptul că echipele petrec mai puțin timp în etapa de analiză și documentare. Pe de altă parte, există dezavantajul că DevOps este o metodologie destul de rigidă, deși mulți nu o consideră așa. În ciuda faptului că rezultatele păr să apăra repede, în spatele fiecărei etape a proiectului se află foarte multă muncă.

 

Avantajele adoptării DevOps 

Trecerea de la alte metodologii la DevOps nu este ușor de făcut, însă companiile care reușesc acest lucru vor câștiga în mod cert un avantaj asupra competitorilor. Există multe beneficii ale DevOps, atât pentru companiile care implementează, cât și pentru clienții ce folosesc soluțiile software dezvoltate.

Având o singură echipă ai cărei membri au abilități și cunoștințe multiple și colaborează constant, companiile ce adoptă DevOps pot livra soluții creative și funcționale în cel mai scurt timp. Din punct de vedere tehnic, cele mai notabile beneficii sunt rezolvarea eficientă a problemelor, complexitatea redusă a echipelor și, bineînțeles, livrarea continuă de software. Pe scurt, DevOps permite companiilor de software să facă mai mult, în timp mai puțin. Există și avantaje în ceea ce privește cultura organizațională: echipe mai productive și mai multe oportunități de evoluție și învățare pentru angajați, ceea ce crește loialitatea față de firmă.

Pentru zona de business, DevOps oferă organizațiilor un mediu operațional mai stabil, o colaborare internă mai solidă și mai mult timp pentru inovație și extindere.

Din aceste motive, metodologia pare să fi devenit principala opțiune pentru companiile de dezvoltare de software, schimbând cultura IT și permițând organizațiilor să se concetreze mai mult pe etapa de livrare a aplicațiilor. Scopul este acela de a îmbunătăți ciclul de dezvoltare și a oferi în mod constant soluții la diverse probleme și funcționalități ce răspund nevoilor de business. Totuși, fiind un concept relativ nou, înainte de a începe implementarea DevOps, companiile ar trebui mai întâi să se asigure că toți cei implicate în proiect știu ce este, și mai ales ce nu este, această metodologie.

Toți cei ce vor să folosească DevOps trebuie să fie conștienți că acesta este un mijloc, și nu un rezultat.  Mereu vor exista posibilități de îmbunătățire, noi tehnologii de adoptat și strategii mai bune de implementat, iar adoptarea DevOps este cel mai bun punct de început.