La metodologia o filosofia DevOps ha estat assumida per la major part del sector de la indústria del software, trencant les normes organitzatives establertes i centrant-se a millorar un lliurament de més qualitat a client.
Per trencar aquestes normes i centrar-se a lliurar valor, DevOps es recolza en tres principis, que es recullen en llibres com The DevOps Handbook i The Phoenix Project. A continuació, veurem en què consisteixen aquestes tres vies per millorar la seqüència d’activitats requerides per a dissenyar, produir i lliurar un millor servei a client.
Principis DevOps “The three ways”
En els llibres abans esmentats, els autors proposen tres fases (the three ways) per millorar el Value Stream de TI, és a dir, el procés i tasques necessàries per poder convertir una hipòtesi de negoci, en un servei tecnològic que lliura valor a client.
Aquestes tres vies proposen unes millores en els processos i han de ser implementades de forma consecutiva per aconseguir un resultat òptim i eficient. Primer cal centrar-se a millorar el flux de treball, després utilitzar la retroalimentació per solucionar, evitar errors i aprendre dels èxits, i finalment, incorporar tot el que s’ha après per implementar una millora contínua.
The first way: millorar el flux d’entrega
L’enginyeria de desenvolupament o DevOps engineer en primer lloc, ha d’aconseguir que l’entrega de software al client es faci de forma més primerenca i periòdica, ja que fins que el producte no es lliura al client no s’està generant valor.
Per aconseguir aquesta millora en el flux del lliurament hi ha diverses recomanacions com:
- Visibilitzar la feina, utilitzant per a això eines com taulers kanban que permeten tenir una visió gràfica i en temps real de les diferents tasques.
- Dividir els processos en tasques més petites que siguin més fàcils d’abordar i concloure per accelerar el lliurament.
- Automatitzar totes les tasques possibles per reduir errors, guanyar en agilitat i alliberar de temps als equips de treball, que poden centrar-se en altres tasques que generin valor.
- Eliminar les limitacions o dificultats que endarrereixin el lliurament a client. Com a exemples d’aquest tipus de limitacions es pot nomenar tasques realitzades manualment o temps d’espera innecessaris entre tasques.
La primera via busca que un defecte conegut que alenteixi el lliurament, no es propagui a altres processos o centres de treball. Es busca l‘augment del flux de treball global, evitant que una millora local tingui com a resultat un alentiment en les fases posteriors. En la primera fase es persegueix adquirir un coneixement profund de sistema.
The second way: fer un bon ús dels cicles de feedback
La segona via per acabar amb les normes establertes i centrar-se en un lliurament de més valor per al client és utilitzar la retroalimentació per optimitzar els processos. Una vegada que es porta a terme el lliurament, cal tenir un feedback ràpid i constant. Amb aquesta informació immediata es poden detectar i resoldre els diferents problemes que inevitablement ocorreran, prenent-se com una oportunitat d’aprendre i millorar.
El feedback ajuda a detectar aquelles coses que s’estan fent bé per tornar a repetir-les, i aquells errors que s’han de corregir, aprenent sobre el seu origen per evitar-los en el futur.
Per aplicar de manera eficient aquesta etapa cal tenir en compte alguns aspectes com:
- Els problemes s’han de detectar i resoldre en cada àrea, allà on es produeixen.
- La resolució dels problemes i errors no només ha de servir per corregir-ho, sinó per aprendre d’ells amb l’objectiu d’evitar que es tornin a produir. El feedback ha de ser una eina que eviti repetir errors.
- El monitoratge permet controlar diferents mètriques per poder veure els problemes just quan ocorren, accelerant i facilitant la seva resolució.
- Compartir amb tots els membres dels equips de treball les correccions i el coneixement sobre errors o processos eficients, perquè puguin aprendre d’aquests.
Els cicles de retroalimentació persegueixen aconseguir la informació necessària perquè les correccions necessàries es puguin aplicar contínuament. Amb aquesta segona via es pretén conèixer i donar respostes, tan interna com externament, als problemes i incidències que es presentin.
The third way: establir l’aprenentatge i la millora contínua
L’últim dels tres passos de the third way se centra a aplicar tot el que s’ha realitzat i après per implementar un sistema de millora contínua. Els aprenentatges han de servir com a base de millora per desenvolupar un producte de més qualitat i que generi més valor a client.
Els principis a aplicar durant aquesta última fase són:
- Instaurar la cultura de l’aprenentatge. Davant problemes o errors, desterrar la tradicional recerca de culpables per un sistema de redisseny per evitar que tornin a ocórrer en un futur. Amb aquesta nova cultura s’elimina la possible por dels membres dels equips de treball a cometre errors o fallades, podent realitzar-la de forma més eficient i responsable.
- Millora diària. El treball del dia a dia ha d’estar unit al de millorar tasques, arreglar defectes i solucionar àrees o sistemes problemàtics.
- Establir programes extrems de proves. Consisteix a provocar situacions de tensió de forma intencionada per poder millorar les operacions diàries. Un exemple d’aquest tipus d’activitats és la creació d’atacs externs als sistemes i servidors, per valorar les conseqüències i provar els protocols d’actuació, per tal de fer-los més resistents i segurs.
- Aplicar millores o descobriments locals en l’àmbit global. El coneixement adquirit per un grup de treball ha de ser compartit amb la resta de l’organització per aconseguir que la millora es pugui aplicar en altres àrees.
El repte d’implementar aquesta tercera via rau a trobar el temps per poder millorar el treball diari, buscant mètodes que millorin l’agilitat i eficiència, introduint errors per buscar solucions, etc. La tercera via es caracteritza per l’experimentació i l’assumpció de riscos.
Aplicant els principis DevOps de les tres vies s’aconseguirà que les organitzacions anteposin el lliurament de valor als seus clients, reduint els riscos i reduint l’estrès associat als equips de treball d’aquest tipus d’empreses de desenvolupament de software.