Microsoft
Solutions
Framework
Albert José
Hiago Marques
Cláudio Barroso
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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
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
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.
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.
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.
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.
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.

Microsoft solutions framework

  • 1.
  • 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.