DevOps

DevOps é uma metodologia em que times são responsáveis por todo o processo desde o desenvolvimento da aplicação até a operação em produção, por isso o nome DevOps (Dev e Ops). Esta metodologia vai além da implementação de um conjunto de tecnologias, requer uma mudança profunda na cultura e nos processos. Além disso, DevOps orienta que o trabalho dos times seja focado em pequenos componentes (ao invés de uma funcionalidade completa), diminuindo as tranferências de responsabilidade ( handoffs ), que são uma fonte comum de erros.

Problema relacionado

Tradicionalmente, em organizações complexas com aplicações monolíticas de alto acoplamento, o trabalho era geralmente fragmentado entre vários grupos, levando a um alto número de transferências de responsabilidade e longo prazo nas entregas. Cada vez que um componente ou atualização estava pronto, era disponibilizado em uma fila para o próximo time. Como cada pessoa trabalhava em apenas uma pequena parte do projeto, esta abordagem levava a uma falha de responsabilidade no processo como um todo. O objetivo dos times era transferir o trabalho para o próximo time, e não entregar a funcionalidade correta ao cliente - uma clara falta de alinhamento nas prioridades.

No momento em que o código finalmente entrava em produção, depois de passar por diversos desenvolvedores e esperando em várias filas, tornava-se difícil rastrear a origem do problema se o código não funcionava. DevOps vira essa abordagem de cabeça para baixo.

Como isso ajuda

Com apenas um time gerenciando todo o ciclo de vida de uma aplicação, o número de transferências de trabalho (responsabilidade) são menores, os riscos de implantação em produção são reduzidos, a qualidade do código é melhorada pois os times são também responsáveis pela performance do código em produção, e a satisfação dos trabalhadores é maior devido à maior autonomia e responsabilidade.