Baixe o app para aproveitar ainda mais
Prévia do material em texto
MODELO DE MATURIDADE DE SOFTWARE Introdução Esta aula tem como tema central entender as abordagens principais de métricas e como elas são utilizadas. A medição é importante para avaliação e garantia da qualidade de um software, atributo exigido pelos clientes. Para isso, é fundamental entender e aperfeiçoar o processo de desenvolvimento, melhorando a gerência de projetos e o relacionamento com clientes. Nada melhor do que perceber a satisfação do cliente com o serviço entregue. Devemos reduzir frustrações, indicando a qualidade e a produtividade do processo, avaliando os benefícios dos novos métodos e ferramentas de engenharia de software e o retorno sobre o investimento. Objetivo: 1. Apresentar as normas ISO; 2. Aprender os Princípios de Gestão da Qualidade. Fundamentos da medição de software O objetivo da medição de software é aumentar a qualidade, o desempenho e a produtividade dos processos de desenvolvedores. O uso de métricas está diretamente ligado ao controle desses processos. Pesquisas realizadas em empresas de software indicam que acima de 60% dos projetos de software apresentam atraso na entrega, acarretando em custos excessivos e, em muitos casos, fracasso no seu resultado. Isso se deve, principalmente, à falta de controle dos projetos de software. Depois dessas informações, você pode estar se questionando: Por que o software deve ser medido? O software deve ser medido para: • Entender e melhorar o processo de desenvolvimento; • Aperfeiçoar o modelo de gerenciamento de projetos; • Melhorar o relacionamento com clientes; • Elaborar cronogramas mais realistas; • Gerenciar contratos de software; • Certificar a qualidade do software; • Avaliar a produtividade do processo; • Avaliar novas ferramentas de engenharia de software; • Avaliar retorno de investimento (ROI). Medição e modelos/normas de qualidade de um software Para compreendermos melhor esse processo, vamos ver em que as medições de software se baseiam: Medição na ISO/IEC 15504, também conhecida como SPICE, é a norma ISO/IEC que define o processo de desenvolvimento de um software. Ela é uma evolução da ISO/IEC 12207 e possui níveis de capacidade para cada processo assim como o CMMI. Medição no CMMI e no MPS.BR são assuntos das próximas aulas. Vamos acompanhar, agora, boas práticas na implantação de Programas de Medição nas organizações: • Começar com um conjunto pequeno de métricas; • Utilizar um conjunto de métricas coerentes; • Utilizar um conjunto de medições rigorosamente definido; • Não utilizar métricas para motivar comportamentos esperados; • Foco desde os estados iniciais do ciclo de vida do software; • Automatizar a coleta dos dados; • Motivar a Gerência; • Estabelecer metas; Vamos acompanhar, agora, boas práticas na implantação de Programas de Medição nas organizações: • Envolvimento de todos com educação e treinamento; • Ganhar confiança; • Adotar uma abordagem evolutiva; • Aplicar a ferramenta 5S e descartar o que não é útil; • Fornecer informações corretas; • Incentivar os desenvolvedores a fazer uso das métricas; • Compreender que a adoção leva tempo; • Evitar má interpretação dos dados. É preciso prestar bastante atenção nos fatores críticos para implantação de programas de medição. Veja quais são eles: Sobrecarga: evitar coletar dados em excesso e desnecessários, que podem causar desperdícios e perda da credibilidade do programa de medição. Uso incorreto da medição: medições com perda da integridade dos dados, pois os profissionais tendem a mascarar os dados com medo de que estes sejam utilizados contra eles. É preciso prestar bastante atenção nos fatores críticos para implantação de programas de medição. Veja quais são eles: Falhas de medição: obtenção de medidas erradas, ambíguas e inconsistentes, resultando em análises não conclusivas. Falhas de processo: obtenção de medidas que motivam falhas no processo (exemplo: o objetivo de diminuir a taxa de resolução de problemas induz a ação indesejada de que as equipes tratem primeiramente os problemas mais simples). O que é ISO? ISO é a sigla de International Organization for Standardization, ou Organização Internacional para Padronização, em português. A ISO é uma entidade de padronização e normatização, e foi criada em Genebra, na Suíça, em 1947. A sigla para International Organization for Standardization deveria ser IOS e não ISO. No entanto, como em cada país de línguas diferentes existiria uma sigla diferente, os fundadores decidiram escolher uma só sigla para todos os países: ISO. Esta foi a sigla escolhida porque em grego isos significa "igual", o que se enquadra com o propósito da organização em questão. O que é ISO? A ISO tem como objetivo principal aprovar normas internacionais em todos os campos técnicos, como normas técnicas, classificações de países, normas de procedimentos e processos, e etc. No Brasil, a ISO é representada pela ABNT (Associação Brasileira de Normas Técnicas). A ISO promove a normatização de empresas e produtos, para manter a qualidade permanente. Suas normas mais conhecidas são a ISO 9000, ISO 9001, ISO 14000 e ISO 14064. As ISO 9000 e 9001 são um sistema de gestão de qualidade aplicado em empresas, e ISO 14000 e ISO 14064 são um sistema de gestão ambiental. https://www.significados.com.br/iso-9001/ ISO e a tecnologia da informação A ISO criou com a IEC (International Eletrotechnical Commission), a primeira comissão conjunta para elaboração de normas, o JTC1 (Joint Technical Committee). O JTC1 é responsável pela criação de normas relacionadas à TI e é dividido em subcomissões (SC), que, por sua vez, são divididas em grupos de trabalho (Working Groups – WG). ISO e a tecnologia da informação A subcomissão SC-7 (Engenharia de Software e de Sistemas) trata das normas relacionadas à qualidade de software. Veja alguns grupos de trabalho da SC-7: WG-2: Documentação de Sistemas. WG-6: Avaliação e Métricas. WG-7: Gerência do Ciclo de Vida. WG-12: Medição do Tamanho Funcional. Para compreender melhor, acompanhe o histórico da Série ISO 9000. 1987 1ª versão 1994 Primeira revisão, com o objetivo de melhorar os requisitos e enfatizar a natureza preventiva da garantia da qualidade. 2000 Segunda revisão, com o foco no cliente, voltada para os princípios de Controle da Qualidade Total. O histórico da Série ISO 9000 2005 Publicação de pequenas alterações na ISO 9000. 2008 Revisões na ISO 9001. O histórico da Série ISO 9000 Normas da Série ISO 9000:2000 •ISO 9000:2005 - Sistemas de Gestão da Qualidade (SGQ) – Fundamentos e Vocabulário. • ISO 9001:2000 - SGQ – Requisitos. • ISO 9004:2000 - SGQ - Diretrizes para a Melhoria de Desempenho. • ISO 19011:2002 - Diretrizes para Auditoria de SGQ e/ou ambiental. O histórico da Série ISO 9000 Estrutura da Série ISO 9000:2000 A Norma ISO 9000 descreve os fundamentos de sistemas de gestão da qualidade e estabelece a terminologia para esses sistemas. Define uma abordagem centrada em modelo de processos, baseada em 8 princípios de gestão da qualidade e 13 fundamentos, para atingir excelência e satisfação dos clientes. Serve como base de orientação a toda a série de normas ISO 9000 (ISO, 2005). Princípios de gestão da qualidade Todo o processo de medição, modelos e ISO, está totalmente ligado à qualidade. Vamos aprofundar mais no assunto: Foco no cliente: Organizações dependem de seus clientes e, portanto, é recomendável que atendam às necessidade atuais e futuras do cliente, aos seus requisitos e procurem exceder as suas expectativas. Princípios de gestão da qualidade Liderança: Líderes estabelecem a unidade de propósito e o rumo da organização. Convém que criem e mantenham um ambiente interno, no qual as pessoas possam estar totalmente envolvidas no propósito de atingir os objetivos da organização. Envolvimento de pessoas: Pessoas de todos os níveis são a essência de uma organização e seu total envolvimento possibilitaque as suas habilidades sejam usadas para o benefício da organização. Princípios de gestão da qualidade Abordagem de processo: Um resultado desejado é alcançado mais eficientemente quando as atividades e os recursos relacionados são gerenciados como um processo. Abordagem sistêmica para a gestão: Identificar, entender e gerenciar os processos inter-relacionados, como um sistema contribui para a eficácia e eficiência da organização no sentido desta atingir os seus objetivos. Melhoria contínua: Convém que a melhoria contínua do desempenho global da organização seja seu objetivo permanente. Abordagem factual para tomada de decisão: Decisões eficazes são baseadas na análise de dados e informações. Benefícios mútuos nas relações com os fornecedores: Uma organização e seus fornecedores são interdependentes e uma relação de benefícios mútuos aumenta a capacidade de ambos em agregar valor. Princípios de gestão da qualidade Para se obter sucesso na implantação da ISO 9000, é necessário implantar o processo de melhoria contínua, com o objetivo de aumentar a probabilidade de fazer crescer a satisfação dos clientes. Qualidade é estar em conformidade com os requisitos dos clientes; é antecipar e satisfazer os desejos do cliente. Princípios de gestão da qualidade Visões da qualidade de software Usuário: facilidade de uso, desempenho, confiabilidade dos resultados, preço do software. Desenvolvedor: taxa de defeitos, facilidade de manutenção e conformidade em relação aos requisitos de usuários. Organização: cumprimento de prazo, boa previsão de custo, boa produtividade. Princípios de gestão da qualidade Padrões de qualidade de software O conhecimento referente aos padrões de qualidade está apoiado nas melhores práticas recomendadas pelas normas internacionais e que venham a favorecer a empresa. Esse conhecimento é adquirido após um grande número de tentativas e erros. Ajudam a empresa a evitar a não repetir erros cometidos no passado. Os padrões favorecem para a implantação do processo de garantia de qualidade. Como esses padrões se apoiam nas melhores práticas, a garantia da qualidade deve estar assegurada. Princípios de gestão da qualidade Alguns padrões de Qualidade de Software CMM – Capability Maturity Model - Desenvolvido pelo SEI (Software Engineering Institute). SPICE (Software Process Improvement and Capability Determination) - Desenvolvido pela “International Organization for Standardization and the International Electrotechnical Commission” (ISO/IEC). ISO 9001:2000 e ISO 1207 Vamos acompanhar, agora, as outras ISOs que também estão envolvidas no processo de qualidade e software. A ISO 9001: 2000 é usada para demonstrar capacidade de atender aos requisitos do cliente e os da própria organização. A organização deve documentar seus processos, comunicar, manter e melhorar continuamente o SGQ. ISO 9001:2000 e ISO 1207 Para tal, a organização deve: • Identificar os processos do SGQ; •Determinar sequência e interação desses processos; •Determinar critérios e métodos para assegurar que a operação e o controle desses processos são eficazes; •Assegurar disponibilidade de recursos e informações; •Monitorar, medir e analisar esses processos; • Impor ações para alcançar os resultados planejados e a melhoria contínua. ISO 1207 O padrão internacional ou modelo de referência ISO/IEC 12207 - Processos do Ciclo de Vida do Software tem como objetivo fornecer uma estrutura única para que o desenvolvedor e todo pessoal envolvido no desenvolvimento de software utilizem uma linguagem comum, que é estabelecida na forma de processos bem definidos. ISO 1207 A ISO/IEC 12207 contém processos, atividades e tarefas a serem aplicados durante a aquisição de um produto ou serviço de software e fornecimento, desenvolvimento, operação e manutenção e distribuição de produtos de software. A ISO/IEC 12207 provê, também, um processo que pode ser empregado na definição, controle e melhoria de processos de ciclo de vida (ISO/IEC, 2008). ISO/IEC 12207: histórico •1a Versão (1995): Tecnologia da Informação – Processos de Ciclo de Vida de Software: descreve processos e suas atividades e tarefas, de modo a facilitar o desenvolvimento de software em situações envolvendo duas partes. •Paralelamente, a Indústria de Software constata que, igualmente importante, é a necessidade de avaliar a capacidade de processo (ISO/IEC 15504), o que requer a declaração do propósito do processo e descrição de resultados esperados. ISO/IEC 12207: histórico Emendas 1 (2002) e 2 (2004): introdução de novos processos e definição de propósitos e resultados esperados para cada processo. •Apesar da ISO 12207 tratar processos de ciclo de vida de software dentro de um contexto de sistemas, era necessário um padrão no domínio de sistemas: ISO/IEC 15288 (2002). •O desenvolvimento confuso das emendas e a falta de harmonia com a 15288 dificultavam a aplicação da ISO 12207. •Começa, então, um projeto de harmonização que culmina com a 2a edição da ISO 12207(2008): Engenharia de Software e de Sistemas – Processos de Ciclo de Vida de Software. •A norma ISO/IEC 12207 reconhece que nem todos os projetos e organizações precisam usar todos os processos providos. Assim, a implantação do padrão tipicamente envolve a seleção de processos apropriados para o projeto da organização (ISO/IEC, 2008). ISO/IEC 12207: histórico Medição de software e melhorias em processos Atualmente, há uma série de abordagens para medição de software, inclusive alguns padrões internacionais. Existe uma comunidade que divulga a combinação entre medição de software e melhorias em processos. ISO/IEC 12207: histórico Medição de software e melhorias em processos Essa comunidade colaborou no desenvolvimento do processo de Medição e Análise do Capability Maturity Model Integration (CMMI) e no desenvolvimento do padrão ISO relacionado à medição de software e à avaliação de processos. O processo de Medição e Análise foi um importante adendo ao CMMI. Seu escopo é bem mais abrangente e explícito que o tratamento dispensado à questão de medição no Capability Maturity Model for Software (SW-CMM). ISO/IEC 12207: histórico Exercícios de fixação Questão 1 Embora a ISO seja conhecida como International Organization for Standardization, “ISO” não é uma sigla. A palavra provém do grego “isos” e significa igual. a) Verdadeiro b) Falso Questão 2 O software deve ser medido para: (Assinale a INCORRETA) c) Aperfeiçoar o modelo de gerenciamento de projetos. d) Melhorar o relacionamento com clientes. e) Capacitar os desenvolvedores nas novas linguagens de programação. f) Elaborar cronogramas mais realistas. g) Gerenciar contratos de software. Exercícios de fixação Questão 3 A Norma que trata de Sistemas de Gerência da Qualidade é: a) ISO 9000 b) ISO 12207 c) ISO 15504 d) ISO 7810 e) ISO 7775 Exercícios de fixação Questão 4 Os fatores críticos para implantação de programas de medição de software são: (Assinale a INCORRETA) a) Sobrecarga que pode causar desperdícios e perda da credibilidade do programa de medição. b) Uso incorreto da medição: os profissionais tendem a mascarar os dados com medo de que estes sejam utilizados contra eles. c) Falhas de medição: obtenção de medidaserradas, ambíguas e inconsistentes, resultando em análises não conclusivas. d) Falha no controle do absenteísmo: gera custos para a organização. e) Falhas de processo. Questão 5 Medição na ISO/IEC 15504, também conhecida como SPICE, é a norma ISO/IEC que define o processo de desenvolvimento de software. Ela é uma evolução da ISO/IEC 12207 e possui níveis de capacidade para cada processo, assim como o CMMI. a) Verdadeiro b) Falso Questão 6 Em conformidade com os requisitos dos clientes, é antecipar e satisfazer os desejos do cliente. c) Qualidade d) ISO e) SPICE f) Governança g) Organização Exercícios de fixação Questão 7 AISO 9001: 2000 é usada para: a) Gerenciar contratos de software. b) Ajudar no desenvolvimento do software. c) Avaliar o retorno de investimento (ROI). d) Demonstrar capacidade de atender aos requisitos do cliente e os da própria organização. e) Medir o fracasso no seu resultado do software. Questão 8 Estabelecem as metas e o rumo da organização, mantendo o ambiente com foco nos resultados. f) Clientes g) Desenvolvedores h) Líderes i) Usuários j) Fornecedores Exercícios de fixação Questão 9 Identificar, entender e gerenciar os processos inter-relacionados como um sistema contribui para a eficácia dos processos da organização no sentido desta atingir os seus objetivos. Isso se refere à abordagem: a) do processo de tomada de decisão. b) processo de liderança. c) processo de qualidade. d) processo de melhoria contínua. e) sistêmica para a gestão. Exercícios de fixação Questão 10 Para se obter sucesso na implantação da ISO 9000, é necessário implantar o processo: a) de tomada de decisão. b) de gestão da qualidade. c) de gestão da capacidade de TI. d) de melhoria contínua. e) de gestão de disponibilidade. Exercícios de fixação Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 39 Slide 40 Slide 41 Slide 42
Compartilhar