Implantação da APF: Obstáculos e Boas Práticas em um Caso Real
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 1,356 views

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

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

Statistics

Views

Total Views
1,356
Views on SlideShare
1,346
Embed Views
10

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 10

http://www.linkedin.com 9
https://www.mturk.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

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