Gerência - Ciclo de Vida de Desenvolvimento

Série - Visual Studio Team System na prática - Criando o primeiro projeto

O Objetivo desta série é trazer até você, exemplos de “como se faz” na prática muitas das operações do dia-a-dia de todos os envolvidos no ciclo de desenvolvimento de software.

por Marcus Garcia



O Objetivo desta série é trazer até você, exemplos de "como se faz" na prática muitas das operações do dia-a-dia de todos os envolvidos no ciclo de desenvolvimento de software. Do Gerente de Projetos até o usuário final, utilizando recursos disponíveis no "eco sistema" do TS.

No Primeiro artigo da série (Preparando o ambiente de trabalho (Servidor) http://www.linhadecodigo.com.br/colunas.asp?id_colunista=130) instalamos o Team Foundation, vamos agora começar a utilizá-lo, mas antes, precisamos entender o cenário de nosso exemplo:

Cenário

A empresa XYZ necessita vender seus produtos em um novo canal de vendas, o canal escolhido foi a web, portanto, para que essas vendas ocorram, de forma organizada e segura será criado um site de e-commerce.

Nota: Nessa etapa, não vamos programar, vamos administrar as necessidades e criar a estrutura necessária para dar inicio ao projeto do ponto de vista dos Stakeholders(1)

(1) Definição: Conforme o Wikipedia, Stakeholder, é uma referência à todos os envolvidos em um projeto de alguma forma. Por exemplo, cliente, equipe de projeto, acionistas, funcionários, fornecedores, etc. Pode-se utilizar, também, o termo "parte interessada". http://pt.wikipedia.org/wiki/Stakeholder.

A empresa XYZ, possui equipe composta por: 1 Gerente de Projetos, 2 Arquitetos (1 de infra-estrutura e outro de desenvolvimento), 5 Desenvolvedores e 2 Testers, além é claro de mais 10 Beta testers da própria empresa.

A empresa XYZ não costuma utilizar metodologia de desenvolvimento e sim, um apanhado de técnicas no melhor estilo "King of the Jungle" que conheçemos.

A empresa XYZ quer aproveitar alguns desenvolvedores que trabalham em outras filiais da empresa nesse mesmo projeto de e-commerce, ou seja, que acessem remotamente o projeto.

A empresa XYZ quer que seus Stakeholders(1) recebam informações On Line de todos os acontecimentos no projeto.

Portanto, são vários requisitos que até pouco tempo atrás eram praticamente impossíveis de atendê-los em um único Software.

Nossa proposta para o Cliente XYZ:

Criar um projeto no Team System utilizando a metodologia MSF Agile (leia sobre MSF Agile em: http://msdn.microsoft.com/vstudio/teamsystem/msf/msfagile/) , com base no template que se encontra na base do Team Foundation, controlaremos o projeto no novo Source Safe que foi totalmente redesenhado a partir do ZERO para o Team System que provê entre outras coisas, acesso remoto ao projeto via http e para que todos se mantenham informados, quanto ao andamento do projeto, o Project Site(2) e a utilização de Work Itens(3) serão fundamentais para os Stakeholders(1).

(2) Definição: Project Site: É o Portal do Projeto, nele você encontra todas informações refentes a tudo que esta acontecendo em seu projeto bem como relatórios, tarefas pendentes e etc.

(3) Definição: Work Itens : trata-se de um dos principais recursos da ferramenta. Através dele, podemos definir regras a um item, por exemplo: Método de teste para ser efetuado antes de um Check-out no projeto. Maiores informações consulte: http://www.linhadecodigo.com.br/artigos.asp?id_ac=547.

Criando o projeto

Abra o Visual Studio 2005, vá para File/New/Team Project, lembre-se o Visual Studio 2005 é o Client do Visual Studio Team Foundation.

Escolha um Servidor com Team Foundation Server instalado e clique ok.

Digite um nome para o Projeto e descreva-o, essas informações aparecerão depois do projeto criado no Site do Projeto depois click em Next.

Escolha o método de desenvolvimento MSF Agile e clique em Next

Agora especifique o local do controle de versão. Faça sua opção e clique em Next.

A partir desse momento o TS inicia o processo de criação do seu projeto.

Logo após você receberá a tela de término de criação do projeto, nela você poderá ver os Logs de instalação se quiser ou clicar em Close para finalizar o processo.

E na seqüência você verá um verdadeiro tutorial sobre MSF Agile, abrangendo conceitos, operações, regras e etc.

Administração básica

Após a criação do projeto é preciso definir as permissões do mesmo (somente leitura, escrita, publicação, criação e execução de builds e etc.)

Vá para a guia Team Explorer, clique com o botão direito sobre o seu projeto. Escolha Team Project Settings e na seqüência um dos Itens:

- Groups
- Permissions
- Classifications
- Source Control

Groups

Nesse opção, podemos definir grupos, assim como fazem os Administradores de redes para o Active Directory os usuários que fazem parte de um determinado grupo herdar as permissões escolhidas para o mesmo.

Clicando em Properties (figura anterior), temos condições de adicionar os usuários do grupo escolhido. Note que esse usuário pode ser de sua rede local ou um outro Team Foundation Server Group.

Permissions

As permissões podem ser dadas tanto a grupos como a usuários isolados. Entre essas permissões podemos encontrar:

- Administrar um build
- Apagar resultado de testes
- Apagar este projeto
- Editar status de builds
- Editar informações do projeto
- Publicar resultado de testes
- Iniciar / terminar um build
- Visualizar informações do projeto
- Escrever Builds

Classifications

Defina o modelo Hierárquico do projeto e quem tem acesso e a quais partes.

Source Control

Multiplos Checkouts? Já vem por padrão habilitado. Defina regras para Chekin como Análise de código, Testes, Work itens e etc. Defina-os como requeridos ou não, crie suas próprias regras. No policy Editor é possível você definir regras para todo o projeto

O Portal do Projeto

Sempre que criamos um novo projeto no Team System, um novo portal baseado no Share Point Server também é criado. Nesse portal podemos encontrar todas as informações pertinentes ao projeto. O mesmo serve para relatar problemas, exibir relatórios e distribuir informações para os times envolvidos no projeto.

Conclusão

Uma das grandes vantagens na utilização do Visual Studio Team System é a possibilidade de manter todos os envolvidos no projeto, desde o patrocinador (cliente) até o tester, totalmente informados com relação aos últimos acontecimentos.

Grande abraço.

Marcus Garcia

Marcus Garcia - Foi Microsoft MVP entre 2004 a 2009, faz gestão de Desenvolvimento de Software na Submarino (Grupo B2W), é autor de inúmeros artigos técnicos e livros, além de ter proferido treinamentos e palestras por todo o Brasil. Atualmente, um dos sócios do Centro de Treinamentos Profissionais Actiongroup (www.actiongroup.com.br) . Pode ser encontrado pelo e-mail marcus.garcia@actiongroup.com.br ou pode ser seguido pelo @marcusgarcia