Nosso mundo depende cada vez mais dos softwares. Mas a crescente complexidade do processo do software – devido a equipes distribuídas ou terceirizadas, complexidade tecnológica, regras de compatibilidade e mudanças nos requisitos do negócio – tornam a criação de softwares de alta qualidade e com confiança uma batalha.


Um assunto que tem despertado a curiosidade e interesse da comunidade, principalmente da comunidade de software, para ajudar na resolução destes problemas está relacionada com a modernização das ferramentas de desenvolvimento. Grandes empresas como IBM/Rational, Microsoft, HP e Microfocus/Borland introduzem no mercado ferramentas deste porte, denominada de ALM (Gerenciamento do Ciclo de Vida das Aplicações).

ALM tem como definição no Wikipedia: ALM é o casamento entre gerência de negócio com engenharia de software, que se tornou viável graças as ferramentas que facilitam e integram processos como análise de requisitos, modelagem de arquitetura, desenvolvimento de código, gerenciamento de mudanças, gerenciamento de testes e gerenciamento de versões de produtos realizados. Cada um destes processos faz parte de uma etapa de um ciclo de vida de um software.

Existem algumas soluções de mercado que, ou oferecem um pacote completo capaz de atender a todas as etapas de ciclo de vida, como também ferramentas com atuações pontuais (utilizadas em alguns momentos do ciclo).

Hoje não há concesso entre os fabricantes do que é considerado como escopo das ferramentas de ALM. A maior parte das ferramentas englobam partes de negócio, gestão de projetos, gestão de requisitos, gestão de testes, gestão de builds e gestão de configuração e defeitos.

De maneira geral, as ferramentas de ALM buscam agregar os seguintes benefícios para as organizações:
  • Colaboração e Comunicação: Equipes através de uma única interface trocam mensagens afim de resolver os problemas enfrentados durante a fase de desenvolvimento;
  • Previsibilidade: Através de informações em tempo real, é possível se antecipar aos problemas de desenvolvimento de software;
  • Gerenciamento de processos do time: Visão integrada através de indicadores em tempo real, ajudam a movimentação e localização de disponibilidade de recursos;
  • Tomada de decisão em tempo real: Indicadores e dashboards são integrados ao desenvolvimento, demonstrado a real situação dos projetos.
  • Rastreabilidade dos itens de trabalho: Todos os produtos de trabalho gerados durante a execução dos projetos são rastreados, permitindo maior visibilidade do processo.
  • Melhoria da qualidade: Ferramentas de testes plugadas no ALM proporcionam maior nível de testes dos produtos gerados.


É importante ressaltar que as empresas ainda estão convergindo e amadurecendo as suas ferramentas de ALM. Sendo assim, o ALM do amanhã é uma plataforma para a coordenação e gerenciamento das atividades de desenvolvimento, não uma coleção de ferramentas do ciclo de vida com funções ALM limitadas e imutáveis.