Notícias > Artigos de opinión

A necessária mudança de cultura na construção do software

14 Junho, 2016

José Carlos López Ayala, Consultor de Pré-venda e Especialista em DevOps da MTP

A rapidez com que a tecnologia está evoluindo, junto com as novas necessidades e tendências sociais, obriga as empresas a agilizar seus métodos de trabalho com o objetivo de oferecer aos seus clientes novos serviços no menor tempo e com a maior qualidade possível. Esta realidade, exige uma mudança de cultura de tudo o que diz respeito à construção e implementação de um software.

Atualmente, os grupos de trabalho que participam de um projeto – Desenvolvimento, SQA, Operações…‑ trabalham de forma independente e com sistemas de comunicação pouco eficientes. Além disso, muitos processos continuam sendo feitos de forma manual, o que faz com que ocorram erros que implicam em trabalho extra, atrasos, necessidade de alocar mais recursos e, portanto, no encarecimento do projeto. A solução para esta situação tão pouco idílica passa, sem dúvida, pela adoção de práticas de Entrega Contínua e DevOps.

Atualmente, manter o sistema tradicional de construção e implementação de software já não faz sentido. Cada vez torna-se mais necessário adaptar outro baseado na filosofia Lean, que permita otimizar os processos, reduzir os custos eliminando as tarefas manuais, reduzir o time‑to‑market e reduzir o risco na hora de realizar alterações no ambiente.

Nesta mudança de cultura, a automatização ocupa um papel fundamental na hora de garantir a qualidade nos processos de implementação do software. Se o processo de construção, testes e implementação não estiver automatizado, não pode ser reproduzido. Ou seja, ao trabalhar de forma manual, cada vez que uma nova versão for implementada isso será feito de forma diferente, porque será impossível auditar e identificar os erros cometidos na hora de realizar mudanças no aplicativo, na configuração do sistema ou nos ambientes. Ou seja, não há controle no processo de release e, por isso, não há forma de garantir a qualidade final do produto.

Além disso, através da automatização dos processos também é possível aumentar a frequência da liberação de novas versões de software com muito pouco esforço, o que traz dois benefícios colaterais: por um lado, o conjunto de mudanças entre um release e outro será pequeno, o que reduzirá significativamente o risco associado à liberação de mudanças nos ambientes de produção, e tornará muito mais fácil a aplicação de um possível roll back. Por outro lado, também será possível obter feedback de forma muito mais rápida e as funcionalidades começarão a ser exploradas muito antes.

Consequentemente, a empresa obterá diversos benefícios se atua desta forma:

  • Redução do time‑to‑market.
  • Rentabilidade mais rápida do software desenvolvido.
  • Menor custo, ao reduzir os recursos alocados e as horas de trabalho.
  • Maior segurança na hora de introduzir mudanças.
  • Implementações mais simples, sem necessidade de conhecimentos técnicos.

Ninguém está dizendo que implantar uma metodologia de Entrega Contínua e DevOps seja simples; implica em romper barreiras entre equipes, eliminar silos, utilizar novas ferramentas, modificar processos existentes, criar outros novos… mas os benefícios para a empresa em termos de negócio são tão significativos que, sem dúvida, vale a pena o esforço e o investimento que exigem. 

Share