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ãesCom 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!
- Change Management ou a Gestão da MudançaMetodologias e Processos
- Integrando o Sub Version com o Visual StudioCiclo de Vida de Desenvolvimento
- Definição Ágil de User Stories – Toda história deve ter um início felizMetodologias e Processos
- Visual Studio Team System: mais qualidade aos times de desenvolvimento de softwareCiclo de Vida de Desenvolvimento
- EPM (Project Server) + ALM (Team System) = Maior controle em projetosMetodologias e Processos