Visão geral da Microsoft Solutions Framework (MSF)

O Microsoft Solutions Framework (MSF) é uma abordagem adaptável que visa a entrega bem-sucedida de soluções de tecnologia com maior rapidez, número reduzido de pessoas e menor risco, possibilitando resultados de maior qualidade. O MSF ajuda as equipes a especificar diretamente as causas mais comuns de falhas em projetos de tecnologia, melhorando as taxas de sucesso, a qualidade da solução e o impacto nos negócios.

O MSF concentra-se em:

  • Alinhar os objetivos de negócios e de tecnologia

  • Estabelecer objetivos, funções e responsabilidades do projeto com clareza

  • Implantar um processo iterativo, baseado em etapas/pontos de verificação

  • Gerenciar riscos de forma proativa

  • Responder a mudanças de forma efetiva

Os principais elementos do MSF discutidos neste artigo são:

  • Os Princípios Fundamentais e as Mentalidades do MSF para orientar e direcionar as equipes e seus membros em relação a como trabalhar em conjunto para entregar uma solução

  • O Modelo de Equipe do MSF permite o redimensionamento dos projetos, garante que as equipes atendam a uma variedade de necessidades dos participantes e defina funções e responsabilidades baseadas em objetivos

  • O Modelo de Governança do MSF (formalmente chamado de Modelo de Processo do MSF) produz resultados rápidos e de alta qualidade por meio de um ciclo de vida de projeto comprovado e capaz de identificar as principais atividades do projeto

Os princípios fundamentais e as mentalidades do MSF

A essência do Microsoft Solution Framework (MSF) é formada pelos princípios e mentalidades que representam anos de experiência. Destilados em conceitos que se aplicam a vários modelos, processos e disciplinas do MSF, esses princípios e mentalidades representam a base do MSF. Embora sejam conceitos de senso comum, entendê-los e implantá-los corretamente pode ser um verdadeiro desafio. No entanto, depois de entendidos, a equipe será capaz de produzir produtos de qualidade em conjunto.

Princípios fundamentais

