Gerência - Ciclo de Vida de Desenvolvimento

Perguntas e respostas sobre Visual Studio Team System

Desde 2005 a Microsoft passou a ofertar no mercado sua plataforma de Application Lifecycle Management (ALM), conhecida como Visual Studio Team System destinado a gerenciar projetos de software.

por Ramon Durães



Com a consolidação das plataformas de desenvolvimento ao longo dos anos e a necessidade de adaptação a um mercado cada vez mais competitivo e exigente por qualidade, como também por comprometimento com os prazos, têm provocado uma grande mudança de cenário levando a indústria de software a buscar um amadurecimento nos processos de desenvolvimento de software e soluções que apóiem o ciclo de desenvolvimento. Pensando nisso que desde 2005 a Microsoft passou a ofertar no mercado sua plataforma de Application Lifecycle Management (ALM), conhecida como Visual Studio Team System destinado a gerenciar projetos de software.

O que é Visual Studio Team System?

A plataforma do Visual Studio Team System (VSTS), não é um software especifico Microsoft. É uma solução baseada em um conjunto de produtos que trabalham integrados para proporcionar a gestão do ciclo de vida de uma aplicação, oferecendo suporte para todo o ciclo de desenvolvimento incluindo: colaboração, controle de qualidade,  integração contínua e informações estratégicas que resultam em previsibilidade do projeto.  Com um conjunto de mais de 15 relatórios disponíveis, a partir de qualquer local você poderá tomar as decisões antecipando os problemas. O Team System atende desde os projetos pequenos aos muito grandes e inclusive com fornecedores diferentes e desenvolvimento distribuído.

Como é composta a solução?
A plataforma pode ser divida praticamente em 03 partes. A primeira é a parte cliente que inclui as ferramentas e plug-ins necessários à coleta de dados que serão armazenados no servidor. A segunda seria o servidor central com as informações de colaboração do projeto e por fim a metodologia escolhida para a condução do projeto.

Visual Studio Team Suite (Architects, Developers, Testers, Database Professionals).

Versão cliente com todas as funcionalidades.

Team Edition for Architects, Team Edition for Developers, Team Edition for Testers, Team Edition for  Database Professionals.

Versão cliente específica para cada papel no projeto.

Team Foundation Server (Project Portal, Source Control, Builds, Work Item, Reports, Project and Excel Integration)

Servidor dedicado a controlar todas as informações do projeto para o funcionamento do Application Lifecycle management.

Team Build (Continuous Integration)

Servidor dedicado a automação de todo o processo na geração de um Build. Implementa o conceito de integração contínua.

Visual Studio Team System  Test Load Agent

Gerenciador de teste de carga para controlar múltiplas estações.


Quais metodologias eu posso usar no Visual Studio Temam System?
Por padrão, vêm disponível no Visual Studio um template para Microsoft Solution Framework Ágil, ou CMMi ficando em aberto a possibilidade de customizar os mesmos ou incorporar novos oriundos do XP, RUP, SCRUM e por que não MPS.BR!

O Team Foundation Server é uma nova versão Visual Source Safe (VSS) ?
Não.  O Team Foundation funciona como o coração de toda a comunicação no projeto. Nesse repositório são armazenadas as informações coletadas no cliente. A comunicação é realizada por meio de itens de trabalho (Work Itens), que são criados pelo MS Project, Excel ou diretamente no Visual Studio. Consiste nas tarefas a serem executadas dentro do projeto;  É o provedor de relatórios para acompanhamento do projeto; Controla o código fonte de forma integrada trazendo novos conceitos além do "simples" armazenar, pois ele contém políticas de controle que permitem uma integração do código fonte ao ciclo de desenvolvimento. Tais políticas permitem, por exemplo, garantir que todo o código enviado esteja relacionado a uma tarefa criada no MS Project. Destaca-se também, pelo armazenamento de código dentro do SQLServer, usando transações atômicas evitando qualquer perda de código e permitindo desenvolvimento remoto.

Qual a integração com o Microsoft Project ?
A integração é total, de forma que você não precisa solicitar aos desenvolvedores um status de atualização da tarefa. Ao criar uma tarefa no MS Project, essas tarefas serão publicas no Team Foundation Server como Work Itens e distribuídas para os respectivos responsáveis pela mesma, que caso sendo um desenvolvedor, ele vai abrir no seu Visual Studio.

Qual a relação do Visual Studio Team System com qualidade de software?
A plataforma oferece poderosas ferramentas direcionadas ao controle da qualidade e produção de testes de software, dentre elas:

Unit Testing / Testes Unitários

Crie classes para testar suas classes de negócio de forma automatizada, sem a necessidade de camada de apresentação

Code Coverage / Cobertura de Código

Identifique visualmente o volume de código testado no teste unitário.

Code Profiler / Avaliação de performance

Identifique problemas de performance em seu código. Essa ferramenta aponta os principais consumidores de recursos.

Code Analyzer / Analise estática de código

O papel do revisor de código tornou-se fundamental durante o desenvolvimento. Valide padrões do projeto automaticamente.

Manual Testing / Testes manuais

Além dos testes automáticos, você continuará realizando seus testes manuais, só que contabilizando o resultado diretamente no Visual Studio.

Web Test / Loading (Testes de carga).

