DevOps como instrumento da disciplina de “Execução” (*)
Quem é da área de tecnologia, sabe o que é DevOps ou sente a profunda necessidade de saber o porque há dificuldades em operar com sinergia entre as equipes de desenvolvimento e de infra-estrutura. O termo DevOps é uma referência recente, aderente a metodologias ágeis, a técnicas de transparência, comunicação e colaboração entre as equipes de desenvolvimento e de infra-estrutura, como resposta a necessidade de melhor comunicação e sinergia exigido pela disciplina de “Execução” (*).
(*) Leia os Posts sobre a disciplina de Execução, que em suma, trata-se de garantir que a estratégia, pessoas certas e operação estabelecida somem-se e atinjam os objetivos a que se propõem, não individualmente, mas em conjunto.
O papel da cultura DevOps têm influência sobre o sucesso de um projeto, pois requer conhecimento técnico e argumentos a fim de convencer os gestores das necessidades intrinsecas, muitas vezes não visíveis à área de negócio e por isto mesmo, não priorizadas por quem paga a conta … a meta é se organizar e automatizar tudo o possível para permitir equipes Lean de alto desempenho, sem perdas de tempo ou desperdícios.
Muitas das idéias e pessoas envolvidas no conceito de DevOps vieram do mundo ágil de desenvolvimento, buscando completar a grande lacuna existente entre as equipes de desenvolvimento e infra, tradicionais e hierarquizadas, em meio a um conjunto de processos e métodos rígidos e com responsabilidades separadas, sem pressão por aspectos inter-departamentais e inter-pessoais.
Um novo Mundo (ágil)
DevOps não pressupõe a queda de segurança, documentação, processos, mas uma abordagem ágil destes quesitos, que sejam mais aderentes a participação do cliente dentro do time de desenvolvimento, com foco na entrega contínua de valor ao negócio, principalmente aos riscos e oportunidades inerentes a este processo. DevOps é ir além do desenvolvimento ágil, é eliminar qualquer desperdício, fluir o melhor possível.
Em um ambiente baseado em valores ágeis, é preciso que as equipes de infra interajam mais com o desenvolvimento e produto (negócio), de forma auto-organizada e colaborativa na entrega desde o início até o final. O modelo tradicional é mais fácil e seguro para ambos, pois a responsabilidade é transferida em reuniões esporádicas e por emails, garantindo os álibis necessários a todos os lados.
Porque DevOps afinal ? Integração total é papo antigo, de uma forma ou outra, esta presente em todas as metodologia pelas quais passei – PMI, MPSBR, CMMI, MSF. A pressão maior vem ocorrendo a partir de :
1. Aceitação maior dos métodos ágeis de desenvolvimento;
2. Presença constante do cliente junto ao time;
3. Complexidade de camadas, frameworks e tecnologias;
4. Questões de segurança, inerentes a plataforma web;
5. Soluções cada vez mais integradas, baseados em API e serviços;
6. Milhões de ataques, robos, crawlers, … espalhados a cada dia.
Devops seria uma relação mais colaborativa e produtiva entre desenvolvimento e infra-estrutura, melhorando a eficácia e reduzindo o risco associado com todo um universo fragilizado por uma poderosa, complexa e sempre jovem tecnologia. Fazer com que o fluxo de desenvolvimento seja super-otimizado, escalável, produtivo e performático, tanto pessoas, ambientes, servidores, ferramentas e processos.
Conclusão
Não existe almoço grátis, tudo tem um custo para alguém, a dificuldade em montar uma equipe multi-disciplinar em que todos são iguais, buscam convergência (não unanimidade) em seus objetivos e estratégia, trabalhando juntos para atingí-los não é trabalho fácil, é para gente grande, educada e consciente de que o nosso mundo esta mudando, queremos ter orgulho e sermos felizes no que fazemos, com que, com quem e porque … afinal, porque não ???