Garantia da Qualidade no CMM Joo Marcos Pedrosa

  • Slides: 64
Download presentation
Garantia da Qualidade no CMM João Marcos Pedrosa de Vasconcelos jmpv@cin. ufpe. br Baseado

Garantia da Qualidade no CMM João Marcos Pedrosa de Vasconcelos jmpv@cin. ufpe. br Baseado na apresentação de Virginia Viana 6/8/2021

2 Agenda • Introdução ao CMM – Visão geral de CMM e Qualidade de

2 Agenda • Introdução ao CMM – Visão geral de CMM e Qualidade de Software – Histórico • Estrutura do CMM – Detalhamento da estrutura do CMM • KPA Software Quality Assurance – Detalhamento da KPA de nível 2 SQA • Discussão 6/8/2021

Introdução ao Capability Maturity Model 6/8/2021

Introdução ao Capability Maturity Model 6/8/2021

4 Organizações de Software Imaturas Maduras • Reacionárias • Resolução de crises • Rotineiramente

4 Organizações de Software Imaturas Maduras • Reacionárias • Resolução de crises • Rotineiramente estoura cronograma e orçamento • Estimativas não realísticas • Pode comprometer a qualidade do produto final • Pró-ativas • Atacar a raiz do problema • Dificilmente estoura cronograma ou orçamento • Estimativas precisas (base histórica) • Qualidade assegurada pelo processo que sempre é seguido 6/8/2021

5 O Capability Maturity Model • Framework • Caminho para aumentar a maturidade do

5 O Capability Maturity Model • Framework • Caminho para aumentar a maturidade do processo de software de uma empresa • Dividido em estágios • Identifica deficiências na organização • Guia a solução das deficiências • Melhoria de processos • State-of-the-practice 6/8/2021

6 Some Facts • Unpublished review of 17 major Department of Defense (Do. D)

6 Some Facts • Unpublished review of 17 major Department of Defense (Do. D) software contracts – The average 28 -month scheduled was missed by 20 months – One 4 year project was not delivered for 7 years – No project was on time • Delay on deployment of B 1 bomber • US$58 billion A 12 aircraft program cancellation 6/8/2021

7 Do. D Task Force • Report of the Defense Science Board Task Force

7 Do. D Task Force • Report of the Defense Science Board Task Force on Military Software – “Software Crisis” – September 1987 • “Few fields have so large a gap between best current practice and average current practice” • “today’s major problems with military software development are not technical problems, but management problems” 6/8/2021

8 Capability Maturity Model: Histórico • 1930 s – Walter Shewart • Princípios do

8 Capability Maturity Model: Histórico • 1930 s – Walter Shewart • Princípios do controle da qualidade estatístico • 1979 – Philip Crosby • Quality is Free • Conceito de framework de maturidade 6/8/2021

9 Capability Maturity Model: Histórico • 1985 – Ron Radice • Aplica o conceito

9 Capability Maturity Model: Histórico • 1985 – Ron Radice • Aplica o conceito de framework de maturidade na IBM • 1986 – Watts Humphrey • Leva para o SEI a experiência da IBM – W. Edwards Deming e Joseph Juran (em 1988 -89) • Aprimoraram o trabalho de Shewart 6/8/2021

10 Capability Maturity Model: Histórico • 1986 cont. – Solicitação do Governo Federal •

10 Capability Maturity Model: Histórico • 1986 cont. – Solicitação do Governo Federal • Método para avaliar a capacidade dos seus fornecedores de software – SEI e a MITRE Corporation • Iniciaram o desenvolvimento de um framework de maturidade de processo • Objetivo: auxiliar as organizações a melhorar seu processo de software 6/8/2021

11 Capability Maturity Model: Histórico • 1987 – SEI lançou uma descrição do framework

11 Capability Maturity Model: Histórico • 1987 – SEI lançou uma descrição do framework de maturidade do processo de software [Humphrey 87 a] e um questionário de maturidade [Humphrey 87 b] • 1989 – Watts Humphrey • Lançou o livro “Managing the Software Process” • 1991 – Mark Paulk, Charles Weber • CMM 1. 0 6/8/2021

