Este Capítulo descreve o estudo de caso realizado para avaliar o Modelo de Adaptação de Processos de Software (MAPS). O Capítulo possui a seguinte estrutura:
• A Seção 7.1 apresenta os objetivos do estudo de caso, identificando os principais pontos a serem avaliados.
• A Seção 7.2 define, passo a passo, a abordagem utilizada para realizar o estudo de caso, bem as como justificativas para a escolha dessa abordagem.
• A Seção 7.3 descreve a avaliação realizada, apresentando os dados obtidos e tecendo alguns comentários relevantes sobre os mesmos.
• A Seção 7.4 apresenta uma análise geral dos resultados obtidos.
7.1 Objetivos
Somente a definição do Modelo de Adaptação de Processos de Software (MAPS) não é suficiente para afirmar que ele pode ser aplicado na prática, com desempenho satisfatório. Por isso, para tentar validar a consistência e a viabilidade do MAPS, foi realizada uma avaliação do uso do Modelo em situações práticas.
Os principais aspectos a serem considerados eram:
• A aplicação do MAPS em um primeiro projeto, quando a Base de Processos estivesse vazia, para avaliar o esforço de adaptação sem reuso de processos e estimar a dificuldade de calibrar o PConfig para o contexto específico de uma organização.
• A aplicação do MAPS em um segundo projeto, semelhante ao primeiro, para avaliar os ganhos do reuso de processos e o Modelo de Caracterização de Projetos.
• A identificação das vantagens da utilização do MAPS e de oportunidades de melhoria do Modelo.
7.2 Abordagem Utilizada
O cenário ideal para avaliar um modelo como o MAPS seria a sua aplicação em alguns projetos de desenvolvimento de software reais. Esse cenário, entretanto, mostrou-se inviável por diversas razões:
1. Para avaliar o reuso de processos e o Modelo de Caracterização de Projetos, seria necessário aplicar o MAPS a, pelo menos, dois projetos.
2. A aplicação do MAPS teria que ser feita desde o início dos projetos e só poderia ser avaliada em uma fase adiantada dos projetos, o que demandaria um tempo considerável. Além disso, os projetos não poderiam ocorrer ao mesmo tempo, sob pena de não levar em consideração a avaliação e a melhoria do processo utilizado no primeiro projeto antes do reuso do processo para o segundo projeto.
3. A dificuldade de encontrar uma organização com um processo padrão definido e que estivesse disposta a aplicar um modelo de adaptação ainda não testado. Essa dificuldade é devida, sobretudo, à pequena faixa de manobra da grande maioria dos projetos de software, o que não permite correr nenhum risco desnecessário que possa afetar o custo e o tempo de conclusão do projeto.
Por conta dessas dificuldades, optou-se por realizar um estudo alternativo que, apesar de não ser o ideal, permite uma boa avaliação de alguns aspectos do MAPS e é muito mais viável do ponto de vista da organização desenvolvedora. A abordagem aplicada é composta dos seguintes passos:
Passo 1: Escolha dos projetos. Foram escolhidos dois projetos de uma mesma
empresa, que utilizavam processos baseados no RUP. Foram escolhidos, propositalmente, dois projetos, aqui referenciados como Projeto A e Projeto B18, com características semelhantes, para que se pudesse testar o reuso de processos. Os dois projetos escolhidos estavam em uma fase adiantada do desenvolvimento, o que era um pré-requisito essencial para que se pudesse avaliar, com segurança, o processo utilizado, já que no início do projeto não existem subsídios suficientes para analisar se o processo foi bem sucedido.
18
Passo 2: Caracterização dos projetos. Foram realizadas reuniões iniciais com
os gerentes dos projetos escolhidos, com o objetivo de conhecer o escopo e as características dos projetos, particularmente aquelas relacionadas com a disciplina Planejamento e Gerenciamento e que foram discutidas na Seção 5.1.2. Para caracterizar os projetos, foi utilizado o questionário apresentado no Apêndice A.
Passo 3: Adaptação do processo para o Projeto A. Com base nas
características do Projeto A, foi realizada a adaptação do processo padrão através do MAPS. A adaptação foi realizada com base apenas no PConfig, já que não existiam processos armazenados na Base de Processos. Para esse passo, considerou-se o RUP como processo padrão a ser adaptado.
Passo 4: Avaliação e compatibilização dos processos do Projeto A. Foi
realizada, em uma segunda reunião com o gerente do primeiro projeto, uma avaliação comparativa entre o processo sugerido pelo MAPS e o processo realmente utilizado no projeto. Essa avaliação teve, como principal objetivo, verificar se o processo sugerido pelo MAPS era realmente adequado ao projeto e identificar ganhos e perdas caso esse tivesse sido o processo utilizado no projeto. Essa avaliação foi feita com base nos artefatos do processo e foi considerada como a Avaliação Final do Processo sugerida na Seção 5.2.3. Para avaliar o processo utilizado no Projeto A, foi utilizado o questionário apresentado no Apêndice C. Cada artefato foi avaliado em relação à sua utilidade para o projeto e ao custo/benefício da produção do artefato.
A utilidade dos artefatos foi avaliada classificando-os em 4 grupos:
• Muito Útil: o artefato é essencial para o projeto, sua ausência pode causar danos irreparáveis.
• Útil: o artefato é importante para o projeto e sua existência aumenta a qualidade, produtividade ou controle sobre o projeto.
• Pouco Útil: o artefato agrega pouco valor ao projeto, sua ausência não causa grandes problemas.
• Inútil: o artefato não tem nenhuma importância para o projeto, sua ausência não traz nenhum prejuízo.
Os artefatos também foram classificados em grupos para avaliar o custo/benefício da produção do artefato, levando em consideração o esforço de produção de cada artefato e os benefícios gerados pelo artefato, como, por exemplo, maior controle sobre o projeto, ganhos na qualidade do produto e do processo e melhor
comunicação entre os membros da equipe de desenvolvimento:
• Ótimo: os benefícios gerados pelo artefato compensam largamente seu custo.
• Bom: os benefícios gerados pelo artefato compensam seu custo, mas melhorias podem ser feitas para tornar essa relação mais satisfatória.
• Regular: os benefícios gerados pelo artefato não compensam seu custo, porém a produção do artefato não acarreta grandes prejuízos ao projeto. É provável que o artefato não devesse ser produzido.
• Péssimo: os benefícios gerados pelo artefato são ínfimos perto do seu custo e a produção do artefato acrescenta uma sobrecarga de trabalho considerável ao projeto. O artefato não deve ser produzido.
Para manter a consistência entre a avaliação realizada e a estrutura do PConfig, era necessário utilizar o RUP como processo padrão a ser adaptado, já que a implementação do PConfig descrita no Capítulo 6 está baseada no RUP. Os processos utilizados no Projeto A e no Projeto B, entretanto, seguiam o processo padrão utilizado pela organização desenvolvedora. Esse processo, apesar de ser fortemente baseado no RUP, possui algumas especificidades. Por isso, além de avaliar os artefatos , era preciso tornar o processo padrão da organização compatível com o RUP, já que existiam diferenças de nomenclatura e estrutura entre os artefatos dos dois processos. Foi realizada uma avaliação da função dos artefatos do processo padrão da organização, que foram, então, mapeados em artefatos do RUP.
Passo 5: Adaptação do processo para o Projeto B . Foi aplicado, ao Projeto B,
o método de comparação de projetos sugerido na Seção 5.1.3, para verificar se a suposta semelhança entre o Projeto A e o Projeto B se confirmava quando da aplicação das regras do Modelo de Caracterização de Projetos. A seguir, foi aplicada a estratégia de reuso sugerida nas Seções 5.1.4 e 5.2.2. Por último, foi aplicado o PConfig para finalizar a adaptação.
Passo 6: Avaliação e compatibilização dos processos do Projeto B. Foi
realizado, para o Projeto B, a mesma avaliação feita para o Projeto A (Passo 4).
Passo 7: Análise dos resultados obtidos. Finalmente, foram analisadas as
informações obtidas com as avaliações dos processos utilizados pelo Projeto A e pelo Projeto B e dos processos sugeridos pelo MAPS para os dois projetos, para determinar se a utilização do MAPS, com e sem reuso de processos, poderia trazer ganhos para os projetos avaliados.
7.3 Avaliação Realizada
A avaliação do MAPS foi realizada em uma organização de grande porte que, entre outras atividades, desenvolve software para várias áreas. A organização possui um processo padrão de desenvolvimento, fortemente baseado no RUP, que é adaptado para cada projeto, mas sem seguir critérios documentados e bem definidos. A organização também possui uma equipe de garantia da qualidade, que é responsável por acompanhar a utilização do processo nos vários projetos. Foram escolhidos dois projetos da organização, Projeto A e Projeto B, para a realização da avaliação do MAPS. Esses projetos tiveram os artefatos dos seus processos mapeados para artefatos do RUP para manter a consistência com a implementação do PConfig descrita no Capítulo 6.
Serão descritas, a seguir, as aplicações do MAPS realizadas no Projeto A e no Projeto B com o objetivo de avaliar o Modelo. Para cada projeto, é feita uma breve descrição, seguida de uma caracterização do projeto. São descritos os processos utilizados nos projetos e os processos sugeridos pelo MAPS. No caso do Projeto B, também é descrito o método de reuso utilizado. É descrita, também, a avaliação dos processos, tanto os utilizados quanto os suge ridos pelo MAPS, realizada em conjunto com os gerentes dos projetos.
7.3.1 Projeto A
O Projeto A é um projeto de desenvolvimento de um sistema para a área tributária de um órgão público. O projeto, no período em que foi avaliado, estava em sua fase final de desenvolvimento. A duração prevista do Projeto A é de 17 meses, com a implementação de 240 casos de uso. O Projeto A comporta desenvolvedores de duas organizações diferentes, mas que trabalham em um mesmo espaço físico.