O desenvolvimento de um produto de software em conjunto já não é mais novidade em nenhum mercado. Falar, hoje em dia, de Rapid Application Development (RAD) e Integrated Development Environment (IDE) também já não traz mais novidade, pois já temos ótimas ferramentas como o Visual Studio 2008 que usa toda a tecnologia para oferecer grande produtividade no desenvolvimento de software e mais precisamente na codificação. Com a plataforma .NET Framework também consolidamos outra dúvida comum que era a escolha da linguagem de programação. Lá no passado eu escutava muito dos amigos a conhecida frase "A minha linguagem de programação é melhor que a sua". Conforme você vem acompanhando o mercado essa também já é uma afirmação bem ultrapassada.
O mercado hoje já está consolidado com os padrões disponíveis que já oferecem ampla segurança do ponto de vista de tecnologia. Agora chegou o momento de usar a tecnologia para facilitar não somente a codificação, mas incorporar todo o ciclo de desenvolvimento, pois só assim será possível alcançar um produto com qualidade no prazo e no tempo exigido pelo mercado desviando dos já conhecidos problemas ligados aos casos de insucesso na entrega de projetos de software tão relatados em diversas pesquisas realizadas pelo Standish Group (www.standishgroup.com) sobre o histórico dos projetos ao longo dos últimos 10 anos, conforme você pode ver na figura 01 onde apenas cerca de 30% dos projetos são considerados sucesso.
Figura 01 - Standish Group, 2004 Third Quarter Research Report, CHAOS Research Results
Conforme você pode observar na figura 01, os números são alarmantes e representam também a nossa realidade, inclusive no Brasil. É um fato claro que está mais barato desenvolver software hoje, no entanto entregar com sucesso tem sido cada vez mais um grande desafio.
Com foco nessa grande demanda do mercado pela profissionalização do ciclo de desenvolvimento que desde 2005 a Microsoft passou a investir no mercado de Application Lifecycle Management (ALM), com o lançamento da plataforma de Visual Studio Team System (VSTS).
A plataforma do Visual Studio Team System (VSTS) é ofertada como uma solução baseada em um conjunto de produtos que trabalham juntos e integrados para proporcionar a gestão do ciclo de vida de uma aplicação, oferecendo suporte para todo o ciclo de desenvolvimento envolvendo todas as áreas e papéis relacionados em um projeto de software tais como:
Com uma solução integrada oferecida pelo Team System você terá os mecanismos necessários para vencer os principais desafios em um projeto de software como: colaboração, qualidade, prazos e acompanhamento.
Com o modelo de gestão para o ciclo de desenvolvimento oferecido pelo Visual Studio Team System que trabalha em conjunto com a sua metodologia de desenvolvimento, você terá mais um grande aliado no seu projeto possibilitando de forma integrada grandes resultados que são muito difíceis de se alcançar de forma manual devido aos diversos desafios no dia a dia desenvolvendo software.
É muito importante você ter em mente que plataforma de Application Lifecycle Management (ALM) não é simplesmente uma ferramenta para salvar seu código fonte como tenho observado alguns clientes que confundem o Visual Studio Team System (VSTS) com o Visual Source Safe (VSS). O simples fato de armazenar o seu código fonte com as ações de Check-In e Check-Out você consegue tranquilamente com as principais ferramentas do mercado de Source Control, e não é essa a proposta de uma solução de ALM.
Para ter resultados numa plataforma de ALM é necessário projetar a implantação pensando em todo o ciclo de desenvolvimento do seu projeto de forma que possa usar a plataforma de forma estratégica e tenha total aderência com as características do seu projeto.
Nos últimos 12 meses tenho tido uma grande oportunidade de conversar com um grande número de clientes e avaliar seu processo de desenvolvimento para alinharmos uma estratégia de implantação do Visual Studio Team System, e estamos tendo um índice de satisfação de 100% ou mais se fosse possível registrar. O grande fato que quero registrar é que o VSTS oferece um modelo sólido para os mais variados tamanhos de projetos permitindo criar uma personalização para atender clientes pequenos, médios e grandes, respeitando as diferenças de cada cliente.
Eu me recordo de um cliente que relatou que conseguimos provocar "lágrimas" nós olhos dele pela tamanha satisfação e alcance de seus objetivos. Comentou ainda que por diversas vezes avaliou várias soluções, mas nenhuma chegou tão próximo do seu modelo de negócio como o Visual Studio Team System.
Esses momentos com os clientes são de grande importância, pois passamos a investir na plataforma desde 2004 internamente. A partir de 2005, com o lançamento oficial para o mercado, começamos a ofertar para os clientes. E nada melhor que trazer esse grande feedback de quem realmente acaba por usar a plataforma no seu dia a dia.
Para você ter uma idéia do potencial oferecido pelo Visual Studio Team System gostaria de lhe convidar a observar a figura 02.
Figura 02 - Visual Studio Team System
Nós temos uma estrutura divida em algumas camadas que poderíamos separar conforme as seguintes visões:
O principal componente da nossa solução é o Team Foundation Server (TFS), conforme você pode conferir na figura 03, que se encarrega de coletar todas as informações durante o ciclo de desenvolvimento. 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 TFS é o provedor de informações coletando dados e sumarizando para exibir por meio de relatórios estratégicos para acompanhamento do projeto. Tenha em suas mãos o controle sobre o código fonte de forma integrada usando 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 com toda arquitetura baseada em Web Services.
Figura 03 - Visual Studio Team System
Você ainda pode observar na figura 03 os diversos recursos oferecidos por cada versão presente na solução: Achitecture Edition, Development Edition, Test Edition, Database Edition
A idéia é você utilizar a versão do Team Edition de acordo com o seu papel no projeto. E para complemento temos a versão Visual Studio Team Suite que já engloba toda as versões anteriores.
Hoje em dia, independente do tamanho da empresa, sendo ela pequena ou média ou grande, em algum momento já deve ter sido levantada a bandeira da terceirização dos projetos de desenvolvimento ou parte deles. Nós temos cenários em clientes que possuem 09 fornecedores para desenvolvimento e o que poderia ser de imediato uma grande facilidade acaba necessitando de uma série de critérios para o devido acompanhamento.
Com a plataforma de Visual Studio Team System você agora tem mecanismos eficientes para gerenciar os fornecedores externos fazendo com eles sigam os padrões de desenvolvimento do seu projeto permitindo acompanhar a qualidade do projeto e todas as entregas.
Por mais que tentemos padronizar os processos e tecnologias, acabamos de ter que manter muitos projetos desenvolvidos em plataforma legadas e que ainda demandam muitas ações para manutenção e modificações relacionadas. Você poderá utilizar o Team Foudantion Server para armazenar também esses projetos usando próprio plug-in oferecido pela Microsoft ou conectores oferecidos por terceiros.
Para você que vive o dia a dia desenvolvendo software deve saber muito bem o que é encontrar uma alteração "desconhecida" em um bloco de código. A primeira pergunta básica é quem mudou e logo em seqüência o porquê dessa mudança. Eu posso dizer para você que seus problemas acabaram pois com o Annotate você tem agora essa informação para auditar seu código a qualquer momento com transparência e sem complicações vai identificar a pessoa que mudou, todos os arquivos relacionados a essa mudança e quem fez essa solicitação de mudança conforme pode observar na figura 03.
Figura 04 - Annotate
Se produzir um produto com qualidade é desejo de todas as empresas do mercado, para o Visual Studio Team System é a uma prioridade. Quem nunca recebeu uma ligação de um cliente reclamando que fez o primeiro teste na aplicação e encontrou um problema? Tenho certeza que você deve ter respondido que na sua maquina funciona. Falando assim até parece que é uma piada, mas é um assunto muito sério que afeta um grande número de projetos. Como pode você pode garantir que os testes realizados estão cobrindo todo o código? Para essa e outras dúvidas que temos todo um conjunto de ferramentas integradas do VSTS com o objetivo de trabalhar em cima da qualidade cobrindo desde registro de bug, realização de testes unitários, funcionais, de carga, manuais, cobertura de código e muito outras ferramentas que possibilitam ao profissional agora ter mecanismos eficientes para atuar na qualidade do projeto. Confira na figura 04 um exemplo de relatório de cobertura de código após a realização de um teste unitário.
Figura 05 - Code Coverage
Analisando a figura 04 você pode observar na cobertura de código que quando o seu cliente estava reclamando ele realmente tinha razão. Você estava entregando um bloco de código que jamais estava sendo testado conforme indicado pela seta.
O banco de dados tornou-se um dos maiores parceiros das aplicações. Com a solução de Visual Studio Team System você vai estender a mesma gestão no desenvolvimento do código fonte para o desenvolvedor de banco de dados / DBA que agora trabalharam juntos usando poderosos recursos cobrindo desde controle de versão até qualidade dos objetos do banco de dados. Dentre os principais recursos podemos citar:
Conhecer mais da plataforma do Visual Studio Team System sempre procurando relacionar com as necessidades do dia a dia do seu projeto. É muito importante fazer um levantamento interno em seu projeto de como o mesmo está hoje e quais serão os passos nos próximos anos. Perguntas simples conforme o pequeno questionário abaixo já pode ser o primeiro passo:
Investir em uma plataforma de Application Lifecycle Management como o Visual Studio Team System só vem a potencializar o desenvolvimento de seus projetos pelo grande número de recursos oferecidos destinados à gestão estratégica e colaboração. Com um modelo simplificado de trabalhado você terá à disposição grandes resultados e uma aderência do seu modelo de trabalho. Enxergue hoje o VSTS como a plataforma base para todos os projetos de software independente da tecnologia utilizada de forma a permitir um único modelo de gestão em todo seu ciclo de desenvolvimento.
Standish Group Report: There´s Less Development Chaos Today
http://www.sdtimes.com/content/article.aspx?ArticleID=30247Por que você precisa do Visual Studio Team System
http://blogs.2pc.com.br/ramonduraes/archive/2008/09/02/por-que-voc-precisa-de-visual-studio-team-system.aspxWorkshop Visual Studio Team 2PC Professional Consulting
http://www.2pc.com.brGerenciando projetos de software com Visual Studio Team System
http://www.2pc.com.br/mkt/cd/
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.