12 Capability Maturity Model: Histórico • 1993 – CMM 1. 1 • 1996 –

12 Capability Maturity Model: Histórico • 1993 – CMM 1. 1 • 1996 – “The Strategy for Capability Maturity Model® (SW-CMM®) for Software V 2 Revision and Release” – http: //www. sei. cmu. edu/cmm-v 2/strategy. html • 2001 – CMM-I 1. 1 – SEI para de atualizar o SW-CMM 6/8/2021

13 Capability Maturity Model: Histórico • 2002 – ISRI tenta assumir o desenvolvimento do

13 Capability Maturity Model: Histórico • 2002 – ISRI tenta assumir o desenvolvimento do SW-CMM v 2 – http: //sw-cmm. isri. cmu. edu/index. jsp • 2003 – Intenção de cessar o suporte ao SW-CMM no fim do ano – http: //www. sei. cmu. edu/cmmi/adoption/sunset. html – http: //www. sei. cmu. edu/cmmi/adoption/migration. html 6/8/2021

14 CMM x TQM Organização Projeto A Projeto B Projeto X Projeto C TQM

14 CMM x TQM Organização Projeto A Projeto B Projeto X Projeto C TQM Sistema HW CMM Software 6/8/2021

15 Usuários do CMM • Times de assessment – Identificar forças e fraquezas na

15 Usuários do CMM • Times de assessment – Identificar forças e fraquezas na organização • Times de avaliadores – Selecionar/monitorar sub-contratados • Desenvolvedores de métodos de avaliação – buscando desenvolver novos métodos de avaliação (appraisal) baseados no CMM • Gerência de alto nível – Compreender necessidades de um programa de melhoria de processos • Pessoal técnico e equipes de processos (SEPG) – Guia para definir/melhorar o processo da organização 6/8/2021

16 Usando o CMM The danger of misuse will always be present, however, since

16 Usando o CMM The danger of misuse will always be present, however, since some people will want rules and explicit guidelines. The best we can do is to caution readers to use judgement and to recognize that this book is a compilation of the best current thinking in the field. The CMM is comprehensive and thorough, but it is not engraved in stone. Examine the CMM with an open mind, but don’t be constrained by it. Use what fits your needs, but pay most attention to the goals. Treat the detailed practices as examples, and use what applies. If you come up with better ideas, use them. Write those ideas and publish them so we all can take advantage on them. Watts S. Humphrey 6/8/2021

Como o CMM está estruturado? 6/8/2021

Como o CMM está estruturado? 6/8/2021

18 Estrutura do CMM Maturity levels Indicate Process capability Contains Key process areas Organized

18 Estrutura do CMM Maturity levels Indicate Process capability Contains Key process areas Organized by Achieve Goals Common features Address Implementation or institutionalization Contains Key practices Describe 6/8/2021 Activities or infrastructure

19 Estrutura do CMM: Maturity Levels Maturity levels Indicate Process capability Contains Key process

19 Estrutura do CMM: Maturity Levels Maturity levels Indicate Process capability Contains Key process areas Organized by Achieve Goals Common features Address Implementation or institutionalization Contains Key practices Describe 6/8/2021 Activities or infrastructure

20 Estrutura do CMM: Maturity Levels “A maturity level is a well-defined evolutionary plateau

20 Estrutura do CMM: Maturity Levels “A maturity level is a well-defined evolutionary plateau toward achieving a mature software process” The Capability Maturity Model - Guidelines to improving the software process • Indicam a capacidade do processo de software 6/8/2021

21 Estrutura do CMM: Os 5 Maturity Levels 5. Em otimização Processo de melhoria

21 Estrutura do CMM: Os 5 Maturity Levels 5. Em otimização Processo de melhoria contínua 4. Gerenciado Processo previsível 3. Definido Processo padronizado e consistente 2. Repetitivo Processo disciplinado 1. Inicial Processo Caótico 6/8/2021

22 Estrutura do CMM: Visibilidade nos Maturity Levels 6/8/2021

22 Estrutura do CMM: Visibilidade nos Maturity Levels 6/8/2021

23 Estrutura do CMM: Visibilidade no nível 1 • Processo é amorfo - uma

