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.
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.
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”.
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.
- 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