• Nenhum resultado encontrado

Modelo de Adaptação de Processos de Software

4.1 Visão Geral do Modelo

Neste trabalho, pretende-se analisar a influência das características do projeto no processo de desenvolvimento e desenvolver um modelo para a adaptação de um processo padrão para um projeto específico com base nessas características.

Para auxiliar a escolha de um processo adequado para cada projeto, será apresentado um Modelo de Adaptação de Processos de Software (MAPS) baseado nas características dos projetos.

São objetivos do MAPS:

• Estabelecer um método de adaptação de um processo padrão da organização para projetos específicos.

• Fornecer mecanismos para diminuir o esforço necessário para realizar a adaptação de processos.

• Permitir a melhoria contínua dos processos utilizados pela organização.

• Estar em conformidade com o nível 3 do CMM [15], que define uma estrutura para utilização e adaptação dos processos da organização.

Dado que a empresa possui um processo padrão, a adaptação deste será feita com base nas características do projeto, que devem ser fornecidas ao MAPS. O projeto será comparado com projetos passados para um possível reuso de partes de processos anteriormente definidos. Por fim, o MAPS deve fornecer diretrizes para a adaptação do processo de forma que no final seja obtido um processo adequado às características do projeto.

Deve ficar claro que as informações contidas no MAPS são apenas um ponto de partida, podendo não se aplicar totalmente a uma organização específica. Ao longo de cada projeto, devem ser colhidas informações e resultados que irão calibrar o MAPS, adequando-o às características de cada organização.

A Figura 4-1 representa o funcionamento básico do MAPS.

Figura 4-1: Modelo de Adaptação de Processos de Software: entradas e saída

A partir do processo padrão da organização, o MAPS deve gerar um processo específico para cada projeto. Para isso, são utilizados, além do próprio processo padrão, as características do projeto atual, para o qual deseja-se um processo adaptado, e resultados de projetos passados que possuam semelhanças com o projeto atual.

O Modelo é constituído de três módulos (Figura 4-2): Modelo de Caracterização de Projetos, PConfig e Base de Processos.

A utilização do Modelo de Caracterização de Projetos tem como objetivo realizar uma comparação entre os projetos. A partir dessa comparação, deseja-se permitir que um processo (ou partes de um processo) que tenha sido utilizado com

Modelo de Adaptação de Processos de Software Processo padrão da organização Resultados de projetos passados Características do projeto atual Processo adaptado

sucesso em um projeto seja reutilizado em projetos com características semelhantes. Existe ainda a possibilidade de melhorar esse processo de forma que, ao longo do tempo, a organização adquira um portfólio de processos bem sucedidos para os vários tipos de projeto.

Para caracterizar os projetos de software, serão analisadas as principais características do projeto que impactam o processo. Seguindo a idéia defendida por Cameron [45] de que “modularidade é um pré-requisito para reuso e para adaptabilidade”, a caracterização dos projetos será feita por disciplinas do processo (Planejamento e Gerenciamento, Requisitos etc) e não através do processo completo. Assim, o conjunto de características do projeto que influencia uma determinada disciplina é distinto do conjunto de características que influenciam outra disciplina, embora esses conjuntos possam ter alguma interseção. Um projeto pode, portanto, ser considerado, ao mesmo tempo, semelhante a outro com relação a uma determinada disciplina e diferente com relação a uma outra disciplina. Essa abordagem busca facilitar a comparação entre projetos e permitir um maior reuso de partes dos processos de software, atenuando um problema recorrente na analogia entre projetos de software que é encontrar projetos realmente semelhantes. O conceito de divisão dos processos em disciplinas, semelhante ao conceito de blocos de construção descritos por Budlong [12], também será utilizado nos outros componentes do MAPS. Uma vantagem adicional dessa estratégia é que ela torna o MAPS mais compatível com o CMMI (Capability Maturity Model Integrated) [46], modelo de maturidade que deve, no futuro, substituir o CMM. O CMMI, através do seu modelo contínuo [47], permite que uma organização atinja determinado nível de maturidade para apenas uma parte do processo, por exemplo, Gerenciamento de Projeto. Essa melhoria de processo por áreas do processo está em concordância com a idéia aqui utilizada de caracterizar, adaptar e melhorar o processo por disciplinas.