23 Estrutura do CMM: Visibilidade no nível 1 • Processo é amorfo - uma grande caixa preta • Não há visibilidade além da entrada e saída de todo o processo • Normalmente não há possibilidades de interferir no processo 6/8/2021

24 Estrutura do CMM: Visibilidade no nível 2 • Processo toma forma – Seqüência

24 Estrutura do CMM: Visibilidade no nível 2 • Processo toma forma – Seqüência de caixas pretas • Há visibilidade em ocasiões definidas • Gerencia pode atuar sobre as entradas e saídas dos processos de software 6/8/2021

25 Estrutura do CMM: Visibilidade no nível 3 • Caixas brancas • Visibilidade sobre

25 Estrutura do CMM: Visibilidade no nível 3 • Caixas brancas • Visibilidade sobre as tarefas que compõe cada processo • Gerencia age pró-ativamente sobre as entradas e saídas dos processos de software 6/8/2021

26 Estrutura do CMM: Visibilidade no nível 4 • Gerencia age pró-ativamente sobre cada

26 Estrutura do CMM: Visibilidade no nível 4 • Gerencia age pró-ativamente sobre cada tarefa dos processos de software • Tomada de decisões baseadas em fatos 6/8/2021

27 Estrutura do CMM: Visibilidade no nível 5 • Tarefas podem ser substituídas, de

27 Estrutura do CMM: Visibilidade no nível 5 • Tarefas podem ser substituídas, de forma controlada, durante o projeto buscando a melhoria contínua dos processos 6/8/2021

28 Estrutura do CMM: Key Process Areas Maturity levels Indicate Process capability Contains Key

28 Estrutura do CMM: Key Process Areas Maturity levels Indicate Process capability Contains Key process areas Organized by Achieve Goals Common features Address Implementation or institutionalization Contains Key practices Describe 6/8/2021 Activities or infrastructure

29 Estrutura do CMM: Key Process Areas • Indicam as issues que devem ser

29 Estrutura do CMM: Key Process Areas • Indicam as issues que devem ser resolvidas de forma a alcançar um Maturity Level • Grupo de atividades relacionadas – alcançar um conjunto de goals – melhoria da capacidade do processo • Key Process Areas – Apenas as PAs chaves para alcançar um nível de maturidade • Não existem KPAs para o nível 1 6/8/2021

Optimizing Estrutura do CMM: Defect Prevention Technology Change Management Managed Process Change Management The

Optimizing Estrutura do CMM: Defect Prevention Technology Change Management Managed Process Change Management The 18 KPAs Defined Repeatable 30 Quantitative Process Management Software Quality Management Organization Process Focus Organization Process Definition Training Program Integrated Software Management Software Product Engineering Intergroup Coordination Peer Reviews Requirements Management Software Project Planning Software Project Tracking and Oversight Software Subcontract Management Software Quality Assurance Software Configuration Management Initial 6/8/2021

31 Estrutura do CMM: Goals • Resume – Intenção da KPA – Práticas chaves

31 Estrutura do CMM: Goals • Resume – Intenção da KPA – Práticas chaves • Estabelecem o escopo e limite de cada KPA • Usados para determinar se a organização efetivamente implantou a KPA – Avaliação de conformidade – Tailoring de processos 6/8/2021

32 Estrutura do CMM Maturity levels Indicate Process capability Contains Key process areas Organized

32 Estrutura do CMM Maturity levels Indicate Process capability Contains Key process areas Organized by Achieve Goals Common features Address Implementation or institutionalization Contains Key practices Describe 6/8/2021 Activities or infrastructure

33 Key Practices • Descrevem as atividades ou infra-estruturas que precisam estar em uso

33 Key Practices • Descrevem as atividades ou infra-estruturas que precisam estar em uso rotineiro para que os goals de uma determinada KPA sejam alcançados • Espeficicam para cada KPA – Políticas fundamentais – Procedimentos – Atividades 6/8/2021

34 Key Practices • Descreve o que fazer sem estabelecer como fazer • Não

