Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Web aula 49 - Utilizando Análise de Pontos de Função em Projetos Ágeis

100 Aufrufe

Veröffentlicht am

Web aula 49: Utilizando Análise de Pontos de Função em Projetos Ágeis
VÍDEO: https://www.youtube.com/watch?v=UZBcnLKCeAs
Palestrante: Dilmar Amador
Pesquisa de satisfação: https://goo.gl/forms/kmZhhBxawhKwg8h42 Garanta seus PDUs

Nosso site: http://www.projetoseti.com.br
Linkedin: https://lnkd.in/eFSjBgi
Facebook: https://fb.com/projetoseti.br
Twitter: @projetoseti
Newsletter: https://projetoseti.com.br/newsletter/

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Web aula 49 - Utilizando Análise de Pontos de Função em Projetos Ágeis

  1. 1. Web aula 49: Utilizando análise de pontos de função em projetos ágeis
  2. 2. 20182018 OLÁ • Bacharel em Ciência da Computação pela Unifenas, 2004. • Especialista em Melhoria em Processo de Software pela UFLA, 2006. • Especialista em Gestão de Projetos, IETEC, 2013. • Especialista em Análise de Pontos de Função pelo IFPUG desde 2013. • Experiência na contagem de mais de 30.000 PF. • Atuação de mais de 15 anos no mercado de TI como desenvolvedor, analista de sistemas, analista de requisitos, gerente de projetos e líder de equipe. • Fundador da Super9a Consultoria em Métricas e Requisitos de Software, 2015
  3. 3. 201820182018 “Medir é o primeiro passo para controlar e eventualmente promover melhorias. Se você não pode mensurar algo, você não pode entendê-lo. Se você não consegue capturá-lo, você não consegue controlá-lo. Se você não consegue controlá-lo, você não consegue melhorá-lo.”, H. James Harrington.
  4. 4. 20182018 INTRODUÇÃO • Segundo Peter Drucker, pai da administração moderna, "Se você não pode medir, não pode gerenciar". • Sem informações não é possível gerenciar de forma efetiva os projetos, com software não é diferente. • O gerenciamento, através de informações de métricas, traz maior assertividade e previsibilidade na gestão do escopo, custo e cronograma.
  5. 5. 20182018 PROCESSOS DE MEDIÇÃO • Unidades de medição foram uma das primeiras ferramentas inventadas pelo homem; • Ao longo da história da humanidade as unidades de medida eram criadas e adaptadas de acordo com a necessidade dos povos; • É sabido que desde 3000-1500 A.C já existiam métodos de medição
  6. 6. 20182018 COMO MEDIR O TAMANHO DO SOFTWARE?
  7. 7. 20182018 MÉTRICAS DE SOFTWARE • Existem as métricas orientadas a tamanho e a funcionalidade • Das métricas mais orientada a tamanho a KLOC é mais famosa; • Das métricas orientada a função temos a Análise de Pontos de Função e Pontos por Caso de uso
  8. 8. 201820182018 O QUE É ANÁLISE DE PONTOS DE FUNÇÃO?
  9. 9. 20182018 APF – ANÁLISE DE PONTOS DE FUNÇÃO • É uma técnica criada em meados de 1970 por Allan Albrecht que visa mensurar o tamanho funcional de um software; • Essa técnica é mantida desde 1986 pelo International Function Point Users Group (IFPUG) que tem aprimorado continuamente o método original. • O IFPUG também mantém o Manual de Práticas de Contagem que se encontra na versão 4.3.1 desde 2010; • Mede o software quantificando as tarefas e serviços (isto é, funcionalidade) que o software fornece ao USUÁRIO, primordialmente com base no projeto lógico
  10. 10. 20182018 APF – ANÁLISE DE PONTOS DE FUNÇÃO • É independente de tecnologia e metodologia de processo de desenvolvimento de software. • É um padrão de mercado utilizado por várias instituições pelo mundo; • Brasil é um dos países que mais possuem membros certificados.
  11. 11. 20182018 OBJETIVOS DA APF • medir a funcionalidade implementada no software, que o usuário solicita e recebe; • a funcionalidade impactada pelo desenvolvimento, melhoria e manutenção de software, independentemente da tecnologia utilizada na implementação.
  12. 12. 20182018 PODE SER UTILIZADA PARA... • Dar suporte à análise de qualidade e produtividade. • Estimar o custo e recursos requeridos para o desenvolvimento, melhoria e manutenção do software. • Fornecer um fator de normalização para a comparação de software. • Determinar o tamanho de um pacote de aplicação adquirido, por meio do dimensionamento funcional de todas as funções incluídas no mesmo. • Ajudar os usuários a determinar o beneficio provido por um pacote de aplicação para a sua organização, por meio do dimensionamento funcional das funções que correspondam especificamente aos seus requisitos.
  13. 13. 20182018 REQUISITO • Existem diferentes definições encontradas na literatura técnica para requisitos: • Um requisito é uma característica do sistema ou a descrição de algo que o sistema é capaz de realizar para atingir os seus objetivos; • As descrições das funções e restrições são os requisitos do sistema; • Um requisito é uma propriedade que o software deve exibir para resolver algum problema no mundo real; • Uma condição ou uma capacidade que deve ser alcançada ou estar presente em um sistema para satisfazer um contrato, padrão, especificação ou outro documento formalmente imposto...
  14. 14. 20182018 REQUISITOS FUNCIONAIS • São requisitos diretamente ligados a funcionalidade do software, descrevem as funções que o software deve executar.Alguns exemplos são: • O software deve permitir o cadastro de clientes; • O software deve permitir a geração de relatórios sobre o desempenho de vendas no semestre; • O software deve permitir o pagamento das compras através de cartão de crédito.
  15. 15. 20182018 REQUISITOS NÃO FUNCIONAIS • São requisitos que expressam condições que o software deve atender ou qualidades específicas que o software deve ter. Em vez de informar o que o sistema fará, os requisitos não-funcionais colocam restrições no sistema.Alguns exemplos são: • Desempenho; • Usabilidade; • Confiabilidade; • Segurança; • Disponibilidade; • Manutenção; • Tecnologias envolvidas;
  16. 16. 20182018 EMPRESAS E INSTITUIÇÕES QUE UTILIZAM ANÁLISE DE PONTOS DE FUNÇÃO
  17. 17. 20182018 É POSSÍVEL UTILIZAR APF COM MÉTODOS ÁGEIS?
  18. 18. 20182018 COMPATIBILIDADE DE APF E METOLOGIAS ÁGEIS • Como dito no início, a APF foca na visão do usuário, portanto, não está vinculada a tecnologia e metodologia de desenvolvimento de software; • As metodologias ágeis focam na entrega contínua de sistema através do conceito de agregar valor ao usuário (visão do usuário); • As metodologias ágeis trabalham com o conceito de estória de usuário que contém os requisitos do usuário e critérios de aceitação; • Sendo assim, o ágil é totalmente compatível com APF e não requer qualquer mudança no processo de contagem.
  19. 19. 20182018 APFVS. STORY POINTS E OUTRAS MÉTRICAS ÁGEIS
  20. 20. 20182018 APFVS. MÉTRICAS ÁGEIS • A APF não tem qualquer vínculo com métricas ágeis. • As métricas ágeis não focam em medir o tamanho do sistema; • As métricas ágeis como lead time, throughtput tem foco em esforço; • As métricas ágeis, como story points, não são padronizadas e carregam alto nível de subjetividade; • Gráfico de burndown mostra a quantidade de story points que foram realizados e quanto faltam para sua conclusão (previsto vs. Realizado);
  21. 21. 20182018 APFVS. MÉTRICAS ÁGEIS • A APF permite realização de benchmark entre projetos com as mesmas características em função sua padronização; • APF é uma das métricas de software mais difundidas no mundo e atende tanto projetos de características ágeis, quanto projetos utilizando outras metodologias.
  22. 22. 201820182018 O MÉTODO DE MEDIÇÃO FUNCIONAL
  23. 23. 20182018
  24. 24. 20182018
  25. 25. 20182018
  26. 26. 20182018
  27. 27. 20182018
  28. 28. 20182018 OBTER A DOCUMENTAÇÃO DISPONÍVEL
  29. 29. 20182018 OBTER A DOCUMENTAÇÃO DISPONÍVEL • Documentação de suporte a uma contagem de pontos de função. • Deve descrever a funcionalidade entregue pelo software ou a funcionalidade impactada pelo projeto de software medido. • Deve ser obtida documentação suficiente para conduzir a contagem de pontos de função. • Na ausência de documentação, o acesso aos analistas do negócio/assunto deve ser providenciado.
  30. 30. 20182018 A DOCUMENTAÇÃO PODE SER • Especificação de requisitos • Estória de usuários • Modelos de dados/objetos • Diagramas de classes • Diagramas de fluxos de dados • Casos de uso • Descrições de procedimentos, formatos de relatórios • Manuais de usuário • Protótipo
  31. 31. 20182018 DETERMINAR O ESCOPO E FRONTEIRA
  32. 32. 20182018 ESCOPO • Uma contagem de pontos de função é conduzida a fim de fornecer uma resposta para uma questão de negócio, sendo a questão de negócio que determina o propósito da contagem. • O propósito determina o tipo de contagem: • projeto de desenvolvimento • projeto de melhoria • contagem de uma aplicação ou linha de base • O propósito e tipo de contagem tem impacto direto na definição do escopo da contagem: determina quais funcionalidades serão objeto da contagem.
  33. 33. 20182018 FRONTEIRA •A fronteira é uma interface conceitual entre o software em análise e seus usuários; •Define o que é externo a aplicação •Atua como uma ‘membrana’ através da qual os dados processados pelas transações (EEs, SEs e CEs) passam para dentro e para fora da aplicação
  34. 34. 20182018 FRONTEIRA • Envolve os dados lógicos mantidos pela aplicação (ALIs) • Auxilia na identificação dos dados lógicos referenciados mas não mantidos pela aplicação (AIEs) • Depende da visão externa do negócio do usuário da aplicação. • É independente de considerações de técnicas e/ou implementação.
  35. 35. 20182018 MEDIR FUNÇÕES DE DADOS
  36. 36. 20182018 FUNÇÕES DE DADOS • As funções de dados satisfazem os Requisitos Funcionais do Usuário referentes a armazenar e/ou referenciar dados: interna e externamente. • Os dados armazenados também devem seguir visão do usuário, ou seja, como ele enxerga e não a partir de definições técnicas; • As funções de dados são mais facilmente identificáveis utilizando-se um modelo lógico de dados;
  37. 37. 20182018 CLASSIFICANDO ARQUIVOS LÓGICOS •Os arquivos lógicos são classificados como : • Arquivo Lógico Interno (ALI) quando este é mantido pela aplicação sendo contada. • Arquivo de Interface Externa (AIE) quando referenciado, mas não mantido, pela aplicação sendo medida. Deve ser identificado como um ALI em uma ou mais outras aplicações.
  38. 38. 20182018 DETERMINARTAMAMHO FUNCIONAL ALI COMPLEXIDADE FUNCIONAL PONTOS DE FUNÇÃO BAIXA 7 MÉDIA 10 ALTA 15 AIE COMPLEXIDADE FUNCIONAL PONTOS DE FUNÇÃO BAIXA 5 MÉDIA 7 ALTA 10
  39. 39. 20182018 MEDIR FUNÇÕES DE TRANSAÇÃO
  40. 40. 20182018 FUNÇÕES DE TRANSAÇÃO • As funções de transação satisfazem os Requisitos Funcionais do Usuário que processam dados através das lógicas de processamento. • Toda a funcionalidade de transação, dentro do escopo da contagem deve ser avaliada, a fim de identificar cada processo elementar único. • Exemplos: pesquisar usuário, fazer login, gerar relatório mensal de vendas, excluir pedido, etc.
  41. 41. 20182018 IDENTIFICANDO UM PROCESSO ELEMENTAR • Identificar os processos elementares através da decomposição dos requisitos do usuário nas menores unidades de negócio. • Exemplo: O sistema deve permitir manter dados de usuários. • O termo "manter" geralmente significa um CRUD, por tanto, identificaríamos os processos elementares candidatos: • cadastrar usuário • editar dados de usuário • pesquiar usuário • excluir usuário
  42. 42. 20182018 REQUISITOS PARA SER UM PROCESSO ELEMENTAR • Existem 4 questionamentos que todo processo elementar deve responder de forma afirmativa para que seja efetivamente classificado como tal: 1. É significativo para o usuário; 2. Constitui uma transação completa; 3. É autocontida; 4. Deixa o negócio da aplicação contada em um estado consistente.
  43. 43. 20182018 AS 13 LÓGICAS DE PROCESSAMENTO 1. Validações são executadas. 2. Fórmulas e cálculos matemáticos são executados. 3. Valores equivalentes são convertidos. 4. Dados são filtrados e selecionados segundo critérios especificados para comparar vários conjuntos de dado. 5. Condições são analisadas para determinar as aplicáveis. 6. Um ou mais ALIs são atualizados. 7. Um ou mais ALIs ou AIEs são referenciados.
  44. 44. 20182018 AS 13 LÓGICAS DE PROCESSAMENTO 8. Dados ou informações de controle são recuperados. 9. Dados derivados são criados a partir de transformação dos dados existentes, com o objetivo de criar dados adicionais. 10. É alterado o comportamento da aplicação. 11. Preparar e apresentar informaçõeş fora da fronteira. 12. Existe a capacidade de receber dados e informações de controle que entram pela fronteira da aplicação. 13. Classificar ou arrumar um conjunto de dados.
  45. 45. 20182018 CLASSIFICAR PROCESSO ELEMENTAR • Existem 3 tipos de processos elementares: • Entrada Externa (EE) • Consulta Externa (CE) • Saída Externa (SE)
  46. 46. 20182018 ENTRADA EXTERNA – EE • Tem lógica de processamento para receber dados ou informações de controle que entrem pela fronteira da aplicação. • Deve ter uma das duas inteções primárias: • manter um ou mais ALIs, ou • alterar o comportamento da aplicação • Exemplos: cadastrar usuário, editar usuário, excluir usuário, aprovar pedido.
  47. 47. 20182018 CONSULTA EXTERNA – CE • Tem intenção primária de apresentar informações ao usuário e obrigatoriamente referenciar uma função de dados para recuperar dados ou informações de controle; • Não possuir lógica de processamento adicional; • Exemplos: consultar usuários, pesquisar pedidos realizados, combo de usuários ativos.
  48. 48. 20182018 SAÍDA EXTERNA – SE • Tem intenção primária de apresentar informações ao usuário e incluir pelo menos uma das seguintes formas de lógica de processamento: • cálculos matemáticos são executados; • um ou mais ALIs são atualizados; • dados derivados são criados; • o comportamento da aplicação̧ é alterado • Exemplos: gerar relatório com total de vendas do mês, ler mensagem (quando é alterado o status da mensagem para lido), calcular juros de pagamento vencido, calcular frete.
  49. 49. 20182018 REPORTAR RESULTADO DA CONTAGEM
  50. 50. 20182018 CONTAGENS ESTIMATIVAS
  51. 51. 20182018 ESTIMATIVAS • Quando começamos um projeto é muito comum ouvir: • Quanto vai custar esse projeto? • Qual a data de entrega? •Veremos que com uso de APF podemos responder essas perguntas e outras mais.
  52. 52. 20182018 ESTIMATIVAS • Estimar significa utilizar o mínimo de tempo e esforço para se obter um valor aproximado dos pontos de função do projeto de software investigado” [Meli, 1999] • A contagem estimada significa fornecer uma avaliação aproximada do tamanho de um software utilizando métodos diferentes da contagem de pontos de função do IFPUG. • A contagem de pontos de função padrão IFPUG, para ser realizada, deve ser feita com a documentação do projeto;
  53. 53. 201820182018 Se documentação, assim como o software, somente é entregue ao fim das sprints/iterações, como é possível saber ou estimar o tamanho de um backlog/sistema/sprint/iteração usando pontos de função?
  54. 54. 20182018 NESMA • A NESMA é um associação de métricas Holandesa que tem atuação semelhante ao IFPUG, porém abordagem diferente; • A NESMA criou dois métodos para medir aplicações em pontos de função nas fases iniciais dos projetos: • Contagem Indicativa • Contagem estimada • A NESMA também desenvolveu uma abordagem para contagem de projetos de melhoria.
  55. 55. 20182018 CONTAGEM INDICATIVA • Determina-se a quantidade de funções de dados (ALIs e AIEs) • Calcula-se o total de pontos de função da seguinte forma: • Tamanho Funcional (PF) = (35 x número de ALIs) + (15 x número de AIEs) • Portanto, o tamanho funcional é baseado somente na quantidade de arquivos lógicos existentes(ALIs e AIEs). • O método APF Indicativa é baseado na suposição de que existem em média aproximadamente três EEs (para incluir, alterar, e excluir dados do ALI), duas SEs e uma CE para cada ALI, e aproximadamente uma SE e uma CE para cada AIE.
  56. 56. 20182018 CONTAGEM ESTIMADA • Determinam-se todas as funções de todos os tipos (ALI,AIE, EE, SE, CE) através da documentação disponível ou entrevista com usuários • As funções de dados (ALI,AIE) têm sua complexidade funcional avaliada como baixa • Funções de transação (EE, SE, CE) são avaliadas como de complexidade média
  57. 57. 20182018 Exemplo
  58. 58. 20182018 Estória de Usuário • ComoVENDEDOR, preciso cadastrar um produto para que eu possa utilize-lo nas vendas; • ComoVENDEDOR, preciso poder consultar o preço de um produto para que eu possa informar ao cliente;
  59. 59. 20182018 Protótipos • ComoVENDEDOR, preciso cadastrar um produto para que eu possa utilize-lo nas vendas;
  60. 60. 20182018 Protótipos • ComoVENDEDOR, preciso poder consultar o preço de um produto para que eu possa informar ao cliente;
  61. 61. 20182018 Contagem • ComoVENDEDOR, preciso cadastrar um produto para que eu possa utilize-lo nas vendas; • Arquivo lógico “produto” • Tipo de registro: produto • Tipo de dado: Código, descrição, preço • Complexidade Baixa: 7 PF • Processo elementar “cadastrar produto” • Arquivo lógico referenciado “produto”; • Dado elementar referenciado: Código do produto, descrição, preço, commando e mensagem • Complexidade baixa: 3 PF
  62. 62. 20182018 Contagem • ComoVENDEDOR, preciso poder consultar o preço de um produto para que eu possa informar ao cliente; • Processo elementar “consultar preço/pesquisar produto” • Arquivo lógico referenciado “produto”; • Dado elementar referenciado: Código do produto, descrição, preço, commando e mensagem • Complexidade baixa: 3 PF
  63. 63. 20182018 ROTEIRO DE MÉTRICAS DO SISP
  64. 64. 20182018 O SISP • As instituições públicas são as que mais trabalham com APF; • Instrução Normativa SLTI/MP N° 4, de 11 de setembro de 2014, recomenda o uso de métricas em contratos de projetos de software • Quem lida diariamente com projetos, sabe que existem uma gama de situações que não são cobertas pelo CPM. • Muitas outras instituições usam o Roteiro do SISP como benchmark para elaborar os seus próprios roteiros; • O Roteiro do SISP não muda a forma como a contagem é feita, mas apresenta uma normatização para alguns cenários.
  65. 65. 20182018 TIPOS DE CONTAGEM • Melhoria • Projeto de migração de dados • Manutenção corretiva • Mudança de plataforma • Atualização de versão • Manutenção de interface • Adaptação de funcionalidades sem alteração de requisitos • Apuração especial • Desenvolvimento, manutenção e publicação de páginas estáticas de intranet, internet ou portal • Manutenção de documentação de sistemas legados • Verificação de erros • Componente interno reutilizável • Contagem de múltiplas mídias
  66. 66. 20182018 PROJETO DE MELHORIA • No padrão IFPUG, quando é feita uma melhoria, as funcionalidades são recontadas. • O SISP bebeu da fonte da NESMA que define um fator de impacto para funcionalidades que foram objeto de melhoria. • Diferente do NESMA que o fator de impacto é calculado, no SISP é aplicado um fator de impacto de 50% nas funções de dados ou transacionais que foram impactadas pela melhoria. • Ainda há um fator de impacto de 30% para funcionalidades excluídas – padrão IFPUG é contabilizada a funcionalidade normalmente.
  67. 67. 20182018 • O SISP também apresenta como é feita a composição de 1 PF por disciplina • Com isso é possível contratar, estimar e remunerar por disciplina • Somente documentação é definido um fator de impacto de 15%. COMPOSIÇÃO DO PF Subtítulo Engenharia de Requisitos 25% Design/Arquitet ura 10% Implementação 40% Testes 15% Homologação 5% Implantação 5% PONTO DE FUNÇÃO Engenharia de Requisitos Design/Arquitetura Implementação Testes Homologação Implantação
  68. 68. 20182018
  69. 69. 201820182018 MUITO OBRIGADO Mais informações: www.super9a.com.br dilmar.amador@super9a.com.br
  70. 70. Nossas redes / Dúvidas e sugestões  Pesquisa de satisfação: https://goo.gl/forms/kmZhhBxawhKwg8h42  Nosso site: http://www.projetoseti.com.br  Linkedin: https://lnkd.in/eFSjBgi  Facebook: https://fb.com/projetoseti.br  Youtube: https://youtube.com/user/CanalProjetoseTI  Twitter: @projetoseti  Críticas e sugestões: contato@projetoseti.com.br

×