Implantação da APF: Obstáculos e Boas Práticas em um Caso Real

1,038 views

Published on

I Conferência de Medição e Análise de Software - 12/08/09 - São Paulo

Published in: News & Politics
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,038
On SlideShare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Implantação da APF: Obstáculos e Boas Práticas em um Caso Real

  1. 1. Guilherme Siqueira Simões (27) 8111-7505 [email_address] Implantação da APF: Obstáculos e Boas Práticas em um Caso Real
  2. 2. <ul><li>Mostrar um caso de implantação da APF numa organização, focando: </li></ul><ul><ul><li>APF como unidade de medição de contratos de desenv./manutenção </li></ul></ul><ul><ul><li>as dificuldades inerentes ao processo de implantação </li></ul></ul><ul><ul><li>boas práticas adotadas para favorecer o sucesso da iniciativa </li></ul></ul><ul><ul><li>particularidades para projetos de manutenção (melhorias) </li></ul></ul><ul><ul><li>lições aprendidas </li></ul></ul><ul><ul><li>próximos passos para melhorar a maturidade do processo implantado </li></ul></ul>Objetivos da Apresentação
  3. 3. <ul><li>Contextualização </li></ul><ul><li>Dificuldades vencidas </li></ul><ul><li>Boas práticas adotadas para o uso da APF </li></ul><ul><li>Lições aprendidas </li></ul><ul><li>Próximos passos </li></ul>Agenda
  4. 4. <ul><li>Análise de Pontos de Função (APF) é uma técnica de medição das funções fornecidas por um software do ponto de vista dos usuários. </li></ul><ul><li>Ponto de função (PF) é sua unidade de medida. </li></ul><ul><li>O processo de medição (ou contagem de PFs) é baseado em uma avaliação padronizada dos requisitos funcionais do usuário. Este processo padrão está descrito pelo IFPUG em seu manual. </li></ul><ul><li>Embora sejam grandezas distintas, em geral, há uma forte relação entre o tamanho funcional (PF) de um sistema e o esforço (HH) ou custo ($) para desenvolvê-lo e mantê-lo. Isto torna a APF útil para: </li></ul><ul><ul><li>Estimativas de projetos de software </li></ul></ul><ul><ul><li>Geração de indicadores de qualidade e produtividade </li></ul></ul><ul><ul><li>Unidade de medição de contratos </li></ul></ul>O que é APF? Para que serve?
  5. 5. Caracterização da Organização <ul><li>Atuação no setor financeiro </li></ul><ul><li>~ 150 sistemas de suporte ao negócio desenvolvidos e mantidos </li></ul><ul><ul><li>Diversas linguagens: Access, C/C++, Cobol, Delphi, Java, PB, VB </li></ul></ul><ul><ul><li>Diversas plataformas: Mainframe, Solaris, Web, Windows </li></ul></ul><ul><li>Equipe interna de ~ 50 analistas de negócio </li></ul><ul><ul><li>responsável por validar a contagem de PFs feita pelo fornecedor </li></ul></ul><ul><li>6 fornecedores para desenvolvimento/manutenção de sistemas </li></ul><ul><li>Orçamento da área de sistemas para serviços: ~R$600 mil/mês </li></ul><ul><li>Demanda predominante de manutenção nos sistemas existentes </li></ul><ul><li>~ 90 ordens de serviço abertas por mês </li></ul><ul><li>~ 3.000 PF IFPUG / mês </li></ul>
  6. 6. Cenário antes da APF <ul><li>Contratos de Homem-Hora: serviços executados dentro de casa </li></ul><ul><li>Equipe mista de trabalho: pessoal da casa + pessoal do fornecedor </li></ul><ul><li>Escopo do serviço além do desenvolvimento de sistemas: </li></ul><ul><ul><li>Levantamento de necessidades do usuário, acompanhamento dos sistemas em produção, atendimento a dúvidas de usuário </li></ul></ul><ul><li>Falta de estímulo ao aumento da produtividade dos fornecedores </li></ul><ul><li>Custo com correção de defeitos e horas não produtivas </li></ul><ul><li>Gestão direta sobre o pessoal do fornecedor (risco trabalhista): </li></ul><ul><ul><li>Atividades, horário de trabalho, nível de remuneração, férias, etc </li></ul></ul>
  7. 7. Por que a APF em contratos? <ul><li>Para equilibrar responsabilidades </li></ul><ul><ul><li>Produtividade e qualidade Fornecedor </li></ul></ul><ul><ul><li>Escopo Cliente </li></ul></ul><ul><li>Suportado pelo IFPUG e com milhares de usuários no mundo </li></ul><ul><ul><li>Conceitos básicos estabelecidos e aprimorados ao longo de 30 anos </li></ul></ul><ul><li>Definição uniforme e consistente </li></ul><ul><li>Vocabulário independente da tecnologia (perspectiva do negócio) </li></ul><ul><li>Auditável </li></ul>
  8. 8. A Mudança <ul><li>Motivação: orientação do depto. jurídico para encerrar contrato HH </li></ul><ul><li>Cronologia (vencendo a inércia): </li></ul><ul><ul><li>Nov/07: Palestra de sensibilização de APF para líderes </li></ul></ul><ul><ul><li>Nov/07: Treinamento em APF dos analistas responsáveis pela medição </li></ul></ul><ul><ul><li>Dez/07: Início dos contratos em PF </li></ul></ul><ul><ul><li>Dez/07: Consultoria externa para apoio em APF </li></ul></ul><ul><ul><li>Dez/07: Segregação de atividades entre funcionários e terceiros </li></ul></ul><ul><ul><li>Dez/07: Levantamento da base instalada de aplicações </li></ul></ul><ul><ul><li>Dez/07: Publicação da primeira versão do Guia de APF </li></ul></ul><ul><ul><ul><ul><li>com versões incrementais a cada 15 dias nos 3 meses iniciais </li></ul></ul></ul></ul><ul><ul><li>Jan/08: Instituição de planilha padrão para contagem de PFs </li></ul></ul><ul><ul><li>Fev/08: Palestra de nivelamento/apresentação de resultados parciais </li></ul></ul>
  9. 9. Dificuldades Vencidas <ul><li>Mudança de cultura de contratação de mão de obra para contratação de projetos </li></ul><ul><li>Conhecimento do negócio parcialmente não internalizado </li></ul><ul><li>Documentação escassa dos sistemas </li></ul><ul><li>Falta de planejamento inicial da implantação da APF </li></ul><ul><li>Conceitos da APF assimilados de maneira não uniforme </li></ul><ul><ul><li>Dificuldade para medir desconsiderando a implementação </li></ul></ul><ul><li>Aumento de custo </li></ul><ul><ul><li>Preço (R$/PF) bom para funções novas, mas inadequado para alterações </li></ul></ul><ul><ul><li>Toda alteração imediatamente despachada para execução </li></ul></ul><ul><ul><li>Alto índice de mudança de requisitos </li></ul></ul>
  10. 10. Boas Práticas <ul><li>Definição prévia das fronteiras de todas as aplicações </li></ul><ul><li>Guia de contagem de APF </li></ul><ul><li>Metodologia de contagem </li></ul><ul><li>Planejamento das demandas (“saber pedir”) </li></ul><ul><li>Auditoria das contagens </li></ul><ul><li>Tratar itens não mensuráveis </li></ul><ul><li>Fator de impacto na melhoria </li></ul>
  11. 11. Boas Práticas – Definição das Fronteiras <ul><li>A fronteira da aplicação é um conceito fundamental da APF que: </li></ul><ul><ul><li>define o que é (interno) e o que não é o sistema (externo) </li></ul></ul><ul><ul><li>é definida com base na visão de negócio </li></ul></ul><ul><ul><li>independente de qualquer questão relativa à implementação </li></ul></ul><ul><li>Uma contagem de PFs feita com base numa premissa incorreta de fronteira produz um erro significativo (até em ordem de grandeza) </li></ul><ul><li>O estabelecimento prévio (antes de qualquer medição ser feita) da visão correta de fronteira dos sistemas previne erros como: </li></ul><ul><ul><li>considerar cada camada do sistema como uma fronteira </li></ul></ul><ul><ul><li>considerar um módulo do sistema como uma nova fronteira </li></ul></ul><ul><ul><li>considerar partes do sistema em plataformas computacionais distintas como fronteiras separadas </li></ul></ul>
  12. 12. Boas Práticas - Guia de APF <ul><li>O manual do IFPUG dita princípios gerais para contagem de PFs </li></ul><ul><ul><li>Tem todas as definições/regras necessárias para medição e vários exemplos </li></ul></ul><ul><ul><li>Aborda de maneira geral o uso da técnica para que o processo seja aplicado em uma grande variedade de situações </li></ul></ul><ul><ul><li>Contém ainda alguns pontos que carecem de melhor esclarecimento </li></ul></ul><ul><li>O Guia de APF estabelece a interpretação da organização na aplicação desses princípios gerais para seu negócio em particular </li></ul><ul><ul><li>Tem mais valor quanto mais específico for para a organização </li></ul></ul><ul><ul><li>Identifica onde é necessária orientação adicional na contagem, fornecendo essa orientação e direção </li></ul></ul><ul><li>Benefícios </li></ul><ul><ul><li>Evita o re-trabalho com a análise de questões recorrentes </li></ul></ul><ul><ul><li>Centraliza (e retém) a experiência de contagem de PFs </li></ul></ul><ul><ul><li>Acelera a curva de aprendizado de novos profissionais </li></ul></ul><ul><ul><li>Aumenta a consistência entre contagens feitas por diferentes profissionais </li></ul></ul>
  13. 13. Boas Práticas – Metodologia de Contagem <ul><li>Metodologia padrão para as contagens de PFs com o intuito de: </li></ul><ul><ul><li>Minimizar erros e facilitar o entendimento da contagem </li></ul></ul><ul><ul><li>Possibilitar auditoria da contagem, se necessário </li></ul></ul><ul><li>Nomenclatura das Funções </li></ul><ul><ul><li>Facilita revisão e auditoria da contagem, agiliza a própria contagem, facilita o intercâmbio da documentação da APF entre vários técnicos, torna a contagem menos suscetível a erros </li></ul></ul><ul><li>Organização da contagem </li></ul><ul><ul><li>Facilita entendimento e reduz erros de omissão/repetição de funções </li></ul></ul><ul><li>Nível de detalhamento </li></ul><ul><ul><li>Diferentes propósitos implica diferentes níveis de detalhe </li></ul></ul><ul><ul><li>Quanto mais detalhe, maior o custo da contagem </li></ul></ul><ul><li>Ferramenta padrão de apoio à contagem de PFs </li></ul>
  14. 14. Boas Práticas - “Saber Pedir” <ul><li>Peça todas as alterações no mesmo momento </li></ul><ul><ul><li>O custo (num modelo de contrato em PF) para se alterar uma função tende a ser fixo </li></ul></ul><ul><ul><li>Pedir várias alterações na mesma função em momentos distintos , paga-se por várias alterações </li></ul></ul><ul><ul><li>Pedir várias alterações na mesma função no mesmo momento , paga-se por uma única alteração </li></ul></ul><ul><ul><li>Ou seja, melhore planejamento! </li></ul></ul><ul><li>Tenha uma idéia bem clara do que quer pedir </li></ul><ul><ul><li>Alteração de requisitos durante o projeto implica retrabalho </li></ul></ul><ul><ul><li>Num modelo de contrato em PF isto tende a ser mais caro do que num modelo HH, pois implica numa nova alteração da função </li></ul></ul><ul><ul><li>Logo, aumente a maturidade do seu processo de requisitos! </li></ul></ul>
  15. 15. Boas Práticas - Auditoria das Contagens <ul><li>Toda contagem de PFs é feita por um ser humano (que é falível) </li></ul><ul><li>Com uma estrutura descentralizada de medições, é importante um ponto central de controle </li></ul><ul><li>Iniciada 6 meses após início do processo de contratação por PF </li></ul><ul><ul><li>Tardou, mas compensou </li></ul></ul><ul><li>Em média 450 PFs seriam pagos a maior (perdas) </li></ul><ul><li>O investimento na auditoria centralizada foi de < 10% das perdas </li></ul><ul><li>Taxa de retorno (ROI) de ~ 1.500% </li></ul>
  16. 16. Boas Práticas – Tratar Não Mensuráveis <ul><li>A APF mede apenas requisitos funcionais do usuário </li></ul><ul><ul><li>Desconsidera requisitos técnicos e de qualidade do software </li></ul></ul><ul><li>Identificar e tratar previamente estas situações: </li></ul><ul><ul><li>Item que não se mede e que não terá métrica específica </li></ul></ul><ul><ul><ul><li>Cadastro de dados de código num projeto de desenvolvimento </li></ul></ul></ul><ul><ul><li>Item que não se mede e que merece métrica específica </li></ul></ul><ul><ul><ul><li>Manutenções exclusivas em requisitos técnicos e/ou de qualidade </li></ul></ul></ul><ul><li>Quando não se explicita estes itens, há uma tendência do analista em “contaminar” a contagem com a visão de implementação querendo que o resultado seja “justo” </li></ul>
  17. 17. Manutenção - Fator de Impacto (FI) <ul><li>Medição da melhoria pelo IFPUG não fornece um nível de granularidade muito fino, embora haja uma diferença significativa de produtividade para desenvolvimento x manutenção </li></ul><ul><li>A adoção de um fator de impacto no tamanho da melhoria oferece um refinamento da medição e uma melhor relação PF x HH </li></ul><ul><li>No contexto da organização citada, adotou-se </li></ul><ul><ul><ul><li>Função incluída (ADD) = 1,00 </li></ul></ul></ul><ul><ul><ul><li>Função alterada (CHG) = 0,60 </li></ul></ul></ul><ul><ul><ul><li>Função excluída (DEL) = 0,30 </li></ul></ul></ul><ul><li>O mesmo que é usado em muitos contratos públicos </li></ul><ul><li>Fatores CHG e DEL mostraram-se “caros” neste contexto </li></ul>
  18. 18. Manutenção - Fator de Impacto (FI) <ul><li>Analisou-se a alternativa da NESMA para melhoria: </li></ul><ul><ul><li>Estabelece fator de impacto que pode oscilar de 0,25 a 1,50 com base no % de mudança de tipos de dados e arquivos referenciados </li></ul></ul><ul><ul><li>Porém no contexto da organização, a maioria das manutenções envolve alteração em lógica e poucas mudanças de campos </li></ul></ul><ul><ul><li>Ou seja, implica num fator de impacto de 0,25 quase sempre </li></ul></ul><ul><ul><li>O que seria um fator “barato demais” </li></ul></ul>
  19. 19. Manutenção - Fator de Impacto (FI) <ul><li>Observou-se que boa parte das melhorias tem como padrão um mesmo requisito de manutenção para várias funções (“manutenção em massa”) </li></ul><ul><li>Em busca do equilíbrio financeiro do contrato, quebrou-se o fator de impacto para alteração: </li></ul><ul><ul><li>0,25 para as manutenções em massa e reuso </li></ul></ul><ul><ul><li>0,60 para as demais manutenções </li></ul></ul><ul><li>Embora na prática o fator de impacto médio (apurado em mais de 250 demandas) seja ~0,50 o uso de dois FI para alteração proporcionou uma relação mais próxima entre custo x tamanho </li></ul>
  20. 20. Lições Aprendidas - 1 <ul><li>As primeiras semanas (ou meses) são fundamentais: </li></ul><ul><ul><li>Demanda atenção total, pois é o período de maior risco </li></ul></ul><ul><ul><li>É o período no qual se forma a nova cultura </li></ul></ul><ul><ul><li>Ao seu final já é possível ver a “cara” dos indicadores </li></ul></ul><ul><li>Suporte especializado neste período inicial </li></ul><ul><ul><li>Profissional CFPS, com experiência em contagem de PFs e na análise de indicadores (produtividade, custo, etc) </li></ul></ul><ul><ul><li>Treinamento com mentoring </li></ul></ul><ul><li>Tempo de maturação na “calibração da régua” </li></ul><ul><li>Auditoria das contagens </li></ul><ul><ul><li>Necessário, sendo que o nível pode mudar ao longo do tempo </li></ul></ul>
  21. 21. Lições Aprendidas - 2 <ul><li>A APF ajuda a evidenciar problemas de projeto/construção </li></ul><ul><ul><li>Baixa parametrização </li></ul></ul><ul><ul><ul><li>Muitas manutenções em valores fixos </li></ul></ul></ul><ul><ul><li>Baixo nível de reuso </li></ul></ul><ul><ul><ul><li>Um requisito de manutenção se “espalha” por várias funções </li></ul></ul></ul><ul><ul><li>Fraca arquitetura corporativa de sistemas </li></ul></ul><ul><ul><ul><li>Sistemas distintos com duplicidade de funções </li></ul></ul></ul><ul><ul><ul><li>Controle de acesso, auditoria, cadastros de impostos, etc </li></ul></ul></ul><ul><li>Cultura de projeto, favorece o uso da APF </li></ul>
  22. 22. Resultados Obtidos <ul><li>Organização mais madura na especificação de requisitos </li></ul><ul><li>Internalização do conhecimento do negócio </li></ul><ul><li>Aumento da produtividade dos fornecedores </li></ul><ul><li>Melhoria na qualidade (menos defeitos) </li></ul><ul><li>Enraizamento da cultura de projetos para sistemas </li></ul>
  23. 23. Próximos Passos <ul><li>Baseline (inventário das funções) das aplicações </li></ul><ul><ul><li>Base de conhecimento das funções de negócio (documenta o sistema) </li></ul></ul><ul><ul><li>Facilita as medições e minimiza erros nas medições das melhorias </li></ul></ul><ul><ul><li>Evidencia funções cobertas pela garantia da correção de defeitos </li></ul></ul><ul><li>Informatizar o controle das medições (repositório centralizado) </li></ul><ul><li>Capacitação em engenharia de requisitos </li></ul><ul><li>Relatórios periódicos de análise do processo </li></ul><ul><li>Iniciativas para melhoria da gestão das demandas visando: </li></ul><ul><ul><li>Aumento da qualidade dos entregáveis </li></ul></ul><ul><ul><li>Redução de custos </li></ul></ul><ul><ul><ul><li>> 30% OS com menos de 10 PF </li></ul></ul></ul><ul><ul><ul><li>Várias funções sendo alteradas várias vezes </li></ul></ul></ul><ul><li>Formalizar acordos de nível de serviço com fornecedores </li></ul>
  24. 24. Próximos Passos <ul><li>Baseline (inventário das funções) das aplicações </li></ul><ul><ul><li>Base de conhecimento das funções de negócio (documenta o sistema) </li></ul></ul><ul><ul><li>Facilita as medições e minimiza erros nas medições das melhorias </li></ul></ul><ul><ul><li>Evidencia funções cobertas pela garantia da correção de defeitos </li></ul></ul><ul><li>Informatizar o controle das medições (repositório centralizado) </li></ul><ul><li>Capacitação em engenharia de requisitos </li></ul><ul><li>Relatórios periódicos de análise do processo </li></ul><ul><li>Iniciativas para melhoria da gestão das demandas visando: </li></ul><ul><ul><li>Aumento da qualidade dos entregáveis </li></ul></ul><ul><ul><li>Redução de custos </li></ul></ul><ul><ul><ul><li>> 30% OS com menos de 10 PF </li></ul></ul></ul><ul><ul><ul><li>Várias funções sendo alteradas várias vezes </li></ul></ul></ul><ul><li>Formalizar acordos de nível de serviço com fornecedores </li></ul>
  25. 25. Encerramento <ul><li>Grato pela atenção e participação! </li></ul><ul><li>Guilherme Siqueira Simões </li></ul><ul><li>[email_address] </li></ul><ul><li>(27) 3084-7304 / 8111-7505 </li></ul>

×