34 Key Practices • Descreve o que fazer sem estabelecer como fazer • Não impõem o uso de tecnologias específicas • Porém, a tecnologia escolhida deve ser capaz de assegurar os requisitos estabelecidos pelo CMM 6/8/2021

35 Estrutura do CMM: Common Features Maturity levels Indicate Process capability Contains Key process

35 Estrutura do CMM: Common Features Maturity levels Indicate Process capability Contains Key process areas Organized by Achieve Goals Common features Address Implementation or institutionalization Contains Key practices Describe 6/8/2021 Activities or infrastructure

36 Estrutura do CMM: Common Features • Organizam as práticas chaves de uma KPA

36 Estrutura do CMM: Common Features • Organizam as práticas chaves de uma KPA • Indica se a implementação e institucionalização da KPA é: – Efetiva – Repetível – Duradoura • Commitment to perform • Ability to perform • Verifying implementation • Activities performed • Measurement and Analysis Servem de base para 6/8/2021

37 Estrutura do CMM: Common Features: Commitment to perform • Ações que a organização

37 Estrutura do CMM: Common Features: Commitment to perform • Ações que a organização deve tomar para assegurar que o processo estará estabelecido e irá perdurar • Normalmente envolvem estabelecimento de políticas organizacionais e/ou liderança • Exemplos de Key Practices – The project follows a written organizational policy for managing the system requirements allocated to software – Requirements Management – A subcontractor manager is designated to be responsible for establishing and managing the software subcontract – Software Subcontract Management 6/8/2021

38 Estrutura do CMM: Common Features: Ability to perform • Pré-condições que devem existir

38 Estrutura do CMM: Common Features: Ability to perform • Pré-condições que devem existir no projeto ou organização para implementar adequadamente o processo de software • Normalmente envolve recursos, estruturas organizacionais, e treinamento • Exemplos de Key Practices – A group that is responsible for coordinating and implementing SCM for the project (I. e. , the SCM group) exists – Software Configuration Management – A software development plan for the software project is documented and approved – Software Project Tracking and Oversight 6/8/2021

39 Estrutura do CMM: Common Features: Activities performed • Procedimentos necessários para implementar uma

39 Estrutura do CMM: Common Features: Activities performed • Procedimentos necessários para implementar uma KPA • Normalmente envolve estabelecimento de planos e procedimentos, realização dos trabalhos, tracking do trabalho, e ações corretivas conforme necessário • Exemplos de Key Practices – The software engineering group participates on the project proposal team – Software Project Planning – Changes to the allocated requirements are reviewed and incorporated into the software project – Requirements Management 6/8/2021

40 Estrutura do CMM: Common Features: Measurement and Analysis • Medições a serem realizadas

40 Estrutura do CMM: Common Features: Measurement and Analysis • Medições a serem realizadas com relação à KPA e aos resultados das atividades. • Normalmente envolvem exemplos das medições que podem ser feitas • Exemplos de Key Practices – Measurements are made and used to determine the status of the SCM activities – Software Configuration Management – Measurements are made and used to determine the status of the software planning activities – Software Project Planning 6/8/2021

41 Estrutura do CMM: Common Features: Verifying Implementation • Passos para assegurar que as

41 Estrutura do CMM: Common Features: Verifying Implementation • Passos para assegurar que as atividades estão sendo executadas de acordo com o processo estabelecido • Normalmente inclui revisões e auditorias pela gerência e equipe de SQA • Exemplos de Key Practices – The activities for software project planning are reviewed with senior management on a periodic basis – Software Project Planning – The SCM group periodically audits software baselines to verify that they conform to the documentation that defines them – Software Configuration Management 6/8/2021

42 Estrutura do CMM: Putting it all together… 2 Maturity Levels Key Process Areas

42 Estrutura do CMM: Putting it all together… 2 Maturity Levels Key Process Areas (18) RM 3 PP PT SM QA 4 5 CM Goals (52) Common Features Activities Performed Commitment to Perform Key Practices (300) 6/8/2021 Ability to Perform Measurement and Verifying Analysis Implementation

Software Quality Assurance 6/8/2021

Software Quality Assurance 6/8/2021

55 Software Quality Assurance: Introdução à KPA SQA • Prover, à gerencia, visibilidade sobre

