Qualidade de Software Aula 6 / 2014/1 Prof. Dr. Luís Fernando Garcia luis@garcia.pro.br .

Post on 18-Apr-2015

125 views 3 download

Transcript of Qualidade de Software Aula 6 / 2014/1 Prof. Dr. Luís Fernando Garcia luis@garcia.pro.br .

Qualidade de SoftwareAula 6 / 2014/1

Prof. Dr. Luís Fernando Garcia

luis@garcia.pro.brwww.garcia.pro.br

Qualidade de SoftwareAula 6 / 2012

Prof. Dr. Luís Fernando Garcia

luis@garcia.pro.brwww.garcia.pro.br

IntroduçãoAs três dimensões críticas

Introdução

ComeçandoMAL …

CMMI Impeditivos

CMMI Desculpas …

CMMI Desculpas …

CMMI PASSOS IMPLANTAÇÃO

CMMI Treinamentos …

CMMI Exemplo de Serviços …

CMMI Exemplo de Serviços …

CMMI Exemplo de Serviços …

CMMI Exemplo de Serviços …

CMMI Exemplo de Serviços …

CMMI Exemplo de Serviços …

CMMI SCAMPI ? …. níveis A e B ?

CMM e CMMI

CMM e CMMI

SEI – Instituto de Engenharia de Software 1986 Estrutura de modelo de maturidade Requisição do governo americano (DoD)

Avaliar a capacidade de fornecedores Melhoria dos processos dos fornecedores

CMM e CMMI

SW-CMM Foco Inicial – Desenvolvimento de Software Não incluia:

Recursos Humanos Finanças

Foco em PROJETOS curto prazo Foco em PEQUENOS PASSOS (níveis)

CMM

CMM - Capability Maturity Model for Software CMMI – “” Integration

Maturidade? O quanto um processo está:

Definido Gerenciado Medido Controlado Efetivo

CMM evolução/histórico

CMM e CMMI

CMM – 1993 (versão 1.1) – vigente … CMMI – versão 1.2 … caminhando para a versão 1.3 www.sei.cmu.edu/cmmi

CMM e CMMI

CMMI – versão 1.2 … caminhando para a versão 1.3 www.sei.cmu.edu/cmmi

CMM - proposta

Baseado na experiência prática das empresas;

Refletir o melhor estado da prática; Ser documentado; Ser público.

CMM - Objetivos

guiar organizações a conhecerem e melhorarem seus processos de software.

Identifica práticas para um processo de software maduro, definindo as características de um processo de software efetivo.

Descreve como as práticas de engenharia de software evoluem sob certas condições.

Organiza os estágios de evolução da melhoria dos processos em cinco níveis de maturidade.

CMM - Níveis

CMM - Níveis

Necessidade de ordenação:

Níveis inferiores servem de base e fundamento para os superiores

Risco de abandono do processo em crises

CMM – Nível 1 - Inicial

CMM – Nível 1 - Inicial

Não há repetibilidade dos processos Em crise há abandono de procedimentos As chances de sucesso baseiam-se em

habilidades pessoais/GURUS/HERÓIS Sucesso, qdo existe, em projetos com experiência

anterior Tentativas isoladas de manutenção de

procedimentos do processo As qualidades pertencem as pessoas, não aos

processos

CMM – Nível 1 - Inicial

Estimativas/cronogramas não realistas Mesmo o planejado não é seguido (falta de

costume) Requisitos codificação (ERRO!) Documentação = burocracia (ERRO!)

Nível 1 – visibilidade

CMM – Nível 1 - Inicial

Para avançar ao nível 2 …

Mudança cultural Resistência a mudanças Reações intransigentes Falta de credibilidade de que dá/dará certo Introdução gradativa de KPAs

CMM – Nível 2 - Repetível

Políticas de gerência de desenvolvimento de software definidas e seguidas

Utilização de experiências anteriores, de maneira formalizada e não-intuitiva

Projetos usam processos definidos, documentados, usados, disseminados, medidos, fiscalizados e com rotinas de melhoria

Gerência de projetos

CMM – Nível 2 - Repetível

Compromissos assumidos com bases realistas (especialmente quando há Know-how) ...

Compromissos assumidos com base em requisitos documentados

Desenvolvimento é acompanhado e revisado (custos, prazos, etc...)

Mecanismos formais de correção de desvios Gerência de requisitos

CMM – Nível 2 - Repetível

A definição de processos é feita por projeto – pode não haver padronização na organização

Disciplina ao executar projetos // mas ainda não está preparada para mudanças maiores

