Resgatando Projetos Com Problemas Usando Pontos de Função Márcio Silveira, PMP HPE-ABS Cristian Ferreira, CFPS Sigma Novembro/2015
Em Algum lugar hoje, um projeto está falhando Peopleware 2a. Edição Tom De Marco
Se está naufragando, por onde a água normalmente entra? Requisitos Acompanhamento Estimativas Mudanças
Requisitos (I) Enquanto isso nos porões do navio...
Requisitos (II) Em que nível os requisitos encontram-se? Requisito de Alto-NÍvel Requisito Detalhado Durante o Desenvolvimento 1. A aplicação deverá calcular a comissão do vendedor 1.1 A comissão do vendedor deverá ser calculada através da aplicação do % máximo de comissão do seu job-code sobre o total de vendas no mes em curso 1.1 A comissão do vendedor deverá ser calculada através da aplicação do % máximo de comissão do seu job-code sobre o total de vendas no mes em curso. A comissão não poderá ultrapassar o valor máximo para categoria de venda e caso isto aconteça uma aprovação desta comissão de ser obtida do seu gerente superior
Requisitos (III) Não há melhor ferramenta para formalizar um escopo do que Pontos de Função! Porque? Fronteira Requisito Verbal/Escrito Tipo de Objeto Complexidade Tamanho Redução da Complexidade + Redução da Subjetividade + Baseline para negociação
Requisitos (IV) Não há melhor ferramenta para identificar requisitos não funcionais do que Pontos de Função Porque uma boa contagem traz à tona : Múltiplos meios de entrada de dados Múltiplos meios de saída de dados Code data Algoritmos/processos complexos Dentro outros...
Requisitos (V) Mas o projeto está afundando, não tenho tempo para contar! Desculpa!!!!!!!!!!!!!!! Se nada for feito, a tendência é piorar! É ilusão, em TI principalmente, que os problemas resolvem com o tempo A velocidade de contagem depende do contador e da disponibilidade da documentação e especialistas de negócio e por isso há uma variação muito grande. Digamos que esta produtividade seja da ordem de 50 a 150 Pontos de Função por hora. Um projeto de 2.000 Pontos de Função (Grande) deveria levar entre 15 e 40 horas para ser contado. Será que não vale a pena gastar este esforço para saber o tamanho da encrenca?
Estimativa (I) Infelizmente quase todo profissional de TI é um otimista...
Estimativas (II) Qual foi o tamanho do meu otimismo? Em seu livro Controlling Software Projects, meio da década de 80, Tom de Marco, discute estatisticamente que existe uma zona limite que o projeto pode habitar sem que corra o risco de atraso, excessivo volume de defeitos, overtime, etc. Acima deste limite, o projeto começa a entrar na Zona do Impossível, onde provavelmente estará fadado ao fracasso ou alguma perda. Parece que esta zona começa quando o projeto sofre uma compressão de 30%
Estimativas (III) Sabemos exatamente o tamanho da encrenca?
Estimativas (IV) Será que o que estamos querendo fazer é único? Impossível? Produtividade Horas/PF ISBSG R11 Produtividade PFs/Mes ISBSG R11 O que acha que está acontecendo com um projeto em Java de 6.500 PFs para ser entregue em 18 meses e com uma produtividade estimada de 12,3 horas/pf?
Mudanças (I) Mudanças são inevitáveis... A cada mês os requisitos do projeto vão mudar entre 1% e 2%, pode ter certeza...
Mudanças (II) Tenho como saber o que está mudando? Claro PF nelas!!!!!! Mudanças contadas usando versão simplificada da NESMA (Alteração) Percentuais de apropriação estabelecidos em conjunto com o cliente por fase Percentuais de re-trabalho normalmente : 0%, 50%, 75% ou 100%.
Mudanças (II) É preciso saber quando parar de mudar... É preciso não confundir : Mudança é um fato inevitável... Com Perda do controle do escopo
Mudanças (III) E isso pode ser quantificado em esforço e $$$$$$$$$
Acompanhamento Se você não sabe onde está, um mapa não vai ajudar
Acompanhamento (I) Pontos de Função é uma excelente métrica como indicador de valor agregado (EV)
Acompanhamento (II) Ao acompanhar o progresso usando Pontos de Função, alguns subprodutos podem surgir... Fórmula Original SPI = EV / PV Este SPI = % da Contribuição do tamanho do modulo no tamanho total do projeto / % da Contribuição do esforço total do módulo no projeto
Acompanhamento (III) Pode ter certeza, se a produtividade está baixa e datas estão sendo perdidas, requisitos não-funcionais podem sem os vilões da história!
Acompanhamento (IV) Se a correlação entre SLOCs/PFs pode variar de 100 LOCs/PF até 400 LOCs/PF, porque a produtividade também não pode, o esforço idem, e o preço também.
O maior cego é aquele que não quer ver Projetos com problemas fatalmente tem suas causa nos quatro tópicos discutidos : Requisitos, Estimativas, Mudanças e Acompanhamento. A técnica de Pontos de Função é uma excelente ferramenta para diagnosticar e ajudar na resolução dos problemas. Por si só, ela não tem como resolvê-los mas muitas vezes vai ajudar a sair da pior situação que podemos estar em um projeto : Não saber, o que não se sabe
Mas tudo isto pode ser evitado se APF for usada Definir e Validar o Escopo; Estimar Prazo, Esforço e Custo; Planejar as Entregas Controlar a Execução das Fases Conceitual, Lógica, Física e Homologação Controlar as Mudanças Gerar Indicadores de Performance Armazenar Informações históricas para retroalimentar o processo Mas este papo interessante vai ficar para a próxima Métricas/ISMA
Em Algum lugar hoje, um projeto está BRILHANDO Márcio Silveira
Obrigad o Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.