8. SONUÇ VE ÖNERİLER
8.2. Öneriler
Este subprocesso é realizado no início do projeto, no início de um módulo ou, como no caso de organizações como a Organização A, durante a pré-venda do projeto. O momento da realização varia de acordo com o processo de reengenharia da organização. O ideal que é se tenha uma ideia clara da demanda a ser desenvolvida, ou seja, deve-se ter conhecimento do escopo do projeto (L01 - Deve haver uma definição clara do escopo do projeto de reengenharia), principalmente no que tange o tipo de reengenharia que deve ser realizada (reengenharia de código e/ou de dados, e se será necessário fazer a reengenharia de documentação).
A Figura 7.3 apresenta o subprocesso de Planejamento da Estimativa. A seguir são descritas as atividades relacionadas ao subprocesso: • Analisar demanda
Figura 7.3 – Planejamento da Estimativa
• Selecionar técnicas de estimativa • Definir os dados a serem coletados • Definir as técnicas de coleta dos dados • Gerar planejamento das estimativas
7.3.1 Analisar Demanda
A demanda do projeto (que pode ser o escopo, uma descrição em alto nível feita pelo cliente e registrada em uma ata de reunião, dentro outras) deve ser analisada e a partir dela devem ser extraídas as características do projeto, com o maior detalhamento possível. Informações importantes que devem ser levadas em consideração nesta fase são: o escopo da reengenharia, a quantidade e tipo de documentação disponível, porte do projeto, domínio de desenvolvimento e as tecnologias envolvidas.
7.3.2 Consultar base de conhecimento
Além das características do projeto, o responsável pela estimativa pode se emba- sar em lições aprendidas de projetos anteriores para selecionar as técnicas de estimativa a serem empregadas. Exemplos de lições aprendidas que podem ser utilizadas nesta fase incluem: qual técnica usar para um determinado tipo de projeto, quais as melhores com- binações de técnicas, qual o tempo médio para a aplicação de uma determinada técnica, etc.
7.3.3 Selecionar técnicas de estimativa
Esta atividade está relacionada com a (BP12 - Utilizar mais de uma técnica de estimativa) e com a (BP13 - Selecionar a técnica de acordo com as características projeto). A primeira prática visa minimizar o viés de se utilizar apenas uma técnica de estimativa, já que nenhuma é 100% assertiva. Assim, de acordo com [BAC00] uma composição de técnicas não garante um acerto total, mas tende a permitir uma aproximação maior do valor real, uma vez que cada técnica pode analisar o problema sob uma perspectiva.
Além de utilizar mais de uma técnica de estimativa deve-se selecionar as técni- cas de acordo com o projeto. Este alinhamento permite tirar um maior proveito do que se tem disponível sobre o projeto, selecionando-se uma técnica que possa fazer uma melhor utilização dessas informações.
7.3.4 Definir os dados a serem coletados
Uma vez definidas as técnicas, deverão ser definidos quais dados deverão ser coletados para a aplicação de cada técnica. Isto é necessário pois cada uma tem seu
conjunto de parâmetros e estes devem ser informados com precisão, para se obter um melhor resultado.
A variedade de técnicas disponíveis é muito grande e cada técnica requer um conjunto de parâmetros de entrada próprio. Os tipos de parâmetros que podem ser consi- derados são diversos. Alguns exemplos de parâmetros de entrada comuns em técnicas de estimativa de esforço são: grau de experiência da equipe, uso ou não de ferramentas de apoio, etc.
Vale ressaltar a maioria das técnicas utiliza como base o tamanho do projeto. No caso da reengenharia há dois tamanhos: o do sistema atual e o do sistema alvo (novo).
7.3.5 Definir as técnicas de coleta dos dados
Assim como cada técnica de estimativa de esforço tem seus parâmetros de en- trada específicos, cada parâmetro pode requerer uma técnica de coleta de dados diferente. Dentre as técnicas comumente utilizadas estão a Análise do Sistema Legado (código-fonte), Análise da Documentação e Entrevista com os Stakeholders. A aplicação de cada uma dessas técnicas é discutida no subprocesso Estimativa. Porém, é importante que durante o Planejamento da Estimativa, o responsável pelas estimativas tenha em mente os dados necessários e como e onde obter estes dados.
Como dito na seção 7.3.4, o tamanho é o parâmetro base para a maioria das técni- cas de estimativa de esforço. No caso do tamanho do sistema legado, este pode ser medido diretamente pela análise do código-legado (caso esteja disponível) ou estimado a partir da documentação do projeto. Já o tamanho do sistema alvo (sistema após a reengenharia) deve ser estimado a partir de uma técnica de estimativa de tamanho, como contagens de linha de código, APF e UCP.
7.3.6 Gerar planejamento das estimativas
O resultado do conjunto de atividades realizadas deve compor o Planejamento das Estimativas: um documento que servirá como entrada para a realização da estimativa em si. É importante frisar que, além da demanda do projeto, a base de conhecimento também deverá estar disponível como entrada para este subprocesso e pode servir como apoio à tomada de decisão em quaisquer das atividades a serem realizadas.
7.4 Estimativa
Este subprocesso é onde efetivamente vai ser realizada a estimativa de esforço, com base no Planejamento da Estimativa realizado na etapa anterior. A Figura 7.4 apre- senta o subprocesso de Estimativa.
A seguir são descritas as atividades envolvidas das três etapas principais deste subprocesso:
• Levantamento de Dados e Análise de Riscos • Estimativa
• Comparação e Validação
7.4.1 Levantamento de Dados e Análise de Riscos
Nessa etapa são levantados os dados (parâmetros) necessários para aplicação de cada técnica, de acordo com o definido no Planejamento da Estimativa. Além disso, são analisados os riscos do projeto que poderão interferir nas estimativas.
Levantamento de Dados
O levantamento dados é o momento onde o responsável pela estimativa obtém os dados necessários para a aplicação das técnicas. Geralmente, nesta fase, há apoio da equipe de Análise, já que esta atividade pode envolver coleta de dados com as partes interessadas no sistema (stakeholders) e análise do sistema legado.
Um possível desafio desta fase é o tempo disponível para fazer o levantamento dos dados, principalmente se esta estimativa estiver sendo realizada antes do início do projeto e se o nível de conhecimento da equipe sobre o projeto for baixo. Não é possível especificar o tempo necessário para levantar os dados, dado que vários fatores como complexidade do sistema legado, qualidade do código, qualidade da documentação, disponibilidade dos entrevistados, dentro outros, devem ser levados em consideração. Porém, uma boa prática identificada neste caso é a realização de um projeto preliminar, também chamado pré- projeto, antes da realização das estimativas (L02 - A realização de um projeto preliminar é essencial para o sucesso da estimativa, principalmente quando não houver familiaridade com o tipo de projeto).
O projeto preliminar consiste em selecionar um módulo do sistema legado e aplicar o processo de reengenharia sobre este módulo para que, a partir daí, se avalie melhor a
Figura 7.4 – Estimativa de Esforço
complexidade do projeto como um todo e se possa obter uma maior assertividade nas estimativas.
Uma boa prática que pode substituir a realização de um projeto preliminar, no caso da falta de conhecimento ser relacionada apenas ao funcionamento do sistema a ser migrado, é realizar um workshop de imersão (BP09 - Realizar workshop para entendimento do sistema a ser migrado).
Para o levantamento dos dados, o conhecimento do domínio do negócio (BP05), o conhecimento das tecnologias do sistema legado (BP06) e do sistema alvo (BP07) são diferenciais positivos em favor da equipe que realiza a estimativa.
Em relação as técnicas de levantamento de requisitos, as principais são as seguin- tes:
1. Analisar código-fonte: consiste na análise do código-fonte do sistema legado, de