quarta-feira, 2 de novembro de 2011

Programa MPS.BR

Entre os principais problemas que inibem organizações, especialmente PMEs, de adotar modelos de processos de software, tais como CMMI, ISO/IEC 12207 e ISO/IEC 15504, estão o alto investimento (de implementação, manutenção e avaliação) e a dificuldade em convencer as organizações dos potenciais benefícios de investimentos em melhoria de processos. Para superar estes problemas, são necessárias abordagens diferentes para mudar o cenário de melhoria de processos em organizações de software, especialmente em PMEs. Neste contexto, a SOFTEX decidiu realizar uma iniciativa nacional, denominada Programa MPS.BR, para melhorar os processos de software de organizações brasileiras, e, como conseqüência, disseminar boas práticas da engenharia de software e tornar as organizações mais competitivas no mercado local e global. Para alcançar este objetivo, foi importante obter consenso dos interesses da indústria de software nacional e documentá-lo na forma de um modelo de processos de software que represente os interesses da comunidade brasileira de software.

Assim, o principal objetivo do programa MPS.BR foi desenvolver e disseminar um modelo de processos de software (o modelo MPS) visando estabelecer um caminho economicamente viável para que organizações, incluindo as PMEs, alcancem os benefícios da melhoria de processos e da utilização de boas práticas da engenharia de software em um intervalo de tempo razoável. Embora o foco da iniciativa seja PMEs, o modelo é adequado também para apoiar a melhoria de processos em grandes organizações. O programa MPS.BR teve início em dezembro de 2003, é coordenado pela SOFTEX e patrocinado pelo Ministério de Ciência e Tecnologia (MCT), pela Financiadora de Estudos e Projetos (FINEP), pelo Serviço Brasileiro de Apoio às Micro e Pequenas Organizações (SEBRAE) e pelo Banco Interamericano de Desenvolvimento (BID).

Para gerenciar o programa MPS.BR, uma estrutura organizacional foi definida e responsabilidades foram atribuídas a pesquisadores e profissionais de engenharia de software. As unidades desta estrutura organizacional são as seguintes:
     - Unidade de Execução do Programa MPS.BR: responsável por definir estratégias e gerenciar as atividades do programa. Esta equipe é coordenada, atualmente, pela SOFTEX.
     - Equipe Técnica do Modelo MPS: responsável pela (i) criação e aprimoramento contínuo do modelo MPS; e (ii) capacitação de pessoas por meio de cursos, provas e workshops do MPS.BR. Esta equipe é coordenada pela COPPE/UFRJ.
     - Fórum de Credenciamento e Controle do MPS: responsável por (i) emitir parecer que subsidie a decisão da Sociedade SOFTEX sobre o credenciamento de Instituições Implementadoras (II) e Instituições Avaliadoras (IA); e (ii) avaliar e controlar resultados de implementações e avaliações MPS; e (iii) assegurar que organizações avaliadas segundo o modelo MPS realizam suas atividades dentro dos limites éticos e de qualidade esperados. Esta equipe é composta por representantes do governo brasileiro, da indústria e da academia.

O Modelo MPS

Um dos requisitos para desenvolver o modelo MPS é que ele deveria incorporar tanto práticas internacionalmente reconhecidas para implementação e avaliação de processos de engenharia de software quanto atender às necessidades de negócio da indústria de software brasileira. Assim, as normas ISO/IEC 12207 e ISO/IEC 15504 foram usadas como base técnica para definir os componentes do modelo MPS. Adicionalmente, tendo em vista a importância do modelo CMMI para organizações brasileiras que atuam em mercados internacionais, a equipe técnica do modelo MPS considerou o CMMI como um complemento técnico para a definição dos processos do modelo MPS. O modelo MPS possui três componentes principais:
     - o modelo de referência MPS (MR-MPS);
     - o método de avaliação MPS (MA-MPS);
     - o modelo de negócios MPS (MN-MPS).

O Modelo de Referência MR-MPS

