ALM – O que é isso? – Parte 02
Dando continuidade ao artigo sobre ALM.
Processos e metodologias são ótimos! Mas o que seriam desses processos e metodologias sem nossos problemas e exceções do dia-a-dia? Em cada empresa que trabalhamos, encontramos um cenário, uma forma de trabalho, um processo que muitas vezes não se assemelha como nada que você tenha trabalhado antes.
Por que não tomar como base uma metodologia que se encaixe na sua realidade? Por que não aproveitar e adequa-la ao seu ALM? ( 3)
Entendendo o SDLC – Software Development Lifecycle da Microsoft
O VSTS como vimos até agora nesse artigo, é focado em pilares básicos do mundo ALM. Mas como ele pode me ajudar de fato? Como posso responder a dúvidas do tipo:
- Como adequar o metodo de desenvolvimento de minha empresa no VSTS?
- Como gerenciar minha equipe? Ela é terceirizada e distribuída pelos quatro cantos do mundo
- Como devo controlar versões de minha equipe? Como gerar baselines?
- Como integrar testes aos códigos que minha equipe gera?
- Como centralizar as informações para controlar melhor Prazo, escopo e qualidade?
Apresentando o TFS – Team foundation Server e o seu "eco-sistema"
A seguir, entenda um pouco mais de como o ALM pode lhe ajudar a responder diversos questionamentos em engenharia de software.
O TFS (Team Foundation Server) é a lado Servidor da tecnologia Visual Studio Team System. A partir dele, todos os recursos do ALM Microsoft são gerenciados.
O TFS é composto do Windows 2003 Server para garantir integridade e segurança básica, SQL Server 2005 para armazenar toda a massa de dados gerada na manipulação de códigos, tarefas e etc, utiliza também o Sharepoint para atender a comunicação integrada com seus times e muitos relatórios graças ao Reporting Services. ( 4 – Item 1)
Todos os recursos básicos voltados a diciplina de Gerencia de Projetos, bem como manipulação e rastreabilidade, Controle de versões, relatórios e automação de build também fazem parte dessa integração. ( 4 –item 2)
Não importa a metodologia que você utilize, pode-se customizar uma das metodologias templates que acompanham o TFS (MSF for Agile ou MSF for CMMI) ou se quiser, montar a sua do zero ou ainda, implementar algum template disponível na internet, como por exemplo: SCRUM, XP e etc. ( 4 – tem 3)
Obviamente, não poderia ficar de fora as IDE's Microsoft de desenvolvimento. O Visual Studio Team System esta disponível em vários sabores: Desde a versão para Arquitetutos, Desenvolvedores, Testadores e até Dba's. ( 4 – item 4)
Como a integração entre aplicativos Microsoft, de certa forma é nativa. Basta instalar o Team Explorer ( Client do TFS) em seu computador e torna-se possível utilizar o Excel e o Project para interagir com o TFS, enviando tarefas, analisando dados, montando relatórios. ( 4 – item 5)
Além disso, o Sharepoint nos provê a possibilidade de acesso dos recursos do TFS através de um front-end bem amigável e conhecido a todos. ( 4 – item 6)
Por ter sido desenvolvido basicamente sobre o .NET Framework 2.0 e 3.0, pode-se construir ferramentas que são integráveis ao TFS. Já existem muitas empresa que estão vendendo customizações e ferramentas auxiliares. ( 4 – item 6 e 7)
Team Foundation Server - Analisando mais a fundo
O Team Foundation é a base do todo o Team System, o TF é integrado ao AD do Windows 2003 e ao Sql Server 2005. Portanto, é uma base de dados de fato. Seus principais recursos são:
Dentro do nosso projeto existem muito mais coisas além de bugs para serem controladas. Existem requerimentos, tarefas e outras coisas além de bugs. A idéia do Work Item tracking system é nós imaginarmos que bug é apenas uma das instâncias que eu posso ter nesse banco de dados para controlar e para eu criar os meus próprios tipos também. Esse sistema é toda a base para ocorrer o processo de workflow.
Imaginem que eu seja um Gerente de Projetos e solicite ao Analista que quando for dar um build em determinada aplicação, tenha que passar primeiro pelos testes A, B e C... Ou seja, Unit Tests. O Work Item é utilizado para predefinir tudo aquilo que eu quero que seja feito antes de rodar uma aplicação ou mudar um status de uma tarefa. Foi criado um mecanismo capaz de customizar esses Work Item, podemos usar requerimentos, cenários ou qualquer forma que faça sentido para nós, você cria o seu padrão, seus tipos suas regras, etc. já existem algumas metodologias templates que a partir do momento que eu crio um projeto utilizando uma delas eu não tenho que me preocupar em definir as regras e estados de acordo com a metodologia escolhida.
Basicamente, na ocasião do Check-in eu posso definir vários elementos, por exemplo, um determinado teste, em geral ele faz o básico do Source Safe e ainda integra os outros recursos do VSTS.
Buid Automation
De forma automatizada, a idéia é reproduzir o processo de build como a conhecemos, mas agora ela é integrada ao VS e assim podemos programar nosso build para a noite e no dia seguinte analisar como foi o build da noite anterior através de relatórios.
Utilizando os recursos do Share Point e do VS, é possível criar um site para o time de desenvolvimento.
Com hierarquia e tipos de relatórios distintos, e já contando com cerca de 50 relatórios para servir a todos os gostos e você podendo criar os seus também, o Reporting traz visões específicas para Cios, Gerentes, Programadores, Arquitetos, etc.