55 Software Quality Assurance: Introdução à KPA SQA • Prover, à gerencia, visibilidade sobre o processo sendo usado pelo projeto de software • Envolve rever e auditar os produtos de software e atividades para verificar conformidade com procedimentos e padrões documentados • Apresentar à gerencia de projeto, entre outras, os resultados das revisões e auditorias • Foco nas atividades a serem realizadas pelo time de SQA – Verifying Implementation common feature 6/8/2021

56 Software Quality Assurance: Goals • Goal 1 - Software quality assurance activities are

56 Software Quality Assurance: Goals • Goal 1 - Software quality assurance activities are planned • Goal 2 - Adherence of software products and activities to the applicable standards, procedures, and requirements is verified objectively • Goal 3 - Affected groups and individuals are informed of software quality assurance activities and results • Goal 4 - Noncompliance issues that cannot be resolved within the software project are addressed by senior management 6/8/2021

57 Software Quality Assurance: Commitment to Perform • Commitment 1 - The project follows

57 Software Quality Assurance: Commitment to Perform • Commitment 1 - The project follows a written organizational policy for implementing software quality assurance (SQA). – Atividades de SQA estão presentes em todos projetos de software – Equipe de SQA tem um canal direto e independente para a gerência sênior – Gerência sênior revisa periodicamente atividades e resultados de SQA 6/8/2021

58 Software Quality Assurance: Ability to perform • Ability 1 - A group that

58 Software Quality Assurance: Ability to perform • Ability 1 - A group that is responsible for coordinating and implementing SQA for the project (i. e. , the SQA group) exists. – Equipe • Uma pessoa em meio expediente • Várias pessoas dedicadas – Foco • Atividades do projeto • Atividades de toda organização (SEPG) 6/8/2021

59 Software Quality Assurance: Ability to perform • Ability 2 - Adequate resources and

59 Software Quality Assurance: Ability to perform • Ability 2 - Adequate resources and funding are provided for performing the SQA activities – Um gerente possui responsabilidades sobre atividades de SQA do projeto – Gerente sênior definido para receber e agir sobre não conformidades • Tem conhecimento dos papéis, responsabilidades e autoridades da equipe de SQA – Ferramentas estão disponíveis • • Estação de trabalho Banco de dados Ferramentas de auditorias etc 6/8/2021

60 Software Quality Assurance: Ability to perform • Ability 3 - Members of the

60 Software Quality Assurance: Ability to perform • Ability 3 - Members of the SQA group are trained to perform their SQA activities – – – Perícias e práticas de engenharia de software Tarefas e responsabilidades dos grupos de software Domínio da aplicação do projeto de software Comunicação interpessoal etc 6/8/2021

61 Software Quality Assurance: Ability to perform • Ability 4 - The members of

61 Software Quality Assurance: Ability to perform • Ability 4 - The members of the software project receive orientation on the role, responsibilities, authority, and value of the SQA group 6/8/2021

62 Software Quality Assurance: Activities performed • Activity 1 - A SQA plan is

62 Software Quality Assurance: Activities performed • Activity 1 - A SQA plan is prepared for the software project according to a documented procedure – Desenvolvido em paralelo com os demais planos do projeto logo ao inicio do projeto – É revisado pelos grupos e indivíduos afetados – O SQA plan é “Gerenciado e Controlado” (SCM) 6/8/2021

63 Software Quality Assurance: Activities performed • Activity 2 - The SQA group's activities

63 Software Quality Assurance: Activities performed • Activity 2 - The SQA group's activities are performed in accordance with the SQA plan – Plano deve cobrir, entre outros • • Responsabilidades e autoridade do grupo de SQA Recursos necessários para SQA Auditorias e revisões conduzidas pelo grupo de SQA Procedimentos e padrões a serem usados como base das revisões e auditorias feitas pelo time de SQA • Procedimento para documentação e tracking de não conformidades até seu fechamento • Documentação a ser produzida por SQA • Relatórios de SQA e respectivas freqüências 6/8/2021

64 Software Quality Assurance: Activities performed • Activity 3 - The SQA group participates

