Model de capacitate de inginerie a platformei
Ingineria platformei este menită să fie o călătorie. O abordare treptată și iterativă este, în general, mai eficientă decât încercarea unei implementări imediate la scară largă sau bazarea exclusivă pe mandate de sus în jos. Progresul incremental, începând cu produse minim viabile (MVP), permite echipelor să-și rafineze abordarea în timp, încorporând în același timp feedback-ul pe parcurs.
Ciclul de viață al ingineriei platformei reprezintă o abordare structurată pentru a asigura că o platformă este fiabilă, scalabilă și în continuă îmbunătățire. Acest ciclu de viață cuprinde etape distincte, fiecare contribuind la succesul pe termen lung al platformei.
Un element esențial al ciclului de viață este modelul de capacitate de inginerie a platformei, care oferă un cadru cuprinzător pentru evaluarea, planificarea și implementarea eforturilor de inginerie a platformei. Modelul prezintă nivelurile de maturitate, cele mai bune practici și capabilitățile critice necesare în fiecare etapă a ciclului de viață, asigurând alinierea cu obiectivele organizaționale și nevoile utilizatorilor.
Modelul prezintă progresul maturizării practicilor de inginerie a platformei în cinci etape: inițială, repetabilă, definită, gestionată și optimizare. În etapa inițială , organizațiile au o structură limitată, cu procese ad-hoc și investiții minime în capabilitățile platformei. Pe măsură ce avansează spre stadiul repetabil , apar procese de bază, dar adoptarea și guvernanța rămân inconsecvente. Etapa definită marchează stabilirea unor standarde și procese clare, utilizatorii începând să adopte soluții de platformă în mod intenționat. În etapa Managed , platformele sunt guvernate în mod activ, resursele sunt furnizate și gestionate eficient, iar interacțiunile cu utilizatorii sunt consistente prin interfețe standardizate. În cele din urmă, în etapa de optimizare , platformele sunt îmbunătățite continuu prin mecanisme robuste de feedback, rezultate măsurate și capabilități de adaptare aliniate cu nevoile utilizatorilor și obiectivele organizaționale.
Modelul este evaluat pe baza a șase capabilități: Investiții, reflectând alocarea resurselor și finanțării; Adopție, axată pe descoperirea și utilizarea utilizatorilor; Guvernanță, asigurarea accesibilității resurselor, controlul costurilor și protecția datelor/proprietății intelectuale; Provisioning & Management, definirea modului în care resursele sunt implementate și întreținute; Interfețe, care abordează interacțiunile utilizatorilor cu platforma; și Măsurare și feedback, care pune accentul pe îmbunătățirea continuă prin măsurători de performanță și informații despre utilizatori. Împreună, aceste capabilități se aliniază îndeaproape cu domeniile cheie prezentate în modelul de maturitate a ingineriei platformei Cloud Native Computing Foundation și reflectă nivelul de maturitate a ingineriei platformei organizației.
Pentru a utiliza modelul de capacitate de inginerie a platformei, evaluați mai întâi unde se află în prezent organizația în fiecare dintre cele șase domenii de capabilități. Puteți efectua această evaluare manual sau puteți completa sondajul Modelul de capacitate de inginerie a platformei. După ce ați identificat etapele actuale, stabiliți obiective viitoare de creștere și urmăriți progresul organizației pentru fiecare capacitate. Progresul nu trebuie să se întâmple în toate capacitățile simultan. Concentrați-vă pe zonele care au cel mai mult sens pentru organizația dvs.
Investiție
Pe măsură ce capacitatea de investiții evoluează în fiecare etapă, se concentrează pe modul în care personalul și fondurile sunt alocate capacităților platformei, cu accent pe buget și personal, gestionarea domeniului de aplicare și măsurarea rentabilității investiției (ROI).
- Inițial (voluntar): Capabilitățile platformei apar din necesitate, conduse de ingineri individuali care abordează în mod voluntar nevoile tactice imediate. Bugetul și personalul sunt minime, munca fiind de obicei nefinanțată și efectuată împreună cu responsabilitățile existente. Soluțiile au un domeniu de aplicare restrâns, vizând probleme specifice cu schimb limitat de cunoștințe între echipe. ROI este măsurat prin cât de eficient sunt abordate cerințele imediate și impactul acestora asupra rezultatelor proiectului de bază.
- Repetabil (contribuții ad-hoc): Echipele dedicate încep să abordeze provocări recurente, cum ar fi asigurarea inconsecventă a accesului sau lacunele de securitate, dar eforturile rămân în mare parte reactive. Bugetele și personalul sunt limitate la preocupări transversale, cu împuternicire limitată în întreaga organizație. Managementul domeniului de aplicare se concentrează pe probleme specifice fără o perspectivă mai largă la nivelul întregii platforme. ROI este măsurat prin îmbunătățiri în abordarea provocărilor cheie, cum ar fi reducerea întârzierilor.
- Definite (operaționalizate - echipă dedicată): Apar echipe de platformă finanțate central, concentrându-se pe accelerarea livrării software-ului și pe abordarea cerințelor tehnice. Conducerea începe să încurajeze colaborarea și să implementeze practicile DevOps inițiale, dar rămân provocări în măsurarea valorii echipei. Bugetul și personalul sunt formalizate pentru echipele centrale pentru a satisface nevoile tehnice. Soluțiile devin mai largi, abordând provocările comune ale echipelor, deși accentul rămâne pe termen scurt. ROI este măsurat prin câștigurile în viteza de livrare.
- Gestionat (scalabil - ca produs): are loc o schimbare culturală, tratând dezvoltatorii ca pe clienți cu leadership care pune accentul pe empatie și o abordare bazată pe produs. Echipele de platformă funcționează ca echipe de produs, formate din dezvoltatori, manageri de produs și experți în experiența utilizatorului. Managementul domeniului de aplicare se aliniază cu foile de parcurs ale produselor, revizuite în colaborare cu echipele de ingineri pentru a satisface nevoile la nivel de organizație. ROI este evaluat prin creșterea satisfacției dezvoltatorilor, reflectând îmbunătățirile continue și alinierea la nevoile utilizatorilor.
- Optimizare (ecosistem activat): Investițiile se concentrează pe inovație, menținând relevanța platformei cu contribuții încurajate în întreaga organizație. Echipele de platformă introduc capabilități avansate, cum ar fi îmbunătățiri de securitate și performanță, permițând echipelor de produs să construiască fără a se baza pe un backlog centralizat. Bugetele se extind dincolo de echipele centrale, cu finanțare disponibilă în întreaga organizație. Managementul domeniului de aplicare pune accentul pe facilitarea schimbului rapid de cunoștințe la nivelul întregii organizații. ROI este măsurat prin îmbunătățiri susținute ale satisfacției dezvoltatorilor.
Adoptare
Capacitatea de adoptare se concentrează pe modul în care utilizatorii descoperă și utilizează soluțiile de inginerie a platformei și ofertele acestora, reflectate prin descoperirea, selectarea și utilizarea serviciilor, instrumentelor și tehnologiilor. Pe măsură ce organizațiile se maturizează, abordarea adoptării se schimbă de la utilizarea informală și sporadică la un model mai structurat și participativ în care utilizatorii se angajează activ cu platforma, contribuie la evoluția acesteia. Această progresie reflectă modul în care descoperirea, luarea deciziilor și practicile de utilizare ale utilizatorilor evoluează în timp, de la descoperirea informală inițială până la participarea deplină la dezvoltarea platformei.
- Inițial (informal): Adoptarea este inconsecventă, echipele îmbunătățind în mod independent procesele fără coordonare la nivelul întregii organizații. Instrumentele externe sunt adesea preferate celor interne. Platformele sunt descoperite informal, în principal prin cuvânt sau întâlniri întâmplătoare, echipele de ingineri selectând serviciile în funcție de nevoile lor specifice. Fiecare echipă își menține propriile scripturi și instrumente adaptate cerințelor sale unice.
- Repetabil (obligatoriu): Organizația impune utilizarea platformelor partajate, dar capacitățile sunt limitate la cazurile de utilizare obișnuite, ceea ce face dificilă satisfacerea cerințelor neobișnuite. Descoperirea utilizatorilor se bazează pe îndrumarea echipei platformei, adesea prin documentație sau directive interne. Echipele pot selecta serviciile mandatate prin discuții informale cu echipa platformei. În ciuda proceselor construite în jurul standardelor platformei, este posibil ca echipele să nu le adopte pe deplin sau să fie nemulțumite de rezultate.
- Definit (promovat): Capacitățile platformei sunt promovate în mod activ, aliniindu-se la nevoile echipei. Echipa de platformă colaborează cu echipele de ingineri pentru a oferi servicii de înaltă calitate care reduc cheltuielile operaționale. Cu toate acestea, unele echipe ar putea avea în continuare un ROI scăzut din cauza dependenței de practici învechite și a datoriilor tehnice. Echipele descoperă capabilități prin directive care acoperă cazuri de utilizare tipice, iar echipa platformei încurajează utilizarea prin colaborare. Susținerea utilizării platformei are loc și informal prin intermediul ambasadorilor echipei.
- Gestionat (Value Driven): Echipele de produs recunosc și aleg capacitățile platformei pentru valoarea clară pe care o oferă în reducerea încărcăturii cognitive și oferirea de servicii de înaltă calitate. Platformele sunt susținute de documentație extinsă, interfețe ergonomice și UX cu autoservire pentru aprovizionare rapidă. Echipele preferă acum platformele interne decât să construiască singure soluții sau să se bazeze pe furnizori externi. Descoperirea și luarea deciziilor sunt simplificate, echipele folosind șabloane, forumuri și documentație pentru a sprijini pe deplin adoptarea platformei.
- Optimizare (participativă): Echipele de produs contribuie activ la îmbunătățirea capacităților platformei, sugerând noi funcții și remedieri. Există procese pentru ca utilizatorii să identifice cerințele și să colaboreze la contribuții. Susținătorii și ambasadorii dezvoltatorilor promovează o comunitate internă, extinzând proprietatea platformei la contribuitori. Inginerii de platformă lucrează îndeaproape cu echipele de produs pentru a înțelege nevoile și a sugera noi capabilități, permițând utilizatorilor să trimită solicitări de extragere și să se angajeze în recenzii.
Guvernanță
Pe măsură ce capacitatea de guvernanță evoluează, se concentrează pe asigurarea accesului utilizatorilor la resursele și capabilitățile de care au nevoie, gestionând în același timp costurile, datele și proprietatea intelectuală. Această progresie este evaluată pe baza mai multor categorii, inclusiv definirea politicilor și cadrelor, implementarea politicilor, monitorizarea și atenuarea conformității și gestionarea accesului. Guvernanța evoluează de la procese manuale și reactive la un sistem integrat, predictiv, care echilibrează controlul centralizat cu managementul adaptiv pentru nevoile în evoluție.
- Inițial (independent): Guvernanța este manuală, bazându-se pe control centralizat și gatekeeping, ceea ce împiedică scalabilitatea. Dezvoltatorii și echipele de securitate lucrează independent, răspunzând reactiv la încălcările politicilor. Conformitatea este menținută prin standarde minime, măsurile de securitate fiind adesea adăugate ca gânduri ulterioare. Permisiunile de acces sunt acordate în funcție de nevoile imediate, fără un proces standardizat.
- Repetabil (documentat): Organizația începe să documenteze și să partajeze politici, dar acestea rămân de bază și aplicate inconsecvent. Instrumentele de guvernanță, cum ar fi sistemele de ticketing, sunt introduse pentru a gestiona revizuirea politicilor, dar procesul rămâne manual și lent. Procesele de audit sunt stabilite, dar încă reactive. Unele roluri și permisiuni sunt standardizate, dar aplicarea rămâne inegală.
- Definit (standardizat): Guvernanța devine centralizată și standardizată pentru a îmbunătăți consecvența și eficiența în toate echipele. Politicile sunt documentate și gestionate central, cu un anumit grad de automatizare în procesul de implementare. Standardele cheie de guvernanță sunt susținute prin audituri regulate, iar controlul accesului este automatizat cu un sistem RBAC formal, deși echipele de dezvoltare au încă un control limitat asupra modificărilor politicii.
- Gestionat (integrat): Securitatea și conformitatea sunt integrate perfect în fluxurile de lucru, automatizarea asigurând aplicarea consecventă a politicilor în toate sistemele și echipele. Monitorizarea în timp real și analizele avansate ajută la detectarea și prevenirea lacunelor în guvernanță. Politicile sunt încorporate în conductele CI/CD, iar gestionarea accesului este guvernată de principii cu privilegii minime cu revizuiri automate, asigurând o abordare mai proactivă și mai integrată a guvernanței.
- Optimizare (predictivă): Guvernanța devine dinamică și conștientă de context, răspunzând condițiilor în schimbare și optimizând controlul accesului. Analiza predictivă ajută la identificarea riscurilor potențiale înainte ca acestea să apară, permițând atenuarea proactivă. Politicile sunt perfecționate continuu folosind analize avansate, iar controlul accesului se ajustează dinamic în funcție de factori în timp real, cum ar fi locația utilizatorului și timpul de acces, asigurând conformitatea și permițând fluxuri de lucru personalizate.
Aprovizionare și management
Cu capacitatea de asigurare a accesului și gestionării, accentul se pune pe modul în care utilizatorii creează, implementează și gestionează resursele. Procesul evoluează de la operațiuni manuale, izolate, la un sistem adaptiv, automatizat, care echilibrează flexibilitatea cu guvernanța, asigurând că resursele sunt furnizate eficient, îndeplinind în același timp cerințele de conformitate. Această progresie se întinde pe etape clasificate prin definirea proceselor de aprovizionare, răspunsul și gestionarea solicitărilor și monitorizarea alocării resurselor.
- Inițial (manual): Dezvoltatorii configurează manual infrastructura pe baza îndrumărilor echipelor IT sau de arhitectură, ceea ce duce la inconsecvențe și întârzieri. Fără procese standardizate, cererile sunt revizuite manual, crescând riscul de erori. Această abordare devine nesustenabilă pe măsură ce cererea crește, operațiunile izolate creând ineficiențe.
- Repetabil (coordonat): Organizația începe să centralizeze procesele de aprovizionare prin utilizarea sistemelor de ticketing pentru a gestiona solicitările de infrastructură. Deși aprobările manuale sunt încă necesare, unele erori sunt reduse, dar blocajele rămân. Echipele încep să folosească instrumente standard pentru monitorizarea resurselor, deși vizualizarea rămâne izolată și specifică proiectului.
- Definit (Paved): Procesele de asigurare a accesului sunt formalizate în întreaga organizație folosind Infrastructure as Code (IaC), standardizând șabloanele și instrumentele. Solicitările sunt gestionate prin fluxuri de lucru structurate, deși echipa platformei poate avea dificultăți cu cererea în creștere. Tablourile de bord centralizate permit monitorizarea alocării resurselor, oferind informații mai bune despre performanță.
- Gestionat (automatizat): Asigurarea accesului devine automatizată și integrată în canalele CI/CD, minimizând efortul manual și asigurând implementări consistente. Verificările de guvernanță și conformitate sunt încorporate în fluxurile de lucru. Capacitățile automate de autoservire permit utilizatorilor să furnizeze resurse în parametri controlați. Scalarea este automatizată pe baza modelelor de utilizare pentru a optimiza performanța.
- Optimizare (adaptivă): Aprovizionarea devine adaptivă, folosind sisteme inteligente pentru a anticipa nevoile de infrastructură în timp real. Această abordare asigură alocarea eficientă a resurselor, menținând în același timp guvernanța și conformitatea. Sistemele gestionează proactiv cererile, echilibrând flexibilitatea cu guvernanța, în timp ce performanța și eficiența costurilor sunt optimizate prin analize predictive.
Interfețe
În capacitatea Interfețe, considerentul principal este modul în care utilizatorii interacționează și consumă serviciile și produsele platformei. Progresele sale se concentrează pe stabilirea standardelor, creșterea autonomiei utilizatorului și integrarea perfectă a capacităților platformei în fluxurile de lucru existente. Abordarea evoluează de la procese manuale inconsecvente la un sistem integrat cu autoservire, care îmbunătățește experiența utilizatorului și eficiența operațională.
- Inițial (procese personalizate): Utilizatorii interacționează cu platforma prin diverse procese inconsecvente, personalizate, care răspund nevoilor imediate, dar nu sunt standardizate. Inginerii configurează în mod independent mediile consultându-se cu colegii sau bazându-se pe practici personale și selectează instrumente și procese pentru diagnosticarea comportamentului aplicațiilor fără linii directoare stabilite. Schimbul de cunoștințe este informal, iar serviciile de furnizare necesită adesea sprijin profund din partea furnizorilor din cauza lipsei proceselor formalizate, ceea ce limitează scalabilitatea și eficiența.
- Repetabil (standarde locale): Inginerii și echipele încep să definească informal standarde pentru a îmbunătăți schimbul de cunoștințe, deși consecvența rămâne o provocare din cauza dependenței de angajamentul individual. Unele echipe pot folosi documentație sau containere pentru a-și defini procesele de configurare, dar aceste practici diferă în timp, necesitând efort pentru a se reconcilia. Diagnosticarea comportamentului aplicațiilor devine mai standardizată în cadrul echipelor, cu o oarecare dependență de DevOps sau echipele IT pentru accesul la resursele implementate. În timp ce apar standarde locale, acestea rămân vag definite și inconsecvente între echipe.
- Definite (instrumente standard): Interfețele devin mai consistente, odată cu introducerea instrumentelor standardizate și a practicilor documentate. Echipele centrale gestionează șabloane și documentație, cu așa-numitele drumuri asfaltate sau căi de aur care ghidează modul în care ar trebui furnizate și observate capabilitățile. Aceste instrumente și procese răspund nevoilor organizaționale largi, deși este încă adesea necesar sprijinul experților. Echipele pot modifica șabloanele, dar modificările nu sunt întotdeauna integrate din nou la nivel central, ceea ce poate duce la unele ineficiențe în menținerea consecvenței. Diagnosticarea comportamentului aplicației urmează practici standardizate pentru accesarea și analiza resurselor implementate, oferind o mai mare consecvență între echipe.
- Gestionat (soluții de autoservire): Platforma permite o mai mare autonomie a utilizatorului, oferind soluții de autoservire cu suport minim de întreținere. Utilizatorii au acces la interfețe consistente și ușor de utilizat, care le permit să descopere și să modifice șabloane, creând un mediu centrat pe utilizator care îmbunătățește gradul de utilizare. Instrumentele pentru diagnosticarea comportamentului aplicațiilor și observarea resurselor sunt puse la dispoziție la cerere prin intermediul platformei, asigurându-se că utilizatorii au resursele de care au nevoie fără a depinde puternic de echipe externe. Schimbul de cunoștințe este facilitat prin descoperirea și modificarea șabloanelor, ceea ce crește valoarea capacităților platformei.
- Optimizare (servicii integrate): Capabilitățile platformei sunt integrate perfect în instrumentele și procesele pe care echipele le folosesc deja, cum ar fi CLI sau IDE, făcându-le o parte naturală a fluxurilor de lucru ale utilizatorilor. Unele capabilități sunt furnizate automat în funcție de nevoile utilizatorilor, iar platforma oferă blocuri de construcție flexibile pentru cazuri de utilizare de nivel superior care pot necesita o personalizare mai profundă. Echipele de platformă evaluează continuu care capabilități sunt cele mai eficiente, ghidând investițiile suplimentare pentru optimizarea ofertelor de platformă. Platforma configurează automat observabilitatea pentru aplicațiile implementate, oferind acces în timp real la datele de diagnosticare și eficientizând procesul de monitorizare și gestionare a comportamentului aplicațiilor.
Măsurători și feedback
Capacitatea de măsurători și feedback implică colectarea, analizarea și încorporarea valorilor și feedback-ului pentru a evalua succesul practicilor de inginerie a platformei. Maturitatea sa se reflectă în tranziția de la metode ad-hoc și informale la o cultură proactivă, bazată pe date, în care feedback-ul și informațiile sunt integrate în procesele de îmbunătățire continuă, ghidând deciziile strategice și dezvoltarea platformei.
- Inițial (ad-hoc): În etapa inițială, procesele de măsurare și feedback sunt inconsistente și fragmentate. Valorile sunt colectate fără o aliniere clară la obiectivele organizaționale, rezultând date incomplete și nesigure. Feedback-ul este colectat informal și adesea anecdotic, cu implicare minimă din partea părților interesate. Ca urmare, deciziile sunt luate pe baza unor informații limitate, iar măsurarea adevăratului ROI al practicilor de inginerie a platformei este dificilă. Documentarea feedback-ului și a rezultatelor este minimă, iar învățămintele sunt rareori capturate sau împărtășite.
- Repetabil (procese structurate): Mecanismele de feedback de bază, cum ar fi sondajele sau forumurile, sunt stabilite pentru a surprinde experiențele utilizatorilor mai sistematic, dar aceste procese variază în continuare de la o echipă la alta. Măsurarea succesului se concentrează adesea pe indicatori bazați pe activitate, cum ar fi implementările sau termenele, oferind o perspectivă asupra performanței, dar lipsind o perspectivă mai largă, bazată pe rezultate. Feedback-ul rămâne informal și de jos în sus, deși începe să influențeze planificarea. Există un efort de a implica părțile interesate, dar este încă limitat, iar documentația inițială a proceselor și a feedback-ului este creată, dar nu este cuprinzătoare sau utilizată în mod consecvent.
- Definit (consecvent): colectarea feedback-ului devine mai formalizată și standardizată, permițând o perspectivă mai profundă asupra nevoilor utilizatorilor și a valorilor cheie. Valorile se îndreaptă către măsurători bazate pe rezultate, cum ar fi productivitatea dezvoltatorilor, deși legătura lor cu performanța financiară rămâne o provocare. Analiza feedback-ului este sistematică, folosind atât metode calitative, cât și cantitative, iar valorile standard precum DORA (DevOps Research and Assessment este un set de valori care măsoară performanța livrării software-ului, inclusiv timpul de livrare, frecvența implementării, timpul mediu de restaurare și rata de eșec a modificărilor) sau SPACE (satisfacție și bunăstare, performanță, activitate, comunicare și colaborare și eficiență este un cadru utilizat pentru a măsura productivitatea dezvoltatorilor în aceste cinci dimensiuni) sunt Angajat. Sesiunile regulate de evaluare cu echipele interfuncționale asigură implicarea activă a părților interesate. Documentarea cuprinzătoare a proceselor de feedback, a rezultatelor și a lecțiilor învățate este menținută și împărtășită între echipe.
- Gestionat (Insights): În această etapă, mecanismele de feedback și cadrele de măsurare sunt robuste și se concentrează pe rezultatele strategice ale afacerii. Informațiile bazate pe date ghidează operațiunile platformei, iar feedback-ul este integrat în foile de parcurs ale platformei, conducând la îmbunătățiri continue. Analizele avansate sunt utilizate pentru a evalua impactul platformei asupra rezultatelor afacerii, cum ar fi creșterea veniturilor, iar feedback-ul este corelat cu indicatorii de performanță pentru a identifica zonele cheie de îmbunătățire strategică. Părțile interesate din întreaga organizație sunt profund implicate în procesul de feedback, cu o colaborare structurată pentru a evita silozurile. Documentația dinamică în timp real reflectă feedback-ul continuu și lecțiile învățate, accesibile tuturor părților interesate.
- Optimizare (proactivă): Procesele de feedback și măsurare sunt strâns integrate în cultura organizației, creând o abordare proactivă pentru anticiparea și adaptarea la provocările și oportunitățile viitoare. Analiza predictivă și valorile avansate sunt utilizate pentru a prognoza nevoile și oportunitățile viitoare, permițând platformei să evolueze continuu ca răspuns la condițiile în schimbare. Feedback-ul este pe deplin integrat într-un ciclu de îmbunătățire continuă și se stabilește o cultură a feedback-ului la toate nivelurile organizației. Documentația dinamică, în timp real, reflectă feedback-ul continuu și este actualizată continuu, asigurându-se că lecțiile învățate sunt împărtășite și accesibile tuturor părților interesate.