Expandindo métodos ágeis com DevOps: Os métodos ágeis buscam diminuir o tempo de entrega de produtos de software focando em uma maior aproximação com o cliente e no desenvolvimento do que realmente agrega mais valor para o cliente. Embora importante, esta preocupação muitas vezes não é suficiente para atender à complexa lógica do mercado. Por exemplo, durante a fase de operação da solução, que ocorre após sua implantação, tem-se equipes formadas por especialistas em áreas de infraestrutura, telecomunicações, banco de dados e servidores físicos ou virtuais. Este grupo totalmente diferente dos profissionais envolvidos no desenvolvimento do projeto acaba entrando em conflito com o restante da equipe, pois enquanto o desenvolvimento possui grande necessidade de mudanças para atender constantes alterações no sistema e suportar melhorias e correções de erros, a equipe de operações tende a evitar mudanças, pois procuram manter condições estáveis para que os sistemas de produção se mantenham disponíveis para os usuários finais.

Neste contexto, o DevOps possibilita realizar entregas mais rápidas e com qualidade pelo fato dos envolvidos estarem alinhados com necessidades e metas individuais e coletivas ao longo dos processos.

Este artigo apresenta conceitos para potencializar a utilização de metodologias ágeis no ciclo de vida de sistemas, expandindo sua aplicação para além do desenvolvimento, chegando até a operação do aplicativo em ambientes de produção, aprimorando assim a construção e entrega de produtos de qualidade.


Em que situação o tema é útil:
Organizações voltadas para o desenvolvimento de aplicações desktop, web ou mobile, podem aprimorar seus processos de desenvolvimento e operações com foco na qualidade e satisfação do cliente através da adoção de DevOps, agilizando toda sua cadeia produtiva com a integração de atividades, ferramentas e automatização de trabalho repetitivo.

O ciclo de vida de um sistema prevê a aplicação de processos envolvendo diferentes atividades realizadas por papéis, ferramentas e técnicas em fases básicas sistematizadas que percorrem desde a comunicação com o cliente até a entrega da solução parcial ou completa. De forma simplista, as fases de criação do sistema podem ser divididas em pré-construção, construção e operação. No primeiro momento ocorre o entendimento do objetivo da solução, que na segunda fase é construída e posteriormente implantada e utilizada em um ambiente propício para sua operação. Para realizar este trabalho, normalmente são formadas equipes de especialistas em cada atividade. Por exemplo, durante o desenvolvimento pode existir uma equipe específica de analistas escrevendo o código do programa enquanto outros preparam e executam testes.

A operação da solução ocorre após sua implantação, e para isso normalmente têm-se outras equipes formadas por especialistas, tais como analistas de infraestrutura, telecomunicações, banco de dados e servidores físicos ou virtuais. Aparentemente, tal divisão beneficia a gestão, pois é comum que cada equipe possua seu próprio gestor. Mas o que se percebe na prática é que devido aos diferentes objetivos de cada equipe acabam surgindo alguns conflitos, pois enquanto o desenvolvimento possui grande necessidade de mudanças para atender constantes alterações no sistema e suportar melhorias e correções de erros, a equipe de operações tende a evitar mudanças, pois procuram manter condições estáveis para que os sistemas de produção se mantenham disponíveis para os usuários finais.

...
Quer ler esse conteúdo completo? Tenha acesso completo