Team Foundation Server não é Source Safe

No inicio dos projetos de desenvolvimento cada pessoa trabalhava em seu projeto e assim ia tocando suas atividades. Com o passar dos anos mais pessoas passaram a fazer parte dos projetos e com isso surgiu à necessidade de compartilhar o código fonte entre os participantes de forma simultânea além de preservar versões anteriores.

Com essa breve introdução você entendeu a necessidade de qualquer solução de controle de código fonte do mercado como: Visual Source Safe, SVN, CVS e afins. Com o lançamento do Visual Studio Team System (VSTS) e do Team Foundation Server (TFS) em 2005 muita gente passou a chamar o Team Foundation Server de uma nova versão do Visual Source Safe. E esse pequeno grande engano que está me motivando hoje a bater esse papo com você para esclarecer essas principais dúvidas.

O Team Foundation Server é o servidor de colaboração para projetos de desenvolvimento de software e permite o acompanhamento de atividades, gestão de informações do projeto e código fonte de forma integrada ao ciclo de desenvolvimento (Application Lifecycle Management / ALM).

 image

O Team Foundation Server faz parte de uma grande plataforma de desenvolvimento e traz o conceito de gestão na administração do código fonte. Você terá políticas do projeto aplicadas diretamente no dia a dia do desenvolvimento fazendo com que um desenvolvedor seja obrigado a vincular uma tarefa a aquele novo código enviado no Check-In ou a rodar um teste unitário e até Code Analysis para padronizar o código fonte entre todos do projeto.

Como você aplicaria uma política hoje para padronizar o uso de comentários em todas as classes implementas? Para o caso do TFS basta configurar uma política de Check-In.

Como evitar que alguém mande um código quebrado e prejudique todos os outros desenvolvedores do time? Para o caso do TFS basta configurar uma política de Check-In.

O Team Foundation Server permite o desenvolvimento distribuído além de ser totalmente baseado em WebServices. Você pode ter pessoas trabalhando no projeto em qualquer lugar do planeta e gerenciadas da mesma forma. É uma solução muito útil para empresas que contratam desenvolvimento terceirizados e precisam acompanhar como andam as atividades do fornecedor externo.

Você tem um controle transacional baseado no banco de dados SQLServer que garante que o código enviado foi realmente salvo no banco de dados e traz um conceito de auditoria linha a alinha informando quem modificou e a justificativa da modificação.

Essa mesma integração é feita com o código do banco de dados o que vai permitir a você garantir o código de qualquer tabela, procedure, função voltando uma versão anterior e gerando uma versão especifica compatível com a sua aplicação.

Todo o andamento do projeto é acompanhado por meio de Work Items (Tarefas, Bugs, Pedidos de alteração, Requisitos e afins) e depois publicado por meio de cubos oferecidos no Analysis Services e consultados nos relatórios oferecidos ou customizados. Use o Project, Excel, Visual Studio, Web e qualquer outra ferramenta para trocar dados.

Integração continua faz parte do dia a dia com um servidor de Build integrado que permite inclusive usando o conceito de Gated Check-in que na pratica roda um build e barra um código que está introduzindo um novo bug cancelando o Check-In.

Já tenho alguns anos trabalhando em clientes com o Visual Studio Team System e conheço muito na prática os resultados reais para os clientes que adoraram esse tipo de plataforma para gerenciar seus projetos e não somente fazer uma cópia do código.

Todas as políticas modernas de configuração como: Check-In, Check-Out, Shelve, Label, Branch fazem parte do dia a dia dos projetos baseados no Team Foundation Server.
A proposta dessa plataforma é atender todos os projetos de desenvolvimento. Isso quer dizer que mesmo projetos em Java usando eclipse podem trabalhar integrados ao modelo de gestão do TFS.

Como estamos falando de Application Lifecycle Management (ALM) ter uma metodologia é outro requisito para o bom uso do TFS, pois é por meio dela que vamos defimir toda a comunicação do projeto. Isso quer dizer que você pode usar em projetos baseados no Scrum, MSF, CMMi, MPS-BR,SOX e muitos outros.

O Team Foundation Server é a plataforma definitiva para todos os projetos sejam eles pequenos ou grandes ou muito grandes. Você terá uma grande infra estrutura para agilizar o desenvolvimento do seu software. Continue esse assunto a comunidade VSTSBrasil.

O que você acha? Participe nos comentários e no twitter!

[],
Ramon Durães
MVP, Especialista em Visual Studio Team System
Ramon fica emocionado quando fala do VSTS. Os clientes também.
A 2PC oferece consultoria e treinamento em Visual Studio Team System