• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
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

on

  • 1,310 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,310
Views on SlideShare
1,300
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