Processos repetíveis com resultados esperados

As qualidades pertencem aos projetos, não às pessoas

Nível 2 – visibilidade

CMM – Nível 3 - Definido

CMM – Nível 3 - Definido

Processos estabelecidos e padronizados na organização – não “somente” repetição de sucessos de projetos anteriores

Estabelecimento de infra-estrutura de processos adaptáveis a mudanças

Aderência a processo mesmo em crise

Processos ainda em nível qualitativo

CMM – Nível 3 - Definido

Foco em documentação (não é mais burocracia!)

Relação “não-conformidades”qualidade Processos de engenharia de software e

gerenciais aplicados Oportunidade de escolha das melhores

práticas Treinamento (técnico e gerencial)

CMM – Nível 3 - Definido

Possibilidade de adaptação dos processos as necessidades dos clientes

Os processos pertencem à organização e não aos projetos

Nível 3 – visibilidade

Analisando níveis 2 e 3

CMM – Nível 4 - Gerenciado

Estabelecimento de metas quantitativas para processos e produtos

Avaliação e análise contínua do desempenho Melhoria no controle de processos e produtos Gestão baseada quantitativamente Proficiente em métricas/análise destas Base de dados de processo Gerenciamento de riscos

Nível 4 - visibilidade

CMM – Nível 5 - Otimizado

Melhoria contínua de processos Identificação de pontos fracos e defeitos Ação preventiva Mudanças de tecnologia com base em

análises de custo/benefício Ações visando reduzir retrabalho e

desperdício Melhoria da produtividade

CMM – Nível 5 - Otimizado

Nível 5 - visibilidade

CMM – em relação a PESSOAS

CMM – em relação a TECNOLOGIA

CMM – em relação a MÉTRICAS

CMM – Componentes

CMM – Componentes

CMM – KPA x processos

KPA (áreas chave de processo) Coleção de práticas que representam o nível de

maturidade Grupo de atividades correlatas que realizam um

conjunto de metas Identificam objetivos a serem cumpridos Cumulativas KPA – estáticos Processos – dinâmicos Processos – evoluem na medida que o nível de

maturidade cresce

CMM – KPAs

Nível 2 - Repetível

Gerenciamento de Requisitos Planejamento do Processo de Software

Acompanhamento e Supervisão do Projeto de Software

Gerenciamento da Subcontratação de Software Controle da Qualidade de Software Gerenciamento de Configuração de Software

CMMI – KPAs

CMMI nível 2 – KPAs

CMMI nível 2 – KPAs

CMM – KPAs

Nível 3 – Definido

Focalização dos Processos da Organização Definição dos Processos da Organização Programa de Treinamento Gerenciamento Integrado de Software Engenharia de Produto de Software Coordenação Inter Grupos Revisões Detalhadas para Prevenção de Defeitos

CMM – KPAs

CMMI – nível 3 - KPAs

CMMI – nível 3 - KPAs

CMM – KPAs

Nível 4 - Gerenciado

Gerenciamento Quantitativo dos Processos Gerenciamento da Qualidade de Software

CMMI – nível 4 - KPAs

CMM – KPAs

Nível 5 - Otimizado

Prevenção de Falhas Gerenciamento das Mudanças nos Processos Gerenciamento das Mudanças Tecnológicas Características Comuns Compromisso para Realizar (políticas e

responsabilidades) Capacidade para Realizar (recursos, estruturas e

treinamento)

CMM – KPAs

Nível 5 - Otimizado

Ações e Atividades Realizadas (planejamento, procedimentos e ações corretivas)

Mensuração e Análise (medidas e avaliações) Verificação da Implantação (revisões e auditorias)

CMMI – nível 5 - KPAs

CMMI

SW-CMM

P-CMM – Recursos humanos SA-CMM – Aquisição de software SE-CMM – Engenharia de sistemas

Estruturas, formatos e termos diferentes Confusão quando integrados/simultâneos

CMMI

CMMI Capability Maturity Model Integration

Guia de melhoria de processos na organização – habilidade em gerenciar: Desenvolvimento Aquisição Manutenção

CMMI

Terminologia:

Área de processo Conjunto de práticas que coletivamente satisfazem

um conjunto de objetivos

Objetivos específicos Identificam características únicas que descrevem o

que deve ser feito para satisfazer

CMMI

Terminologia:

Práticas específicas Atividades para atingir objetivo específico

Objetivos genéricos Um por nível – o que deve-se fazer para atingir um

determinado nível (5)

Práticas genéricas Processos efetivos e repetíveis

CMMI

CMMI

CMMI

CMM – Componentes

