{"id":34157,"date":"2019-10-31T21:56:43","date_gmt":"2019-10-31T18:56:43","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-nachat-devops-transformatsiyu\/"},"modified":"2019-10-31T21:56:43","modified_gmt":"2019-10-31T18:56:43","slug":"kak-nachat-devops-transformatsiyu","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/kak-nachat-devops-transformatsiyu","title":{"rendered":"Cum s\u0103 \u00eencepi transformarea DevOps","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dac\u0103 nu \u00een\u021belegi ce este DevOps, iat\u0103 un scurt ghid. DevOps este un set de practici care <strong>reduc temerile inginerilor<\/strong> \u0219i scad num\u0103rul de erori \u00een produc\u021bia de software. De regul\u0103, acestea <strong>scad timpul de lansare pe pia\u021b\u0103<\/strong> \u2014 perioada de la idee p\u00e2n\u0103 la livrarea produsului final c\u0103tre clien\u021bi, ceea ce permite desf\u0103\u0219urarea rapid\u0103 a <strong>experimentelor de afaceri<\/strong>.<\/p>\n<p>Cum s\u0103 \u00eencepi transformarea DevOps? Pe scurt: alegem serviciul cu care \u00eencepem procesul, identific\u0103m persoanele implicate \u00een serviciu, construim o hart\u0103 a fluxului de valoare, form\u0103m o echip\u0103 temporar\u0103 care se va ocupa de transformare \u00een primele etape \u0219i \u00eei stabilim o sarcin\u0103. Repet\u0103m ciclul de c\u00e2te ori este necesar.<\/p>\n<p><img decoding=\"async\" alt=\"Cum s\u0103 \u00eencepi transformarea DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/aa9480b66c26c9a3035929ea5fbe6542.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Un plan detaliat de transformare DevOps cu exemple \u0219i instruc\u021biuni este disponibil \u00een continuare <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/voAm67851JU\">raportului<\/a><\/noindex> <b>Andrei Alexandrov<\/b> \u2014 inginer la compania Express42, care consult\u0103 \u00een dezvoltarea DevOps, acceler\u00e2nd acest proces, deoarece a construit deja harta provoc\u0103rilor. Dac\u0103 \u021bi se pare c\u0103 transformarea nu este necesar\u0103 sau specificul t\u0103u face ca practicile DevOps s\u0103 nu fie aplicabile, folose\u0219te raportul ca un ghid pentru identificarea \u0219i eliminarea constr\u00e2ngerilor. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nDac\u0103 te \u00eengrijoreaz\u0103 problema transform\u0103rii DevOps, \u00eenseamn\u0103 c\u0103 ai o companie mare \u0219i trebuie s\u0103 scalezi treptat acest proces \u00een \u00eentreaga structur\u0103. At\u00e2ta timp c\u00e2t exist\u0103 necesitatea de a transforma echipa sau de a elimina o constr\u00e2ngere, algoritmul de mai jos poate fi repetat.<\/p>\n<h2>Alegerea serviciului<\/h2>\n<p>\nPlanificat, s\u0103 \u00eenceap\u0103 cu primul pas \u2014 alegerea serviciului.<strong> Primul criteriu \u2014 durata de via\u021b\u0103<\/strong>: exist\u0103 servicii vechi \u2014 legacy \u0219i servicii noi. Se poate \u00eencepe cu ambele.<\/p>\n<p><strong>Este logic s\u0103 alegi un serviciu t\u00e2n\u0103r<\/strong>. Este proasp\u0103t, nu exist\u0103 \u00eenc\u0103 un proces de lucru stabilit \u00een echipa care se ocup\u0103 de el. Nu are o acumulare mare de datorii tehnice, nu trebuie s\u0103-l repari tot timpul. Putem face cu el tot ce vrem.<\/p>\n<p>\u00cen cazul unui serviciu vechi, exist\u0103 probleme legate de faptul c\u0103 <strong>schimbarea este \u00eentotdeauna dificil\u0103<\/strong>. Acolo exist\u0103 deja un set de constr\u00e2ngeri serioase, dar, posibil, exist\u0103 persoane care sunt gata s\u0103 se implice \u2014 ele s-au s\u0103turat \u0219i doresc s\u0103 fac\u0103 lucrurile diferit, pentru c\u0103 resimt durerea.<\/p>\n<p><strong>Lucrul cu un serviciu vechi creeaz\u0103 un precedent puternic<\/strong> \u00een compania dumneavoastr\u0103 \u2014 se pot face modific\u0103ri. Dac\u0103 a\u021bi implementat un nou serviciu, care merge \u00een produc\u021bie de 100 de ori pe or\u0103, \u0219i totul este \u00een regul\u0103, atunci oamenii din compania dumneavoastr\u0103 ar putea spune:<\/p>\n<p><em> \u2014 Dar acesta e un nou serviciu! Acolo totul era simplu, \u00eencerca\u021bi s\u0103 face\u021bi ceva cu r\u0103m\u0103\u0219i\u021bele noastre.<\/em><\/p>\n<p>Este sens s\u0103 adop\u021bi un serviciu legacy atunci c\u00e2nd \u00eel transformi \u00eempreun\u0103 cu cineva, de exemplu, dac\u0103 ai invitat un consultant extern. <strong>S\u0103 fim sinceri, transformarea va zgudui tot ce se poate.<\/strong>. Experimenta\u021bi \u0219i nu \u0219ti\u021bi unde ve\u021bi ajunge, ce tehnologii \u0219i de ce ve\u021bi folosi, unde \u0219i ce capcane pot ap\u0103rea \u00een procese. De aceea, este mai u\u0219or s\u0103 schimbi noul.<\/p>\n<blockquote><p>Dac\u0103 totul face\u021bi singur \u0219i \u00een companie nu exist\u0103 competen\u021be serioase \u2014 alege\u021bi un nou serviciu. Dac\u0103 cunoa\u0219te\u021bi un consultant extern \u0219i ave\u021bi fonduri \u2014 opta\u021bi pentru cel vechi.<\/p><\/blockquote>\n<p>\nExist\u0103 servicii care sunt pur \u0219i simplu o interfa\u021b\u0103 pentru utilizatori, de exemplu, un site simplu sau o aplica\u021bie mobil\u0103. Dar exist\u0103 \u0219i lucruri serioase \u00een domeniul factur\u0103rii. Dac\u0103 ceva nu merge bine cu facturarea \u2014 va fi greu s\u0103 se rezolve. Aici, de asemenea, avem de ales.<\/p>\n<p>Noi lucr\u0103m fie <strong>cu un serviciu critic<\/strong>, dar deja suferim din cauza lui, deoarece creeaz\u0103 restric\u021bii, fie lucr\u0103m <strong>cu o interfa\u021b\u0103<\/strong>. Acesta este al doilea criteriu de selec\u021bie. \u00cen mod similar, exist\u0103 posibilitatea de a atrage un consultant experimentat \u2014 lucr\u0103m cu varianta grea.<\/p>\n<p>\u00cens\u0103, chiar \u0219i \u00een acest caz, nu a\u0219 recomanda s\u0103 facem a\u0219a, deoarece, p\u00e2n\u0103 nu exist\u0103 o \u00een\u021belegere clar\u0103 cu ce lucr\u0103m \u0219i \u00een ce direc\u021bie transform\u0103m, s\u0103 lu\u0103m un lucru critic \u0219i s\u0103-l rearanj\u0103m \u2014 nu este o idee foarte bun\u0103. A\u0219adar, \u00een acest caz, prefer\u0103m s\u0103 lucr\u0103m cu o interfa\u021b\u0103, al c\u0103rei defect nu este critic.<\/p>\n<p>Mai departe, vom analiza <b>echipa de serviciu<\/b>. Cu cei care se ocup\u0103 de acest serviciu, va trebui s\u0103 lucr\u0103m constant \u0219i s\u0103 interac\u021bion\u0103m \u00een foarte str\u00e2ns contact.<\/p>\n<p>Oamenii din echip\u0103 se \u00eempart \u00een mod condi\u021bionat \u00een dou\u0103 categorii: <strong>conservatori<\/strong> \u2014 tr\u0103iesc \u00een vechea lume sau pur \u0219i simplu nu \u0219tiu nimic despre DevOps, \u0219i <strong>inovatori<\/strong>, care promoveaz\u0103 toate practicile la mod\u0103. Cei din urm\u0103 nu \u00een\u021beleg \u00eentotdeauna subiectul, dar m\u0103car sunt dispu\u0219i s\u0103 se implice.<\/p>\n<p>Pe de o parte, conservatorii sunt oameni experimenta\u021bi: au fost mult timp \u00een companie, se \u00een\u021beleg pe deplin, dar nu cunosc practicile. Pe de alt\u0103 parte, inova\u021bii care au auzit ceva, dar cel mai probabil nu lucreaz\u0103 de foarte mult timp \u00een companie. Cu cine ar fi mai bine s\u0103 colabor\u0103m?<\/p>\n<p>Va trebui s\u0103 colabor\u0103m cu conservatorii \u00een orice caz, deoarece acesta este serviciul lor. Va trebui s\u0103 comunic\u0103m cu ei, s\u0103 clarific\u0103m specificul serviciului, ce se poate face \u00eentr-un mod, \u0219i ce nu. Depindem de consultan\u021bele lor. Cu siguran\u021b\u0103 va trebui s\u0103 le \u00eencredin\u021b\u0103m ceva, pentru c\u0103 ei cunosc serviciul lor mai bine. De aceea, este important cu ce echip\u0103 vom avea contact \u00een cele din urm\u0103.<\/p>\n<blockquote><p>Este logic s\u0103 alegi inova\u021bii \u00een echip\u0103, pentru c\u0103 conservatorii pot pune be\u021be \u00een roate.\n<\/p><\/blockquote>\n<p>\n\u00cen practic\u0103, se \u00eent\u00e2mpl\u0103 adesea ca oamenii conservatori s\u0103 aib\u0103 experien\u021b\u0103 semnificativ\u0103, dar s\u0103 nu \u00een\u021beleag\u0103 cum s\u0103 mearg\u0103 mai departe. Le este fric\u0103 c\u0103 dup\u0103 transformarea \u0219i restructurarea serviciului, vor fi da\u021bi afar\u0103 pentru c\u0103 nu mai sunt necesari. Uneori, din cauza ne\u00een\u021belegerii a ceea ce se \u00eent\u00e2mpl\u0103, saboteaz\u0103 munca.<\/p>\n<p>Am avut un caz \u00een care un tip din echip\u0103 repara tot ce-i ie\u0219ea \u00een fa\u021b\u0103, pentru c\u0103 acesta era, chipurile, mai critic dec\u00e2t ceea ce facem acum. Stabilim o sarcin\u0103: s\u0103 realiz\u0103m ast\u0103zi acest segment - nu, la cap\u0103tul lumii e un incendiu, mergem s\u0103-l repar\u0103m. E greu s\u0103 lucrezi cu astfel de oameni.<\/p>\n<p>Oamenii din echipa conservatorilor adesea ignor\u0103 sarcinile sau le am\u00e2n\u0103 p\u00e2n\u0103 \u00een ultimul moment. \u0218i dac\u0103, Doamne fere\u0219te, ai gre\u0219it \u0219i le-ai pus KPI pentru num\u0103rul de sarcini finalizate, iar o parte din ele nu sunt incluse \u00een KPI, nu vor face nimic. \u00centr-adev\u0103r, vor avea dreptate, pentru c\u0103 atunci \u00ee\u0219i pierd bonusul.<\/p>\n<p><strong>Cu inova\u021bii este mai simplu - sunt mai loiali.<\/strong>Ei au auzit deja ceva, vor s\u0103 se \u00eendrepte c\u0103tre ceva, a\u0219a c\u0103 vor ajuta. Ne trebuie oameni care sunt dispu\u0219i s\u0103 sufere la \u00eenceput: dac\u0103 serviciul se schimb\u0103, toate erorile \u0219i obstacolele vor fi \u00eent\u00e2mpinate de inova\u021bi ca pionieri. Inova\u021bii vor toate cele mai noi \u0219i la mod\u0103, \u0219i vor suferi.<\/p>\n<p>Conservatorii pot fi converti\u021bi mai t\u00e2rziu \u00een credin\u021ba voastr\u0103. C\u00e2nd le vei ar\u0103ta c\u0103 ai schimbat o parte \u0219i totul func\u021bioneaz\u0103 bine, cel mai probabil, vor dori s\u0103 \u00eencerce \u0219i vor accepta noua religie DevOps.<\/p>\n<p><img decoding=\"async\" alt=\"Cum s\u0103 \u00eencepi transformarea DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/dcbbc0308e150f915cbe091451b6196f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p>S\u0103 rezum\u0103m. Dac\u0103 facem \u00eentreaga transformare \u00een compania noastr\u0103, alegem: un serviciu nou, preferabil cu o interfa\u021b\u0103 simpl\u0103, pentru a nu suferi prea mult din cauza defect\u0103rilor, \u0219i o echip\u0103 de inovatori.<\/p><\/blockquote>\n<p>\nDac\u0103 exist\u0103 posibilitatea de a chema un consultant extern, \u00een loc de un nou serviciu \u2013 opt\u0103m pentru vechiul serviciu, din cauza c\u0103ruia deja suferim. Oamenii care s-au ocupat de transformare suficient de mult timp \u00een diverse companii au v\u0103zut diferite cazuri \u0219i \u00eencep s\u0103 \u00een\u021beleag\u0103 cum s\u0103 fac\u0103 lucrurile corect \u0219i \u00een ce direc\u021bie s\u0103 mearg\u0103.<\/p>\n<h2>Cine este implicat?<\/h2>\n<p>\nTrebuie s\u0103 \u00eei g\u0103sim pe to\u021bi cei care au vreo leg\u0103tur\u0103 cu serviciul: dezvoltatori, testeri, administratori, speciali\u0219ti \u00een securitate, manageri \u0219i, posibil, Product Owners. De\u0219i Product Owners nu sunt tehnici, au leg\u0103tur\u0103 cu serviciul: iau decizii, stabilesc sarcini.<\/p>\n<p><img decoding=\"async\" alt=\"Cum s\u0103 \u00eencepi transformarea DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/5bf997d5931089cce8e35bcb36007a60.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p>Pe to\u021bi cei care iau vreo decizie \u0219i influen\u021beaz\u0103 ceea ce se \u00eent\u00e2mpl\u0103 cu serviciul trebuie s\u0103-i g\u0103sim, s\u0103 ne \u00eent\u00e2lnim \u0219i s\u0103 discut\u0103m.<\/p><\/blockquote>\n<p>\nDe ce ne sunt ei necesari? <strong>Pentru a \u0219ti cu cine s\u0103 ne \u00een\u021belegem.<\/strong>. \u00cen timpul transform\u0103rii, c\u00e2nd principiile obi\u0219nuite de func\u021bionare ale serviciului se schimb\u0103, acesta va fi afectat. O vreme vor exista erori, p\u00e2n\u0103 test\u0103m noile abord\u0103ri. Oamenii trebuie s\u0103 fie preg\u0103ti\u021bi pentru asta \u0219i s\u0103 fie de acord.<\/p>\n<p>Apoi va trebui s\u0103 construim Value Stream Map \u0219i f\u0103r\u0103 aceste persoane nu \u00eel putem construi, pentru c\u0103 doar ei \u00eempreun\u0103 cunosc \u00eentreaga imagine a ceea ce se \u00eent\u00e2mpl\u0103. O singur\u0103 persoan\u0103 niciodat\u0103 nu \u0219tie tot ce se \u00eent\u00e2mpl\u0103 cu serviciul.<\/p>\n<p>Ei ne pot sf\u0103tui cu privire la oamenii din echip\u0103. Mai t\u00e2rziu vom discuta despre de ce avem nevoie de o echip\u0103 separat\u0103. Va trebui s\u0103 lu\u0103m oameni din departamentele existente. Cei care au leg\u0103tur\u0103 cu serviciul pot recomanda colegi care g\u00e2ndesc \u00een direc\u021bia noastr\u0103, care ne pot ajuta \u0219i au competen\u021bele necesare.<\/p>\n<p>Apoi, adun\u0103m to\u021bi ace\u0219ti oameni din diverse departamente \u00eentr-o camer\u0103 \u0219i \u00eencepem s\u0103 construim Value Stream Map.<\/p>\n<h2>Construim Value Stream Map.<\/h2>\n<p>\n<strong>Value Stream Map este un diagram\u0103 sau o hart\u0103 care arat\u0103 fluxul de valori c\u0103tre client.<\/strong>. Este \u00eentregul proces de la conceperea ideii p\u00e2n\u0103 la implementarea acesteia, inclusiv toate etapele intermediare \u0219i modul \u00een care valoarea ajunge \u00een cele din urm\u0103 la clien\u021bii no\u0219tri.<\/p>\n<p>Value Stream Map este necesar pentru <strong>a vizualiza toate etapele dezvolt\u0103rii<\/strong>, a localiza problemele prin m\u0103sur\u0103torile existente \u00een procesul actual \u0219i a \u00eencepe s\u0103 le elimin\u0103m, \u0219i <strong>a stabili obiectivul ini\u021bial.<\/strong>Acesta este locul unde vom \u00eencepe s\u0103 facem cu adev\u0103rat ceva.<\/p>\n<h3>Metrici<\/h3>\n<p>\n\u00cen literatura despre Value Stream Map sunt descrise multe metrici diferite, dar pentru \u00eenceput ne ajung doar trei.<\/p>\n<p><strong>Lead Time \u2014 \u00eent\u00e2rziere\/a\u0219teptare<\/strong> \u2014 timpul \u00een care a\u0219tept\u0103m ceva. De exemplu, un tester a\u0219teapt\u0103 ca un stand de testare s\u0103 devin\u0103 disponibil \u0219i, \u00een acest timp, nu poate face nimic.<\/p>\n<p><strong>Value Added Time \u2014 timpul de lucru util<\/strong> \u2014 cel pe care l-am petrecut \u00eentr-o anumit\u0103 etap\u0103 pentru a crea valoarea final\u0103 pentru utilizator. De exemplu, testerul a \u00eenceput testul \u0219i a \u00eenceput s\u0103 verifice ceva. Acesta este timpul de lucru util, c\u00e2nd facem cu adev\u0103rat ceva pentru produs. Acesta este ceea ce clien\u021bii pl\u0103tesc \u2014 pentru software de calitate.<\/p>\n<p><strong>%C\/A \u2014 procentul de lucru acceptat. <\/strong>Avem o etap\u0103 \u2014 dezvoltare, a doua etap\u0103 \u2014 testare. C\u00e2te caracteristici au fost acceptate de testeri de la dezvoltatori \u0219i exist\u0103 acest procent.<\/p>\n<p>Cam a\u0219a arat\u0103 harta noastr\u0103.<\/p>\n<p><img decoding=\"async\" alt=\"Cum s\u0103 \u00eencepi transformarea DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/724fcd9fa5b0c613674933dba9d82159.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEa poate ar\u0103ta diferit \u00een func\u021bie de structura organiza\u021biei, num\u0103rul de departamente \u0219i ceea ce face\u021bi. Dar, \u00een general, harta va avea dou\u0103 etape: <strong>ideea <\/strong>\u0219i<strong> analiza<\/strong>. \u00cen aceast\u0103 etap\u0103 se a\u0219teapt\u0103 date, de exemplu, Lead Time 2 s\u0103pt\u0103m\u00e2ni \u0219i Value Added Time 2 zile.<\/p>\n<blockquote><p>Metricile acoper\u0103 absolut toate etapele.<\/p><\/blockquote>\n<p>\n<strong>Backlog<\/strong> \u2014 c\u00e2te sarcini au r\u0103mas dup\u0103 ce anali\u0219tii le-au g\u00e2ndit.<\/p>\n<p><strong>Dezvoltare<\/strong> \u2014 c\u00e2te s\u0103pt\u0103m\u00e2ni au a\u0219teptat dezvoltatorii clarific\u0103ri pentru sarcini, standuri sau echipamente \u2014 nu conteaz\u0103, dar ei a\u0219teapt\u0103 ceva. De exemplu, 4 zile ei implementeaz\u0103 o caracteristic\u0103. Aici apare metrica %C\/A. Dezvoltatorii au preluat din backlog doar 80% din sarcini. Ei consider\u0103 c\u0103 pentru restul de 20% nu exist\u0103 un caiet de sarcini suficient de clar, a\u0219a c\u0103 le-au trimis pentru revizuire.<\/p>\n<p><strong>Testare<\/strong>. \u00cen diagram\u0103, LT este setat la 4 zile. De exemplu, testerii au a\u0219teptat eliberarea standului de testare, VA 2 zile ei au testat cu adev\u0103rat ceva, iar %C\/A = 40%. \u2014 doar 40% din codul sau caracteristicile pe care le-au trimis dezvoltatorii au fost considerate adecvate de c\u0103tre testeri. Tot restul nu le-a pl\u0103cut din anumite motive.<\/p>\n<p>Nu voi intra \u00een detalii despre cum s\u0103 efectuezi aceste m\u0103sur\u0103tori, la sf\u00e2r\u0219itul articolului voi recomanda literatur\u0103 din care po\u021bi afla despre ele.<\/p>\n<p>Singurul lucru pe care \u00eel sf\u0103tuiesc este s\u0103 nu crede\u021bi oamenilor care vor face cu voi Value Stream Map. Ei estimeaz\u0103 c\u00e2t timp dureaz\u0103 diferite procese, dar aceste estim\u0103ri nu sunt \u00eentotdeauna corecte, a\u0219a c\u0103 este mai bine s\u0103 m\u0103sura\u021bi singuri.<\/p>\n<p>A avut un caz \u00een care am mers \u00een departamentul Operations \u0219i am \u00eentrebat c\u00e2t timp dureaz\u0103 livrarea unei noi func\u021bionalit\u0103\u021bi \u00een produc\u021bie. Ni s-a r\u0103spuns c\u0103 10 minute, \u0219i ne-am g\u00e2ndit de ce am venit \u00een aceast\u0103 companie. S-a dovedit c\u0103 cele 10 minute sunt timpul de rulare a scriptului care ia codul \u0219i \u00eel livreaz\u0103 pe server. Dar \u00eenainte de asta, release-ul st\u0103 timp de trei zile pe server \u0219i pur \u0219i simplu se adun\u0103 praf \u2014 \u00een Backlog exist\u0103 o sarcin\u0103 care trebuie desf\u0103\u0219urat\u0103. A\u0219adar, \u00eenainte de etapa de desf\u0103\u0219urare, exist\u0103 o etap\u0103 de a\u0219teptare, \u00een care proiectul pur \u0219i simplu stagn\u0103. Dac\u0103 nu am fi mers cu un notebook, nu am fi observat sarcina din Jira \u0219i nu am fi \u00eenceput s\u0103 o urm\u0103rim pas cu pas, am fi considerat c\u0103 totul este minunat \u0219i c\u0103 nu exist\u0103 nicio problem\u0103.<\/p>\n<p>De aceea, va trebui s\u0103 face\u021bi m\u0103sur\u0103tori singuri, ideal de mai multe ori, pentru a avea o imagine c\u00e2t mai apropiat\u0103 de realitate. \u00cen func\u021bie de Value Stream Map, ve\u021bi lua decizii despre de unde s\u0103 \u00eencepe\u021bi \u0219i ce s\u0103 corecta\u021bi mai \u00eent\u00e2i.<\/p>\n<h2>Echip\u0103 temporar\u0103<\/h2>\n<p>\nMulte companii care au decis s\u0103 implementeze DevOps \u00ee\u0219i creeaz\u0103 o echip\u0103, doar c\u0103 nu este temporar\u0103, ci existent\u0103 de c\u00e2\u021biva ani. Dac\u0103 v\u0103 adresa\u021bi unui serviciu DevOps care descrie diferite modele de organizare a structurii \u00een DevOps, ve\u021bi \u00een\u021belege c\u0103 aceasta este un antipatern.<\/p>\n<blockquote><p>Atunci c\u00e2nd echipa DevOps exist\u0103 constant timp de c\u00e2\u021biva ani \u2014 aceasta este o mare gre\u0219eal\u0103, deoarece DevOps este despre comunicarea \u00eentre departamente, despre vitez\u0103 \u0219i eficien\u021b\u0103.<\/p><\/blockquote>\n<p>\nDac\u0103 echipa exist\u0103 \u00eentre departamente, doar pentru a face ceva separat, \u0219i exist\u0103 mult timp, atunci creeaz\u0103 o barier\u0103 suplimentar\u0103. Acum, programatorul, \u00een loc s\u0103 mearg\u0103 direct la administrator pentru a rezolva o problem\u0103, trebuie mai \u00eent\u00e2i s\u0103 se adreseze departamentului DevOps, care apoi va continua mai departe.<\/p>\n<p><strong>A\u0219adar, pentru a \u00eencepe, trebuie s\u0103 crea\u021bi o echip\u0103 temporar\u0103.<\/strong>. Va exista condi\u021bionat timp de \u0219ase luni, maximum un an, \u00een func\u021bie de obiectivul stabilit, doar pentru a elimina o singur\u0103 restric\u021bie pe care am ales-o. Dup\u0103 aceea, va disp\u0103rea. Dac\u0103 alegem urm\u0103toarea problem\u0103 care ne doare puternic \u0219i realiz\u0103m c\u0103 pentru aceasta avem nevoie de o echip\u0103 separat\u0103, atunci o vom crea din nou. Dar echipele de \u201epermanent\u201d nu ar trebui s\u0103 existe \u2014 altfel ele doar perturb\u0103 comunicarea \u0219i preiau sarcini complet separate, doar ca s\u0103 fac\u0103 ceva. Aceste sarcini pot s\u0103 nu fie legate de DevOps \u0219i de transformare. De ce s\u0103 nu l\u0103s\u0103m aceast\u0103 sarcin\u0103 departamentelor existente?<\/p>\n<h3>De ce este necesar\u0103 o echip\u0103 temporar\u0103<\/h3>\n<p>\n<strong>Conflict cu procesele actuale<\/strong>. Transformarea DevOps este o schimbare nu doar a tehnologiilor \u0219i instrumentelor pe care le folosim, ci \u0219i a procesului de lucru, a g\u00e2ndirii \u0219i a valorilor \u00een sine. Dac\u0103 echipa va lucra a\u0219a cum este obi\u0219nuit\u0103, nu va reu\u0219i s\u0103 \u00eencerce alte abord\u0103ri.<\/p>\n<p>Ace\u0219ti oameni trebuie s\u0103 tr\u0103iasc\u0103 dup\u0103 alte reguli: s\u0103 ignore toate KPI-urile din companie, deoarece \u00eencearc\u0103 s\u0103 lucreze diferit. Echipele temporare nu vor completa cereri pentru a ob\u021bine un server, ci se vor duce direct la departamentul care se ocup\u0103 cu acestea, cer\u00e2ndu-le celor care le gestioneaz\u0103 s\u0103 le ofere, \u00eent\u00e2i de toate, ceea ce au nevoie, deoarece aceasta este o sarcin\u0103 prioritar\u0103 \u0219i pentru c\u0103 \u00eencearc\u0103 s\u0103 tr\u0103iasc\u0103 diferit. Echipa are un conflict total cu toate procesele actuale. Pentru ca metodele de lucru existente s\u0103 nu le interfereze acum, iar ei s\u0103 nu interfereze cu ceilal\u021bi, izol\u0103m ace\u0219ti oameni, cre\u00e2ndu-le o echip\u0103 separat\u0103.<\/p>\n<p><strong>Evitarea birocra\u021biei \u00een experimente<\/strong>. \u00cen echipele temporare nu exist\u0103 birocra\u021bie, nu completeaz\u0103 rapoarte despre orele lucrate, nu r\u0103spund \u00een fa\u021ba managerilor. Este o lume complet separat\u0103, \u00een care oamenii tr\u0103iesc \u0219i g\u00e2ndesc diferit \u0219i se ocup\u0103 cu lucruri complet diferite. Nu trebuie s\u0103 le perturb\u0103m din nou.<\/p>\n<p><strong>Lucru continuu asupra serviciului<\/strong>. \u00cen primul punct, am ales ceva cu care vom experimenta. Experimentele \u0219i c\u0103utarea de modalit\u0103\u021bi de a lucra mai bine sunt importante, dar dorim s\u0103 realiz\u0103m \u0219i caracteristici. Dac\u0103 \u00eentreaga echip\u0103 se va ocupa de transformare \u00een loc de func\u021bii, atunci vom \u00eencepe s\u0103 pierdem venituri, iar bug-urile vor r\u0103m\u00e2ne mult timp \u2014 acest lucru nu ne este necesar. Crearea unei echipe temporare permite experimentarea, f\u0103r\u0103 a opri \u00eens\u0103 lucrul asupra produsului.<\/p>\n<p><strong>Nu pierde\u021bi timpul cu sarcinile de lucru<\/strong>. Este din nou despre produs. E nevoie de mult timp ca echipa s\u0103 \u00eencerce alte instrumente \u0219i altele asemenea. Ca oamenii s\u0103 \u00eenve\u021be instrumentele, s\u0103 \u00eenceap\u0103 s\u0103 le implementeze \u0219i s\u0103 le foloseasc\u0103 corespunz\u0103tor, va dura, cel pu\u021bin, jum\u0103tate de an. Dac\u0103 se vor ocupa \u0219i de produs \u2014 acea jum\u0103tate de an se va extinde enorm. Dac\u0103 oamenii se ocup\u0103 de produs, ei lucreaz\u0103 din nou cu vechile procese \u2014 nu avem nevoie de asta.<\/p>\n<p>Prin urmare, din diferite departamente, select\u0103m oameni \u00eentr-o echip\u0103 separat\u0103 care se va ocupa de transformarea serviciului. Drept urmare, serviciul func\u021bioneaz\u0103, continu\u0103 s\u0103 se dezvolte \u0219i, \u00een acela\u0219i timp, facem unele experimente pe el.<\/p>\n<blockquote><p>Echipa temporar\u0103 se ocup\u0103 exclusiv de transformarea DevOps \u2014 eliminarea acelei restric\u021bii pe care am g\u0103sit-o \u0219i nimic mai mult.<\/p><\/blockquote>\n<p>\n<strong>Echipa este format\u0103 din oameni versatili<\/strong>. Asta \u00eenseamn\u0103 c\u0103 am luat nu doar dezvoltatori. Nu ne-am dus \u00een serviciu \u0219i nu am luat jum\u0103tate din echip\u0103 \u2014 nu, am luat <strong>oameni din diferite departamente<\/strong>. Cu c\u00e2teva puncte \u00een urm\u0103, am g\u0103sit diferite departamente \u0219i diferi\u021bi angaja\u021bi care au leg\u0103tur\u0103 cu serviciul \u00een curs de transformare. Din ei form\u0103m echipa, pentru c\u0103 trebuie s\u0103 fie versatil\u0103 \u2014 vom schimba at\u00e2t procesul de testare, c\u00e2t \u0219i procesul de dezvoltare, \u0219i procesul de \u00eentre\u021binere a serviciului. Este nevoie de competen\u021be diverse.<\/p>\n<p>De obicei, lu\u0103m un dezvoltator, un tester \u0219i un inginer \u2014 pe fiecare c\u00e2te unul, \u0219i \u00eempreun\u0103 cu ei g\u0103sim o solu\u021bie care ne permite s\u0103 func\u021bion\u0103m diferit.<\/p>\n<p><strong>Este de dorit ca ace\u0219ti oameni s\u0103 aib\u0103 autoritate \u00een organiza\u021bie<\/strong>. Poate va trebui s\u0103 lu\u0103m un conservator, de\u0219i nu vrem. Dac\u0103 avem o companie mare, nu to\u021bi vor crede \u00een planul nostru, iar cineva ar putea pune be\u021be \u00een roate, de exemplu, s\u0103 nu aloce un stand. Aici va fi nevoie de \u201eautoritate\u201d \u2014 o persoan\u0103 respectat\u0103, cu mult\u0103 experien\u021b\u0103, care a c\u00e2\u0219tigat respectul colegilor. Autoritatea angajatului \u00een echip\u0103 va simplifica sarcina \u0219i munca echipei temporare. Oamenii vor g\u00e2ndi:<\/p>\n<p><em> \u2014 Aha, tipul acela grozav pe care \u00eel \u0219tim \u0219i \u00eel iubim s-a \u00eenscris \u2014 se pare c\u0103 \u00een DevOps este ceva demn de v\u0103zut!<\/em><\/p>\n<h2>Stabilim un obiectiv<\/h2>\n<p>\nAm str\u00e2ns oamenii, am ales serviciul, am analizat limit\u0103rile, am stabilit asupra c\u0103ror oameni vom avea influen\u021b\u0103. Acum trebuie s\u0103 stabilim un obiectiv \u0219i acesta trebuie s\u0103 fie chiar <strong>dup\u0103 SMART<\/strong> \u2014 tot a\u0219a cum ne place.<\/p>\n<p><strong>Specific \u2014 specific\u0103<\/strong>.<\/p>\n<p><strong>Measurable \u2014 m\u0103surabil\u0103<\/strong>. Acesta este un punct foarte important din SMART. Dac\u0103 nu po\u021bi m\u0103sura ceva, nu po\u021bi schimba \u0219i nu po\u021bi \u00een\u021belege ce \u0219i cum ai f\u0103cut mai bine sau mai r\u0103u.<\/p>\n<p><strong>Achievable \u2014 realizabil\u0103<\/strong>. F\u0103 ajust\u0103ri \u00een func\u021bie de specificul t\u0103u. Dac\u0103 e\u0219ti o companie de tip enterprise cu o lung\u0103 istorie \u0219i o mare povar\u0103 de responsabilit\u0103\u021bi, care lanseaz\u0103 o versiune de produs o dat\u0103 pe an, nu vei putea \u00een jum\u0103tate de an s\u0103 atingi lansarea de noi versiuni de produs la fiecare or\u0103. Asta nu se va \u00eent\u00e2mpla. A\u0219adar, stabile\u0219te un obiectiv realist, care poate fi realizat \u00eentr-un interval de timp acceptabil.<\/p>\n<p><strong>Relevant \u2014 relevant\u0103. <\/strong>Elimin\u0103m doar acea constr\u00e2ngere care urm\u0103re\u0219te cu adev\u0103rat obiectivele noastre actuale.<\/p>\n<p><strong>Time Limited \u2014 limitat\u0103 \u00een timp<\/strong>. Dac\u0103 nu exist\u0103 un termen limit\u0103 \u2014 echipa se va ocupa de orice altceva: va \u00eencerca 15 tehnologii \u00een loc de 3, va scrie rapoarte enorme, va desf\u0103\u0219ura cercet\u0103ri inutile, va lucra la implementarea sa p\u00e2n\u0103 la str\u0103lucire, c\u00e2nd obiectivul a fost deja atins.<\/p>\n<p>Obiectivul este stabilit cu ajutorul Value Stream Map \u2014 reunim din nou to\u021bi oamenii \u0219i desen\u0103m. Dar doar acum, pe baza Value Stream Map anterioare, desen\u0103m ceea ce vrem s\u0103 ob\u021binem.<\/p>\n<p><img decoding=\"async\" alt=\"Cum s\u0103 \u00eencepi transformarea DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/5deb75c71d7c2499f13b20f85c5559dd.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSubliniem o constr\u00e2ngere pe care o vom elimina chiar acum - asta va face echipa. De exemplu, am luat a\u0219teptarea de la lansarea finalizat\u0103 p\u00e2n\u0103 la desf\u0103\u0219urarea \u00een produc\u021bie - aceasta este cea mai frecvent\u0103 constr\u00e2ngere cu care oamenii contacteaz\u0103 consultantii.<\/p>\n<p>Pe baza acestui lucru stabilim sarcina: vrem ca a\u0219teptarea \u00eentre lansarea finalizat\u0103 \u0219i ie\u0219irea \u00een lupt\u0103 s\u0103 fie de maximum o or\u0103.<\/p>\n<p>Exemple de sarcini.<\/p>\n<ul>\n<li>Reducerea timpului de testare de la 4 zile la 1 or\u0103.<\/li>\n<li>Reducerea timpului ad\u0103ugat pentru testare de la 2 zile la 3 ore.<\/li>\n<li>Reducerea timpului de desf\u0103\u0219urare de la 5 ore la 10 minute.<\/li>\n<li>Cre\u0219terea C\/A de la 50% la 95%, adic\u0103 cre\u0219terea num\u0103rului de func\u021bionalit\u0103\u021bi acceptate de testeri, cu alte cuvinte, \u00eembun\u0103t\u0103\u021birea calit\u0103\u021bii muncii dezvoltatorilor.<\/li>\n<\/ul>\n<p>Exemplele de sarcini nu sunt inventate - ele sunt bazate pe m\u0103sur\u0103tori pe care le-am f\u0103cut c\u00e2nd am dezvoltat Value Stream Map.<\/p>\n<p>Stabilim o sarcin\u0103 similar\u0103 echipei noastre \u0219i o constr\u00e2ngere de timp. \u00cen func\u021bie de c\u00e2t de bine sunt lucrurile \u00een compania ta, stabile\u0219ti termene diferite. \u00cen medie, pentru eliminarea constr\u00e2ngerii, c\u00e2nd oamenii se ocup\u0103 de asta pentru prima dat\u0103 \u0219i nu \u0219tiu \u00eenc\u0103 prin ce tehnologii \u0219i cum vor rezolva problema, de obicei dureaz\u0103 \u0219ase luni.<\/p>\n<h3>Planificare scurt\u0103<\/h3>\n<p>\nA\u0219adar, echipa noastr\u0103 este format\u0103, are un scop, iar oamenii \u00eencep s\u0103 lucreze. Un aspect important este planificarea pe termen scurt a activit\u0103\u021bilor: <strong>sprinturi de una-dou\u0103 s\u0103pt\u0103m\u00e2ni<\/strong>\u0219i, nu mai mult, <strong>\u00eembun\u0103t\u0103\u021biri m\u0103surabile<\/strong> \u00een fiecare s\u0103pt\u0103m\u00e2n\u0103 \u0219i <strong>ajustarea direc\u021biei<\/strong>.<\/p>\n<p>De exemplu, folosim adesea abordarea <strong>moving-moving<\/strong>, c\u00e2nd \u00eentreaga echip\u0103 se adun\u0103 la \u00eenceputul fiec\u0103rei s\u0103pt\u0103m\u00e2ni, noteaz\u0103 \u00eentr-un document ce va face fiecare. Dup\u0103 o s\u0103pt\u0103m\u00e2n\u0103, analiz\u0103m: ce a fost realizat \u0219i ce nu, iar dac\u0103 nu, de ce, \u0219i ne g\u00e2ndim ce s\u0103 facem \u00een continuare.<\/p>\n<blockquote><p>Sprinturile permit ajustarea direc\u021biei la timp.<\/p><\/blockquote>\n<p>\nO s\u0103pt\u0103m\u00e2n\u0103 sau dou\u0103 am \u00eencercat ceva: tehnologii, abord\u0103ri, metode de lucru, dup\u0103 care m\u0103sur\u0103m din nou \u0219i vedem - a fost mai bine sau mai r\u0103u cu aceast\u0103 abordare? Dac\u0103 a fost mai r\u0103u, \u00eenseamn\u0103 c\u0103 ne \u00eendrept\u0103m gre\u0219it, trebuie s\u0103 ajust\u0103m direc\u021bia: s\u0103 stabilim o alt\u0103 sarcin\u0103, s\u0103 adopt\u0103m o tehnologie diferit\u0103 sau s\u0103 facem altceva. Sprinturile scurte de 1-2 s\u0103pt\u0103m\u00e2ni ne permit s\u0103 ne adapt\u0103m \u0219i s\u0103 renun\u021b\u0103m la solu\u021biile slabe la timp.<\/p>\n<h3>\u00cemp\u0103rt\u0103\u0219im succesul<\/h3>\n<p>\nEchipa atinge unele succese, fie ele mici sau mari \u2014 nu conteaz\u0103, \u00eentotdeauna exist\u0103 un anumit rezultat. Despre acest rezultat trebuie s\u0103 \u0219tie toat\u0103 lumea: at\u00e2t cei implica\u021bi \u00een DevOps, c\u00e2t \u0219i departamentele \u00eenvecinate. \u00centr-o lume ideal\u0103, ar fi de dorit s\u0103 ajung\u0103 la <strong>to\u021bi oamenii din companie<\/strong>.<\/p>\n<p>De ce? Dac\u0103 dorim s\u0103 transform\u0103m nu o parte a companiei, s\u0103 elimin\u0103m o singur\u0103 restric\u021bie, ci toate, pentru ca firma s\u0103 devin\u0103 flexibil\u0103, codul s\u0103 ajung\u0103 rapid la client, iar nimic s\u0103 nu se defecteze, trebuie ca toat\u0103 lumea s\u0103 fie loial\u0103 ideii de DevOps. Nu ve\u021bi putea aplica abordarea la servicii \u0219i echipe care sunt categoric \u00eempotriv\u0103.<\/p>\n<p>Pentru a crea loialitate, trebuie s\u0103 le povestim tuturor c\u0103 am \u00eencercat asta \u2014 avem un rezultat, \u00eencerca\u021bi \u0219i voi! Acest lucru va cre\u0219te interesul \u0219i loialitatea fa\u021b\u0103 de ceea ce facem, iar oamenii \u00ee\u0219i vor \u00eencepe imediat propriile \u00eencerc\u0103ri. A\u0219a cum arat\u0103 practica, atunci c\u00e2nd povestim ce am \u00eencercat \u0219i ce am realizat, alte echipe \u00eencep s\u0103 \u00eentrebe cum \u0219i ce am f\u0103cut. Ele analizeaz\u0103 implement\u0103rile, codul, documenta\u021bia, vin cu \u00eentreb\u0103ri \u0219i \u00eencearc\u0103 s\u0103 schimbe ceva la ele \u00eensele.<\/p>\n<blockquote><p>A povesti despre ceea ce a\u021bi realizat este important. Astfel, ve\u021bi convinge conservatorii s\u0103 vin\u0103 \u00een tab\u0103ra voastr\u0103, care doreau s\u0103 fac\u0103 totul pe calea veche \u0219i \u00eei transforma\u021bi \u00een inovatori.<\/p><\/blockquote>\n<p><\/p>\n<h2>\u00cen concluzie<\/h2>\n<p>\n<strong>Alegerem serviciul<\/strong>, ca punct de plecare \u2014 locul de unde vom \u00eencepe schimb\u0103rile \u00een companie. <strong>Identific\u0103m pe to\u021bi cei care au vreo leg\u0103tur\u0103 cu serviciul<\/strong> \u0219i \u00eempreun\u0103 cu ei <strong>construim o Hart\u0103 a Fluxului de Valoare<\/strong>, m\u0103sur\u0103m \u0219i observ\u0103m unde \u0219i ce limit\u0103ri exist\u0103.<\/p>\n<p><strong>Cre\u0103m o nou\u0103 echip\u0103 temporar\u0103<\/strong>, care se va ocupa de sarcina stabilit\u0103. Pe baza m\u0103sur\u0103rilor \u0219i a H\u0103r\u021bii Fluxului de Valoare <strong>contur\u0103m o nou\u0103 hart\u0103, unde eviden\u021biem limitarea pe care ne propunem s\u0103 o abord\u0103m<\/strong>. Pe baza acestei limit\u0103ri <strong>stabilim sarcina<\/strong>, cu care se va ocupa echipa. Sarcina trebuie s\u0103 fie <strong>neap\u0103rat SMART<\/strong> \u2014 specific\u0103, m\u0103surabil\u0103, relevant\u0103 pentru sarcinile curente \u0219i limitat\u0103 \u00een timp.<\/p>\n<p><strong>Repet\u0103m procesul<\/strong>, p\u00e2n\u0103 c\u00e2nd transform\u0103m toate serviciile noastre la forma dorit\u0103 \u0219i elimin\u0103m toate limit\u0103rile.<\/p>\n<h2>Bonus. Materiale utile<\/h2>\n<p>\nPentru cei care au decis s\u0103 se ocupe de DevOps pe cont propriu.<\/p>\n<h4>Proiectul \u201eFenix\u201d<\/h4>\n<p>\nTitlul original - \u201eThe Phoenix Project: A Novel about It, Devops, and Helping Your Business Win\u201d. Este un roman despre DevOps - o poveste despre cum un angajat a fost numit \u0219ef de departament, care era mereu \u00een foc. Noul \u0219ef a primit sarcina:<\/p>\n<p><i> \u2014 Ai la dispozi\u021bie c\u00e2\u021biva ani pentru a rezolva totul, astfel \u00eenc\u00e2t s\u0103 putem finalmente livra produsul nostru rapid \u0219i eficient clien\u021bilor no\u0219tri.<\/i><\/p>\n<p>\u201eProiectul \u201eFenix\u201d. Roman despre cum DevOps schimb\u0103 via\u021ba \u00een bine\u201d - o carte pentru to\u021bi managerii, pentru c\u0103 tocmai aceste persoane iau decizii despre ceea ce se \u00eent\u00e2mpl\u0103 \u00een companie. Dac\u0103 e\u0219ti inginer sau programator \u0219i vrei ca \u00een compania ta s\u0103 \u00eenceap\u0103 o mi\u0219care \u0219i o transformare - cump\u0103r\u0103 cartea \u0219i ofer\u0103-o conducerii. Acest roman explic\u0103 totul \u0219i se cite\u0219te rapid \u0219i u\u0219or.<\/p>\n<h4>Ghid pentru DevOps<\/h4>\n<p>\nO carte mai complex\u0103. A fost lansat\u0103 acum c\u00e2\u021biva ani \u00een limba englez\u0103 sub titlul \u201eThe DevOps Handbook How to create world\u2011class agility, reliability, and security in Technology organizations\u201d, dar acum exist\u0103 deja \u0219i \u00een rom\u00e2n\u0103. Este un adev\u0103rat <strong>manual - un ghid practic<\/strong>: despre cum s\u0103 realiz\u0103m m\u0103sur\u0103tori, ce este Harta Fluxului de Valoare \u0219i de ce este necesar\u0103, \u00een ce direc\u021bie ar trebui s\u0103 ne \u00eendrept\u0103m, \u00een ce ordine. Cartea este pentru cei care doresc s\u0103 fac\u0103 totul pe cont propriu. Cel mai important, con\u021bine exemple din experien\u021ba altor companii.<\/p>\n<p>De exemplu, se discut\u0103 cum o companie a construit o hart\u0103 a fluxului de valoare \u0219i a realizat c\u0103 limitarea nu era \u00een produs, ci \u00een faptul c\u0103 casierul mergea de la magazin la biroul vecin pentru a folosi acest produs. \u00cen loc s\u0103 rezolve problema cu software-ul, pur \u0219i simplu au cump\u0103rat tablete pentru v\u00e2nz\u0103tori, iar acum nimeni nu mai pleac\u0103 nic\u0103ieri, ci toate ac\u021biunile se desf\u0103\u0219oar\u0103 la locul de munc\u0103. Concluzie: Harta fluxului de valoare poate fi aplicat\u0103 nu doar software-ului, ci \u0219i tuturor proceselor din organiza\u021bie.<\/p>\n<h4>Accelerare<\/h4>\n<p>\nTitlul complet: \u201eAccelerate: \u0218tiin\u021ba Lean Software \u0219i DevOps: Construirea \u0219i Scalarea Organiza\u021biilor Tehnologice cu Performan\u021be Ridicate\u201d. Acesta este un nou nivel \u2014 hardcore. Cartea a fost publicat\u0103 anul trecut, deocamdat\u0103 doar \u00een englez\u0103 \u0219i vorbe\u0219te despre cercet\u0103ri. Autorii \u2014 Nicole Forsgren, Jez Humble \u0219i Gene Kim \u2014 au aplicat timp de mul\u021bi ani diverse practici \u00een diferite companii \u0219i au analizat care practici, cum \u0219i asupra a ce influen\u021beaz\u0103.<\/p>\n<p>\u00cen al doilea capitol, dedicat m\u0103sur\u0103rilor, se men\u021bioneaz\u0103 harta fluxului de valoare, metricile pe care le-am men\u021bionat \u0219i multe altele, iar procesul de m\u0103surare este detaliat. Autorii efectueaz\u0103 m\u0103sur\u0103tori prin chestionare \u0219i auto-urm\u0103rirea sarcinilor. Este descris \u00een detaliu ce metrici trebuie m\u0103surate corect, ce nu ar trebui, erorile umane \u00een m\u0103sur\u0103tori. Dac\u0103 ave\u021bi dificult\u0103\u021bi cu m\u0103sur\u0103torile, consulta\u021bi al doilea capitol al c\u0103r\u021bii \u201eAccelerate\u201d. Dac\u0103 echipa dumneavoastr\u0103 are multe practici, dar nu este clar care practici s\u0103 fie aplicate acum, care mai t\u00e2rziu, care sunt cu adev\u0103rat eficiente \u0219i care nu \u2014 citi\u021bi, cartea ofer\u0103 toate r\u0103spunsurile.<\/p>\n<blockquote><p>Transformarea este o \u00eentrebare la intersec\u021bia DevOps \u0219i management. \u00cen aceea\u0219i zon\u0103 de intersec\u021bie a dezvolt\u0103rii, oper\u0103rii \u0219i test\u0103rii se afl\u0103 subiectele pe care ne str\u0103duim s\u0103 le discut\u0103m la <noindex><a rel=\"nofollow\" href=\"https:\/\/devopsconf.io\/moscow-rit\/2019\">DevOpsConf<\/a><\/noindex>, aceea\u0219i integrare este necesar\u0103 \u0219i pentru crearea unui produs de calitate \u2013 tema principal\u0103 de la <noindex><a rel=\"nofollow\" href=\"http:\/\/qualityconf.ru\/2019\">QaulityConf<\/a><\/noindex>. Managementul la festivalul <noindex><a rel=\"nofollow\" href=\"https:\/\/ritfest.ru\/2019\">RIT++<\/a><\/noindex> este prezentat <noindex><a rel=\"nofollow\" href=\"https:\/\/whalerider.ru\/moscow-rit\/2019\">Whale Rider<\/a><\/noindex> \u2014 \u00eenseamn\u0103 c\u0103 toate ideile pentru transformare se \u00eendreapt\u0103 acolo. Al\u0103tura\u021bi-v\u0103 \u00eentre 27 \u0219i 28 mai, ne vom integra \u0219i transforma.<\/p><\/blockquote>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/oleg-bunin\/blog\/448490\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps, \u0442\u043e \u0432\u043e\u0442 \u043a\u0440\u0430\u0442\u043a\u0430\u044f \u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0430. DevOps \u2014 \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0430\u043a\u0442\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u044e\u0442 \u0441\u0442\u0440\u0430\u0445\u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0438 \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u044e\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0431\u043e\u0435\u0432 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u041f\u041e. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043e\u043d\u0438 \u0436\u0435 \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u044e\u0442 \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u0445\u043e\u0434\u0430 \u043d\u0430 \u0440\u044b\u043d\u043e\u043a \u2014 \u043f\u0435\u0440\u0438\u043e\u0434 \u043e\u0442 \u0438\u0434\u0435\u0438 \u0434\u043e \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0434\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u0431\u0438\u0437\u043d\u0435\u0441-\u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b. \u041a\u0430\u043a \u043d\u0430\u0447\u0430\u0442\u044c DevOps \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e? [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25773,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-34157","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps, \u0442\u043e \u0432\u043e\u0442 \u043a\u0440\u0430\u0442\u043a\u0430\u044f \u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0430. DevOps \u2014 \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0430\u043a\u0442\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u044e\u0442 \u0441\u0442\u0440\u0430\u0445\u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0438 \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u044e\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0431\u043e\u0435\u0432 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u041f\u041e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/kak-nachat-devops-transformatsiyu\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u043d\u0430\u0447\u0430\u0442\u044c DevOps \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps, \u0442\u043e \u0432\u043e\u0442 \u043a\u0440\u0430\u0442\u043a\u0430\u044f \u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0430. DevOps \u2014 \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0430\u043a\u0442\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u044e\u0442 \u0441\u0442\u0440\u0430\u0445\u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0438 \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u044e\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0431\u043e\u0435\u0432 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u041f\u041e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/kak-nachat-devops-transformatsiyu\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:56:43+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:56:43+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Cum s\u0103 \u00eencepi transformarea DevOps | ProHoster","description":"Dac\u0103 nu \u00een\u021belege\u021bi ce este DevOps, iat\u0103 un scurt ghid. DevOps este un set de practici care reduc temerile inginerilor \u0219i scad num\u0103rul de e\u0219ecuri \u00een produc\u021bia de software.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/kak-nachat-devops-transformatsiyu","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u043d\u0430\u0447\u0430\u0442\u044c DevOps \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e | ProHoster","og:description":"\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps, \u0442\u043e \u0432\u043e\u0442 \u043a\u0440\u0430\u0442\u043a\u0430\u044f \u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0430. DevOps \u2014 \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0430\u043a\u0442\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u044e\u0442 \u0441\u0442\u0440\u0430\u0445\u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0438 \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u044e\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0431\u043e\u0435\u0432 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u041f\u041e.","og:url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/kak-nachat-devops-transformatsiyu","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:56:43+00:00","article:modified_time":"2019-10-31T18:56:43+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34157","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 18:08:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:27:29","updated":"2026-01-21 18:08:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/34157","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=34157"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/34157\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/25773"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=34157"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=34157"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=34157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}