O documento descreve o Microsoft Solutions Framework (MSF), um conjunto de processos, princípios e modelos para o desenvolvimento de software. O MSF inclui um modelo de time com seis papéis, modelos de processo iterativos e quatro fases: Envisioning, Planning, Developing e Stabilizing. O objetivo do MSF é aumentar as chances de sucesso dos projetos de desenvolvimento de software.
2. Microsoft Solutions Framework 1 / 20
Introdução
O modelo de processo MSF originou-se em 1994 como
um conjunto de boas práticas compiladas pela Microsoft
para desenvolver aplicações e em serviços de consultoria.
Tem evoluído no sentido de combinar princípios mais
eficazes de outros populares modelos de processos em um
único modelo.
3. Microsoft Solutions Framework 2 / 20
O que é?
Um conjunto de processos, princípios,
modelos e boas práticas que contém uma
série de direcionamentos voltados para o
aumento das chances de sucesso durante o
Ciclo de Vida do Desenvolvimento de
Software.
4. Microsoft Solutions Framework 3 / 20
Microsoft Solution
framework
Um projeto MSF é regido por ciclos ou iterações.
A cada ciclo, cada componente da equipe executa suas funções e atualiza
o resultado do seu trabalho conforme a necessidade.
Os ciclos se repetem até que o projeto seja concluído ou cada versão seja
lançada.
A Microsoft não classifica o MSF como uma metodologia, mas sim como uma
disciplina.
5. Microsoft Solutions Framework 4 / 20
Microsoft Solution
framework
O MSF não se aprofunda em detalhes. A falta de detalhes pode
parecer uma deficiência a princípio, mas essa característica permitiu
uma abordagem simples e direta das técnicas apresentadas.
Exemplo:
MSF diz que você terá que fazer uma especificação funcional.
Porem não define se você deve usar UML, análise essencial ou outras
técnicas.
6. Microsoft Solutions Framework 5 / 20
Princípios da MSF
Foco no negócio: Entender porque o projeto existe da perspectiva do negócio
e como este valor é medido.
Comunicação: MSF aconselha a comunicação aberta em toda a equipe,
clientes e outros componentes do time.
Visão de projeto compartilhado: O processo de compartilhamento de visão
de projeto é especificado no início do projeto. Na criação desta visão o time se
comunica no intuito de identificar e resolver conflitos e resolver visões
enganosas. Isto permite definir a direção do projeto.
Esclarecer as responsabilidades compartilhadas: Todo o time compartilha
várias responsabilidades para ensinar ao time e seu relacionamento aos
respectivos stakeholders.
7. Microsoft Solutions Framework 6 / 20
Princípios da MSF
Mais poderes aos membros do time: Baseado em time de pares MSF dá
poderes aos membros do time por ter que atingir as metas e entregas,
aceitando o fato de terem as responsabilidades compartilhadas por tomar
decisões, direções quando necessário.
Agilidade: As iterações do ciclo de vida do modelo de processo habilitam
ajustes de cursos para a entrega do projeto.
Investimento em qualidade: todo o time é responsável por balancear os
custos, e funcionalidades para preservar a solução em qualidade e assegurar a
qualidade. Membros do time precisam construir qualidade em todas as fases
até o sucesso da solução e a organização deve investir educação,
treinamento, e experiência.
Aprender com todas as experiências: Dados que a maior causa de falha são
praticamente os mesmos, as organizações de TI não aprendem com as suas
falhas de projeto. O MSF engloba o conceito de contínuo crescimento baseado
em aprendizado individual e de time.
8. Microsoft Solutions Framework 7 / 20
Modelos MSF -
Modelo de time
Habilita a escalabilidade do projeto, identifica quem vai trabalhar durante
o projeto e linca cada time com um responsável.
O modelo de times é composto de seis papéis e se baseia no conceito de
“team of peers”, ou seja, todos estes papéis se comunicam entre si e não
existe uma hierarquia direta entre eles.
O princípio básico deste modelo é que cada um desses papéis aborda um
objetivo importante para o projeto. Por isso todos os papéis devem estar
representados e poder comunicar-se entre si, além de participar das decisões
de projeto.
9. Microsoft Solutions Framework 8 / 20
Modelos MSF -
Modelo de time
Modelo de Equipe
Papel Responsabilidade Objetivo
Product Management Representar o cliente para a equipe e vice-versa Satisfação do cliente
Program Management Gerenciar o andamento do projeto e atuar como Manter prazo e custo dentro do
um facilitador estimado
Development Projeto e construção da solução Atender à especificação do projeto
Testing Testar a solução Abordar os problemas antes da
entrega do produto
User Education Identificar as necessidades e treinar o usuário Otimizar a performance do usuário
Logistics Management Planejar e executar a logística necessária Garantir uma boa implantação e
manutenção
Papéis do modelo de equipe
10. Microsoft Solutions Framework 9 / 20
Modelos MSF -
Modelo de time
Exemplificando:
Ao longo do projeto o Product Manager pode identificar uma
funcionalidade de grande importância para o cliente, mas que não foi
especificada no início. Conversando com o Developer e Tester, foi identificado
que serão gastos mais 5 dias para implementação e testes desta
funcionalidade. User Education e Logistics não relataram impacto significativo.
O Program Manager, por sua vez, avaliará se este tempo adicional é
tolerável com base nos limites de verba e prazo. Caso contrário, a
funcionalidade pode ser postergada para outra versão, ou pode-se remover
alguma outra funcionalidade não prioritária.
11. Microsoft Solutions Framework 10 / 20
Modelos MSF -
Modelo de time
Fica claro que a boa comunicação
permite a rápida tomada de decisões sobre
o projeto, levando em consideração todos
os objetivos do mesmo, já que cada um
deles tem um responsável direto.
Um papel pode ser desempenhado
por várias pessoas ou uma pessoa pode
acumular mais de um papel. Algumas
combinações não são recomendadas, tais
como Program Manager e Product
Manager, pois em geral são conflitantes.
12. Microsoft Solutions Framework 11 / 20
Modelos MSF -
Modelos de processo
Consiste em séries curtas de ciclos de desenvolvimento e iterações. Este
modelo usa desenvolvimento iterativo rápido com a aprendizagem contínua e
refinamento.
Identificar: necessidades, o desenvolvimento de produtos, e os ensaios,
ocorre nas sobreposições de cada iteração, o que resulta em acréscimo mas
assegura um fluxo de valor do projeto.
Cada iteração tem um foco diferente e o resultado é uma porção estável
do sistema global.
13. Microsoft Solutions Framework 12 / 20
Modelos MSF -
Modelos de processo
O modelo de processos do MSF
prevê 4 fases : Envisioning,
Planning, Developing e Stabilizing.
Cada fase descreve um conjunto de
subprodutos que devem ser
entregues, assim como marcos que
devem ser atingidos e os respectivos
critérios de aceitação.
Modelo de processo
1 - Envisioning: documento de visão e escopo. Este documento formaliza de
forma sucinta a visão do que será o projeto. O marco de término desta fase é a
aprovação da visão por todas as partes envolvidas. Com base nesta visão é
tomada a decisão sobre a continuidade ou não do projeto.
14. Microsoft Solutions Framework 13 / 20
Modelos MSF -
Modelos de processo
2 - Planning: tem como produto o
plano do projeto, que é composto de
subprodutos, dos quais destacamos a
especificação funcional e o
cronograma da etapa de
desenvolvimento. Visão detalhada do
projeto, como prazos e recursos
necessários. Toda a execução do
projeto estará devidamente planejada.
Modelo de processo
3 - Developing: solução propriamente dita. Esta fase gerará diversas versões
intermediárias, que servirão como pontos de checagem e testes. O critério de
término desta fase é que o escopo esteja completo, ou seja, todas as
funcionalidades planejadas estejam implementadas.
15. Microsoft Solutions Framework 14 / 20
Modelos MSF -
Modelos de processo
4 - Stabilizing: Ela é dedicada a
testes sistêmicos e acertos de bugs e
de funcionalidades não adequadas a
necessidade do usuário. Novamente
são geradas várias versões (alfas e
betas). Ela termina quando existe um
consenso sobre a qualidade final do
produto.
Modelo de processo
16. Microsoft Solutions Framework 15 / 20
Gerenciamento de riscos
O que é um risco?
Risco não é um problema. Um problema que já ocorreu não é um risco,
mas um fato. Risco, na verdade, é algo que pode virar um problema no futuro
17. Microsoft Solutions Framework 16 / 20
Gerenciamento de riscos:
Exemplo
A possibilidade de incêndio devido a um ar-condicionado sem manutenção
é um risco. O processo de gerenciamento de risco procede como na tabela de
caracterização de riscos.
Caracterização de Riscos
Causa Consequência Probabilidade(1-3) Impacto (1-3) Exposição (P x I)
Mau funcionamento do ar Incêndio na 1 3 3 (= 1 x 3)
condicionado empresa
Percebe-se que foi utilizada uma escala de 1-3 para probabilidade e
impacto e criamos uma coluna de exposição, que é o produto de ambas. Isto
serve como um critério para ordenar e selecionar os riscos de maior exposição.
O passo seguinte é planejar como lidar com o risco. O ideal é evitar o
risco, logo um plano de prevenção é importante. Caso o risco não possa ser
evitado, se torna necessário um plano de contingência.
18. Microsoft Solutions Framework 17 / 20
Gerenciamento de riscos:
Exemplo
O nosso exemplo ficaria como expresso na tabela de plano de
contingência.
Plano de Contingência
Prevenção Contingência Gatilho Responsável
Manutenção preventiva do Ter um plano de evacuação Ao soar o alarme do Brigada de
aparelho do prédio detector de fumaça incêndio
As fases seguintes são as de acompanhamento do risco e pontos de
controle, onde riscos podem ter sido eliminados e novos riscos podem ter sido
identificados.
A fase de identificação de riscos é semelhante a um brainstorm: só
identifique, não analise; para os riscos de maior exposição (top 10), crie planos
de prevenção e contingência.
19. Microsoft Solutions Framework 18 / 20
Ferramentas MSF
A para se utilizar na automação do MSF como metodologia em um ciclo
de desenvolvimento de software chama-se Visual Studio Team System. A
partir da ajuda da ferramenta para utilizar 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.
20. Microsoft Solutions Framework 19 / 20
Conclusão
O MSF (Microsoft Solutions Framework) permite uma fácil compreensão,
além de ser bastante flexível em sua aplicação e suporta múltiplas
abordagens, sendo possível sua adaptação para apoiar qualquer projecto,
independentemente da sua dimensão ou complexidade.
21. Microsoft Solutions Framework 20 / 20
Bibliografia
REIS, Daniel da fonseca. Conceitos iniciais sobre o Microsoft Solutions Framework (MSF) para
Desenvolvimento Ágil de Softwares. 2012. Disponível em:
<http://www.devmedia.com.br/conceitos-iniciais-sobre-o-microsoft-solutions-framework-msf-para-
desenvolvimento-agil-de-softwares/10614>
Acesso em: 10 jun. 2012.
VIANNA, Mauro. Conheça o Microsoft Solutions Framework (MSF). 2012. Disponível em:
<http://www.linhadecodigo.com.br/artigo/78/conheca-o-microsoft-solutions-framework-msf.aspx>
Acesso em: 08 jun. 2012.
MENDES, Marcos. Uma introdução ao MSF – Microsoft Solutions Framework. 2011. Disponível em:
<http://marcomendes.com/blog/2011/08/uma-introducao-ao-msf-micrsoft-solutions-framework/>
Acesso em: 08 jun. 2012.
GERVAZONI, Thiago Pastorello.Introdução ao MSF – Microsoft Solutions Framework. 2012. Disponivel em:
<http://www.linhadecodigo.com.br/artigo/771/introducao-ao-msf---microsoft-solutions-framework.aspx>
Acesso em: 10 jun 2012.
Engenharia de Software - Metodologias de Desenvolvimento de Sistemas. 2010. Disponível em: <http://www.
professorgersonborges.com.br/site/pdf/apostila/Engenharia/Intru_Engenharia_Software.pdf#page=70>
Acesso em: 07 jun. 2012.
JESUS, Tânia Alves. MODELAÇÃO DE NEGÓCIO NO MSF VS RUP. 2005. Disponível em: <http://www.
iadis.net/dl/final_uploads/200508C024.pdf>
Acesso em 07 jun. 2012.