ALM – O que é isso? – Parte 01

Por:  Marcus Garcia – Especialista ALM /  Microsoft - MVP

Obrigado!  Isso mesmo! Se houve interesse em ler o título desse artigo é sinal que você seja realmente um apreciador do assunto ALM.

O que diz o Wikipedia mesmo?

ALM – Application Lifecycle Management, tem como definição no Wikipedia o seguinte:

Gerenciamento de Ciclo de Vida de Aplicativos (ALM) é o casamento entre gerência de negócio com engenharia de software, que se tornou viável graças a 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.”

Trocando em miúdos, estamos falando de Engenharia de 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).

Neste artigo, nossa referencia será o VSTS -  Microsoft Visual Studio Team System, já conhecido pelo mercado desde meados de 2005, quando do seu lançamento.  ( 1)

 1
pb_29_08_09_pic01.JPG

Estamos chegando agora na terceira versão do VSTS, o VSTS 2010 que será lançado em meados de 2010 (data de lançamento será confirmada pela Microsoft). Mas, o que nos interesse neste momento, é entender por que precisamos de uma ferramenta de ALM?

Assim como é descrito no Wikipedia.org de maneira genérica,  o VSTS trás embutido no seu ciclo, todos os benefícios de um ALM e alguns outros benefícios que somente é possivel encontrar  através dele, ou seja:

·         Colaboração e Comunicação

·         Previsibilidade

·         Gerenciamento de processos do time

·         Ferramentas familiares

·         Recursos nativos para testes

·         Integração operacional efetiva

·         Tomada de decisão em tempo real

 

 

Por que usar o ALM da Microsoft?


A resposta mais simples seria:  ROI (retorno sobre o investimento) – por si só, é um motivo – grande motivo, mas não! Meu compromisso com você leitor é, justamente mostrar os benefícios, o que faz a diferença. ( 2)


Se mesmo assim, quiser calcular o ROI do VSTS para sua empresa, sugiro você acessar o link:
www.microsoft.com/assess e fazer você mesmo. Vai ficar impressionado como resultado.

 

 2
pb_29_08_09_pic02.JPG

Quando falamos em desenvolvimento em equipes, o primeiro obstáculo à nossa frente é a comunicação. Como trocar informações àgeis, como todo nosso time? Como fazer para não esquecer nenhum requisito, tarefa, verificação e etc? Como facilitar o nosso dia-a-a-dia? Seja você um desenvolvedor, testador, gestor ou patrocinador de um projeto? Já dizia Beny Rubstein (que foi um dos primeiros Program Managers do VSTS na Microsoft Corp). “- O desenvolvedor precisa fazer o óbvio, que é programar!”. O objetivo da Microsoft ao construir a tecnologia VSTS, foi justamente integrar os times de Operações, Arquitetos, Testadores, Gerentes, Diretores e outros membros da equipe.

Produtividade e desempenho

Um dos pontos altos do VSTS são as ferramentas focadas em produtividade, cada uma delas nos beneficia com recursos facilmente configuráveis e de alto desenpenho. Podemos citar aqui:

Análise estática, Covertura de Código, Testes Unitários,Testes funcionais, Testes de carga,  Análise de Desempenho entre outros.

Trabalho em equipe

Ter a possibilidade de comunicar-se com seu time através de um portal do projeto, através de tarefas geradas automaticamente por conta de um work-flow, ou manualmente integrada ao seu cronograma de tarefas ou seu e-mail, são recursos que você também encontra no VSTS. Além de, acesso remoto e versão web para utilização de vários recursos.

Suporte as últimas tecnologias

Não importa se o desenvolvimento é feito em Java, Mainframe, Delphi ou Software livre, todos tem direito a integração no VSTS. Claro que, algumas tecnologias com mais recursos nativos, outras com menos, mas o mais importante é que a integração é sempre possível.

Utilizando os seguinte princípios:

- Design for operations
- Increased Reability
- Quality
- Visibility

Design for operations

A idéia é vamos fazer testes, validadar infra-estrutura, ter certeza que tudo vai funcionar antes de digitar a primeira lihna de código.

Increased Reability

Através dos centros de pesquisa da MS espalhados pelo mundo, algumas das ferramentas utilizadas para testes de confiabilidade e segurança vão ser embarcadas nas expansões do Visual Studio, inclusive suas métricas utilizadas.

Quality

Através de testes pré-definidos é possível definir métricas e testar seus testes para que não ocorra problemas pois nem sempre temos certeza que nosso código esta livre de problemas, nem sempre temos certeza que o teste testou todo o código.

Visibility

A famosa reunião de status, essas reuniões vão ser substituídas por relatórios on-line já que estamos numa mesma base de dados nossos chefes poderão utilizar visões no Project, no Excel apenas clicando no botão de Refresh e dessa forma saber tudo sobre os requisitos em aberto, Bugs e outras informações a qualquer momento.