Uma introdução ao MSF - Microsoft Solutions Framework - e por que ele não conflita com o RUP ou CMMI
O MSF (Microsoft Solutions Framework) tem sido usado pela Microsoft como o seu “método” para desenvolvimento de soluções de software dentro da Microsoft e também para os milhares de clientes e parceiros da Microsoft em todo o mundo.
A disseminação deste método, agora na versão 4.0 no Visual Studio 2005, normalmente induz as pessoas a compará-lo com outros “métodos” da indústria, como o RUP, CMMI ou XP, entre outros. É importante entender, entretanto, o que são estes elementos antes de compará-los.
O MSF, por exemplo, não é um processo de software (de acordo com a própria Microsoft). Ao invés, o MSF é um conjunto de boas práticas provadas em projetos da Microsoft e em seus parceiros e clientes. Por exemplo, a MSF é agnóstica do uso de técnicas de análise essencial ou análise orientada por objetos ou do uso da UML ou outra linguagem de notação. A MSF pode ser rapidamente entendida através de seus oito princípios fundamentais, que são:
- Manter a comunicação aberta.
“Schedule disaster, functional misfits, and system bugs all arise because the left hand doesn’t know what the right hand is doing…. How, then, shall teams communicate with one another? In as many ways as possible.”, Frederick P. Brooks, Jr.
- Trabalhar com uma visão compartilhada.
“Before the project gets rolling, a team needs to buy in to a common vision. Without such a shared vision, high-performance teamwork cannot take place. A study of 75 teams found that in every case in which the team functioned effectively, the team had a clear understanding of its objective.”, Steve McConnell
- Fornecer mais poderes aos membros do time.
“On the best teams, different individuals provide occasional leadership, taking charge in areas where they have particular strengths. No one is the permanent leader, because that person would then cease to be a peer and the team interaction would begin to break down. The structure of a team is a network, not a hierarchy.”, —Tom DeMarco and Timothy Lister
- Estabelecer responsabilidades compartilhadas.
“Each [team] member’s relationship to the team must be defined in terms of the role to be assumed and the results the role is to produce. Eventually, any team effort boils down to the assumption of individual responsibilities and accountabilities.”, Carl Larson and Frank LaFasto
- Focar na entrega de valor no negócio.
“Experience had taught Thomas Edison to combine commercial and technical considerations. The ‘electric vote recorder,’ the first invention for which Edison received a patent, tallied votes quickly and was intended for use within legislatures. But when he approached a congressional committee about sales, the committee chairman told him, ‘Young man, that is just what we do not want.” (It would infringe on the sacred institution of the filibuster.) His machine was never produced, and he resolved not to devote his attention to the invention of anything
that lacked ‘commercial demand.’”, Randall E. Stross - Manter a agilidade e esperar mudanças.
“Agile managers understand that demanding certainty in the face of uncertainty is dysfunctional. They set goals and constraints that provide boundaries within which creativity and innovation can flourish.”, Jim Highsmith.
- Focar em qualidade continuamente.
“Quality improvement is a never-ending journey. There is no such thing as a top-quality product or service. All quality is relative. Each day, each product or service is getting relatively better or relatively worse, but it never stands still.”, Tom Peters.
- Aprender com a experiências passadas
“Those who do not remember the past are condemned to repeat it.”, George Santayana
Estes princípios são universais e podem sem dúvidas ser aplicados ao RUP, CMMI, XP, PSP ou qualquer outro modelo.
O MSF conta hoje com duas personalizações; o MSF Agile (para projetos com menos rigor de processo) e o MSF CMMI (para empresas aderentes à praticas do CMMI).
O MSF ainda apresenta na sua estrutura os seguintes conceitos:
- Modelo de Times - Uma estrutura de papéis e as suas responsabilidades dentro de um projeto. O MSF define seis papéis centrais em uma estrutura de rede (não hierárquica!): Gerente de Produto, Gerente de Projeto, Desenvolvedor, Testador, Gerente de Implantação, Gerente de Usabilidade e Eficiência de Usuários.
- Modelo de Processos - Uma estrutura de organização de atividades nos ciclos de vida de um projeto
- Disciplina de Gerência de Riscos.
- Disciplina de Gerência de Projetos
- Disciplina de Gerência de “Readiness” (Foco no reuso de conhecimento e habilidades para prover soluções de software).
A estrutura de times do MSF, o modelo de processo e suas disciplinas são descritos nos documentos oficiais da Microsoft sempre como um conjunto de boas práticas, guias de orientação e aplicação e não como um processo prescritivo e dogmático de software. Dito isto, podemos definir e comparar o MSF, RUP e CMMI brevemente.
- MSF: Conjunto de boas práticas para desenvolvimento de software.
- RUP: Framework de processo de software.
- CMMI-Dev: Modelo de avaliação de maturidade no desenvolvimento de software.
Um comparação sobre o MSF e RUP pode ser encontrada no artigo a seguir daRational Edge - MSF and RUP.
Mais informações sobre o MSF podem ser encontradas no site oficial do MSF da Microsoft, disponível aqui.
| Enviar por e-mail | Hits para esta publicação: 1665
3 respostas para “ Uma introdução ao MSF - Microsoft Solutions Framework - e por que ele não conflita com o RUP ou CMMI ”
Deixe uma resposta.
Rational Buzz Brasil esta quebrado e isso dificultou a visão da diferença entre eles.Por exemplo os diagramas da UML com rup são diferentes do MSF?
Obrigado, Roger. Já corrigi o link.
Sobre a sua dúvida, o MSF não preconiza a linguagem UML como mandatória, diferentemente do RUP. Entretanto, você pode usar a UML e todos os seus diagramas ao implementar a MSF na sua empresa.
Olá Marco.
Trabalho em uma empresa que é parceira Microsoft e está em processo de maturidade MPS.BR o modelo que ela utiliza é o MSF para desenvolver os software. Tenho muitas dúvidas acho este modelo muito complexo e cheio de atividades. Estou atuando como gerente de projeto. Gostaria de saber como encontrar um maneira de compreender o modelo que é iterativo e não em cascata, visto que sempre trabalhei desta maneira.
Me ajude a criar um estudo de maneira que me auxilie a compreender este modelo MSF para aplicar nos projetos da empresa.