O que é o ALM – Application Lifecycle Management?
A atividade de construção de aplicações é executada através do emprego intenso do trabalho humano, consequentemente exige das empresas somas de investimento financeiro. Parte deste investimento é consumido por atrasos de cronograma, retrabalho, testes inadequados e outros. Estima-se que em 2002, foram gastos cerca 20 bilhões de dólares só com testes inadequados de software feito por desenvolvedores de software.
Em paralelo, desde a década de 90, a tecnologia da informação está cada vez mais presente dentro das empresas e na vida das pessoas. A Tecnologia da informação (TI) surgiu inicialmente dentro dos mainframes, passou pela revolução da microcomputação para as massas, até chegar na computação na nuvem. Hoje podemos ver bolsas de valores automatizadas, empresas de telecomunicações administrando milhares de chamadas simultâneas, cadeias de suprimentos totalmente integradas e tanto outros segmentos usando massivamente TI.
Com isto temos um paradoxo: de um lado há o uso contínuo e massivo de aplicações no dia-a-dia das empresas e usuários e do outro lado a dificuldade em produzir as mesmas aplicações de forma sofisticada e com a qualidade desejada. Esse desafio vem motivando o surgimento de métodos e ferramentas de trabalho para a organização dos processos de produção de aplicações e engenharia de software. O objetivo desta é apresentar uma introdução sobre o gerenciamento do ciclo de vida de uma aplicação, desde sua concepção até o processo de manutenção evolutiva, também conhecido como Application Lifecycle Management (ALM).
ALM é todo o processo que guia a vida útil de uma aplicação desde a sua concepção, passando pela construção, operação e evolução. O ALM não apenas observa qual é o método de construção, mas preocupa-se também em como a empresa está gastando o seu dinheiro no gerenciamento daquele ativo corporativo.
Um destaque importante é a diferença entre Application Lifecycle Management (ALM) e Software Development Lifecycle (SDLC). O SDLC pode ser definido em uma tradução livre, de acordo com Jayaswal & Patton [J&P1], como “um processo focado no desenho, criação e manutenção de aplicações”.
O ALM é um guia que acompanha toda vida da aplicação, tendo o SDLC como uma das fases do ciclo de vida.
Qual a solução que a Microsoft oferece?
A Microsoft possui a solução ALM líder do mercado e conforme publicado pelo Gartner clique aqui.
A solução ALM é composta pelos produtos:
- Microsoft Team Foundation Server
O Visual Studio Team Foundation Server (TFS) é a plataforma de colaboração na essência da solução de gerenciamento do ciclo de vida de aplicativos (ALM) da Microsoft. O TFS oferece suporte para práticas de desenvolvimento ágeis, para vários IDEs e plataformas localmente ouna nuvem e fornece as ferramentas que você precisa para gerenciar com eficiência projetos de desenvolvimento de software em todo o ciclo de vida de TI.
O Visual Studio é um pacote de ferramentas de desenvolvimento de software baseadas em componentes e outras tecnologias para a criação de aplicativos avançados de alto desempenho. Além disso, o Visual Studio é otimizado para projeto, desenvolvimento e implantação em equipe usando Visual Studio Online ou Team Foundation Server.
Use o MTM para ajudá-lo a testar os aplicativos que criou. O MTM armazena planos e resultados de teste no Team Foundation Server (TFS).
Essa soluções ficam ainda mais poderosas trabalhando integradas a soluções como:
A integração entre Visual Studio Team Foundation Server e Produtos do SharePoint fornece a administradores, líderes de projeto e colaboradores do projeto com o compartilhamento eficiente de dados de conhecimento e ferramentas organizacionais. Essa integração inclui a opção para criar um site, conhecido como um team project portal, para cada projeto de equipe. As equipes podem usar este portal para compartilhar a orientação do processo, os documentos de projeto, modelos e relatórios de acordo com a função de cada membro da equipe do projeto. Você pode usar qualquer versão suportada do Produtos do SharePoint com Team Foundation Server.
Instalando extensões de Team Foundation Server para Project Server, gerentes de projeto podem usar Microsoft Project Server para acessar o status de projeto atualizado e a disponibilidade de recurso através de equipes ágeis e formais de software que funcionam em Team Foundation. Essa integração permite dados para fluir de itens de trabalho em Team Foundation Server (TFS) para tarefas em planos de projeto da empresa em Project Server. Gerentes de projeto e equipes de programação de software podem usar as ferramentas que funcionam preferem, a nível de precisão que oferece suporte às suas necessidades, e informações de compartilhamento transparente. Depois que os dois produtos de servidor são configurados, o mecanismo de sincronização mantém o uso de dados e de recurso de programação para os dados configurados no plano de projeto da empresa e mapeados no projeto de equipe.
Nesse Wiki do Technet, é abordado a configuração passo a passo da integração entre o TFS e o Project Server: Integração TFS & Project Server – Completo
- Microsoft System Center Operation Manager
A sincronização entre o Operations Manager e o Team Foundation Server (TFS) possibilita uma comunicação eficiente entre os desenvolvedores e as operações de tecnologia da informação (TI). A integridade do ambiente do TFS é essencial para todos os processos de desenvolvimento. Conforme seu ambiente, você pode importar pacotes de gerenciamento e monitoramento do TFS que ofereçam visibilidade em tempo real da integridade do ambiente de desenvolvedor do TFS.
O pacote de gerenciamento Sincronização de Item de Trabalho do TFS sincroniza alertas do Operations Manager e itens de trabalho do TFS. Além disso, monitora a infraestrutura de sincronização e gera alertas quando a sincronização falha. Entretanto, para monitorar toda a infraestrutura do TFS, é preciso usar pacotes de monitoramento adicionais que avisem sobre diversos problemas nos componentes do TFS. Quando você importa o pacote de gerenciamento Sincronização de Item de Trabalho do TFS, a prática recomendada é importar e configurar esses pacotes de monitoramento também. Juntos, eles ajudam a garantir que você monitore toda a integridade do ambiente de desenvolvedor do TFS.
- Microsoft System Center Virtual Machine Manager
O Visual Studio Lab Management permite criar e gerenciar ambientes de laboratório para um projeto de equipe Team Foundation Server. Você pode usar ambientes de laboratório para desenvolver, testar ou executar o aplicativo. Cada máquina em um ambiente de laboratório representa uma função necessária para o aplicativo que você pretende desenvolver, testar ou executar. Por exemplo, você pode desenvolver um aplicativo multi-camada que exige três funções: um cliente de desktop, um servidor web e um servidor de banco de dados. Há dois tipos de ambientes de laboratório: ambientes padrão e SCVMM. Um ambiente padrão pode conter computadores físicos e máquinas virtuais usando qualquer plataforma de virtualização. Um ambiente de SCVMM pode conter somente as máquinas virtuais que são gerenciadas pelo SCVMM na plataforma de virtualização Hyper-V. Para obter mais informações sobre ambientes de laboratório, consulte Usando um ambiente de laboratório para o ciclo de vida do aplicativo.
Nesse Wiki do Technet, é abordado a configuração passo a passo da integração entre o TFS e o SCVMM: Configurando o Lab Management para o Microsoft Test Manager
Esses produtos integrado formam um sistema completo.
Existe Certificação? Como me preparar?
A Microsoft criou especificamente a certificação MCSD – ALM (Microsoft Certifed Solution Development in ALM). Essa certificação aborda as seguintes provas:
- 70-496 – Administering Microsoft Visual Studio Team Foundation Server
- 70-497 – Software Testing with Visual Studio
- 70-497 Delivering Continuous Value with Visual Studio Application Lifecycle Management
Você pode saber mais e estudar para essa certificação acessando os links abaixo:
Sobre a Prova
Material de Estudo
Artigos técnicos e apresentações de apoio
- Apresentações
ALM – Visão Geral (Apresentação)
ALM – Indicadores Como Usar? (Apresentação)
ALM – Testes Exploratórios (Apresentação) – Link Externo
ALM – Testes Manuais com o Microsoft Test Manager (Apresentação) – Link Externo
ALM – Testes Exploratórios com o Microsoft Test Manager (Apresentação) – Link Externo
ALM – Escola de Testes de Software (Apresentação) – Link Externo
- Guias
ALM – Integração do Project Server e Team Foundation Server (Guia)
- e-Books
e-Books do ALM Rangers (e-Books)
- Artigos Técnicos
ALM– The following library share could not be verified because of one or more errors TFS and SCVMM
ALM – Associando um Plano
de Testes a Documentação de Requisitos de Software
ALM – Atualizando o Team Foundation
Server (TFS) 2012 para a versão 2013
ALM – Como Editar Work items
e Process Template do TFS – Process Template
ALM – Como Editar Work items e Process
Template do TFS – Work Item
ALM – Configurando Permissões de Acesso
no Team Foundation Server
ALM – Editando um Work Item com
o Process Template – Project Server e TFS
ALM – Inserir um Novo
Item (Requirement Type) no Work Item Requirements do TFS 2013
ALM – Customizando Abas de Work Items do TFS 2013
ALM – TF401092:
This element defines the color for the work item types for this team project
ALM – Acrescentar Novos Campos em um Work Item
– TFS 2013
ALM – Remover Classificação de Severidade
do Work Item Bug – TFS 2013
ALM – Remover Item
de Campo do Work Item – Quando se muda o estado do Work Item no TFS
ALM – Usando o Microsoft Test Manager–Atualizando
Casos de Testes
ALM – Trabalhando com Java no Team Foundation Server
ALM – Usando o Microsoft Test Manager–Atualizando
Casos de Testes
ALM – Coletando informações de Bugs com o Test
Manager
ALM– Sharepoint – Mapeamento de Acessos Alternativos
ALM – Avaliando o Progresso da Equipe de Testes
ALM – Atribuir um Caso de Teste a um Testador
ALM – TF285010: The following
user is not a valid Project Server resource
ALM – Error TF30172 –
You are trying to create a project either without required…
ALM – Gerenciando Plano de Testes – Clone
ALM – Coletores de informações de Test Manager
ALM – Alterando seu caso de testes para um novo
Build
ALM – Gerenciando Casos de Testes com Passos
Compartilhados
ALM – Navegando entre o Test Runner e o Testing
Center
ALM – Adicionando Capturas de Imagens
em Testes Exploratórios no MTM
Principais influenciadores
Atualmente há diversos influenciadores que apoiam a comunidade ALM realizando palestras, criando materiais, dando treinamentos, escrevendo artigo. Dentre os principais destacam-se:
Blog do Brian Keller(Evangelista ALM)
Blog do Martin Hinshelwood(Consultor ALM)
Blog da Lambda3 (MVP e Consultores ALM)
Blog do Ramon Durães (Consultor ALM)
Blog do André Dias (MVP e Consultor ALM)
Referências
- Microsoft Technet Library
- Visual Studio ALM Rangers
- Codeplex
- Microsoft MSDN
- Microsoft Technet Wiki
- Microsoft Technet Blogs
- Microsoft MSDN Blogs