CMMI

Disciplinas/corpos de conhecimento

Engenharia de sistemas Multidisciplinar – soluções que envolvem ou não sw Avião? Avião é o “sistema”

Engenharia de software Desenvolvimento e integração

Colaboração de stakeholders para atender requisitos

Fontes de aquisição Fornecedores de sw – outsourcing/terceirização

CMMI

Representações

Estágio/estagiada Idem ao CMM Níveis de maturidade Normalmente preferida…

Contínua Possíveis selecionar a sequência de melhorias que

convem aos objetivos de negócios ISO 15504 CMMI

CMMI

CMMI

CMMI

CMMI estagiada

Níveis sugerem ordem de melhoria

Nível n Áreas de Processo Área n objetivos e práticas

genéricas/especificos Aspectos comuns práticas genéricas

Nível 5

Nível 4

Nível 3e

Nível 2

Nível 1

Área de Processo 1

Área de Processo N

Objetivos Específicos

ObjetivosGenéricos

Objetivos Específicos

…..

Características COMUNSCompromisso com execução – Habilidade para execução

Direção da implementação – Verificação da implementação

CMMI estágio

CMMI contínua

CMMI Contínua

4 Categorias

Gerência de processo Foco no Processo da organização Definição do Processo da organização Treinamento organizacional Desempenho do processo organizacional Inovação e melhoria organizacional

CMMI Contínua

4 Categorias

Gerência de projeto Planejamento de projeto Acompanhamento e controle de projeto Gerência de acordos com fornecedores Gerência integrada de projeto Gerência de risco Gerência quantitativa de projeto

CMMI Contínua

4 Categorias

Engenharia Gerência de requisitos Desenvolvimento de requisitos Solução Técnica Integração de produto Verificação Validação

CMMI Contínua

4 Categorias

Suporte Gerência de configuração Garantia da qualidade de processo e de produto Medição e análise Análise de decisão e resolução Análise causal e resolução

CMMIcont.

CMMI

CMMI

CMMI e Métodos Ágeis

SCAMPI – Artigo

SCAMPI – Entrevista em grupo

SCAMPI – Entrevista GP

SCAMPI – Descoberta preliminares

CMM e pequenas empresas

Pequena empresa? Métrica? Tamanho do projeto?

Custo – prazo – envolvidos – pontos de função ?

Alguns autores não consideram o tamanho … outros consideram

Relatos … Muita pesquisa acadêmica …

CMM e pequenas empresas Ação, a menor a ter CMMI 2 no mundo

A Ação Sistemas acaba de certificar-se CMMI nível 2. Com uma equipe de 10 analistas, a conquista faz da empresa gaúcha a dona do selo com o menor número de funcionários em todo o mundo, segundo o Software Engineering Institute, instituto americano criador do modelo de qualidade de software.

O processo de adoção das práticas do CMMI demandou quase dois anos da empresa, desenvolvedora do software de gestão de RH UniversalRH, hoje usado por 80 organizações no Brasil. “Foram duas mil horas de trabalho interno”, revela Luiz Carlos Leite, diretor de operações da Ação.

O investimento total chega a R$ 1 milhão, entre as horas gastas pelos colaboradores, consultoria das empresas Crest Consulting e Herbert Consulting e a prova de certificação final. “Já tivemos um retorno de 50% durante a implementação”, acredita Leite.

De acordo com o executivo, o principal ganho foi na previsibilidade dos projetos – a margem de atraso hoje é de 5%, para cima ou para baixo -, e na estabilidade dos sistemas, cujo indicador mínimo estabelecido é 95%.

“Os clientes percebem o valor do CMMI. Depois de dizer que temos o selo, não é preciso mais falar sobre processos de desenvolvimento”, explica Leite. A Ação atende a empresas como a Wal-Mart, que tem 100 mil funcionários no país, ou a Marcopolo, que tem plantas em 12 países diferentes.

O empresário gaúcho garante que já tem na programação a conquista do nível 3 do CMMI. “Vamos ir até o final”, garante Leite.

Fonte: Baguete

CMM e pequenas empresas

PSP/TSPMPS.BR

CMM – Panorama Brasil

CMMI – Panorama Brasil

CMMI – Panorama Brasil

CMMI – Panorama Brasil

CMMI – mundo 2010

CMMI – mundo 2012

CMMI –mundo 2012

CMMI –mundo 2012

CMMI –mundo 2012

CMMI – tempo obtenção

CMMI – tamanho

http://sas.sei.cmu.edu/pars/pars.aspx

CONTRAPONTOS ao CMMI