Os princípios e conceitos do MSF ilustrados abaixo visam orientar as equipes de projetos na entrega de soluções de qualidade. Todos os membros da equipe devem entender e aplicar esses princípios em suas interações com os outros membros, com a organização e com os participantes do projeto. A essência do MSF é composta por nove princípios básicos:

  1. Promover uma comunicação aberta. Para que a equipe seja efetiva e eficiente, você e sua equipe precisam compartilhar níveis apropriados de informações com os membros da equipe, bem como com toda a empresa. A equipe precisa entender a natureza das necessidades a serem atendidas e como os membros da equipe e os contatos externos se comunicam. A parte difícil é determinar um nível apropriado para cada relação e quais informações precisam ser compartilhadas.

  2. Trabalhar em busca de uma visão compartilhada. Ter uma visão compartilhada capacita os membros da equipe e lhes proporciona agilidade para que possam tomar decisões fundamentadas com rapidez para alcançar uma visão. Uma visão compartilhada também ajuda os membros da equipe a preencher as lacunas relacionadas a requisitos à medida que são descobertas.

  3. Capacitar os membros da equipe. Capacitar os membros da equipe não é só uma das muitas maneiras de sobreviver em um ambiente em constante mudança, mas os membros da equipe também devem aprender a encontrar maneiras criativas para serem bem-sucedidos e ajudarem uns aos outros. Se os membros da equipe não tiverem permissão para obter o seu melhor, além de terem sua criatividade diminuída, também sofrerão de falta de confiança e se sentirão incapazes de ajudar a criar uma equipe de alto desempenho.

  4. Estabelecer responsabilidades com clareza e de forma compartilhada. O membros da equipe capacitados geralmente se sentem mais responsáveis por suas decisões e são mais propensos a serem corresponsáveis por um projeto. Quanto maior for a responsabilidade do membro da equipe, maior será a qualidade obtida. Por exemplo, se um membro da equipe afirma ter concluído uma tarefa, mas o nível de qualidade apropriado não foi obtido, esse membro será responsável por corrigir a tarefa até alcançar os níveis de qualidade estabelecidos. Encorajar o crescimento positivo e a responsabilidade, em vez de punir tais lapsos, faz com que o membro da equipe compartilhe a responsabilidade pela solução global e por suas entregas. Isso incentiva os membros mais fortes de uma equipe a permanecerem motivados para ajudar os outros para que o melhor desempenho possível seja obtido.

  5. Entregar valor incremental. Há duas facetas na entrega de valor incremental:

    1. Assegurar que a entrega possua o valor ideal para os participantes.

    2. Determinar os incrementos ideais para entregar o valor ou a "frequência de entrega".

  6. Ficar em estado de alerta, prever e se adaptar à mudança. Uma vez que as mudanças podem ocorrer com frequência e no pior momento possível, a agilidade em respondê-las ajuda a minimizar as interrupções comuns causadas por elas. Ficar em estado de alerta significa que uma organização está pronta para a mudança e é capaz de se adaptar e se ajustar sem dificuldades.

  7. Investir na qualidade. Muitas organizações prezam pela qualidade – termo muitas vezes vagamente definido – mas pecam pela falta de compreensão de como quantificá-la. A qualidade é algo que deve ser incorporado de forma proativa no ciclo de vida da entrega da solução. Ela não acontece por acaso.

  8. Aprender com todas as experiências. Se todos os níveis de uma organização não conseguirem aprender com o que já foi feito e não funcionou, como será possível esperar melhorar da próxima vez? Os membros da equipe devem entender e reconhecer que a aprendizagem ocorre em todos os níveis:

    • Em nível de projeto, por exemplo, ao refinar um processo que abrange todo o projeto

    • Em nível individual, por exemplo, ao interagir melhor com os outros membros da equipe

    • Em nível organizacional, por exemplo, ao ajustar as métricas de qualidade coletadas para cada projeto

  9. Estabelecer parcerias com clientes internos e externos. É possível aumentar a possibilidade de sucesso quando o cliente trabalha em conjunto com a equipe do projeto. Isso não quer dizer que os clientes devem fazer o trabalho da equipe. No entanto, quando os clientes trabalham próximos e de forma incremental com a equipe de entrega, a solução obtida atende melhor às suas expectativas. A parceria com clientes traz benefícios mútuos, pois ajuda a reduzir a incerteza, diminui o tempo para solucionar dúvidas quanto a requisitos e aumenta a compreensão da equipe em relação às propostas de valor da solução por meio de contatos regulares.

Mentalidades