O modelo de referência MPS (MR-MPS) é documentado no Guia Geral do MPS, disponível em português e espanhol no site da SOFTEX. O Guia Geral do MPS provê uma definição geral do modelo MPS. O MR-MPS está em conformidade com a norma ISO/IEC 15504, satisfazendo os requisitos para modelo de referência de processos definidos na ISO/IEC 15504-2. Esta conformidade é fundamental, uma vez que a aceitação do modelo no mercado brasileiro depende da confiabilidade de que os resultados das avaliações têm validade de conteúdo (que as avaliações asseguram aquilo que foi avaliado) e que estes resultados sejam repetíveis e confiáveis.

Os processos do MR-MPS são descritos em função de seu propósito e dos resultados esperados de uma implementação bem sucedida, que, por sua vez, são utilizados para avaliar a implementação. Cada processo definido no MR-MPS tem um conjunto de resultados necessário e suficiente para alcançar o propósito do processo. Os processos do MR-MPS são uma adaptação dos processos da norma ISO/IEC 12207 e suas emendas e são, adicionalmente, compatíveis com as áreas de processo do CMMI-DEV. A última atualização do modelo MPS leva em consideração a nova versão da norma ISO/IEC 12207.

O MR-MPS busca atender à necessidade de implantar os princípios de engenharia de software de forma adequada às necessidades de negócio das organizações brasileiras e define sete níveis de maturidade de processos para organizações que produzem software:
     - A (Em Otimização);
     - B (Gerenciado Quantitativamente);
     - C (Definido);
     - D (Largamente Definido);
     - E (Parcialmente Definido);
     - F (Gerenciado);
     - G (Parcialmente Gerenciado).
Cada um dos níveis de maturidade (do nível G - primeiro estágio de maturidade ao nível A - mais maduro) apresenta cumulativamente um conjunto de processos e atributos de processos que indicam onde a unidade organizacional tem que investir esforço para melhoria, de forma a atender aos seus objetivos de negócio e ao MR-MPS. Assim, os níveis de maturidade são definidos em duas dimensões: a dimensão de capacidade de processos e a dimensão de processos.

A dimensão de capacidade de processos do MR-MPS é constituída de um framework de medição. A capacidade de processos é definida em uma escala ordinal que representa capacidade crescente do processo. Esta escala vai desde não atingir o propósito básico do processo até atingir precisamente objetivos de negócio atuais para o processo. Dentro do framework a medida da capacidade é baseada em um conjunto de nove atributos de processo (AP), em total conformidade com a ISO/IEC 15504-2:
     - AP 1.1 (o processo é executado);
     - AP 2.1 (o processo é gerenciado);
     - AP 2.2 (os produtos de trabalho do processo são gerenciados);
     - AP 3.1 (o processo é definido);
     - AP 3.2 (o processo está implementado);
     - AP 4.1 (o processo é medido);
     - AP 4.2 (o processo é controlado);
     - AP 5.1 (o processo é objeto de inovações);
     - AP 5.2 (o processo é otimizado continuamente).
Cada AP contém um conjunto de resultados de atributo de processo (RAP) utilizados para avaliar a implementação de um AP.

A dimensão de processo do MR-MPS, por sua vez, é constituída do conjunto de processos de engenharia de software que deve ser avaliado para o nível de maturidade pretendido. A tabela mais abaixo apresenta os processos do MR-MPS e os AP que devem ser adicionados para capacitar estes processos para cada nível de maturidade.

O primeiro nível de maturidade é o G (Parcialmente Gerenciado). Este nível é composto pelos processos mais críticos de gerência. Ao implementar os processos deste nível a organização pode focar os esforços de melhoria em estabelecer mecanismos mais adequados para o planejamento de projetos, monitoração e controle, e para gerenciar requisitos ao longo do ciclo de vida do produto.

De modo a melhorar o controle dos projetos, a organização deve implementar processos de apoio para o desenvolvimento de software. Estes processos constituem o próximo nível do MR-MPS, o F (Gerenciado). Os processos deste nível focam em assegurar a qualidade dos produtos e do processo, obtendo indicadores quantitativos do desempenho de processos e gerenciando as configurações dos produtos.

Níveis de Maturidade do MR-MPS, Processos e Capacidade (Atributos de Processo):
* Estes APs capacitam apenas um conjunto de processos selecionado pela organização de acordo com seus objetivos de melhoria. Os demais APs precisam capacitar todos os processos do nível pretendido.