64 Software Quality Assurance: Activities performed • Activity 3 - The SQA group participates in the preparation and review of the project's software development plan, standards, and procedures – Prover consultoria e revisar planos, padrões e procedimentos – Verificar se planos, padrões e procedimentos estão sendo usados e que podem servir de base para revisões e auditorias 6/8/2021

65 Software Quality Assurance: Activities performed • Activity 4 - The SQA group reviews

65 Software Quality Assurance: Activities performed • Activity 4 - The SQA group reviews the software engineering activities to verify compliance – Atividades são avaliadas contra planosdo projeto, e padrões e procedimentos adotados pelo projeto – Desvios são identificados, documentados e acompanhados até o fechamento – Correções são verificadas 6/8/2021

66 Software Quality Assurance: Activities performed • Activity 5 - The SQA group audits

66 Software Quality Assurance: Activities performed • Activity 5 - The SQA group audits designated software work products to verify compliance – A entrega de produtos de software é avaliada antes da entrega – Produtos de software são verificados contra padrões, procedimentos e requesitos contratuais – Desvios são identificados, documentados e acompanhados até o fechamento – Correções são verificadas 6/8/2021

67 Software Quality Assurance: Activities performed • Activity 6 - The SQA group periodically

67 Software Quality Assurance: Activities performed • Activity 6 - The SQA group periodically reports the results of its activities to the software engineering group 6/8/2021

68 Software Quality Assurance: Activities performed • Activity 7 - Deviations identified in the

68 Software Quality Assurance: Activities performed • Activity 7 - Deviations identified in the software activities and software work products are documented and handled according to a documented procedure – Desvios devem, quando possível, ser solucionados com líderes técnicos, gerentes de software ou projeto – Desvios que requeiram uma decisão de alto nível deve ser repassado para o gerente responsável pelas não conformidades – Não conformidades apresentadas à gerência sênior é revista periodicamente até que resolvida – Gerenciar e controlar documentação dos desvios 6/8/2021

69 Software Quality Assurance: Activities performed • Activity 8 - The SQA group conducts

69 Software Quality Assurance: Activities performed • Activity 8 - The SQA group conducts periodic reviews of its activities and findings with the customer's SQA personnel, as appropriate. 6/8/2021

70 Software Quality Assurance: Measurement and Analysis • Measurement 1 - Measurements are made

70 Software Quality Assurance: Measurement and Analysis • Measurement 1 - Measurements are made and used to determine the cost and schedule status of the SQA activities – Exemplos de medições incluem • Milestones de atividades de SQA X planejado • Trabalho completo, esforço despendido, e recursos financeiros gastos por SQA X planejado • Numero de auditorias de produtos e revisão de atividades X planejado 6/8/2021

71 Software Quality Assurance: Verifying Implementation • Verification 1 - The SQA activities are

71 Software Quality Assurance: Verifying Implementation • Verification 1 - The SQA activities are reviewed with senior management on a periodic basis – Dar à gerência sênior uma visibilidade dos projetos – Nível de abstração apropriado – Freqüência apropriada, contanto que existam mecanismos para relatar problemas 6/8/2021

72 Software Quality Assurance: Verifying Implementation • Verification 2 - The SQA activities are

72 Software Quality Assurance: Verifying Implementation • Verification 2 - The SQA activities are reviewed with the project manager on both a periodic and event-driven basis – Relatório mais detalhado do status do projeto – Razoavelmente freqüente • Verification 3 - Experts independent of the SQA group periodically review the activities and software work products of the project's SQA group 6/8/2021

Discussões 6/8/2021

Discussões 6/8/2021

74 Referencias • “The Capability Maturity Model – Guidelines for Improving the Software Process”,

74 Referencias • “The Capability Maturity Model – Guidelines for Improving the Software Process”, Paulk, Mark, et al. • SEI Home Page, last visited 15/10/2003. http: //www. sei. cmu. edu/ • CMM Home Page, last visited 15/10/2003. http: //www. sei. cmu. edu/cmm/ 6/8/2021

75 Para refletir… “All models are wrong; some are useful” George Box 6/8/2021

75 Para refletir… “All models are wrong; some are useful” George Box 6/8/2021