Enquanto os princípios fundamentais discutidos acima dizem respeito a como a equipe deve ser orientada para maximizar o sucesso, a orientação dos membros da equipe como indivíduos para maximizar seu sucesso é chamada de mentalidade. As mentalidades ajudam os membros da equipe a se aproximarem do atendimento à entrega da solução específica deles. O ideal é que os membros da equipe fiquem tão à vontade com as mentalidades que as usem no trabalho e fora dele. Alguns exemplos de mentalidades que todos os membros da equipe devem incorporar são apresentados abaixo:

  • Promover uma equipe de colegas. Se sua organização for capaz de incorporar os princípios fundamentais do MSF, especialmente em relação à capacitação e à responsabilidade, fará realmente sentido executar um projeto com uma estrutura de projeto hierárquica? Se todos conseguirem entender a missão e seus objetivos de modo a estabelecer uma visão compartilhada, funções e responsabilidades para a entrega de uma solução, todos agirão como colegas e poderão ser tratados sem diferenças. Não está sendo proposta uma anarquia ou o gerenciamento por uma comissão, mas sim que todos compartilhem a responsabilidade para entregar com êxito uma solução. Ao mesmo tempo que cada função é responsável individualmente por seus respectivos aspectos em um projeto, elas também são corresponsáveis pelo projeto como um todo. Como será possível ver, ainda existe uma função de Gerente de Programas, mas tal função se concentra na entrega de um projeto dentro das restrições existentes, e não no gerenciamento dos membros da equipe.

  • Concentrar no valor comercial. O sucesso é medido em termos de entrega de valor comercial. Isso não significa apenas entregar algo que os clientes precisam, mas sim o que desejam e valorizam. Para entregar valor, cada membro de uma equipe precisa entender o que os clientes consideram valioso. Deixar de fornecer aos clientes o valor comercial coloca um projeto em risco: o risco de se desviar do curso; o risco de desperdiçar muito tempo e dinheiro na direção errada; e até mesmo o risco de o projeto ser cancelado.

  • Manter a perspectiva da solução. Em função do tamanho e complexidade da maioria dos projetos, quando uma solução for vista pela ótica de suas partes acionáveis, os membros da equipe, por vezes, preocupam-se em detalhes tão pequenos que se esquecem de manter o foco na solução final. É por esse motivo que é dada tanta ênfase ao princípio de possuir uma visão compartilhada. À medida que os membros da equipe entregam suas partes, é preciso que relembrem a missão, os objetivos e a visão da solução como um todo. Muitas vezes, uma subequipe otimiza sua área, acreditando que estão agindo para o bem comum, mas descobrem que precisam refazer a maioria dos aspectos para se alinhar novamente à solução, uma vez que se concentraram em detalhes e perderam a visão global da solução.

  • Ter orgulho do trabalho realizado. Não apenas a equipe deve investir na qualidade, como os membros também devem se considerar tão responsáveis pela qualidade quanto os outros membros da equipe e, portanto, as responsabilidades não devem ser delegadas nem repassadas a ninguém. Em vez disso, a qualidade é responsabilidade de todos durante todo o ciclo de vida de entrega da solução. Essa mentalidade não apenas permite o aumento da qualidade em relação às entregas de um membro específico da equipe, mas também eleva a qualidade da aprovação do processo e da governança do projeto. Essa mentalidade também incentiva cada membro da equipe a expandir sua compreensão das habilidades necessárias para cumprir a missão como um todo. Ao prestar atenção em suas próprias qualidades e entregar o melhor que podem, os membros da equipe podem facilitar o aprimoramento contínuo no produto final.

  • Aprender de forma contínua. Às vezes, ter orgulho das habilidades que você e sua equipe possuem não é suficiente para cumprir o objetivo final. Os membros da equipe precisam aprender novas habilidades para se tornarem colegas melhores em sua equipe. Considerando que a maioria dos projetos, equipes e ambientes são únicos, todo projeto apresenta oportunidades de aprendizagem, experimentação e refinamento de habilidades, processos e procedimentos. Para aproveitar essas oportunidades, um processo contínuo de aprendizagem e adaptação deve existir em todos os níveis de uma organização, sem se limitar apenas aos membros da equipe.

  • Incorporar as qualidades de serviço. As qualidades de serviço (QoS) definem as características operacionais esperadas de uma solução, tal como o nível esperado de disponibilidade da solução. É essencial que os participantes e membros da equipe, e não apenas os arquitetos, compreendam as QoS e como o seu atendimento afeta as entregas. Caso contrário, provavelmente os participantes e os membros da equipe farão suposições implícitas em relação a como a solução deve se comportar. Como essas suposições raramente se alinham, cada membro da equipe precisará tomar decisões explícitas em relação ao projeto desde o início para garantir que as QoS sejam atendidas. Dessa maneira, suposições implícitas são convertidas em requisitos de QoS explícitos. E as QoS são desenvolvidas explicitamente em uma solução desde o início, e não tratadas como uma consequência.

  • Praticar a boa cidadania. Do ponto de vista do desenvolvimento de software, a boa cidadania significa ser confiável, honesto, responsável e respeitoso em todos os aspectos do trabalho. Isso inclui, entre outras formas, como você:

    • Interage com seus colegas de equipe, com uma organização ou com os participantes

    • Participa de um projeto e ajuda a entregar uma solução, incluindo ser o encarregado pela proteção de recursos corporativos, computacionais e de projeto. Isso inclui compartilhar, de forma aberta e voluntária, recursos, informações e conhecimento. Os bons cidadãos agem em prol de um bem maior e estão conscientes disso.

  • Cumprir os compromissos. Apesar das várias verificações e balanços incorporados, o MSF é executado com base na confiança e na capacitação, que são obtidas, em parte, pelos membros da equipe que cumprem seus compromissos. O MSF estabelece um ambiente no qual os membros da equipe e os participantes são capazes de confiar que seus colegas de equipe entregarão o que disseram que entregariam. Como um projeto é uma coleção de atividades interdependentes, quando um membro da equipe não cumpre seus compromissos, ele desequilibra e coloca em risco todo o projeto.