A implementação dos níveis G e F é um passo significativo em uma organização de desenvolvimento de software. Entretanto, no nível F, a organização pode ainda ser fortemente dependente do conhecimento e desempenho individual dos profissionais. Por este motivo, grandes benefícios podem ser obtidos pela institucionalização de processos padrão da organização utilizados nos diferentes projetos. O nível E (Parcialmente Definido) possui o conjunto de processos que apóiam a institucionalização e melhoria de processos padrão para guiar projetos de software. Neste nível o grupo de processos de engenharia de software tem um papel fundamental.

Com a infra-estrutura para execução e melhoria de processos estabelecida na organização, o próximo passo é focar na melhoria de processos de engenharia de software mais técnicos. Estes são os processos de engenharia, agrupados no nível de maturidade D (Largamente Definido). É neste nível que questões mais técnicas do desenvolvimento do produto são tratadas, tais como o estabelecimento de métodos para desenvolvimento de requisitos, definição de arquiteturas e do projeto do software, estratégias para a integração do produto, validação e verificação (incluindo revisões por pares e testes).

O nível C é composto por processos de engenharia de software complementares à gerência de projetos. Estes processos são relacionados à gerencia de riscos e ao apoio a situações de tomada de decisão. Adicionalmente, o processo Desenvolvimento para Reutilização foi incorporado a fim de possibilitar o estabelecimento de um programa de reutilização para desenvolver ativos e artefatos através da engenharia de domínio, em consonância com as definições da ISO/IEC 12207.

Por fim, os níveis B e A são os de alta maturidade focando na melhoria contínua de processos. Os atributos de processo do nível B visam o entendimento quantitativo dos produtos e processos de software e o tratamento de causas de variações para estabilizar processos. Os atributos de processo do nível A, por sua vez, focam em capacidades competitivas crescentes através da implementação de inovações tecnológicas e da resolução de causas de defeitos e outros tipos de problemas.

É importante ressaltar, entretanto, que no modelo MPS as boas práticas são exigidas através de resultados de processos e de atributos de processo. Os métodos, técnicas e ferramentas que devem ser empregados para alcançar estes resultados não são impostos. Por exemplo, um dos resultados do processo de verificação, exige a realização de revisões por pares. Existem diferentes maneiras de se realizar revisões por pares. Podemos citar como exemplos de métodos para se realizar revisões por pares tanto os walkthroughs quanto as inspeções. Desta maneira, o conhecimento a respeito dos métodos, técnicas e ferramentas da engenharia de software se torna essencial para que organizações implementem o modelo de modo a alcançar seus objetivos de negócio e maximizar seu retorno de investimento.

Pode ser feita uma correspondência entre os níveis de maturidade MR-MPS e CMMI. A avaliação dos processos e atributos de processo do MR-MPS para os níveis F, C, B e A contempla a verificação do alcance dos objetivos específicos e genéricos de uma avaliação do CMMI níveis 2, 3, 4 e 5, respectivamente. A estrutura diferente dos níveis de maturidade no MR-MPS tem dois motivos: (i) prover um caminho para o aumento da maturidade ao reduzir o número de processos a serem implementados nos primeiros níveis de maturidade; e (ii) permitir a visibilidade dos resultados da melhoria de processos em um intervalo de tempo menor. Vale ainda ressaltar que algumas áreas de processo do CMMI aparecem como atributos de processo no MRMPS, tendo em vista a natureza destes processos, de capacitar os demais. Existem ainda processos no MR-MPS que não estão presentes no CMMI, como Gerência de Portfólio de Projetos, Gerência de Recursos Humanos (com gerência do conhecimento), Gerência de Reutilização e Desenvolvimento para Reutilização. A inclusão destes processos nas últimas versões do MR-MPS realça a preocupação do programa MPS.BR em promover boas práticas da engenharia de software na indústria nacional e manter a sua compatibilidade com a norma ISO/IEC 12207.

Além do Guia Geral, existem outros 11 guias disponíveis em português e espanhol que apóiam as organizações na implementação dos processos específicos do MRMPS:
     - 7 guias de implementação, um para cada nível do modelo;
     - 3 guias voltados respectivamente para organizações que adquirem software, para fábricas de software e para fábricas de teste que querem implementar o MR-MPS;
      - 1 guia de aquisição apoiando a implementação do processo de aquisição do MR-MPS.

0 comentários:

Postar um comentário