Il mercato IT è in costante evoluzione e molte figure stanno lentamente sparendo per essere inglobate all'interno della figura del developer; in alcuni casi, ad esempio, il ruolo di Sysadmin viene ricoperto dagli stessi sviluppatori (con risultati non sempre ottimali) così come il ruolo degli addetti alle operation sta via via venendo inglobato in altre figure.
Le DevOps sono una metodologia di sviluppo software che punta alla comunicazione, collaborazione e integrazione tra sviluppatori e addetti alle "operation", ovvero quelle funzioni di un'azienda che si occupano della fornitura di un prodotto/servizio al cliente.
Di recente è stata pubblicata un'intervista a Jan Schilt, co-fondatore di GamingWorks, che descrive i vantaggi derivanti dall'applicazione delle DevOps all'interno di un progetto software:
- Teamwork: permettono di creare un team dedicato al cliente (value stream), cosi da supportarlo attivamente, aiutandolo nella risoluzione dei problemi e realizzando le feature richieste.
- Customer First: consentono di lavorare su questioni che sono importanti per un determinato cliente migliora il prodotto finale.
- Se implementate correttamente, si adattano perfettamente ai processi ITSM (IT service management) e portano a risparmiare tempo e ad alleggerire il carico di lavoro.
- Deploy: quando un team si focalizza in modo chiaro su un determinato lavoro, la realizzazione di nuove feature avviene in modo più rapido e di conseguenza anche il deploy dell'applicazione risulta più veloce. Si evita infatti lavoro inutile e non pianificato che rallenta notevolmente il processo di deploy.
Ovviamente l'applicazione delle DevOps presenta anche degli aspetti negativi:
- Se le risorse sono limitate affidare un singolo task ad un solo team può essere controproducente.
- Sarebbe ottimale disporre di un team vicino al cliente, ma questo, a parte rari casi, non è sempre possibile.
- I developer hanno in genere poco tempo per riflettere, imparare e sperimentare.
- Cosa fare dei manager? Eliminando la necessità di un manager si rischia di lasciare senza lavoro diverse persone.
In conclusione, le DevOps sono certamente una una metodologia di sviluppo interessante ma non esente da problemi, quindi è bene valutare caso per caso se adottarle o meno, analizzando le esigenze del team di sviluppo e, ovviamente, anche quelle del cliente.
Via Jan Schilt