O Modelo de Equipe do MSF

O Modelo de Equipe do MSF segmenta atividades e responsabilidades típicas de entrega de solução em sete grupos de defesa. Esses grupos são interdependentes e multidisciplinares. Como representado na tabela abaixo, para ajudar a alcançar uma abordagem equilibrada, essas funções trazem uma perspectiva única do que é necessário, o que deve ser defendido e quais devem ser os objetivos associados à entrega de uma solução. Essas funções podem ser combinadas para situações de equipes pequenas e expandidas para situações de equipes grandes.

Essas funções não implicam nem sugerem nenhum tipo de organograma ou conjunto de cargos, uma vez que variam bastante conforme a organização e equipe. Na maioria das vezes, as funções são distribuídas entre grupos diferentes em uma organização de TI e, às vezes, entre a comunidade dos usuários dos negócios, bem como entre consultores e parceiros externos.

Função

Objetivos

Áreas funcionais

Gerenciamento do produto

  • Garantir que a solução agregue valor comercial

  • Definir a solução dentro das restrições do projeto

  • Garantir que as necessidades e expectativas dos clientes sejam atendidas

  • Comunicações de marketing/corporativas

  • Análise de negócios

  • Planejamento do produto

Gerenciamento de programas

  • Entregar a solução dentro das restrições do projeto

  • Configurar os meios pelos quais as necessidades e expectativas do responsável são atendidas

  • Gerenciamento do projeto

  • Gerenciamento de programas

  • Gerenciamento de recursos

  • Controle de processos

  • Gerenciamento da qualidade do projeto

  • Operações do projeto

Arquitetura

  • Projetar uma solução para atender aos objetivos comerciais dentro das restrições do projeto

  • Arquitetura da solução

  • Arquitetura técnica

Desenvolvimento

  • Criar a solução de acordo com a especificação

  • Desenvolvimento da solução

  • Consultoria em tecnologia

Experiência do Usuário

  • Maximizar a usabilidade da solução

  • Aprimorar a preparação e eficácia do usuário

  • Garantir que as necessidades e expectativas dos usuários sejam atendidas

  • Acessibilidade

  • Internacionalização

  • Comunicações de suporte técnico

  • Treinamento

  • Usabilidade

  • Design da interface do usuário

Teste

  • Aprovar a solução para liberação apenas depois de verificar se todos os aspectos da solução atendem ou excedem os níveis de qualidade definidos

  • Teste de regressão

  • Teste funcional

  • Teste de usabilidade

  • Teste do sistema

Versão/operações

  • Implantação e transição suaves para operações

  • Garantir que as necessidades e expectativas das Operações de TI/Negócios sejam atendidas

  • Gerenciamento de versão

  • Infraestrutura da entrega

  • Operações

  • Gerenciamento da compilação

  • Administração de ferramentas

O Modelo de Governança do MSF

O Modelo de Governança (anteriormente chamado de Modelo de Processo) foi desenvolvido para fornecer a orientação apropriada às pessoas adequadas e em tempo oportuno. Ele é estruturado para permitir que uma equipe forneça partes importantes de uma solução com maior rapidez do que se a equipe estivesse focada nos recursos com prioridade mais alta primeiro e fosse para os menos críticos em versões subsequentes. O modelo é estruturado para ajudar a direcionar uma equipe com mais rapidez em um senso comum em relação a como fornecer os vários aspectos de uma solução. O Modelo de Governança é um componente flexível do MSF que foi usado com êxito para melhorar o controle do projeto, minimizar o risco, aprimorar a qualidade da solução e aumentar a velocidade de desenvolvimento. Como o MSF é totalmente personalizável, espera-se que uma organização se adapte ao Modelo de Governança de forma a adequar seus processos de negócios e abordagens de entrega de solução existentes.

