|
Uma das maiores dificuldades encontradas no gerenciamento de projetos de informática, é saber a dimensão do que está sendo gerenciado. Muitas aplicações que a princípio parecem pequenas, quando em desenvolvimento, mostram-se muitas vezes maior do que o previsto inicialmente e, para alguns casos, tornam-se tão complexas e grandes, que se perde o controle. Além do que nem sempre é viável se lançar na aventura de desenvolver um aplicativo, já que atualmente existem no mercado uma infinidade de produtos prontos ou necessitando de pequenas customizações. Um sem-número de dúvidas vem à tona, quando se fala em dimensionamento, prazo e custo de sistemas. Estas dúvidas não são só pertinentes aos gerentes e desenvolvedores e sim, a todos os envolvidos neste processo tão nebuloso e complicado de se administrar. Dentre elas, pode-se citar algumas, como por exemplo:
A área de informática da grande maioria das empresas, em geral, só consegue retratar custos passados de hardware, software e peopleware, além de alguns indicadores relativos ao ambiente de produção (utilização de processador por tempo, taxa de disponibilidade do sistema, etc.). A inexistência de indicadores de desempenho financeiro, qualidade e produtividade que retratem o desenvolvimento de sistemas de informação dificulta, e muito, a efetiva gerência destas atividades. Produzir serviços de alta qualidade com o mínimo custo possível - ou seja, alta produtividade - se constitui em fator crítico de sucesso para o bom desempenho empresarial. No esforço de implantação de uma nova mentalidade voltada para a qualidade e produtividade, não é admissível o desenvolvimento de sistemas através de feeling, onde questões como: qual é a produtividade da área de informática, qual é a capacidade de produção, qual conjunto de ferramentas possibilita a maior produtividade, quais são os indicadores de qualidade existentes, qual caminho devo adotar, desenvolver ou comprar um pacote e customizá-lo, são simplesmente deixadas de lado ou respondidas sem suporte de uma base quantificável. A gestão do ambiente de software não está vinculada somente a um projeto ou a um produto específico e sim, ao conjunto dos projetos e produtos da instalação como um todo. É o nível tático de gestão. Neste nível, a preocupação é avaliar a qualidade dos processos de planejamento de projetos, de desenvolvimento de software e de gestão dos produtos em utilização, visando atingir patamares cada vez mais elevados de qualidade sob o conceito de melhoria contínua. Para tanto, as medições operacionais devem ser agregadas a fim de permitir: a análise de tendências de determinados indicadores, que podem subsidiar ações para reversão ou sustentação dessas tendências; a análise de impactos na introdução de novas tecnologias sobre a qualidade e produtividade, que pode auxiliar na decisão sobre quais combinações de elementos de tecnologia garantem melhores resultados; a análise de atributos, que permite a comparação da qualidade e produtividade entre plataformas, metodologias, áreas de aplicação, habilidades técnicas de pessoas e assim sucessivamente. Uma das dimensões da gestão do software é a econômica. O esforço de atingir patamares mais evoluídos de qualidade recai também sobre a gestão de custos de não-conformidade ou má qualidade. Ou seja, qualidade aumenta lucratividade pela diminuição dos custos de falhas internas e externas e pelo aumento da satisfação do cliente. A gerência, criando os padrões de medidas para a instalação, fica em posição de monitorar o comportamento dos projetos e produtos individualmente, analisar resultados, compará-los e verificar a adequabilidade dos respectivos processos e necessidades de implementar melhorias. O Ciclo de Controle Aplicado à Gestão do Ambiente de Software
Planejar:
Agir:
Acompanhar:
Reagir:
A métrica Análise de Pontos de Função é utilizada como geradora de indicadores para estimativas de prazos, gerência de recursos humanos e elaboração de planos de trabalho de projetos, assim como na avaliação e acompanhamento do progresso de projetos e análise da produtividade de equipes. A medida do tamanho de sistemas, em conjunto com tempo e custo, fornece estes indicadores, que constituem um sistema de informações gerenciais - importante ferramenta para a administração da organização. A implantação de um programa de métricas, fundamentado nos indicadores obtidos através da utilização da Análise de Pontos de Função irá possibilitar fornecer uma série de informações, como por exemplo:
O objetivo principal da aplicação de medições na gestão do projeto está associado aos seguintes aspectos:
Para tanto, é preciso controlar / monitorar o processo de desenvolvimento, visando manter a produtividade nos níveis previstos, remover o quanto antes defeitos introduzidos no produto, reduzindo ou eliminando o esforço de retrabalho, consequentemente mantendo o orçamento sob controle. Definindo um Programa de MétricasO processo de definição de um programa de métricas, isto é, quais métricas e quais informações geradas por estas métricas serão utilizados pela empresa, deve ser baseado nas necessidades de informação de cada nível organizacional. Isto é obtido a partir do levantamento de informações junto as áreas interessadas. Para o tal, pode-se aplicar o método Basili GQM (Goal / Question / Metric). O diagrama apresentado a seguir ilustra o modelo Basili.
A escolha da métrica para auxiliar e suportar as medições de software deve levar em conta alguns parâmetros, como demonstrado a seguir:
As técnicas de estimativas podem ser classificadas basicamente, em três categorias:
Analogia - Estimativa por Experiência Este método, se é que pode ser chamado de método, é baseado na experiência de quem faz estimativas. Quanto mais estimativas feitas, maior é o conhecimento e maior é a possibilidade de acerto. Como vantagens pode-se citar: baseado em experiência passada, aplicável para projetos com baixo nível de detalhe e o compromisso do grupo que produziu a estimativa. Como desvantagens pode-se citar: está sujeito à pressão, necessita de experts da companhia, pode apresentar grande desvio, é altamente dependente de experiência passada, não deve ser utilizado para projetos grandes e não produz indicadores. Modelo Algoritmo - COCOMO O método COCOMO (Constructive Cost Model) foi desenvolvido para estimar esforços de desenvolvimento, prazo e tamanho de equipe para um projeto de sistemas. Ele é baseado no número de instruções fontes (número de linhas de código ) e supõe que as especificações dos requisitos não serão alteradas substancialmente após a fase de Planejamento e Requisitos.Como vantagens pode-se citar: baseado em experiência passada, fundamentado em fórmula matemática e pode ser aplicado nas diversas fases do ciclo de desenvolvimento. Como desvantagens pode-se citar: dependente da tecnologia, dependente de experiência passada e não produz indicadores. Análise de Funcionalidade - Análise de Ponto de Função - FPA O Ponto de Função mede o tamanho do software pela quantificação de sua funcionalidade externa, baseada no projeto lógico ou a partir do modelo de dados, abrange a funcionalidade específica requerida pelo usuário para o projeto. A funcionalidade requerida diz "o que" será (ou é) entregue para o usuário. Como vantagens pode-se citar: a estimativa é feita em função da visão do usuário; facilidade de aprendizagem e aplicação da técnica, independência de tecnologia, apoiar e acompanhar a avaliação de produtividade e de qualidade de projetos de software, prover um fator de comparação de softwares, possibilitar a coleta de dados para obtenção de diversos indicadores de acompanhamento, aplicabilidade nas diversas fases de desenvolvimento. Como desvantagens pode-se citar: necessita acompanhamento constante das medições para gerar os diversos indicadores possíveis, a aplicabilidade nas diversas fases requer esforço de contagens de pontos de função para cada fase e requer um meio eficiente de armazenamento das informações obtidas nas contagens. Comparação entre Métricas Cada tipo de medição tem suas vantagens e desvantagens. FPA e COCOMO podem ser utilizadas em conjunto, de modo que se obtenha o melhor de cada uma, conforme as características desejadas nas etapas do desenvolvimento. Coleta da Base de Dados É a decisão mais importante, depois que se decide implantar a métrica de Análise de Pontos de Função. A coleta pode ser atomizada até o ponto ideal entre o útil e o desestímulo. As medições referem-se à coleta de dados sobre prazo, esforço, custo de cada fase, defeitos encontrados e removidos e outros atributos do processo, assim como a medição do tamanho do software no final do projeto. A coleta da base de dados é um dos fatores críticos de sucesso na implantação de um programa de métricas. Corresponde à etapa em que, a partir de um planejamento do que será coletado, feito na fase de definição de um programa de métrica, define-se como serão armazenadas as informações coletadas (aquisição de uma ferramenta, uso de planilhas, desenvolvimento de um sistema, etc.).Neste momento, é necessário que todos os envolvidos no processo de coleta estejam motivados e conscientes da importância do trabalho, cujo retorno não será imediato, pois apesar do pequeno acréscimo de trabalho, proveniente das medições e da coleta de dados, ainda não se tem uma massa de dados históricos mínima, tão necessário à uma utilização da métrica. Apesar dos grandes benefícios que podem ser obtidos com a utilização de um programa de métricas para o gerenciamento dos projetos e produtos de software, o fator humano é um item extremamente sensível que deve ser levado em consideração e que, se negligenciado, pode conduzir ao fracasso tentativas bem intencionadas de medições. O princípio básico que norteia as regras, que deve orientar o comportamento ético da gerência e das equipes de desenvolvimento, fundamenta-se no que podemos considerar um axioma enunciado por Edward Deming (Out of the Crisis, MIT Press, 1986 ): "85% dos problemas que ocorrem nos processos da empresa são de responsabilidade da gerência". Consequentemente, jamais se devem avaliar desempenhos individuais e sim enfocar processos e produtos os quais são desenvolvidos por equipes. Medições para Atender o Aperfeiçoamento do Planejamento de projetos e do Processo de Desenvolvimento da InstalaçãoAo final do processo de desenvolvimento devem ser feitas algumas medições, para que dêem subsídios ao aperfeiçoamento continuo dos processos de planejamento de projetos e de desenvolvimento da instalação. Essas medições irão atualizar o banco de dados de métricas e alimentar os indicadores, bem como estabelecer os novos padrões da instalação, os quais serão utilizados para o planejamento e desenvolvimento de novos projetos. Estas medições compreendem:
Para finalizar, são apresentados alguns exemplos de uso de indicadores, para cada classe de usuários. Indicadores para Clientes
|