Gerência - Ciclo de Vida de Desenvolvimento

MSF Essentials e MSF Agile

Resumidamente, MSF Essentials e MSF Agile são muito parecidos em sua essência. Se não houvesse o momento histórico da aliança ágil em 2001, provavelmente o MSF continuaria sendo uma proposta metodológica de vanguarda sem ter explicitamente em seu título a palavra ágil.

por Fabio Camara



Um pouco da história do MSF
Criada em 1993, desde esta época foi considerada uma metodologia de vanguarda pelos seguintes princípios: _“Para criar sistemas rapidamente e atender a necessidades de negócio estratégicas, SDD (Software Development Discipline) sugere manter o cronograma e fazer com que a data de entrega seja um objetivo para a equipe de projeto”. Isto às vezes significa que grandes idéias ou requisitos opcionais recebem uma prioridade menor do que o cronograma de entrega. O projeto inteiro é gerenciado do início ao fim para acomodar esta realidade. Pensando desta forma, estamos valorizando mais o tempo combinado do que o escopo combinado. Isso é o inverso do que pregam metodologias tradicionais e o PMI – Project Management Institute.


Imagem 1 – Visão tradicional de gestão de projetos, onde o escopo é o aspecto mais importante e deve ser o mais congelado possível e o tempo é o aspecto mais flexível.

Para atingir este objetivo de atender no prazo, o cliente e a equipe de projeto devem ter a “Atitude Mental de Produto”. Entenda-se atitude mental como forma de pensar e forma de agir sobre determinado assunto. A primeira entrega de um novo sistema é uma “baseline” ou linha de base inicial para o produto. Novas versões vão existir. Requisitos não incluídos na primeira versão serão registrados e priorizados para serem incluídos em versões subseqüentes. Isto é feito usando-se um banco de dados para registrar e acompanhar idéias, requisitos, e problemas. O banco de dados deve incluir o seguinte:

Os requisitos priorizados identificados na especificação funcional. Desta maneira, a equipe de desenvolvimento se mantém focada nos requisitos de maior prioridade, enquanto decisões com critérios objetivos podem ser feitas com relação ao que deve ser incluído ou não na versão em andamento. E também quaisquer requisitos que não foram incluídos na versão corrente podem ser capturados e guardados para uma versão posterior.

Boas idéias que surjam durante o planejamento e desenvolvimento. Se estas idéias estiverem fora do escopo da declaração de visão para a versão atual, elas são capturadas para assegurar que sejam consideradas em uma versão posterior.

Problemas críticos e não-críticos na versão final são capturados de modo que possam ser priorizados e resolvidos na versão seguinte.

Desta forma estabelecemos foco total no produto como a atitude mental mais importante do MSF, considerando o tempo como o aspecto que deve ser constante.


Imagem 2 - Visão ágil de gestão de projetos, onde o tempo é o aspecto mais importante e deve ser o mais respeitado possível e o escopo é o aspecto mais “negociável”.

Com esta mentalidade e baseado em práticas de sucesso pesquisadas em parceiros, nos times internos de produtos e na divisão de serviços da Microsoft chamada Microsoft Consulting Services, formaliza-se o MSF – Microsoft Solutions Framework.

Ao longo do tempo o MSF já se chamou: MDF (Microsoft Development Framework) e PCM (Product Cycle Model). Na minha leitura o nome se consolidou como MSF após o livro Microsoft Secrets de Michael Cusumano (1995). A história de própria Microsoft e do MSF se misturam, pois eu considero MSF como a “atitude mental da Microsoft” para seu modelo de negócios.

Apesar de eu ter começado a usar MSF em 1999, na versão 2.5, que particularmente foi uma das melhores versões de MSF que já existiram, no Brasil o MSF começou a ser praticado depois que criou-se os exames de certificação em meados de 2002. Primeiramente o exame era gerenciado pelo grupo do MSF e o título obtido chamava-se MSF Practitioner. Depois o exame foi incorporado ao Microsoft Learning Center e passou a ser uma prova de certificação convencional que habilita o candidato aprovado como Microsoft Certified Professional.

Nesta época, em torno de 2003, muitas pessoas me perguntavam se existia alguma ferramenta para se utilizar na automação do MSF como metodologia em um ciclo de desenvolvimento de software. A ferramenta foi oficialmente lançada em 2005 e chama-se Visual Studio Team System. A partir da ajuda da ferramenta para utilizarmos o MSF, foram criadas duas instâncias derivadas do que chamamos MSF core versão 4.0, estas instâncias são:

MSF for Agile Software Development – modelo indicado se seu projeto pode ser realizado com um mínimo de pontos de checagem, maximizando a interação com o cliente e a velocidade de desenvolvimento

MSF for CMMI Process Improvement – modelo indicado se seu projeto necessita de documentar os passos dados durante o processo de desenvolvimento para ser compatível com CMMI nível III.

O MSF Agile
Na minha visão pessoal, utilizar o Visual Studio Team System com MSF Agile é uma opção ímpar contra os modelos baseados em “waterfall model” ou “scope management”. Permita-se experimentar e desfrute de resultados diferentes.

Fabio Camara

Fabio Camara - MVP VSTS, MCT, MCP, MCSD, MCTS, MCPITP, MCPD, MSF Practitioner, Certified SCRUM Master, Certified ITIL Foundations. Escreveu mais de 15 livros nesta última década. Atua como consultor de produtividade em desenvolvimento de projetos e professor de disciplinas ágeis de engenharia de software. Pode ser localizado no site http://www.fcamara.com.br.