O Modelo de Governança do MSF associa a governança do projeto à aprovação do processo. A governança do projeto se concentra na otimização de um processo de entrega de solução e no uso eficiente e efetivo dos recursos do projeto. A aprovação do processo se concentra na definição, compilação e implantação de uma solução para atender às necessidades e expectativas dos participantes.

Os principais aspectos do Modelo de Governança do MSF incluem a sobreposição das trilhas de atividades, a sincronização dos pontos de verificação e uma abordagem incremental para fornecer valor ao cliente.

Trilhas

O Modelo de Governança do MSF facilita a governança do projeto e a aprovação do processo usando a sobreposição das trilhas de atividades. No primeiro nível, as trilhas são sobrepostas, as quais consistem em agrupamentos coordenados de determinadas atividades com o objetivo de produzir entregas relevantes para cada trilha. No entanto, as trilhas do MSF são mais do que isso; cada uma tem uma missão distinta e representa uma mudança no ritmo e no foco de um projeto. As trilhas usam análises e pontos de sincronização, chamados de pontos de verificação (que serão discutidos a seguir), em todas as trilhas para ajudar a determinar se os objetivos estão sendo atendidos. Além disso, pontos de verificação principais são usados para encerrar cada trilha, o que permite uma transferência de responsabilidade no direcionamento de várias atividades e incentiva a equipe a obter uma nova perspectiva mais apropriada para os objetivos da próxima trilha.

O Modelo de Governança do MSF consiste em cinco sobreposições de trilhas de aprovação e uma trilha de governança contínua que abrange todas as trilhas de aprovação.

Diagrama da trilha de governança

Diagrama mostrando seis cursos do modelo

Trilha de Governança

A Trilha de Governança se concentra no equilíbrio do uso eficiente e efetivo dos recursos do projeto e na entrega de uma solução de acordo com um conjunto de restrições passível a mudanças. Além disso, a Trilha de Governança preza pelo aperfeiçoamento contínuo do processo.

A boa governança do projeto fornece fiscalização, processo, orientação e rigor suficientes para usar de forma eficiente e efetiva os recursos do projeto, entregar uma solução e lidar com decisões de compromissos, além de equilibrar a conformidade de um conjunto de restrições passível a mudanças. A Trilha de Governança do MSF se esforça para fornecer e melhorar continuamente a boa governança do projeto. Ela consiste em atividades discretas que duram por todo o projeto.

Os objetivos da Trilha de Governança são os seguintes:

  • Orientar atividades de aprovação para entregar uma solução com resultados repetíveis e confiáveis

  • Otimizar e melhorar continuamente o desempenho e o rendimento da equipe, a qualidade da solução e a melhoria do processo

  • Garantir a aprovação de:

    • Usuários para que uma solução atenda às suas necessidades e possa ser usada de modo suficiente

    • Operações para que uma solução esteja pronta para ser implantada

    • Cliente para que um projeto seja concluído

Trilhas de Aprovação

A aprovação do processo é a sequência detalhada de etapas pelas quais uma solução é definida, compilada e implantada. Basicamente, as trilhas de aprovação ajudam uma equipe a: chegar a um acordo de alto nível sobre o que é idealizado e criar opções de abordagem para cumprir essa visão (Trilha de Idealização); avaliar essas opções e planejar a opção selecionada (Trilha de Planejamento); compilar a solução (Trilha de Compilação); assegurar que a solução seja entregue conforme o esperado (Trilha de Estabilização); e, por fim, implantar a solução (Trilha de Implantação).

Os objetivos de cada trilha de aprovação são os seguintes:

Idealização

  • Desenvolver uma compreensão clara do que é necessário dentro do contexto de restrições do projeto.

  • Montar a equipe necessária para imaginar as soluções com opções e abordagens que melhor atendam a essas necessidades, satisfazendo de forma ideal essas restrições.

Planejamento

  • Transformar a solução conceitual em projetos e planos tangíveis para que ela possa ser compilada em uma Trilha de Compilação.

Compilação

  • Compilar os vários aspectos de uma solução de acordo com as entregas da Trilha de Planejamento, tais como projetos, planejamentos, cronogramas e requisitos.

Estabilização

  • Melhorar a qualidade da solução para atender aos critérios de liberação para implantação na produção.

  • Confirmar que a solução atende às necessidades e expectativas dos participantes.

  • Validar a usabilidade da solução a partir de uma perspectiva do usuário.

  • Maximizar o sucesso e minimizar os riscos associados à implantação da solução e às operações nos ambientes de destino da solução.

Implantar

  • Integrar uma solução bem-sucedida na produção dentro dos ambientes designados.

  • Transferir a responsabilidade da entrega da solução restante de uma equipe de projeto até as equipes de operações e suporte da forma mais suave e rápida possível.

Pontos de verificação

Os pontos de verificação, os quais constituem um tema fundamental no MSF, são usados para planejar e monitorar o andamento e evocar a conclusão das entregas e das atividades. Os pontos de verificação são usados para fornecer oportunidades explícitas a uma equipe e aos clientes para reconfirmar o escopo do projeto ou ajustá-lo para refletir as mudanças nos requisitos dos clientes ou dos negócios ou para acomodar os riscos e problemas que podem se materializar durante o andamento de um projeto. Os pontos de verificação são usados por vários motivos, por exemplo, para:

  • Ajudar a sincronizar os elementos de trabalho.

  • Fornecer visibilidade externa do andamento e da qualidade.

  • Permitir correções durante o percurso.

  • Concentrar as análises em objetivos e entregas.

  • Fornecer pontos de aprovação do trabalho antes de avançar.

O MSF faz uma distinção entre dois tipos de pontos de verificação: pontos de verificação principais e pontos de verificação intermediários. Os pontos de verificação principais marcam a conclusão das principais atividades e entregas, incluindo o final das atividades planejadas em uma trilha específica. Os pontos de verificação intermediários são definidos pela equipe para indicar o progresso dentro de uma trilha e para segmentar grandes esforços nas peças em que é possível trabalhar.

Abordagem iterativa

Uma solução não fornece valor comercial até que seja implantada na produção e usada de forma eficaz. Por esse motivo, o ciclo de vida do Modelo de Governança do MSF inclui o desenvolvimento incremental e a implantação da solução na produção, garantindo, assim, a concretização do valor comercial e da visão e objetivos estratégicos globais da equipe. A combinação de uma representação de negócios multidimensional forte em uma equipe com foco explícito no impacto nos negócios em todo o processo é como o MSF garante que o projeto cumpra a promessa tecnológica.

A prática do desenvolvimento iterativo é um tema recorrente no MSF. Documentos, projetos, planos e outras entregas são desenvolvidos de uma maneira iterativa. Como seria de se esperar, o Modelo de Governança do MSF também é uma abordagem iterativa.

Resumo

O Microsoft Solutions Framework pode ser uma ferramenta eficaz para as organizações que desejam desenvolver com rapidez soluções de tecnologia de alta qualidade e que sejam relevantes para seus negócios. Sua flexibilidade permite uma adaptação fácil para a maioria dos projetos de tecnologia, ajudando as equipes a se comunicar efetivamente e a coordenar atividades críticas.

Bibliografia

Observe que partes desse conteúdo foram extraídas de Microsoft Solutions Framework Essentials (ISBN 9780735623538). Microsoft Press. Todos os direitos reservados.

Consulte também

Conceitos

Acompanhar o trabalho com o Visual Studio ALM e o TFS

Trabalhar com artefatos de projeto de equipe, escolher um modelo de processo