MPS.BR - Melhoria de Processo do Software Brasileiro. Guia de Implementação Parte 2: Fundamentação para Implementação do Nível F do MR-MPS-SW: PDF
Download "MPS.BR - Melhoria de Processo do Software Brasileiro. Guia de Implementação Parte 2: Fundamentação para Implementação do Nível F do MR-MPS-SW:2012"
Marina Cordeiro Custódio
1 MPS.BR - Melhoria de Processo do Software Brasileiro Guia de Implementação Parte 2: Fundamentação para Implementação do Nível F do MR-MPS-SW:2012 Este guia contém orientações para a implementação do nível F do Modelo de Referência MR-MPS- SW:2012. Setembro de 2013 Copyright SOFTEX Direitos desta edição reservados pela Sociedade SOFTEX A distribuição ilimitada desse documento está sujeita a copyright ISBN (Solicitado à Biblioteca Nacional)
2 Sumário 1 Prefácio Introdução Objetivo Evoluindo do nível G para o nível F Começando a implementação do MR-MPS-SW pelo nível F Aquisição (AQU) Propósito Fundamentação teórica Resultados esperados Gerência de Configuração (GCO) Propósito Fundamentação teórica Resultados esperados Gerência de Portfólio de Projetos (GPP) Propósito Fundamentação teórica Resultados esperados Garantia da Qualidade (GQA) Propósito Fundamentação teórica Resultados esperados Medição (MED) Propósito Fundamentação teórica Resultados esperados Os atributos de processo no nível F AP O processo é gerenciado AP Os produtos de trabalho do processo são gerenciados Referências bibliográficas Lista de colaboradores do Guia de Implementação Parte 2: Lista de colaboradores do Guia de Implementação Parte 2: Lista de colaboradores do Guia de Implementação Parte 2 versão Julho/ Lista de colaboradores do Guia de Implementação Parte 2 versão 1.0 Dezembro/ MPS.BR Guia de Implementação Parte 2:2013 2/70
3 1 Prefácio O MPS.BR 1 é um programa mobilizador, de longo prazo, criado em dezembro de 2003, coordenado pela Associação para Promoção da Excelência do Software Brasileiro (SOFTEX), que conta com apoio do Ministério da Ciência e Tecnologia (MCT), Financiadora de Estudos e Projetos (FINEP), Serviço Brasileiro de Apoio às Micro e Pequenas Empresas (SEBRAE) e Banco Interamericano de Desenvolvimento (BID). O objetivo do Programa MPR.BR (acrônimo) é a Melhoria de Processo de Software e de Serviços no Brasil, com duas metas a alcançar a médio e longo prazos: a) meta técnica, visando à criação e aprimoramento dos modelos MPS, com resultados esperados tais como: (i) guias dos modelos MPS; (ii) Instituições Implementadoras (II) credenciadas para prestar serviços de consultoria de implementação dos modelos de referência MR-MPS-SW e MR-MPS-SV; (iii) Instituições Avaliadoras (IA) credenciadas para prestar serviços de avaliação seguindo o Método de Avaliação MA-MPS; (iv) Consultores de Aquisição (CA) certificados para prestar serviços de consultoria de aquisição de software e serviços relacionados; b) meta de mercado, visando à disseminação e adoção dos modelos MPS-SW e MPS-SV, em todas as regiões do país, em um intervalo de tempo adequado, a um custo razoável, tanto em PME (foco principal) quanto em grandes organizações públicas e privadas, com resultados esperados tais como: (i) criação e aprimoramento do modelo de negócio MN-MPS; (ii) cursos, provas e workshops; (iii) organizações que implementaram os modelos MPS; (iv) organizações com avaliação MPS publicada (prazo de validade de três anos). O Programa MPR.BR conta com duas estruturas de apoio para o desenvolvimento de suas atividades, o Fórum de Credenciamento e Controle (FCC) e a Equipe Técnica do Modelo (ETM). Por meio destas estruturas, o MPS.BR obtém a participação de representantes de universidades, instituições governamentais, centros de pesquisa e de organizações privadas, os quais contribuem com suas visões complementares que agregam qualidade ao empreendimento. Cabe ao FCC: (i) emitir parecer que subsidie decisão da SOFTEX sobre o credenciamento de Instituições Implementadoras (II) e Instituições Avaliadoras (IA); (ii) monitorar os resultados das Instituições Implementadoras (II) e Instituições Avaliadoras (IA), emitindo parecer propondo à SOFTEX o seu descredenciamento no caso de comprometimento da credibilidade do modelo MPS. Cabe à ETM apoiar a SOFTEX sobre os aspectos técnicos relacionados aos Modelos de Referência (MR-MPS) e Método de Avaliação (MA-MPS), para: (i) 1 MPS.BR, MR-MPS-SW, MR-MPS-SV, MA-MPS e MN-MPS são marcas da SOFTEX. A sigla MPS.BR está associada ao Programa MPR.BR Melhoria do Processo de Software Brasileiro, a sigla MPS-SW está associada ao modelo MPS para software Melhoria do Processo de Software e a sigla MPS-SV está associada o modelo MPS para Serviços Melhoria do Processo de Serviços. MPS.BR Guia de Implementação Parte 2:2013 3/70
4 criação e aprimoramento contínuo do MR-MPS-SW, MR-MPS-SV, MA-MPS e seus guias específicos; (ii) capacitação de pessoas por meio de cursos, provas e workshops. A criação e o aprimoramento do Guia Geral de Software e do Guia Geral de Serviços são também atribuições da ETM, sendo que este guia faz parte do seguinte conjunto de documentos do modelo MPS: Guia Geral MPS de Software:2012 [SOFTEX, 2012a]; Guia Geral MPS de Serviços:2012 [SOFTEX, 2012b]; Guia de Avaliação:2013 [SOFTEX, 2013i]; Guia de Aquisição de Software:2013 [SOFTEX, 2013a]; Guia de Implementação Parte 1: Fundamentação para Implementação do Nível G do MR-MPS-SW:2012 [SOFTEX, 2013b]; Guia de Implementação Parte 2: Fundamentação para Implementação do Nível F do MR-MPS-SW:2012 [SOFTEX, 2013c]; Guia de Implementação Parte 3: Fundamentação para Implementação do Nível E do MR-MPS-SW:2012 [SOFTEX, 2013d]; Guia de Implementação Parte 4: Fundamentação para Implementação do Nível D do MR-MPS-SW:2012 [SOFTEX, 2013e]; Guia de Implementação Parte 5: Fundamentação para Implementação do Nível C do MR-MPS-SW:2012 [SOFTEX, 2013f]; Guia de Implementação Parte 6: Fundamentação para Implementação do Nível B do MR-MPS-SW:2012 [SOFTEX, 2013g]; Guia de Implementação Parte 7: Fundamentação para Implementação do Nível A do MR-MPS-SW:2012 [SOFTEX, 2013h]; Guia de Implementação Parte 8: Implementação do MR-MPS:2011 (Níveis G a A) em organizações que adquirem software [SOFTEX, 2011a]; Guia de Implementação Parte 9: Implementação do MR-MPS:2011 (Níveis G a A) em organizações do tipo Software [SOFTEX, 2011b]; Guia de Implementação Parte 10: Implementação do MR-MPS:2011 (Níveis G a A) em organizações do tipo Teste [SOFTEX, 2011c]; Guia de Implementação Parte 11: Implementação e Avaliação do MR-MPS- SW:2012 (Níveis G a A) em conjunto com o CMMI-DEV v1.3 [SOFTEX, 2012c]; Parte 12 o MR- - /IEC : Engenharia de Software - Perfis de ciclo de vida para micro- - - [SOFTEX, 2012d]; Guia de Implementação Parte 13: Mapeamento e sistema de equivalências entre o MR-MPS-SW:2012 e o MoProSoft:2005 [SOFTEX, 2012e]. MPS.BR Guia de Implementação Parte 2:2013 4/70
5 As alterações deste Guia de Implementação em relação à versão 2012 são decorrentes de: inclusão do Modelo de Referência para Serviços (MR-MPS-SV); e alteração do logo da SOFTEX. As alterações deste Guia de Implementação em relação à versão 2009 são decorrentes de: mudanças realizadas na versão 2009 do Guia Geral; correção ortográfica e gramatical; adequação das referências bibliográficas; inclusão de notas explicativas contidas nas partes 8, 9 e 10 do Guia de Implementação; inclusão de comentário sobre monitoração dos processos críticos do fornecedor na explicação sobre o resultado esperado AQU6. revisão dos comentários e detalhamento das explicações dos resultados esperados do processo Gerência de Portfólio de Projetos (GPP); inclusão de comentário sobre o número de medidas que devem ser definidas no escopo do resultado esperado MED2; inclusão de comentário sobre o número de medidas que devem ser definidas no contexto da implementação do RAP4, além de comentários sobre medidas que podem ser consideradas e a importância deste resultado esperado para os níveis B e A do MR-MPS-SW; inclusão de exemplos de requisitos de documentação de produtos de trabalho relacionados à implementação do RAP11. 2 Introdução As mudanças que estão ocorrendo nos ambientes de negócios têm motivado as empresas a modificar estruturas organizacionais e processos produtivos, saindo da visão tradicional baseada em áreas funcionais em direção a redes de processos centrados no cliente. A competitividade depende, cada vez mais, do estabelecimento de conexões nestas redes, criando elos essenciais nas cadeias produtivas. Alcançar competitividade pela qualidade, para as empresas de software e serviços, implica tanto na melhoria da qualidade dos produtos de software e serviços correlatos, como dos processos de produção e distribuição. Desta forma, assim como para outros setores, qualidade é fator crítico de sucesso para a indústria de software e serviços. Para que se tenha um setor de software e serviços competitivo, nacional e internacionalmente, é essencial que os empreendedores do setor coloquem a eficiência e a eficácia dos seus processos em foco nas empresas, visando à oferta de produtos de software e serviços correlatos conforme padrões internacionais de qualidade. MPS.BR Guia de Implementação Parte 2:2013 5/70
6 Busca-se que os modelos MPS-SW e MPS-SV sejam adequados ao perfil de empresas com diferentes tamanhos e características, públicas e privadas, embora com especial atenção às micro, pequenas e médias empresas. Também se espera que os modelos MPS sejam compatíveis com os padrões de qualidade aceitos internacionalmente e que tenham como pressuposto o aproveitamento de toda a competência existente nos padrões e modelos de melhoria de processo já disponíveis. Dessa forma, o MR-MPS-SW tem como base os requisitos de processos definidos nos modelos de melhoria de processo e atende a necessidade de implantar os princípios de engenharia de software de forma adequada ao contexto das empresas, estando em consonância com as principais abordagens internacionais para definição, avaliação e melhoria de processos de software. Da mesma forma, o modelo MR-MPS-SV está em consonância com as principais abordagens internacionais para serviços. Os modelos MPS baseiam-se nos conceitos de maturidade e capacidade de processo. Dentro desse contexto, o modelo MPS possui quatro componentes: Modelo de Referência para Software (MR-MPS-SW), Modelo de Referência para Serviços (MR-MPS-SV), Método de Avaliação (MA-MPS) e Modelo de Negócio (MN- MPS). Os modelos MPS estão descritos por meio de documentos em formato de guias: Guia Geral para Software: contém a descrição geral dos modelos MPS e detalha o Modelo de Referência para Software (MR-MPS-SW), seus componentes e as definições comuns necessárias para seu entendimento e aplicação [SOFTEX, 2012a]; Guia Geral para Serviços: contém a descrição geral dos modelos MPS e detalha o Modelo de Referência para Serviços (MR-MPS-SV), seus componentes e as definições comuns necessárias para seu entendimento e aplicação [SOFTEX, 2012b]; Guia de Aquisição: descreve um processo de aquisição de software e serviços correlatos. É descrito como forma de apoiar as instituições que queiram adquirir produtos de software e serviços correlatos apoiando-se no MR-MPS-SW [SOFTEX, 2013a]; Guia de Avaliação: descreve o processo e o Método de Avaliação MA-MPS, os requisitos para avaliadores líderes, avaliadores adjuntos e Instituições Avaliadoras (IA) [SOFTEX, 2013i]; Guia de Implementação: série de treze documentos que fornecem orientações para implementar nas organizações os níveis de maturidade descritos no Modelo de Referência MR-MPS-SW [SOFTEX, 2013b], [SOFTEX, 2013c], [SOFTEX, 2013d], [SOFTEX, 2013e], [SOFTEX, 2013f], [SOFTEX, 2013g], [SOFTEX, 2013h], [SOFTEX, 2011a], [SOFTEX, 2011b], [SOFTEX, 2011c], [SOFTEX, 2012c], [SOFTEX, 2012d], [SOFTEX, 2012e]. MPS.BR Guia de Implementação Parte 2:2013 6/70
7 3 Objetivo O Guia de Implementação fornece orientações para implementar nas organizações os níveis de maturidade descritos no Modelo de Referência MR-MPS-SW, detalhando os processos contemplados nos respectivos níveis de maturidade e os resultados esperados com a implementação dos processos. Este documento corresponde à parte 2 do Guia de Implementação e aborda a implementação do nível de maturidade F. Este documento é destinado, mas não está limitado, a organizações interessadas em utilizar o MR-MPS-SW para melhoria de seus processos de software e a Instituições Implementadoras (II). O conteúdo deste documento é informativo, ou seja, não se espera que uma organização implementando o MR-MPS-SW atenda a todos os itens citados na explicação referente aos resultados esperados. As observações presentes neste documento procuram apenas explicitar elementos importantes na interpretação dos resultados esperados. Durante uma avaliação MPS, só é requerido o atendimento aos resultados esperados definidos no Guia Geral. Os avaliadores MPS devem analisar se a implementação dos processos na organização atende a cada resultado, com abertura a múltiplas formas válidas de implementação. 4 Evoluindo do nível G para o nível F No nível G, a organização está estruturando seus projetos com base na visão conceitual de projeto e de suas principais fases como planejamento e controle da sua evolução. Nesse nível o papel fundamental para a melhoria de processos é do gerente de projeto, pois é ele quem tem a responsabilidade por atender aos objetivos do projeto em relação ao prazo, custo, esforço e requisitos. O principal foco do nível F é agregar processos de apoio à gestão do projeto no que diz respeito à Garantia da Qualidade (GQA) e Medição (MED), bem como aqueles referentes à organização dos artefatos de trabalho por meio da Gerência de Configuração (GCO). Esses processos adicionais possibilitam uma maior visibilidade de como os artefatos são produzidos nas várias etapas do projeto e do processo. Essa visibilidade tem como foco analisar se os artefatos produzidos no processo e no projeto estão de acordo com os padrões e procedimentos estabelecidos, o que ajuda muito na implantação do programa de melhoria de processo sob o ponto de vista de institucionalização. Como muitas organizações subcontratam etapas do processo de desenvolvimento ou componentes específicos do produto, essa atividade também deverá ser controlada com o mesmo rigor que as questões internas, mas respeitando o modo com que outras organizações trabalham. Os requisitos úteis para que esse controle seja feito de forma adequada é definido no processo Aquisição (AQU). Além disso, implantação do processo Gerência de Portfólio de Projetos (GPP) possibilita às organizações uma gerência mais efetiva dos recursos disponíveis e investimentos realizados visando atender os objetivos estratégicos da organização. MPS.BR Guia de Implementação Parte 2:2013 7/70
8 No nível G e no nível F, o projeto pode usar os seus próprios padrões e procedimentos, não sendo necessário que se tenha padrões em nível organizacional. Se, porventura, a organização possuir processos já definidos e os projetos necessitarem adaptar os processos existentes, esse fato deverá ser declarado durante o planejamento do projeto. Essas adaptações podem incluir alteração em processos, atividades, ferramentas, técnicas, procedimentos, padrões, medidas, dentre outras. 5 Começando a implementação do MR-MPS-SW pelo nível F A implementação dos processos para o nível F pode ser feita em qualquer sequência, visto que os processos desse nível são de apoio à gestão do projeto, fornecendo maior qualidade e controle aos produtos de trabalho. Uma vez que necessitam de processos de apoio, as organizações podem ter a necessidade de incorporar à sua equipe alguns novos perfis para realizar atividades de garantia da qualidade, gerência de configuração, medição, gerência do portfólio de projetos e aquisição de produtos. Note, no entanto, que a existência de um novo perfil não obriga necessariamente a contratação de novas pessoas, mas a definição de novas competências necessárias e delimitação de novas responsabilidades. Existem organizações que iniciam a implementação dos níveis G e F simultaneamente. O impacto dessa decisão se reflete no aumento do esforço e tempo para a implementação dos processos. Diferentes abordagens podem ser utilizadas para a implementação dos processos e não há uma que seja adequada a todas as empresas. A decisão sobre a necessidade de implementação do processo Aquisição é um ponto a ser considerado logo no início do planejamento do programa de melhoria para atendimento ao nível F. A execução desse processo não é obrigatória para todas as organizações, mas sua exclusão de uma avaliação deve ser justificada. Há, no entanto, situações em que uma exclusão não é possível. De forma geral, esse processo deve ser executado e, portanto, implementado na organização/unidade organizacional quando se tem algum componente do produto de software entregue para o cliente e que esteja sendo desenvolvido por profissionais externos à unidade organizacional. Outras situações são descritas na Seção 6.1. Comentários adicionais para implementação em diferentes tipos de organização Adquirentes de Software (Parte 8) Software (Parte 9) Para organizações Adquirentes de Software, conforme definidas na Parte 8 do Guia de Implementação, a implementação deste processo é obrigatória. MPS.BR Guia de Implementação Parte 2:2013 8/70
9 Teste (Parte 10) 6 Aquisição (AQU) 6.1 Propósito O propósito do processo Aquisição é gerenciar a aquisição de produtos que satisfaçam às necessidades expressas pelo adquirente. No contexto do MR-MPS-SW, considera-se que o termo produto pode incluir também serviços, desde que estes sejam entregues como parte do produto final ao cliente. O processo Aquisição (AQU) tem como foco o planejamento ou preparação para aquisição, a seleção do fornecedor e a monitoração do contrato, processos e produtos com o objetivo de assegurar a qualidade do produto que está sendo subcontratado quando este for integrado ao produto que será entregue para o cliente. Todos os aspectos resultantes da Aquisição deverão estar claramente definidos no contrato entre as partes, pois se não estiverem, alguns controles e avaliações necessários não poderão ser aplicados. Esse contrato pode variar no grau de formalismo, dependendo da complexidade dos requisitos, dos produtos a serem gerados e do tipo de empresa contratante. No caso de órgão público, por exemplo, há uma série de exigências legais a serem observadas. A implementação do processo Aquisição assegura a qualidade do componente ou produto que está sendo contratado. Assim, torna-se importante ressaltar algumas das situações nas quais esse processo é utilizado: O processo Aquisição é obrigatório para uma empresa desenvolvedora de software que contrata o desenvolvimento ou adquire algum componente de software que será entregue juntamente com o produto de software ao cliente. Assim, o processo Aquisição é definido, implantado e institucionalizado para minimizar riscos que podem comprometer os resultados esperados, tais como riscos de não cumprimento de prazos, do produto adquirido não ter a qualidade esperada, do produto adquirido não ter compatibilidade com a arquitetura tecnológica definida, dificuldades de integração, problemas de suporte etc. No entanto, se a aquisição ocorrer antes do início do desenvolvimento do produto de software, então o processo Aquisição é recomendado, mas não é obrigatório. O processo Aquisição é obrigatório para uma empresa desenvolvedora de software que possui duas ou mais unidades organizacionais com processos diferentes e uma contrata a outra para o desenvolvimento de uma parte do software. Esse processo também é obrigatório se ambas as unidades organizacionais tiverem passado por avaliações MA-MPS oficiais. Os relacionamentos entre as divisões e colegas de trabalho, geralmente, são informais e isto pode trazer altos riscos para o projeto, principalmente se a aquisição não for planejada e gerenciada de forma adequada e visando garantir MPS.BR Guia de Implementação Parte 2:2013 9/70
10 os resultados esperados pelo projeto de software. No caso de as unidades organizacionais terem passado por avaliações MA-MPS oficiais, o processo Aquisição também deve ser utilizado para gerenciar as atividades relevantes do ciclo de desenvolvimento do software que permitirão assegurar a qualidade do produto resultante. No entanto, se uma organização necessita de mais mão-deobra a ser alocada diretamente ao projeto, não é necessária a utilização desse processo, pois as pessoas alocadas seguirão o processo da organização. O processo Aquisição é obrigatório para uma empresa que desenvolve produtos de software em parceria (estratégicas e/ou tecnológicas) com outras empresas. O processo Aquisição deve ser utilizado para garantir que os componentes de software desenvolvidos pela empresa parceira sejam avaliados de acordo com os critérios estabelecidos, bem como sua incorporação ao produto entregue ao cliente seja planejada e gerenciada de forma adequada. Para tanto, é recomendado, também, que sejam analisados, declarados e gerenciados os acordos, estratégias, responsabilidades, obrigações e restrições das empresas parceiras no desenvolvimento de um produto de software. O processo Aquisição é obrigatório para uma empresa desenvolvedora de software que contratará terceiros para desenvolver partes do produto de software, mesmo que a empresa terceirizada tenha passado por uma avaliação MA-MPS oficial. Se a empresa terceirizada seguir o mesmo processo definido pela empresa que a contratou, este processo deverá ser auditado pela empresa contratante para garantir o correto fornecimento. Se a empresa terceirizada seguir um novo processo, as atividades críticas para a qualidade do produto resultante deverão ser identificadas e acompanhadas durante todo o fornecimento. Os riscos de contratar terceiros para desenvolver partes do produto de software que será entregue ao cliente são os mesmos riscos relacionados q w C T Commercial off the shelf software). O processo Aquisição é obrigatório para uma empresa que estiver implantando um programa de reutilização conforme previsto pelo processo Desenvolvimento para Reutilização (DRU) e precisar adquirir ativos de domínio. Além disso, em algumas situações, a obrigatoriedade do processo Aquisição depende do foco que é dado na aquisição dos produtos. Por exemplo, o processo Aquisição pode ou não ser obrigatório para uma empresa desenvolvedora de software que utilizará um banco de dados (por exemplo, Oracle ou MS SQL Server) no fornecimento de um produto e/ou serviço de software. Se a responsabilidade pela aquisição das licenças de uso do banco de dados for da empresa fornecedora do produto de software ao cliente, então existem riscos envolvidos para o cliente e é importante a definição e institucionalização do processo Aquisição para minimizar esses riscos. No entanto, se a responsabilidade pela aquisição das licenças de uso do banco de dados for do cliente, então o processo Aquisição não necessita ser executado pelo fornecedor do produto de software, mas poderia ser executado pelo cliente. O processo Aquisição não é obrigatório para uma empresa desenvolvedora de software que adquirirá uma ferramenta e/ou componente de software para aumentar MPS.BR Guia de Implementação Parte 2: /70
11 a sua produtividade, por exemplo, bibliotecas com padrões e componentes para reutilização no desenvolvimento de software ou ferramentas de automatização de testes de software. No entanto, o processo Aquisição é recomendado caso a aquisição de ferramentas e/ou componentes de software implicar em riscos para o projeto, por exemplo, as ferramentas e/ou componentes de software interferirem em requisitos de qualidade como interoperabilidade, eficácia, manutenibilidade etc. O processo Aquisição também não é obrigatório para uma empresa desenvolvedora w q q w v ó b que será entregue juntamente com o produto de software ao cliente. No entanto, os w v ó b q podem ser gerenciados por meio dos mecanismos previstos pelo processo Gerência de Reutilização. Independente da situação, se o processo Aquisição for excluído da avaliação MA- MPS, o Plano de Avaliação deve conter a justificativa da exclusão. Mecanismos definidos e estabelecidos pela aplicação de determinados resultados esperados do processo Gerência de Projetos também podem ser aproveitados e utilizados no escopo da aquisição, por exemplo, a identificação de problemas e as ações gerenciais a serem tomadas até a conclusão. Além disso, a intersecção com o processo Gerência de Projetos está presente pela necessidade de se planejar e acompanhar as atividades do projeto de aquisição, como forma de se ter visibilidade sobre a execução das atividades do projeto. O fornecedor pode ter o seu próprio planejamento, mas é de se esperar que este planejamento esteja compatibilizado com o planejamento do projeto de aquisição para não impactá-lo. Intersecções com o processo Gerência de Requisitos podem estar presentes no estabelecimento dos critérios de aceitação, seja como base para a seleção dos fornecedores de soluções ou para a aquisição de produtos de prateleira (COTS Commercial off the shelf software). Comentários adicionais para implementação em diferentes tipos de organização Adquirentes de Software (Parte 8) Software (Parte 9) Não são permitidas exclusões de resultados deste processo. A Software está sujeita às mesmas regras de exclusão do processo de Aquisição (AQU) que as demais organizações. É permitida a exclusão de todos os resultados esperados do processo em organizações do tipo Software. A aprovação das exclusões é responsabilidade do avaliador líder. Todas as exclusões de processos devem estar listadas no Plano de Avaliação, no Relatório de Avaliação e no Resultado da Avaliação. Como não existem especificidades para organizações do tipo Fábrica de Software, não foram incluídos comentários nos resultados esperados. MPS.BR Guia de Implementação Parte 2: /70
12 Teste (Parte 10) A Teste está sujeita às mesmas regras para exclusão do processo de Aquisição que as demais organizações. São permitidas exclusões de todos os resultados esperados do processo em organizações do tipo Teste. A aprovação das exclusões é responsabilidade do avaliador líder. Todas as exclusões de resultados esperados devem estar listadas no Plano de Avaliação, no Relatório de Avaliação e no Resultado da Avaliação. Como não existem especificidades para organizações do tipo Fábrica de Teste, não foram incluídos comentários adicionais aos resultados esperados. 6.2 Fundamentação teórica A aquisição do projeto inclui os processos necessários à obtenção de bens e serviços externos à organização executora. Segundo a ISO/IEC [ISO/IEC, 2008], o propósito do processo Aquisição é obter um produto e/ou serviço que satisfaça as necessidades expressas pelo cliente. O processo inicia com a identificação de uma necessidade do cliente e encerra com a aceitação do produto e/ou serviço [ISO/IEC, 2008]. O adquirente pode subcontratar a execução de alguma atividade ou produto, mas é sempre dele a responsabilidade principal pelo produto final. É durante a aquisição que o contrato é estabelecido com o fornecedor, o qual pode ter vários níveis de formalidade. O processo Aquisição tem como objetivo selecionar um fornecedor e garantir que o fornecedor entregue o produto conforme definido no contrato. A ISO/IEC [ISO/IEC, 2008] tem foco no acordo estabelecido entre as partes como ponto fundamental para o sucesso da aquisição, pois parte do princípio de que se o contrato estiver incorreto, incompleto ou inconsistente, existirão dificuldades para que ele seja executado com sucesso. Outra fonte potencial de problemas é a seleção de fornecedores, pois quando se contrata uma organização que não está preparada para entregar o produto, é muito difícil que esse processo seja executado de forma satisfatória. A execução do processo Aquisição pode ser feita para produtos de prateleira, produtos sob encomenda, componentes de produtos de software ou serviços. A identificação e seleção de produtos de prateleira podem ser inicialmente realizadas de modo menos formal, assegurando que eles satisfazem os requisitos especificados em um relatório de aquisição de produto. Caso a aquisição inclua produtos de prateleira, pode ser necessário desenvolver critérios para avaliar os produtos candidatos em relação aos requisitos e critérios associados, que podem incluir: funcionalidades; desempenho; confiabilidade; outras características de qualidade; termos e condições de garantia dos produtos; riscos; responsabilidades dos fornecedores para a manutenção e suporte dos produtos. A decisão pela aquisição pode estar baseada em estudos de mercado, listas de preços, critérios de avaliação e relatórios de desempenho dos fornecedores e sua habilidade de MPS.BR Guia de Implementação Parte 2: /70
13 entrega. Uma vez definida a aquisição, pode ser necessário avaliar o impacto dos produtos candidatos nos planos e compromissos do projeto, incluindo: custos dos produtos; custos e esforços para incorporar os produtos dentro do projeto; requisitos de segurança; benefícios e impactos que podem resultar em versões futuras do produto; riscos envolvidos; suporte (respostas às questões e relatórios de problemas); manutenção. O PMBOK [PMI, 2008a] subdivide a área de gerência de aquisição do projeto em: Planejamento da aquisição determinação do que contratar e quando; Preparação da aquisição documentação dos requisitos do produto e identificação dos fornecedores potenciais; Obtenção de propostas obtenção de propostas de fornecimento, conforme apropriado a cada caso (cotações de preço, cartas-convite, licitação); Seleção de fornecedores escolha entre os possíveis fornecedores; Administração de contratos gerenciamento dos relacionamentos com os fornecedores; Encerramento do contrato conclusão e liquidação do contrato, incluindo a resolução de qualquer item pendente. A aquisição é discutida sob o ponto de vista do adquirente na relação adquirentefornecedor. Esta relação pode existir em muitos níveis do projeto. Dependendo da área de aplicação, o fornecedor pode ser chamado de subcontratado ou de vendedor. Dentro do contexto do processo Aquisição, são considerados não somente o produto de software propriamente dito, mas também os serviços tipicamente relacionados ao desenvolvimento, implantação, suporte à operação e manutenção do software, tais como treinamento, configuração do software e do ambiente de operação, manutenções corretivas, evolutivas e adaptativas, entre outros. Alguns problemas na aquisição de software são originados por práticas de gerenciamento ineficazes. Os problemas são caracterizados pela falha contínua na aquisição de grandes sistemas de software e pelo crescimento dos esforços para manter o custo, o prazo e para atingir os objetivos definidos. Um projeto pode fracassar devido à imaturidade de seus processos de aquisição ou quando se contrata uma organização com processo de desenvolvimento de software imaturo. 6.3 Resultados esperados AQU1 As necessidades de aquisição, as metas, os critérios de aceitação do produto, os tipos e a estratégia de aquisição são definidos Este resultado visa fundamentar a aquisição de produtos, fornecendo um melhor entendimento do que deve ser adquirido e planejando como esta aquisição deverá ocorrer. A identificação da necessidade de aquisição pode ocorrer de várias maneiras. Pode surgir, por exemplo, durante um levantamento de requisitos, derivar de uma MPS.BR Guia de Implementação Parte 2: /70
14 oportunidade de negócio ou resultar de objetivos estratégicos da organização, dentre outros. Independentemente da sua origem, pode ser necessário analisar esta necessidade em relação à possibilidade de se adquirir, desenvolver internamente ou melhorar algum produto. Riscos e problemas futuros podem ser minimizados se as decisões forem amadurecidas, melhor definidas, formalizadas e planejadas. Para uma análise do tipo fazer ou comprar, iderados fatores como: funções que o produto proverá e como essas se encaixarão no projeto; disponibilidade dos recursos do projeto e perfis; custo para adquirir versus custo de desenvolvimento interno; datas críticas de entrega e integração; estratégia de alianças, incluindo requisitos de negócio de alto nível; pesquisa de produtos disponíveis no mercado, incluindo produtos de prateleira; funcionalidade e qualidade dos produtos disponíveis; impacto na concorrência; licenças, responsabilidades, permissões e limitações associadas aos produtos que estão sendo adquiridos; disponibilidade do produto; assuntos relacionados à propriedade; redução de risco. Uma vez que se decida pela aquisição, torna-se necessário analisar as necessidades levantadas, definir objetivos e identificar os requisitos a serem satisfeitos. Estes requisitos devem ser analisados e validados em relação às necessidades e objetivos definidos, visando reduzir os riscos de insucesso ao final do projeto. Com os requisitos estabelecidos, revisados e validados, é possível definir e acordar com as partes interessadas os critérios de aceitação do produto, bem como a forma de avaliação a ser aplicada, que podem incluir: tempo de resposta, arquitetura do produto, usabilidade, acessibilidade, portabilidade etc. O entendimento obtido possibilita definir o tipo (pacote, terceirização do serviço) e a estratégia para aquisição, cujas opções podem incluir: adquirir pacotes a serem possivelmente configurados ou adaptados; obter produtos e serviços por meio de acordo contratual; obter produtos e serviços de outra parte da organização, por exemplo, outra parte da corporação, agência do governo etc., ou ainda a combinação de algumas destas estratégias. A partir dos critérios de aceitação e da estratégia de aquisição definida, caso apropriado, também pode ser gerado um plano de teste de aceitação, especificando condições, atividades e responsabilidades pela execução dos testes necessários para o produto a ser adquirido AQU2 Os critérios de seleção do fornecedor são estabelecidos e usados para avaliar os potenciais fornecedores Este resultado requer a identificação e documentação dos critérios a serem utilizados para julgamento do perfil e capacidade requeridos do fornecedor para atender ao contrato pretendido, bem como a forma de avaliação a ser aplicada. Exemplos de critérios de seleção podem incluir: localização geográfica do fornecedor; registro de desempenho do fornecedor em trabalhos similares; habilidade para trabalhar com o fornecedor proposto; capacidade de engenharia; capacidade gerencial; experiência anterior em aplicações similares; disponibilidade de pessoal para executar o trabalho; facilidades e recursos a serem MPS.BR Guia de Implementação Parte 2: /70
15 disponibilizados; nível mínimo de maturidade esperado da organização; entre outros. Com base nos critérios estabelecidos, pode-se gerar um conjunto de potenciais fornecedores, bem como um relatório de avaliação desses fornecedores (aplicando os critérios definidos) e uma lista resultante de potenciais fornecedores. Para estes potenciais fornecedores um pedido de proposta pode ser feito, geralmente com um prazo definido para retorno AQU3 O fornecedor é selecionado com base na avaliação das propostas e dos critérios estabelecidos Um pedido de proposta geralmente caracteriza o produto requerido e as condições de entrega, além das condições gerais esperadas da aquisição, prazos e valores envolvidos, critérios de seleção e outras questões formais a serem seguidas. As propostas dos fornecedores geralmente contêm o entendimento do problema pelo fornecedor, sua abordagem e suas sugestões de solução técnica, além de um plano de entrega do produto e as condições financeiras da proposta. Após o recebimento das propostas, estas devem ser avaliadas considerando-se os critérios de seleção anteriormente estabelecidos. Também é uma boa estratégia avaliar a habilidade e capacidade do fornecedor para atender aos requisitos especificados e os riscos associados a cada fornecedor e à sua proposta. A seleção do fornecedor deve ser formalizada, por exemplo, pelo uso de laudo, relatório ou ata AQU4 - Um acordo que expresse claramente as expectativas, responsabilidades e obrigações de ambas as partes (cliente e fornecedor) é estabelecido e negociado entre elas Antes de estabelecer um acordo, é uma boa prática revisar os requisitos a serem atendidos pelo fornecedor para verificar se refletem as negociações realizadas, de modo que todos possuam um entendimento comum do que deve ser feito e das condições necessárias para que seja executado. O acordo com o fornecedor deve ser preparado, negociado e documentado. Em geral, inclui: expectativas (declaração do trabalho a ser executado em termos de escopo, requisitos preliminares, termos e condições, principais produtos de trabalho a serem entregues, se aplicável) e as responsabilidades e as obrigações de ambas as partes (cliente e fornecedor). Para garantir mais segurança a ambas as partes, pode-se definir também um cronograma e/ou um processo de aceitação definido; um plano de comunicação; o que o projeto deverá prover para o fornecedor; facilidades disponíveis para construção do projeto (documentação, ferramentas, serviços); identificação das pessoas responsáveis pelo acordo e das autorizadas para alterá-lo, de ambas as partes; identificação de como as mudanças de requisitos e mudanças no acordo com os fornecedores são determinadas, comunicadas e tratadas; identificação dos padrões e procedimentos do cliente que serão seguidos; identificação das dependências críticas entre o projeto e o fornecedor; identificação do tipo e profundidade da supervisão do projeto com o fornecedor; procedimentos e critérios de avaliação a serem usados para monitorar o desempenho do fornecedor; identificação das responsabilidades do fornecedor para MPS.BR Guia de Implementação Parte 2: /70
16 manutenção e suporte dos produtos adquiridos; identificação das garantias, propriedades e direitos de uso para os produtos adquiridos etc. Para a celebração do acordo, é importante que as partes revisem seu conteúdo, negociem seus termos e condições, bem como concordem com todos os requisitos, antes que seja firmado. Quando necessário, o acordo com o fornecedor poderá ser revisto. Medidas legais podem ser tomadas, se pertinente. Devido a isso, as modificações requeridas por qualquer uma das partes devem ser registradas AQU5 Um produto que satisfaça a necessidade expressa pelo cliente é adquirido baseado na análise dos potenciais candidatos A partir da análise dos fornecedores identificados como potenciais candidatos, o produto é adquirido utilizando-se um conjunto de critérios pré-estabelecidos. Em geral, o produto é adquirido com base não só na análise do fornecedor, mas também na existência de uma avaliação da qualidade do produto baseada em todos os requisitos, critérios e padrões definidos. Esta análise pode variar de acordo com o tipo de aquisição sendo feita, por exemplo, aquisição de produto pronto, customizável, sob encomenda ou de escopo aberto (no caso de contratação de fábrica ou serviços correlatos: desenvolvimento, manutenção etc.). No caso de serviços, todos os artefatos são comumente avaliados durante o desenvolvimento do projeto de acordo com critérios de aceitação definidos para cada um e com os padrões estabelecidos. Em qualquer situação, o acordo formal definido entre o adquirente e o fornecedor deve ser executado conforme definido AQU6 A aquisição é monitorada de forma que as condições especificadas sejam atendidas, tais como custo, cronograma e qualidade, gerando ações corretivas quando necessário Visando garantir o desempenho esperado, é necessário que se monitore a aquisição, o que pode ser feito a partir dos termos definidos no acordo estabelecido ou, por exemplo, pela troca de informações sobre o progresso técnico, inspeção do desenvolvimento, solicitações de mudança, acompanhamento de problemas etc.. As atividades de monitoração podem envolver: preparar, conduzir e comunicar revisões (com participação dos principais envolvidos); monitorar o progresso e o desempenho do fornecedor, em termos de cronograma, esforço, custo e desempenho técnico; acompanhar processos de garantia da qualidade e gerência de configuração. Além disso, também pode-se monitorar riscos envolvendo o fornecedor e, quando necessário, tomar ações corretivas, identificando, documentando e acompanhando o fechamento de todos os itens de ação. Existem alguns processos do fornecedor que podem ser considerados críticos para o sucesso do projeto e, portanto, podem interferir na qualidade final do produto adquirido. Por exemplo, ao se contratar o desenvolvimento de um produto, requisitos especiais de qualidade e testes podem ser necessários ou, então, pode ser necessário o controle mais efetivo das configurações e versões do produto MPS.BR Guia de Implementação Parte 2: /70
17 adquirido. Em geral, processos que forem identificados como críticos deveriam ser monitorados em relação à conformidade com os requisitos do projeto. A análise dos resultados do monitoramento destes processos pode detectar questões e problemas que possivelmente afetem a habilidade do fornecedor em satisfazer o acordo estabelecido. Como em toda monitoração, pode ser preciso replanejamento, renegociação ou rever o acordo com o fornecedor, o que pode levar à revisão dos planos do projeto, cronogramas e compromissos, de forma a refletir os novos termos do acordo. Tipicamente, este monitoramento resulta em relatórios de progresso e desempenho do fornecedor e, quando aplicável, registro de acompanhamento de problemas e ações corretivas até a sua conclusão AQU7 O produto é entregue e avaliado em relação ao acordado e os resultados são documentados Para garantir que o produto entregue seja compatível com os termos do acordo estabelecido é necessário que seja avaliado previamente à aceitação. Para isso, pode-se: revisar e obter acordo com os principais envolvidos sobre os procedimentos de aceitação; conduzir e documentar testes de aceitação do produto, conforme critérios estabelecidos, gerando relatórios com os resultados obtidos; assegurar que os produtos adquiridos satisfazem os requisitos acordados; assegurar que o acordo com o fornecedor foi satisfeito, por meio de revisões, término e aceitação dos procedimentos de teste e auditorias de configuração. Também pode ser necessário confirmar que os compromissos não técnicos associados aos produtos de trabalho adquiridos estão satisfeitos, o que pode incluir verificar se: foram disponibilizadas a licença apropriada, a garantia e a propriedade de uso; os acordos de suporte ou manutenção foram definidos (ou executados); todos os materiais de suporte foram recebidos. Para encerramento da aquisição, pode ser necessário estabelecer e obter acordo com o fornecedor em relação a um plano de ação para qualquer produto de trabalho adquirido que não passe pela revisão ou teste de aceitação. Neste caso, é importante que se identifique, documente e acompanhe os itens de ação para encerramento AQU8 O produto adquirido é incorporado ao projeto, caso pertinente Após o produto ser entregue e aceito, pode ser necessário incorporá-lo ao projeto. As condições para que essa incorporação aconteça de forma adequada podem assegurar que existam as facilidades apropriadas para receber, armazenar, usar e manter os produtos adquiridos, bem como assegurar que o treinamento apropriado seja provido para as pessoas envolvidas no recebimento, armazenagem, uso e manutenção dos produtos adquiridos. Outros aspectos relacionados ao armazenamento, distribuição e uso dos produtos adquiridos podem ser necessários de forma a respeitar as condições e os termos especificados no acordo ou licença do fornecedor. Assim sendo, poderá ser necessário definir, executar e registrar um plano de incorporação do produto ao projeto, contendo os cuidados necessários com a transferência do produto para o projeto, referência a testes de integração a serem realizados, treinamentos necessários, manutenção e suporte, dentre outros. MPS.BR Guia de Implementação Parte 2: /70
18 7 Gerência de Configuração (GCO) 7.1 Propósito O propósito do processo Gerência de Configuração é estabelecer e manter a integridade de todos os produtos de trabalho de um processo ou projeto e disponibilizá-los a todos os envolvidos. A Gerência de Configuração é a disciplina responsável por controlar a evolução de sistemas de software [DART, 1991]. Apesar de existir um forte apelo para o uso da Gerência de Configuração durante a etapa de manutenção, a sua aplicação não se restringe somente a essa etapa do ciclo de vida do software [IEEE, 1987]. Durante o desenvolvimento, o sistema de Gerência de Configuração é fundamental para prover controle sobre os produtos de trabalho produzidos e modificados por diferentes engenheiros de software. Além disso, esse sistema possibilita um acompanhamento minucioso do andamento das tarefas de desenvolvimento. A Gerência de Configuração usualmente se inicia na identificação das partes que constituem o software. Essas partes, denominadas itens de configuração, representam a agregação de hardware, software ou ambos, tratados pela Gerência de Configuração como um elemento único [IEEE, 1990]. Em função da granularidade utilizada em um contexto de software, um item de configuração pode ser formado por um conjunto de produtos de trabalho, bem como um único produto de trabalho pode ser formado por vários itens de configuração. Em determinados momentos do ciclo de vida de desenvolvimento e manutenção do software, esses itens de configuração são agrupados e verificados, constituindo configurações do software voltadas para propósitos específicos, denominadas baselines. Essas configurações representam conjuntos de itens de configuração formalmente aprovados que servem de base para as etapas seguintes de desenvolvimento [IEEE, 1990]. Desta forma, com a utilização de processos formais de controle de modificações sobre as baselines, o processo Gerência de Configuração (GCO) atinge o seu propósito de manter a integridade dos produtos de trabalho. Finalmente, esses produtos de trabalho são submetidos a um processo de liberação (release), que representa a notificação formal e distribuição de uma versão aprovada do software [IEEE, 2005]. Como pode ser constatado, a Gerência de Configuração não se propõe a definir quando e como devem ser executadas as modificações nos produtos de trabalho, papel este reservado ao próprio processo de desenvolvimento de software. A sua atuação ocorre como processo auxiliar de controle e acompanhamento. O escopo do processo Gerência de Configuração não se aplica unicamente aos produtos de trabalho dos processos de um determinado nível do MR-MPS-SW. Todos os produtos de trabalho dos processos de software em uso pela organização - sejam eles de desenvolvimento, manutenção ou apoio - são considerados. É importante notar que a Gerência de Configuração é um importante mecanismo para aumentar o controle sobre os produtos de trabalho. O processo Gerência de Configuração tem uma interseção com todos os demais processos do MR-MPS-SW por meio do atributo de processo RAP13, que MPS.BR Guia de Implementação Parte 2: /70
19 b os produtos de trabalho são colocados em níveis apropriados de controle. Os níveis de controle podem variar de acordo com a importância ou criticidade dos produtos de trabalho, mas devem ser adequados a cada caso específico. Assim, para produtos de trabalho que requerem um controle mais formal, a Gerência de Configuração é aplicável, tanto no contexto de projetos como no contexto organizacional. Alguns documentos, no entanto, podem ser armazenados com um simples controle de acesso ou, então, serem versionados sem necessidade de um controle formal de mudança. Definir quais produtos de trabalho serão sujeitos a quais níveis de controle é parte da execução do processo de Gerência de Configuração. O processo Gerência de Configuração está intimamente relacionado com outros processos do MR-MPS-SW. Por exemplo: o processo Gerência de Projetos (GPR) pode apoiar no planejamento do processo Gerência de Configuração; o processo Gerência de Decisões (GDE) pode apoiar na atividade de avaliação de solicitações de modificação do processo Gerência de Configuração. O processo Gerência de Configuração pode também apoiar o processo Gerência de Requisitos (GRE) no que diz respeito ao controle de modificações sobre os requisitos e o processo Integração do Produto (ITP) no que diz respeito ao controle da evolução de interfaces. Comentários adicionais para implementação em diferentes tipos de organização Adquirentes de Software (Parte 8) Software (Parte 9) Não são permitidas exclusões de resultados deste processo. Não são permitidas exclusões de resultados deste processo. Como não existem especificidades para organizações do tipo Fábrica de Software, não foram incluídos comentários nos resultados esperados. Teste (Parte 10) Não são permitidas exclusões de resultados deste processo. A Gerência de Configuração na Teste deve abranger os produtos de trabalho e artefatos relacionados ao escopo definido para o projeto da Teste. Mecanismos para correlação com a configuração do produto de software que está sendo testado devem ser providos para que os resultados do processo de teste sejam gerenciados e controlados. Como não existem outras especificidades para organizações do tipo Teste, não foram incluídos comentários adicionais aos resultados esperados. MPS.BR Guia de Implementação Parte 2: /70
20 7.2 Fundamentação teórica A Gerência de Configuração pode ser tratada sob diferentes perspectivas em função do papel exercido pelo participante do processo de desenvolvimento de software [ASKLUND e BENDIX, 2002]. Na perspectiva gerencial, a Gerência de Configuração é dividida em cinco funções [IEEE, 2005]: identificação da configuração, controle da configuração, contabilização da situação da configuração, avaliação e revisão da configuração e gerenciamento de liberação e entrega. A função de identificação da configuração tem por objetivo possibilitar: (1) a seleção dos itens de configuração, que são os elementos passíveis de Gerência de Configuração; (2) a definição do esquema de nomes e números, que possibilite a identificação inequívoca dos itens de configuração no grafo de versões e variantes; e (3) a descrição dos itens de configuração, tanto física quanto funcionalmente. A função de controle da configuração é designada para o acompanhamento da evolução dos itens de configuração selecionados e descritos pela função de identificação. Para que os itens de configuração possam evoluir de forma controlada, esta função estabelece as seguintes atividades: (1) solicitação de modificação, iniciando um ciclo da função de controle para uma dada manutenção, que pode ser corretiva, evolutiva, adaptativa ou preventiva [PRESSMAN, 2005]; (2) classificação da modificação, que estabelece a prioridade da solicitação em relação às demais solicitações efetuadas anteriormente; (3) análise de impacto, que visa relatar os impactos em esforço, cronograma e custo, bem como definir uma proposta de implementação da manutenção; (4) avaliação da modificação pelo Comitê de Controle da Configuração (CCC), que estabelece se a modificação será implementada, rejeitada ou postergada, em função do laudo fornecido pela análise de impacto da modificação; (5) implementação da modificação, caso a solicitação tenha sido aprovada pela avaliação da modificação; (6) verificação da modificação com relação à proposta de implementação levantada na análise de impacto; e (7) atualização da baseline, que pode ou não ser liberada para o cliente em função da sua importância e questões de marketing associadas. É importante notar que o CCC pode ser composto por uma única pessoa, desde que tenha as competências e mecanismos suficientes para a execução das tarefas associadas. Numa implementação convencional, a ação do CCC é realizada antes de a mudança ser efetuada e não apenas para referendá-la. A função de contabilização da situação da configuração visa: (1) armazenar as informações geradas pelas demais funções; e (2) permitir que essas informações possam ser acessadas em função de necessidades específicas. Essas necessidades específicas abrangem o uso de medições para a melhoria do processo, a estimativa de custos futuros e a geração de relatórios gerenciais. A função de avaliação e revisão da configuração ocorre quando a baseline, gerada na função de controle da configuração, é selecionada para ser liberada para o cliente. Suas atividades compreendem: (1) auditoria funcional da baseline, via revisão dos planos, dados, metodologia e resultados dos testes, assegurando que ela cumpra corretamente o que foi especificado; e (2) auditoria física da baseline, com o objetivo de certificar que ela é completa em relação ao que foi acertado em cláusulas contratuais. MPS.BR Guia de Implementação Parte 2: /70