Ao projetar uma aplicação, sempre surgem dúvidas de como testá-la com carga pra definir as configurações mínimas aceitáveis ou encontrar pontos de gargalo.

Code Metrics / Métricas de código

Audite o código fonte para identificar problemas em manutenções futuras baseando-se em métricas de complexidade.

É possível ter rastreabilidade com Visual Studio Team System ?
Com toda a comunicação baseada em tarefas criadas pelo MS Project vinculadas a todos os participantes do projeto como Work Itens, é possível construir vínculos entre os artefatos de forma a identificar a sua origem e navegar entre os mesmos nas duas direções.

Como posso auditar um código fonte?
Além das ferramentas de controle de qualidade já citadas, por ter a gestão de todo o ciclo de desenvolvimento de forma integrada, temos a disposição um poderoso recurso de auditoria que é o Annotate. Em questão de segundos, você vai saber quem mudou cada linha de código e quem solicitou a mudança. Essa mudança vem de uma solicitação do MS Project que é vinculada ao código fonte pelo Team Foundation Server, que gera um ticket registrando um identificador único para cada código fonte recebido, conforme figura 1.


Figura 01
– Annotate em ação
Conforme visto na figura 01, com essa informação você também pode a qualquer momento voltar o bloco de código à situação anterior.


É possível integrar outras plataformas?
Essa pergunta acaba sendo muito interessante e tem sido feita com freqüência por diversos clientes que possuem ainda outros projetos que não foram migrados para a plataforma.NET e querem usar o VSTS para gerenciá-los. A resposta é um grande “SIM”. O VSTS oferece uma interface chamada de MSSCCI que por padrão já conecta (Visual Studio .NET 2003, Visual C++ 6 SP6, Visual Visual Basic 6 SP6, Visual FoxPro 9 SP1, Microsoft Access 2003 SP2, SQL Server Management Studio, Sparx Systems Enterprise Architect 6.1, Sybase PowerBuilder 10.5, Toad for SQL Server 2.0) e se você ainda não está satisfeito, pode usar JAVA e ECLIPSE como IDE usando o conector da Teamprise que roda em Linux e Mac OS X.

Como gerenciar meus projetos OutSource ?
Essa é também uma grande pergunta presente em todos os clientes de grande porte que visito, pois seguindo a tendência no uso da terceirização dos serviços de desenvolvimento, é muito importante e estratégico para eles controlarem os projetos externos.
O VSTS é todo baseado em WebServices, de forma que você pode gerenciar seus projetos remotamente ou ter fornecedores externos trabalhando em seu projeto. Associando as políticas de controle de código fonte para padronização do código, controle de qualidade, relatórios de acompanhamento do projeto publicados no portal do projeto, você não precisa perguntar ao fornecedor como está o projeto, pois já vai ter todas as informações em mãos.

Como eu posso instalar o Visual Studio Team System?
Ao terminar de ler esse pequeno FAQ, você já deve estar procurando saber: como se instala o Visual Studio Team System? Na verdade, existe um grande costume dos profissionais com o famoso  “next, next, finish” e não é essa a proposta de uma solução de Application Lifecycle Management (ALM), pois requer conhecimentos diversos em engenharia de software, projetos e processos. Você precisa avaliar com muita cautela o seu ciclo de desenvolvimento para em função do mesmo e de uma metodologia definir o plano de implantação.

Como conclusão dessa primeira leitura sobre o Visual Studio Team System, você teve o primeiro contato com uma grande plataforma que tem conquistado os mais diversos clientes. Tenho tido pessoalmente a oportunidade de conversar com os mais diversos clientes durante o meu dia a dia como consultor onde tenho conversado com clientes de todos os tamanhos, dos pequenos aos grandes e todos tem sido unânimes pela adoção da plataforma pelo grande conjunto de funcionalidades e valor agregado ao projeto de software. O VSTS chegou em um grande momento do mercado, proporcionando a elevação do nível de qualidade nos projetos e  gestão com previsibilidade. Com o uso baseado em workflow e metodologia proporciona um amadurecimento  e profissionalização do desenvolvimento.

Sucesso em seus projetos. Comente esse artigo e não se esqueça de uma frase importante “Não tem que ser difícil”. Até a próxima!

Ramon Durães

Ramon Durães - Especialista em desenvolvimento de software e Microsoft Most Valuable Professional (MVP) em Visual Studio Team System. Realiza treinamentos de .NET Framework em empresas, consultoria em arquitetura de software e implantação de Visual Studio Team System. Palestrante nos principais eventos da Microsoft no Brasil (Tech-Ed 2005, Tech-Ed 2006, Tech-Ed 2007, Tech-Ed 2008, Tech-ED 2009), Microsoft Innovation Days 2007 (Salvador, Brasília, Recife, Goiânia, Natal, Maringá), Microsoft Innovation Days 2009 (Salvador) , Campus Party Brasil 2009 e eventos regionais relacionados a grupos de usuários e universidades. Conhecido autor de artigos para os principais portais de conteúdo e autor de 10 publicações eletrônicas em CD (Video-Aula) pela editora Linha de Código além dos livros "Desenvolvendo para web usando o Visual Studio 2008" e "Gerenciando projetos de software usando Visual Studio Team System" pela editora Brasport. Pode ser encontrado em seu blog http://www.ramonduraes.net e @ramonduraes no Twitter.