PConfig é formado por diretrizes para configurar o processo padrão para um projeto específico, de acordo com as características do projeto. Para essa configuração será tomado, como processo padrão, o Rational Unified Process (RUP), na sua versão 2002 [16].

A importância de armazenar informações sobre os processos de software já utilizados na organização, bem como sobre sua utilização em projetos, é discutida em [48] e [49]. Um repositório de informações permite a identificação de situações

recorrentes, diminuindo a quantidade de esforço duplicado e difundindo as lições aprendidas da organização. No Modelo de Adaptação de Processos de Software, a função de repositório de informações é exercida pela Base de Processos. A Base de Processos armazena informações/resultados dos projetos já realizados e os respectivos processos utilizados. A Base de Processos corresponde, no Modelo de Adaptação de Processos de Software, ao Banco de Dados de Processos da Organização e à Biblioteca de Documentação Relacionada a Processos de Software descritos no CMM [15]. A Base de Processos armazena e organiza as informações necessárias para o reus o de processos, funcionando em conjunto com o Modelo de Caracterização de Projetos. Esse reuso pode vir acompanhado da melhoria do processo armazenado, utilizando-se, para isso, uma avaliação do processo feita em projetos anteriores. Essa avaliação também estará armazenada na Base de Processos. Espera-se que, com a constante utilização do Modelo de Adaptação de Processos de Software e o conseqüente armazenamento de informações da Base de Processos, a organização adquira uma “família” de processos, todos baseados no seu processo padrão, que constituam um conjunto de soluções já testadas para as situações mais comuns na organização.

Os componentes do Modelo contribuem da seguinte forma para a consecução dos objetivos estabelecidos no início do capítulo:

• A utilização, em conjunto, do Modelo de Caracterização de Projetos e de PConfig constituem o método de adaptação utilizado.

• A reutilização de processos anteriores, através da interação entre o Modelo de Caracterização de Projetos e a Base de Processos, contribui para diminuir o esforço necessário para adaptar o processo.

• O armazenamento, na Base de Processos, das avaliações acerca dos processos utilizados permite que o reuso de processos venha acompanhado de uma melhoria de processos, resultando em uma maior qualidade dos processos que serão reusados no futuro.

• A estrutura do Modelo de Adaptação de Processos de Software é bastante semelhante à proposta pelo CMM, com a Base de Processos fazendo o papel do Banco de Dados de Processos de Software da Organização e da Biblioteca de Documentação Relacionada a Processos de Software e o PConfig, em conjunto com o Modelo de Caracterização de Projetos, correspondendo aos critérios e diretrizes para adaptação [15]. Deve ficar

claro que não é objetivo desse trabalho fornecer um método ou uma estratégia para atingir o nível 3 do CMM. O CMM foi utilizado apenas como referência e o Modelo foi estruturado de forma a diminuir o retrabalho e a quantidade de alterações necessárias no caso da organização ter como objetivo atingir o nível 3 do CMM. Ou seja, o Modelo de Adaptação de Processos de Software é compatível com o CMM e pode ser considerado como um passo em direção ao CMM nível 3, mas não é suficiente para atingir esse nível.

Figura 4-2: Modelo de Adaptação de Processos de Software (MAPS)

gera melhora fornece Processo Padrão modifica é entrada para permite Planejamento inicial do projeto Comparação de Projetos e Reuso de Processos Avaliação Final do Processo é aplicado a fornece gera Modelo de Caracterização de Projetos PConfig PROJETO Base de Processos Características do projeto PROCESSO PRELIMINAR PROCESSO ADAPTADO alimenta alimenta fornece Avaliação Parcial do Processo modifica

Em resumo, a adaptação de processos de software através do MAPS segue os seguintes passos:

1. Identificação das Características. A partir de um planejamento inicial do

Documentos relacionados