Baixe o app para aproveitar ainda mais
Prévia do material em texto
17/09/18 1 Qualidade de Software Sirlon Diniz de Carvalho Normas e organismos normativos ´ “Que as leis sejam claras, uniformes e precisas. Interpretar as leis é quase sempre corrompê..-las” – Voltaire ´ Normas internacionais de qualidade ´ criadas com base no trabalho de especialistas do mundo todo ´ base para especificar produtos e organizar fornecimento de serviços ´ pode auxiliar na elaboração da legislação 17/09/18 2 Um pouco de História ´ Thomas Jefferson(1790) - secretário de estado dos Estados Unidos ´ Relatório sobre padronização - sistema de medida de seu país. ´ The measures of length in use among usare: ´ The league of 3 miles ´ The mile of 8 furlongs ´ ...... ´ Sistema complexo: usava cálculos para se chegar a métricas ´ Necessidade de novo padrão ´ Mas a população habituada ao sistema antigo Um pouco de História ´ “Ato métrico” de 1866 ´ contrato não é ilegal por utilizar o sistema métrico ´ americanos também passaram a aceitar sistema internacional (França) ´ Tratado de Bern ´ conferência em Paris (1863) identificou não uniformidade em endereços ´ Universal Postal Union criado em 1878 ´ sistema único adotado por todos os países membros da união 17/09/18 3 Um pouco de história ´ Padrões podem mudar com o tempo ´ O metro: definido inicialmente como um fração do diâmetro do globo terrestre ´ 1960 medida mais precisa: 1.650.763.73 comprimentos de onda de uma radiação específica ´ 1983: redefinido como a distância percorrida pela luz, no vácuo, num intervalo de tempo de 1/299 792 458 de segundo ´ A cada nova definição: aumento da confiabilidade De facto ou de jure? ´ Padrões podem surgir espontaneamente ´ Necessidade de um grupo de usuários ou solução de problema ´ De facto, do latim: designa um padrão conhecido e aplicado na prática, mas que não foi formalizado ´Podem ser escritos “involuntariamente” ´Comunidade de usuários adota uma tecnologia e a torna muita popular ´Perl: inicialmente projetada por Larry Wall para tratamento de texto ´UML: modelagem 17/09/18 4 De facto ou de jure? ´ De facto: podem ser criados por razões comerciais ´ DCOM(Distributed Component Object Model) ´ Corba ( Common Object Request Broker Architecture) ´ E de jure? expressão em latim refere-se à lei ´ Padrão criado de maneira formal, regulamentada ´ Documentos criados por organismos como IEEE (Institute of Electrial and Electronics Engineers) e ISO ´ São escritos seguindo regulamentos e aprovados por instituições reconhecidas ISO ´ ISO: nasceu de um conferência em Londres (outubro de 1946) ´ participação de 65 delegados de 25 países ´ ISO produzia “recomendações” e não normas internacionais ´ ISO em 2014 possuía 14.941 documentos internacionais de padronização ´ Quase 150 países participantes e mais de 50 mil especialistas ´ ISO não é uma sigla: significa igual ´ ISO conhecida como International Organization For Standardization 17/09/18 5 ISO, IEC e JTC1 ´ IEC (International Eletrotechnical Commision) o JTCI( Joint Technical Comitee 1): braços da ISO ´ JTC: normas relacionadas com Tecnologia da Informação (TI ou IT) ´ Escopo JTCI: ´ Projeto e desenvolvimento de sistemas e ferramentas de TI ´ Qualidade, desempenho, segurança, portabilidade e interoperabilidade de sistemas de TI ´ Harmonização de ferramentas, ambientes e vocabulário utilizado em TI ´ Ergonomia de sistemas ISO, IEC e JTC1 ´ Princípios da produção de normas pelo JTC1 ´ Preocupação com a aplicação do conhecimento ´ Tempo de desenvolvimento de sistemas e custos na aplicação de tecnologias ´ Abranger ao máximo a qualidade de produtos de serviços ligados a TI ´ Divulgação e de conscientização da importância das normas de qualidade ´ Como a ISO deve promover a melhoria contínua das empresas, produtos e serviços ´ Consciência de tratar necessidades diferentes segundo a cultura: um padrão internacional de ser útil a todos os países que o adotam 17/09/18 6 ISO, IEC e JTC1 ´ JTC1: divido em subcomissões ´ Cada uma responsável determinado corpo de normas ´ Subcomissões são divididas em grupos de trabalho específicos ´ Exemplo: SC Áreas de estudos SC-6 Telecomunicações e troca de informações entre sistemas SC-7 Software e engenharia de sistemas SC-22 Linguagens de programação SC-27 Técnicas de segurança para TI ABNT ´ Órgão brasileiro responsável por normas de qualidade ´ Representa, no Brasil, a ISO e a IEC ´ Equipes (comissões de estudo): preparação de normas internacionais ´ Fundada em 1940: é um membro fundador da ISO ´ Como a ISO também possui uma estrutura interna em árvore ´ Divisão no nível mais alto é chamado de comitê ´ Comitês são responsáveis por áreas de conhecimento ´ Comitês: subdivididos em comissões responsáveis pela elaboração de normas. 17/09/18 7 Alguns comitês brasileiros da ABNT CB Área de Estudos CB-01 Mineração e metalurgia CB-02 Construção civil CB-21 Computadores e processamento de dados CB-52 Café • O comitê 21 possui duas comissões técnicas: engenharia de software e probabilidade; • De software, dividas em sete comissões de estudos; e • a comissão de técnicas de linguagens, sistemas operacionais e bancos de dados. ABNT ´Comissões de estudo: voluntariado. ´Profissionais ou empresas entram em contato espontaneamente ´A assistência às reuniões é livre, mas direito a voto depende de apreciação ´ABNT: basicamente normativa, mas também certifica ´ISO e IEC não realizam certificação de nenhum tipo ´ISO e IEC restringem-se ao trabalho de elaboração de normas 17/09/18 8 INMETRO ´ INMETRO (Instittuto Nacional de Metrologia, Normalização e Qualidade Industrial) ´ Atua como secretaria executiva do Conmetro ( substitua “instituto por conselho”) ´ Conmetro: órgão normativo do Sinmetro (substitua “conselho” por “sistema”) ´ Inmetro verifica a observância de normas ´ A ABNT é credenciada pelo Inmetro para fazer a certificação Certificação e adequação ´ Certificação: modismo a partir de 1990 ´ Propagandas da certificação ISO9000 como uma garantia? ´ Diferenças entre “adequação” e “certificação”. ´ Pode se adequar sem certificar? ´ Adoção de normas é opção de melhoria no processo ´ Certificação envolve auditoria 17/09/18 9 Certificação e adequação ´ Adequação consiste em colocar em prática, total ou parcialmente ´ Adequação pode ser feita pela empresa de maneira autônoma ´ Certificação envolve organismo ou empresa externa ´ Certificador deve ser credenciado ´ Certificador atestar que se segue corretamente um determinado padrão Certificação e adequação ´ Resumo dos passos para implementar um sistema de qualidade ´ Início: definição do escopo ´ Diagnóstico: aponta os problemas e inicia o planejamento ´ Documentação é fundamental: deve-se garantir que a padronização pertença a empresa e não à memória das pessoas que trabalham nela ´ Implementação: gradual Definição do escopo Diagnóstico Planejamento e documentação Gestão da transação Correções 17/09/18 10 Certificação e adequação ´ Pré-auditoria: mede a diferença entre o atual e o normalizado ´ Não-conformidades: diferenças entre os procedimentos adotados e os normalizados ´ Fase de correção: ajustes à norma ´ Dificilmente a aderência à norma é total ´ Auditores podem: ´ Certificar imediatamente a empresa, porém sugerindo pequenas correções a serem realizadas; ´ Certificar a empresa, porém sob a condição de que certas correções mais sérias sejam efetuadas; ´ Não certificar a empresa, recomendando uma nova etapa de adequação à norma antes de uma nova tentativa de certificação Pré-auditoria Correções RecomendaçõesAuditoria Relatório de não- conformidades Relatório de não- conformidades Certificação e adequação ´ A certificação: feita de maneira pontual ´ Pode abranger apenas algumas partes específicas de uma norma. ´ exibir um “selo ISO 9000” não indica qualidade do produto ´ Pode ser que somente um setor cumpra uma regulamentação de qualidade ´ A certificação válida por um período de tempo ´ há acompanhamento por parteda certificadora ´ Produtos: testes com amostras (coletadas na empresa e no comércio) ´ sistemas de gerenciamentos e de processos: visitas e inspeções 17/09/18 11 Certificação e adequação ´Existem diversas normas internacionais para as quais não existe cerificação ´são normas que apresentam metodologias ou técnicas que devem ser adaptadas a casos particulares; ´a norma pode ser uma referência para melhorar a qualidade (mesmo sem selo) ´Este é o caso da ISO/IEC 9126. Etapas na criação de uma norma ´ Norma de qualidade: nasce de uma necessidade de padronização ´ Pode ser na indústria, no meio acadêmico ou dentro da própria ISO ´ Linguagem JAVA foi aprovada a partir de um pedido da Sun Microsystems. ´ CORBA foi originalmente desenvolvido pelo OMG (Object Management Group Inc.) e se tornou uma norma inter nacional, a ISO/IEC 19500-2. ´ são elaboradas pelo trabalho conjunto dos organismos nacionais – national bodies –afiliados à ISO/IEC ´ no Brasil, a instituição responsável é a ABNT. ´ uma norma possui pelo menos um editor e um ou mais co-editores ´ editores: pessoas com conhecimento técnico reconhecido e podem se dedicar ao projeto ´ trabalho é voluntário ´ O editor e co-editores podem ser de países diferentes: por meio de comunicação eletrônica são trocados documentos e podem mesmo ser realizados reuniões a distância. 17/09/18 12 Etapas na criação de uma norma ´ Cada organismo pode possuir uma estrutura própria ´ Nem todos os países participam da elaboração de todas as normas ´ O editor (com os co-editores) são responsáveis pela escrita de um primeiro esboço do documento (draft); ´ formato já estabelecido pela ISO/IEC ´ versão inicial é distribuída para a análise pelos demais grupos internacionais ´ editores são responsáveis por receber, de cada país, lista de sugestões ´ modificações, inclusão de material (texto, figuras, tabelas e etc.) e listas de (possíveis ) erros detectados na norma ´ Após correções: nova versão é enviada pelo secretariado a todos os grupos Etapas na criação de uma norma ´ Votação durante a criação ´ Busca-se o consenso ´ A ISO não funciona com base em um sistema tradicional de votação 17/09/18 13 Exercícios 1. Explique a relação existente entre normas e legislação 2. Explique a diferença entre certificar e adequar 3. Pesquise qual é o grupo de trabalho responsável pela ISO 9.241 4. Pesquise grupos brasileiros que trabalham com os seguintes tópicos relacionados a software: ´Ergonomia; ´Métricas; ´Verificação; Métricas: visão geral ´ Dados necessários para administração de um projeto ´ Papel dos números: análise, comparações etc. ´ Lucro: lucro = f (trabalho) ´ Horas de trabalho, produtividade, evolução do cronograma: não há relação perfeita ´ Administrar usando números: nunca o contrário 17/09/18 14 Um pouco mais sobre Métricas e ruídos ´ Influência de funcionários: habilidades, aceitação, motivação etc. ´ Influência do hardware: benchmarks, complexidade do código e espaço ´ Medidas e estimativas: complexidade e espaço ´ Medidas estáticas: com base em fontes de informações ´ Medidas dinâmicas: obtidas a partir da execução Métricas: qualitativo ou quantitativo ´ Métrica induz a medida em número ´ Nem sempre os números são completos ´ Carro mais econômico ou mais bonito? ´ Níveis de satisfação ´ Quantitativo: valores ´ Qualitativo: bom, regular, ruim ´ Mapeamento entre quantitativo e qualitativo 17/09/18 15 Métricas: qualitativo ou quantitativo Métricas: Estatística ´ Dados Quantitativos ´Discretos ´Contínuos ´ Dados Qualitativos ´Nominais ´Ordinais ´Intervalos ´ Variáveis ´Séries temporais, corte transversalnum período ´ População e Amostra 17/09/18 16 Métricas: Estatística ´ Média ´ Problemas com a média ´ Quando a média é relevante ´ Desvio padrão ´ Fundamentos ´ Como utilizar ´ Teste t e Teste de Hipótese ´ Como saber se os resultados são significativos ´ Histogramas, gráficos e controle estatístico de processos ´ Pareto Fatores humanos de qualidade ´ Cases ´ Permissão para ir embora: saídano horário? Horas extras? ´ Sem saída: exigir entregasobpressão? ´ Previsões: superestimar paraganhar vantagem ´ Organização do trabalho: técnicas de qualidade ajudam ´ Comunicação: canal bem definido ´ Individualismo: programação sem ego ´ Aplicar metodologiaspadronizadas ´ Defeito de software não é crítica pessoal ´ Gerência de Manufatura ´ Cuidados com prazos ´ Tamanho da equipe aumentacomplexidade 17/09/18 17 Qualidade: 5S e suas consequências Qualidade do Produto x Qualidade do Processo ´ Hoje em dia, a qualidade do processo é mais importante do que a qualidade final do produto; ´ Existe normas e padrões tanto para produtos quanto para processos. 17/09/18 18 Evolução dos Conceitos de Qualidade Inspeção pós-produção Produto final é avaliado depois de pronto. 1900 Controle estatístico de produção Avalia subprodutos das etapas de produção 1940 Procedimento de produção Avalia todo o procedimento de produção 1950 Educação das pessoas Avalia as pessoas envolvidas no processo 1960 Otimização dos processos Avalia e otimiza cada processo 1970 Projeto robusto Avalia o projeto de produção 1980 Engenharia simultânea Avalia a concepção do produto 1990 Padrões de Qualidade de Software ´ Qualidade de produtos de software - ISO 9126 (versão brasileira - NBR 13596), substituída pela Norma ISO/IEC 25010:2011 ´ Qualidade de pacotes de software - ISO 12119 ´ Qualidade do processo de software ´ Capability Maturity Model (CMM) ´ Personal Software Process (PSP) ´ ISO 9000 / ISO 9001 17/09/18 19 Qualidade de produtos de software – ISO/IEC 25010:2011 ´ Conjunto de características que devem estar presentes em um software de qualidade: ´ Funcionalidade - satisfaz as necessidades? ´ Confiabilidade - é imune a falhas? ´ Usabilidade - é fácil de usar? ´ Eficiência - é rápido e “enxuto”? ´ Manutenibilidade - é fácil de modificar? ´ Portabilidade - é fácil de usar em outro ambiente? ´ Muitas destas características são subjetivas ´ Outras podem ser definidas por meio de métricas Qualidade de pacotes de software - ISO 12119 ´ Trata da avaliação de “software de prateleira” ´ Descreve detalhes que devem estar presentes no software, tais como: ´ Documentação do usuário de fácil compreensão ´ Um sumário e um índice remissivo na documentação do usuário ´ Presença de um manual de instalação com instruções detalhadas ´ Possibilidade de verificar se uma instalação foi bem sucedida ´ Especificação de valores limites para os dados de entrada ´ etc. 17/09/18 20 Qualidade do processo de software ´ Os estudos sobre qualidade estão na sua maioria voltados para o melhoramento do processo de desenvolvimento ´ Ao melhorar a qualidade do processo está se dando um grande passo para se garantir também a qualidade do produto Qualidade do processo de software - A Série ISO 9000 ´ “Padrões de Gerenciamento e de Garantia de Qualidade - Diretrizes para Seleção e Uso”. ´ Série de padrões ISO 9000 conjunto de documentos que trabalham com sistemas de qualidade que podem ser usados para propostas de garantia de qualidade externa. ´ O ISO 9000 descreve os elementos de sistemas de garantia de qualidade (estrutura organizacional, procedimentos, processos e recursos) em termos gerais. 17/09/18 21 ISO 9001 ´ “Sistemas de Qualidade - Modelo para Garantia de Qualidade em Projeto, Desenvolvimento, Produção, Instalação e Serviço” ´ Aplicado para todas as engenharias ISO 9001: requisitos ´ Define requisitos que devem estar presentes em um sistema de garantia de qualidade efetivo: ´ Gerência de responsabilidades ´ Sistema de qualidade documentado ´ Revisões de contrato ´ Controle de projeto ´ Controle do processo ´ Inspeções e testes ´ Inspeções, medidas e testes de equipamentos ´ Treinamento ´ Servicing ´ Técnicas estatísticas para verificar a aceitação do produto ´ etc. 17/09/18 22 ISO 9000-3 ´ Orientação para a aplicação da ISO 9001 no processo de Engenharia de Software´ Todas as orientações giram em torno de uma “situação contratual”, onde uma empresa contrata outra empresa para desenvolver um produto de software ISO 9000-3: processos definidos ´ Estrutura do sistema de qualidade ´ Responsabilidade do fornecedor ´ Responsabilidade do comprador ´ Análise crítica conjunta ´ Atividades do ciclo de vida ´ Análise crítica do contrato ´ Especificação de requisitos do comprador ´ etc. ´ Atividades de apoio ´ Gerenciamento de configuração ´ Controle de documentos ´ etc. 17/09/18 23 ISO 9000-3: processo de certificação ´ A empresa estabelece o seu sistema de qualidade ´ A empresa faz uma solicitação formal a um órgão certificador, incluindo detalhes do negócio da empresa, escopo da certificação solicitada e cópia do manual de qualidade ´ O órgão certificador faz uma visita à empresa, colhe mais dados e explica o processo de certificação ´ O órgão certificador verifica se a documentação do sistema de qualidade está de acordo com a norma ISO ´ O órgão certificador envia uma equipe à empresa com fins de auditoria. Nesta visita, será verificado se todos na empresa cumprem o que está documentado no manual de qualidade ´ O órgão certificador emite o certificado de qualidade ´ O órgão certificador realiza visitas periódicas à empresa para assegurar que o sistema continua sendo efetivo Qualidade do processo de software - Capability Maturity Model (CMM) ´ Descreve princípios e práticas relacionadas à maturidade do processo de software; ´ Tem o objetivo de ajudar as organizações a melhorarem seus processos de software em termos de um caminho evolutivo que vai de ad hoc (processos caóticos) a processos maduros e disciplinados; ´ Para isto define o conceito de nível de maturidade: base evolucionária bem definida direcionada a obter um processo de software maduro. 17/09/18 24 Capability Maturity Model (CMM): os 5 níveis de maturidade Inicial Processo caótico e ad hoc. Reproduzível Processos estabelecidos por experiências anteriores. Definido Processos padronizados, documentados e integrados. Gerenciado Medidas de qualidade são coletadas. O processo e o produto são entendidos e controlados quantitativamente. Otimizado Um processo de melhora contínuo é capacitado para retorno quantitativo do processo e das ideias. Capability Maturity Model (CMM): áreas-chave de processo (KPA) ´ Indicam as áreas que uma organização deveria focar para melhorar seu processo de software ´ O CMM define 18 KPAʼs distribuídas nos 5 níveis; ´ Cada KPA é descrita em termos de práticas que contribuem para satisfazer seus objetivos. ´ descrevem a infraestrutura e atividades que contribuem para a implementação e institucionalização da KPA. 17/09/18 25 Capability Maturity Model (CMM): áreas-chave de processo (KPA) ´ KPA 1: não existem KPAʼs para este nível; ´ KPA 2: interesses relacionados ao estabelecimento do controle básico de administração de projeto; ´ KPA 3: problemas organizacionais e de projeto; ´ KPA 4: estabelecer um entendimento quantitativo do processo de software e do produto; ´ KPA 5: cobrem os problemas que a organização e os projetos devem endereçar para implementar uma melhora contínua e mensurável do processo de software. Comparação entre ISO 9001 e CMM ´ CMM ´ Ênfase no contínuo processo de melhora; ´ Enfoca estritamente o software; ´ Não é uma norma emitida por uma instituição de padronização. ´ ISO 9001 ´ Ênfase no critério mínimo para um sistema de qualidade aceitável; ´ Tem um escopo mais abrangente; ´ Por ser mais conhecido e embutir um padrão internacional mínimo de qualidade, o ISO talvez traga melhores resultados para a empresa. 17/09/18 26 Comparação entre ISO 9001 e CMM - perguntas ´ Em que nível do CMM poderia se encaixar uma organização em conformidade com o ISO 9001? ´ Uma organização de nível 2 (ou 3) poderia ser considerada em conformidade com o ISO 9001? ´ Meus esforços na melhoria do processo e no gerenciamento de qualidade deveriam ser baseados no ISO 9001 ou no CMM? ´ Estas perguntas não têm uma resposta definitiva. Conclusão ´ Qualidade é um conceito complexo, porque significa diferentes coisas para diferentes pessoas; ´ Não há uma simples medida para qualidade de software que seja aceitável para todos os projetos de todas as empresas; ´ Para estabelecer ou melhorar a qualidade de software, deve-se definir os aspectos de qualidade nos quais se está interessado e, então, decidir como fazer para medí-los; ´ Apesar dos custos elevados, é importante introduzir sistemas de gerenciamento de qualidade de software, como o CMM ou o ISO 9001. 17/09/18 27 Qualidade do processo de software - Personal Software Process (PSP) ´ O estímulo para desenvolver o PSP surgiu de questões sobre o CMM; ´ Estratégia para o desenvolvimento pessoal; ´ Objetivo: fazer com que os engenheiros de software fiquem atentos ao processo que eles usam e estejam sempre verificando suas performances no processo de desenvolvimento, aumentando assim a produtividade. Personal Software Process (PSP) ´Usando o PSP, os engenheiros de software: ´desenvolvem um plano para todo projeto; ´registram seu tempo de desenvolvimento; ´trilham seus defeitos; ´mantêm dados de um projeto em relatórios resumidos; ´usam esses dados para planos de projetos futuros; ´analisam dados que envolvem seus processos a fim de aumentar suas performances. 17/09/18 28 Melhoria de processos individuais e de equipes: PSP e TSP ´ CMM e CMMI: foco nas organizações ´ PSP – Personal Software Process ´ TSP – Team Software Process ´ Por ser organizacional os outros modelos não abrangia aspectos de indivíduos e equipes PSP: Personal Software Process ´ Humphrey (2000): também um dos criadores CMM(1990) ´ Foco na melhoria de processo dos indivíduos ´ Objetivo: tornar o trabalho mais disciplinado ´ Inclui métodos, formulários e roteiros ´ Objetivo: planejar, medir e genrenciar o trabalho individual 17/09/18 29 PSP: Personal Software Process ´Também pode ser dividido em níveis ´ Nível 0: fundamentos de medidas em formatos de relatórios ´ Nível 1: planejamento e estimativas de tamanho e tempo ´ Nível 2: controle pessoal de qualidade do projeto ´ Nível 3: extensão a projetos grandes PSP: Princípios básicos ´ Cada indivíduo é diferente: trabalho se baseia no desempenho individual (já medidos) ´ Processos padronizados: diretivas gerais, mas respeitando o princípio de diferenças individuais ´ O indivídio é responsável pela qualidade do seu trabalho: erros, atrasos etc. ´ Planejamento prévio ´ O desenvolvedor deve medir: ´Tempo médio gasto em cada etapa ´Defeitos encontrados e removidos ´Tamanho do software etc. 17/09/18 30 PSP: Estrutura ´ Planeja-se a partir dos requisitos ´ Planejamento: conjunto de scripts que guiam ´ Cada fase inclui dados sobre tempo e defeitos nos logs ´ Pós morte (última fase): compila-se os dados em um resumo do planejamento PSP: Scripts ´ Sequência de tarefas: claramente determinadas ´ Logs de tempo devem ser preenchidos para todas as atividades ´ Logs devem conter: registros minuciosos dos tempos de cada tarefa 17/09/18 31 PSP e TSP ´CMM e CMMI/ MPS-BR – Foco nas empresas/organizações ... ´PSP e TSP – modelos baseados no indivíduo e na equipe/time/grupo ... PSP ´ PSP (Personal Software Process) – 2000 por Humphrey (um dos pais do CMM...) ´ Foco na melhoria de processos do indivíduo – tornando sua forma de trabalho mais disciplinada ... ´ CMMI – foco no “o que deve ser feito…” ´ PSP/TSP – acrescentam o “como…” 17/09/18 32 PSP ´ Constatação: ´ Qualidade rege-se pelos PIORES elementos/componentes ´ Normalmente, o indivíduo ´ Analista ´ Desenvolvedor ´ Testador PSP ´ Possibilitar: ´ Ao DESENVOLVEDOR ´ Conhecer-se ´ Medir-se ´ Analisar-se ´ Aprender … 17/09/18 33 PSP ´ PSP - Personal Software Process ´ É um framework para auxiliar o desenvolvedor a estimar e planejar suas tarefas, acompanhar sua performance em relação ao planejado emelhorar a qualidade dos produtos produzidos. PSP ´ Um processo pessoal para o desenvolvimento de software ´ Passos definidos ´ Formulários ´ Padrões ´ Uma infra-estrutura de medição e análise para a caracterização deste processo ´ Um procedimento definido para a melhoria da performance 17/09/18 34 PSP – Objetivos ´ auxiliar o desenvolvedor a gerenciar seu trabalho, conhecer seus talentos e melhorar suas habilidades; ´ oferecer métricas e análises métricas; ´ introduzir gradativamente técnicas de Engenharia de Software. PSP – Objetivos 17/09/18 35 PSP – Compromissos PSP – Compromissos 17/09/18 36 PSP · Utilizados um conjunto de métodos, formulários e scripts (roteiros) para planejar, medir, gerenciar o trabalho individual/times (grupos) ... PSP - Níveis ´ Nível 0 = fundamentos de medidas e formatos de relatórios; ´ Nível 1 = Planejamento e estimativas de tamanho e tempo; ´ Nível 2 = Controle pessoal de qualidade de projeto; ´ Nível 3 = Extensão a projetos maiores 17/09/18 37 PSP - Níveis PSP - Níveis 17/09/18 38 PSP – 0 – Medição Pessoal Atividades: ´ Registro de tempo ´ Registro de defeitos ´ Padrão de tipos de defeitos ´ Padrão de codificação ´ Medida de tamanho ´ Proposta de melhoramento do processo PSP – 0 – Medição Pessoal ´ No nível de Medição Pessoal, você aprende a registrar o tempo gasto em cada etapa do ciclo do desenvolvimento, registrando ainda os defeitos encontrados. Isto é conseguido através do uso de formulários adequados. O nível PSP0.1 inclui o uso de um padrão de codificação, de medidas padronizadas e do formulário de proposta de melhoramento do processo. ´ O Baseline Personal Process (PSP0 e PSP0.1) estabelece um ponto de partida para a compreensão do processo de software e, consequentemente, uma base sobre a qual promover as melhorias. 17/09/18 39 PSP – 0 – Medição Pessoal PSP – 1 – Planejamento Pessoal Atividades: ´ Estimativa de tamanho ´ Relatório de testes ´ Planejamento de tarefas ´ Cronogramas 17/09/18 40 PSP – 1 – Planejamento Pessoal ´ No nível de Planejamento Pessoal, você aprende a planejar. A idéia geral é obter a capacidade de estimar quanto tempo levará para realizar uma tarefa baseado nas medições feitas em tarefas semelhantes anteriormente. Neste nível aprende-se a assumir compromissos que podem realmente ser cumpridos. O nível PSP1.1 inclui o planejamento de tarefas e a elaboração de cronogramas. ´ introduz técnicas para o estimativa de tamanho do software e esforço (PROBE) ´ planejamento de tarefas e cronograma ´ relatório para registro dos dados de teste PSP – 2 – Qualidade Pessoal Atividades: ´ Revisões de código ´ Revisões de projeto ´ Padrões de Projeto 17/09/18 41 PSP – 2 – Qualidade Pessoal ´ No nível de Qualidade Pessoalvocê aprende a lidar com seus erros. Deve- se ter uma idéia precisa de quantos erros são cometidos (em média) em cada fase do ciclo de desenvolvimento. O modelo PSP mostra que a forma mais adequada para tratar erros é evitá-los desde a sua origem. Você deve utilizar os dados sobre defeitos já coletados para criar uma lista de verificação (checklist) a ser utilizada em suas revisões de projeto e de código. O nível PSP2.1 inclui a criação de padrões de projeto, bem como métodos de análise e prevenção de defeitos. ´ efetua o gerenciamento dos defeitos ´ introduz técnicas de revisão ´ tem seu foco no design ´ não ensina a fazer design, mas a checar se está completo PSP – 3 – Processo Cíclico Pessoal Atividades: ´ Desenvolvimento cíclico 17/09/18 42 PSP – 3 – Processo Cíclico Pessoal ´ O nível de Processo Cíclico Pessoal é a última etapa do PSP. Neste nível, o PSP sai do desenvolvimento de pequenos programas para tratar do desenvolvimento de projetos maiores, embora ainda em nível pessoal. A idéia é dividir os grandes projetos em pequenos projetos que possam ser tratados no PSP2. Neste caso, o desenvolvimento acontece em passos incrementais. ´ expande os conceitos do PSP para projetos maiores ´ divide um programa maior em pequenas partes ´ aplica o PSP2 a cada uma das partes PSP - Princípios ´ Cada indivíduo é diferente – planejamento baseado em desempenho individual ´ A melhoria do desempenho é baseada no uso de processos bem definidos/medidos ´ A pessoa é responsável pela qualidade de seu trabalho – responsabilidade em erros e atrasos ´ Necessidade de um planejamento prévio das atividades, seguindo um processo bem definido ´ Medir o tempo gasto em cada etapa – os defeitos encontrados – tamanho do sw para entender o desempenho individual ´ Analisar os resultados ao final do processo – feedback e melhoria do processo 17/09/18 43 PSP - Estrutura ´Requisitos – requisitos do sw ´Planejar – conjunto de scripts que guiam o trabalho ´Projetar - * ´Revisar o projeto - * ´Codificar - * ´Revisar o código - * ´Compilar e corrigir - * ´ Testar - * (armazenar dados sobre tempo e defeitos encontrados) ´Pós-morte – sintetizar os dados em um resumo de planejamento PSP - Estrutura 17/09/18 44 PSP - Scripts ´ Sequência de tarefas claramente definidas ´ Permite que mesmo programadores sem experiência consigam desenvolver o projeto ´ Baseado na estrutura acima. ´ Exemplo de script: PSP – Scripts - exemplo 17/09/18 45 PSP – Scripts - exemplo PSP – Scripts ´ Todas as atividades citam o preenchimento de um log para registro de tempo ´ Dados necessários para que a pessoa possa analisar sua produtividade ´ Descrever minuciosamente os tempos dedicados a cada tarefa 17/09/18 46 PSP – Scripts PSP – Plano de Projeto ´ Pilares do PSP ... ´ Planejamento de cada atividade a ser realizada levando ao controle do próprio trabalho ... ´ Realizado com base em um formulário padrão ... 17/09/18 47 PSP – Conclusões ´ PSP procura melhorar e disciplinar o trabalho individual ´ Com o propósito de aumentar a eficiência de desenvolvedor e a qualidade dos produtos ´ Implantado: ´ Profissionais autodidatas ´ Treinamentos formais PSP – Conclusões ´ Estudos indicam: ´ Aumento/melhoria em vários aspectos (estimativas, por ex) ´ Abandono gradual da metodologia no cotidiano ´ Uso do tempo para coleta dos indicadores ´ Solução – uso de programas automáticos para esta tarefa 17/09/18 48 PSP – Resultados PSP x CMM 17/09/18 49 PSP – Referências PSP – Referências 17/09/18 50 TSP · TSP (Team Software Process) · Baseado na melhoria de processos de uma equipe de desenvolvimento e usa a noção de time – grupo de pessoas com o mesmo objetivo ... TSP ´ O TSP provê um conjunto de ´ scripts de processos ´ formulários ´ métodos ´ métricas ´ Estes elementos guiam os desenvolvedores em ´ criar equipes eficazes ´ estabelecer metas e planos para a equipe ´ acompanhar e reportar o trabalho ´ TSPi ´ Versão simplificada do TSP para equipes e projetos menores 17/09/18 51 TSP – Princípios ´ Estabelecimento de objetivos e papéis comuns; ´ Definição de um processo comum de trabalho; ´ Envolvimento de todos na produção do plano; ´ Negociação do plano entre o time e a gerência; ´ Revisão e aceite final pela gerência; ´ Comunicação livre e freqüente. ´ Exige que a pessoa tenha sido previamente treinada em PSP ´ Pode formar a base para a adoção do CMMI TSP – Estrutura ´ PSP – aquisição de habilidades ´ Planos pessoais ´ Métodos de planejamento ´ Valores aprendidos ´ Dados de processo ´ Medidas de qualidade ´ Processos definidos 17/09/18 52 TSP – Estrutura ´ TSP – construção de times – disciplina de times ´ Comprometimento ´ Planos agressivos ´ Possessão da qualidade ´ Objetivos do projeto ´ Possessão do plano ´ Detalhamento do plano ´ Papéis de time ´ Recursos de time TSP – Estrutura ´ TSP – trabalho em times – disciplinas de administração ´ Prioridade da qualidade ´ Custo da qualidade ´ Respeito dos processos ´ Revisão de status ´ Revisão de qualidade ´ Comunicação ´ Gerência de mudanças 17/09/18 53 TSP – Funcionamento ´ Iterativo ´ Durante um projeto são realizadosvários relançamentos ´ Revisados pelo TIME ´ Plano geral e detalhado para cada fase TSPi – Funcionamento Lançamento Estratégia Requisitos Planejamento Projeto Implementação Testes Postmortem Ciclo 1 Ciclo 2 Lançamento Estratégia Requisitos Planejamento Projeto Implementação Testes Postmortem . . . Ciclo Final Lançamento Estratégia Requisitos Planejamento Projeto Implementação Testes Postmortem Produto Final
Compartilhar