Carlos Eduardo Vazquez 21/03/2015 FATTO CONSULTORIA E SISTEMAS 1
ORIENTAÇÕES INICIAIS Dê preferência ao uso de uma conexão de banda larga O evento não fará uso do vídeo (webcam), somente slides e áudio Se necessário, ajuste o idioma da sala na barra de ferramentas superior O evento terá ~45 min. de apresentação e ~15 min. finais para perguntas Você pode mandar suas perguntas pelo chat ao longo da apresentação Para aqueles que possuem certificação PMP, o evento vale 1 PDU A apresentação será gravada e o vídeo publicado posteriormente no site e redes sociais: 2016 FATTO Consultoria e Sistemas www.fattocs.com 2
MISSÃO Apoiar nossos clientes a estabelecer modelos de negócios em que eles tenham o controle e trazer visibilidade do desempenho para a gestão de seus processos de software. DIRECIONAMENTO ESTRATÉGICO COM: Estimativas e Medição de Projetos de Software Implantação da Análise de Pontos de Função (IFPUG, NESMA, COSMIC) Auditoria de Medições de Projetos de Software Medidos com APF, COSMIC e SNAP Benchmarking e Análises de produtividade Avaliação para Melhoria dos Processos de Software Engenharia de Requisitos Planejamento e avaliação do desempenho (escopo, esforço, custo, prazo, qualidade) Construção e Monitoramento de Contratos de Software baseados em Resultados Integração do Desenvolvimento Ágil com a Governança Corporativa de TI com Métricas 2016 FATTO Consultoria e Sistemas www.fattocs.com 3
Capacitação em Análise de Pontos de Função: Medição e Estimativas de Software 16 horas (EAD e presencial) APF: Fundamentos, Benefícios e Implantação 8 horas (EAD e presencial) Workshop APF: Metodologia e Práticas de Medição 16 horas (presencial) Preparação para o Exame CFPS 96 horas (EAD e presencial) Processo de Avaliação não Funcional de Software (SNAP) 16 horas IFPUG Medição e Estimativas de Software com o Método COSMIC 16 horas (presencial) Preparação para o Exame CCFL 16 horas (EAD e presencial) Oficina de Medição Sessões de 8 ~ 40 horas IFPUG Estimativas de Software com o COCOMOII 16 horas Engenharia de Requisitos: Software orientado ao negócio 24 horas Oficina de Requisitos Sessões de 8 ~ 40 horas O livro mais vendido de APF no país foi escrito por nós Formou ~25% de especialistas certificados pelo IFPUG no Brasil 2016 FATTO Consultoria e Sistemas www.fattocs.com 4
1... 2... 3! 2016 FATTO Consultoria e Sistemas www.fattocs.com 5
Objetivos 1. Despertar no público a consciência sobre a problemática dos Requisitos não Funcionais como entendidos pelo IFPUG e a variabilidade que introduzem 2. Apresentar a estratégia para lidar com essa variabilidade pela medição de Requisitos Não Funcionais 3. Apresentar o SNAP como solução para medir os elementos do projeto que que introduzem essa variabilidade nos modelos de estimativa baseados apenas em PF
Introdução 01. Objetivos Requisitos de software: a estratégia de classificação de software, produto e projeto Custeio de software pela apropriação direta de custos com a medição de requisitos funcionais A necessidade de ir além da apropriação indireta com a medição dos requisitos não funcionais Uma solução que mede parte dos requisitos não funcionais em conjunto com a APF FATTO Consultoria e Sistemas www.fattocs.com 7
processos e tecnologia Ambiente Qualidade Requisitos de software: a estratégia de classificação de software, produto e projeto Requisitos Funcionais de Software (RF) Subconjunto dos requisitos do usuário. Descreve o que o produto de software deve fazer - tarefas e serviços Requisitos não Funcionais de Software (RNF) Qualquer requisito para o produto de software, incluindo como ele deveria ser desenvolvido, mantido e operado, exceto qualquer requisito funcional Transferência de dados Transformação de dados Armazenamento de dados Recuperação de dados Características do ambiente no qual ele é desenvolvido, mantido e que o deve suportar em operação Requisitos para a qualidade ou para a arquitetura ou design Requisitos e Restrições de Projeto Requisitos que definem como o projeto de software deveria ser gerenciado ou restrições que afetam o seu desempenho Requisitos de projeto podem incluir: Processos de GP usados Governança e custeio do projeto Metas que deveria atingir Restrições de projeto podem incluir: Limitações de recursos Dependências com outros projetos Requisitos para como ele será construído Tecnologia de hardeware e comunicações que necessitará em operação FATTO Consultoria e Sistemas www.fattocs.com 8
Custeio de software pela apropriação direta de custos com a medição de requisitos funcionais 1. Requisitos Funcionais são medidos pela APF Requisitos Funcionais de Software (RF) Requisitos não Funcionais de Software (RNF) Requisitos e Restrições de Projeto APF PF HH / X = PF Seleção de Índice de Produtividade 3. Outros fatores tem o custeio rateado no custo unitário expresso em HH/PF 2. Custeio baseado na apropriação direta de custos por PF 4. A diferença entre o resultado do modelo de custeio e o efetivado é o erro FATTO Consultoria e Sistemas www.fattocs.com 9 HH HH Efetivo 5. É natural haver erros, porque há variabilidade nos requisitos não funcionais, nos reqisitos e restrições do projeto e no desempenho PF HH Projetado 6. Mas quanto da variabilidade é fruto de desvio de desempenho e quanto é fruto de outros requisitos?
A necessidade de ir além da apropriação indireta com a medição dos requisitos não funcionais 7. Parte da variabilidade não representa um problema ou oportunidade de melhoria a ser abordada 10. Cada tipo de requisito medido, permite uma apropriação direta de custos Requisitos não Funcionais de Software (RNF) Requisitos e Restrições de Projeto Impacto outros requisitos diferentes da média usada no rateio Impacto em função de problemas ou oportunidades relativos ao desempenho Desempenho 8. Parte da variabilidade representa 9. Quanto mais requisitos puderem ser medidos, mais fácil segregar Parte dos Requisitos não Funcionais de Software (RNF) FATTO Consultoria e Sistemas www.fattocs.com 10
Solução que mede parte dos RNF em conjunto com a APF Requisitos Funcionais de Software (RF) 11. Método de medição a ser aprendido Requisitos não Funcionais de Software (RNF) Requisitos e Restrições de Projeto 12. Unidade na qual os resultados são expressos APF SNAP PF SP HH / X = PF Seleção de Índice de Produtividade 13. Custo apropriado a partir dos requisitos funcionais medidos pela APF FATTO Consultoria e Sistemas www.fattocs.com 11 HH HH / X = HH SP 16. A cuidadosa seleção de indicadores conforme a similaridade ainda é necessária para melhor identificar problemas o oportunidades de melhoria HH + 14. Custo apropriado a partir dos requisitos não funcionais medidos pelo SNAP 15. Custo total resultante do modelo
Framework de Medição de Requisitos não Funcionais do IFPUG 02. Objetivos O que é SNAP e o Ponto de SNAP (SP) Visão geral do Framework, suas Categorias e Subcategorias O que é uma Categoria no SNAP O que é uma Subcategoria no SNAP A estrutura do Framework de Medição Associação entre RNF e o Framework de Medição pelo projeto (como) O que é a Unidade de Contagem SNAP (SCU) Outros requisitos que afetam o esforço, desconsiderados na medição FATTO Consultoria e Sistemas www.fattocs.com 12
O que é SNAP e o Ponto de SNAP (SP) APM SP Processo de Avaliação Não Funcional de Software Software Non-Functional Assessment Process Manual de Práticas de Avaliação (Assessment Process Manual) Pontos de SNAP (SNAP Points) Resultado do Projeto do Framework para a Medição não Funcional - Framework for Non-Functional Sizing (2008) Requisitos não Funcionais de Software (RNF) SNAP SP FATTO Consultoria e Sistemas www.fattocs.com 13
Visão geral do Framework Objetivo: Fornecer um framework para estabelecer um vínculo entre o tamanho não funcional e o esforço para atender requisitos não funcionais Framework de Medição É uma avaliação do tamanho dos requisitos não funcionais Composto por categorias e subcategorias de avaliação Subcategorias são avaliadas usando critérios especificados A avaliação utiliza tanto critérios medidos quanto avaliados Resultados da avaliação não funcional Podem ser usados em conjunto com o tamanho funcional Ajudarão a explicar a variação no esforço de desenvolvimento e na produtividade Conjuntamente com os PF, podem ser usados como entrada em modelos de estimativa Determinados a partir da visão do usuário dos requisitos não funcionais, mas entendidos e acordados por times de usuários e desenvolvedores FATTO Consultoria e Sistemas www.fattocs.com 14
A estrutura de Categorias e Subcategorias C1. Operações de Dados C2. Desenho de Interface C3. Ambiente Técnico C4. Arquitetura 1.1 Validação de Entrada de Dados 2.1 Interfaces do Usuário 3.1 Múltiplas Plataformas 1.2 Operações Lógicas e Matemáticas 2.2 Métodos de Ajuda 3.2 Tecnologia de Banco de Dados 1.3 Formatação de Dados 1.4 Movimentos Internos de Dados 1.5 Entregando Valor Agregado aos Usuários pela Configuração de Dados 2.3 Múltiplos Métodos de Entrada 2.4 Múltiplos Métodos de Saída 2. Subcategorias 1. Categorias 3.3 Processos em Lote (Batch) 4.1 Software Baseado em Componentes 4.2 Múltiplas Interfaces de Entrada/Saída FATTO Consultoria e Sistemas www.fattocs.com 15
O que é uma Categoria no SNAP Agrupa componentes, processos ou atividades p/ atender requisitos não funcionais Operações de Dados Desenho de Interface Ambiente Técnico Arquitetura As Categorias Classificam requisitos não funcionais São genéricas o bastante para permitir futuras tecnologias São divididas em subcategorias com características o que simplifica a avaliação Cada categoria agrupa subcategorias com base No mesmo nível de operações Similaridade dos tipos de atividade executadas pelo SNAP FATTO Consultoria e Sistemas www.fattocs.com 16
O que é uma Subcategoria no SNAP Um componente, um processo ou uma atividade executada como parte de um projeto para atender requisitos não funcionais Um processo não funcional pode ter que executar mais de uma subcategoria para atender o requisito não funcional (como definido na ISO/IEC 25010) Subcategoria Não definem ou descrevem requisitos não funcionais Classifica como esses requisitos são atendidos Entendi... É uma estrutura de classificação de tipo. Mas... como essas subcategorias são efetivamente usadas para medir um pedido do cliente? FATTO Consultoria e Sistemas 17
RNF e o Framework de Medição por meio do projeto Melhoria na forma como o sistema se recupera de um crash De acordo com a ISO/IEC 25010, enquadra-se como capacidade de recuperação, subdivisão de confiabilidade SNAP mede este requisito de acordo com o projeto (design) 1. Algorítimo adicionado para identificar dados corrompidos em campos específicos 2. Time stamps adicionados em registros do banco de dados 3. Escrito algorítimo para reconstruir dados corrompidos de registros íntegros O projeto (design) envolve as seguintes subcategorias do SNAP Tecnologia de Banco de Dados (inclusão do time stamp) Operações Lógicas e Matemáticas Requisito de Capacidade de Recuperação (ISO 25010) mapeado em suas subcategorias do SNAP Cada subcategoria tem uma unidade de contagem SNAP associada (SCU) FATTO Consultoria e Sistemas www.fattocs.com 18
O que é a Unidade de Contagem SNAP (SCU) Componente ou atividade na qual complexidade e tamanho são avaliados Identificada de acordo com a natureza da subcategoria/categoria O SCU é parte da definição de cada subcategoria Para a maior parte das subcategorias, a SCU é o processo elementar Pode ser um componente um processo uma atividade Pode conter tanto características funcionais quanto não funcionais Medição é feita em separado para cada SCU Se uma SCU contiver tanto RF quanto RNFs Medição para o seu tamanho funcional usando a APF Medição para o seu tamanho não funcional pelo SNAP FATTO Consultoria e Sistemas www.fattocs.com 19
Time stamps adicionados em registros do banco de dados Categoria: 3. Operações de Dados Subcategoria: 3.2. Tecnologia de Banco de Dados SCU da subcategoria: Processo Elementar Se houver múltiplos AR impactados para o RNF no mesmo PE, então o de maior complexidade deveria deve ser considerado como fator de complexidade Cálculo de Pontos de SNAP Fator de Complexidade do Arquivo Referenciado (FTR) Baixo Médio Alto SP = 6 SP x # de mudanças 9 SP x # de mudanças 12 SP x # de mudanças Avaliação para cada procesos elementar Complexidade FTR Médio # Mudanças 1 - Incluir tabelas ou colunas para fins exclusivamente não funcionais SP/PE 9 SP x 1 FATTO Consultoria e Sistemas www.fattocs.com 20
Outros requisitos que afetam o esforço, desconsiderados na medição Tarefas relacionadas ao projeto (empreendimento) não afeta o tamanho do Requisitos Funcionais de Software (RF) Requisitos não Funcionais de Software (RNF) Requisitos e Restrições de Projeto produto Apesar de afetarem o esforço exigido para entregar o produto, elas influenciam a produtividade e não o tamanho do produto Exemplos de tarefas relacionados ao projeto (empreendimento): Treinar a equipe Treinar o usuário Documentar o projeto como manuais, planos, relatórios de status, roadmaps, instruções técnicas e padrões de qualidade O APM estabelece que o SNAP provê a base para a medição requisitos não funcionais como definido pelo IFPUG Deve-se tomar cuidado com essa afirmação Linguagem é um RNF por outras referências e não é medido Tem reflexo na produtividade média FATTO Consultoria e Sistemas www.fattocs.com 21
Requisitos Funcionais de Software (RF) Componente, Processo ou Atividade parte do projeto (design) como SCU Projeto (design) Requisitos não Funcionais de Software (RNF) FATTO Consultoria e Sistemas www.fattocs.com 22
Objetivos e benefícios do SNAP 03. Objetivos Os objetivos considerados na definição do SNAP Os benefícios esperados com a utilização do SNAP FATTO Consultoria e Sistemas 23
Os objetivos considerados na definição do SNAP Objetivos do SNAP Medir o tamanho não funcional do software que o usuário solicita e recebe Demonstrar o valor econômico total da aplicação incluindo seus aspectos funcionais assim como não funcionais Ter uma linha de base funcional assim como não funcional Medir o desenvolvimento e manutenção de software com base em requisitos não funcionais Medir projetos técnicos, nos quais a APF não é aplicável Objetivos do processo Simples o suficiente para minimizar a sobrecarga do processo de medição Uma medida consistente entre vários projetos e organizações SNAP permite determinar a possibilidade de medir e assim melhor estimar um projeto com ou sem pontos de função de acordo com um conjunto de requisitos recebidos para um projeto FATTO Consultoria e Sistemas www.fattocs.com 24
Os benefícios esperados com a utilização do SNAP Melhor planejar e estimar projetos Identificar áreas para melhoria de processos Apoiar na determinação de estratégias não funcionais futuras Quantificar os impactos das estratégias não funcionais atuais Prover dados específicos quando comunicar assuntos não funcionais para várias audiências Organizações podem aplicar o SNAP como uma metodologia para Medir o tamanho não funcional de um produto de software para suportar análises que qualidade e produtividade Estimar o custo e recursos necessários para o desenvolvimento e manutenção de software Medir a redução de custos para o desenvolvimento e manutenção de software em complemento à APF Um fator de normalização para a comparação de software Determinar o tamanho não funcional de pacote pela avaliação de todas as porções e categorias incluídas Ajudar usuários a determinar o benefício de um pacote pela avaliação de porções ou categorias que especificamente correspondem aos seus requisitos FATTO Consultoria e Sistemas www.fattocs.com 25
2016 FATTO Consultoria e Sistemas www.fattocs.com 26
2016 FATTO Consultoria e Sistemas www.fattocs.com 27
Obrigado pela sua atenção! Carlos Eduardo Vazquez carlos.vazquez@fattocs.com Skype: cvazquezbr Brasília: (61) 4063-7484 São Paulo: (11) 4063-4658 Vitória: (27) 3026-6304 2016 FATTO Consultoria e Sistemas www.fattocs.com 28