Gerencia de Qualidade de
Software
CMMI https://sites.google.com/site/thiagoaalves/ thiagoaalves@gmail.com thiago.augusto2@anhanguera.comConteúdo Programático
Apresentação da disciplina e metodologia
de trabalho. Apresentação do Plano de Estudo e Aprendizagem. Introdução à Qualidade de Software.
Estudo dos fatores técnicos e humanos
que influenciam a qualidade de um software.
Garantia da Qualidade de Software
(SQA): conceito, importância e apresentação das técnicas.
Conteúdo Programático
Garantia da Qualidade de Software (SQA):
Impactos de um sistema de má qualidade.
CMMI. Introdução, diferenciação entre
qualidade de software e de processo. Estudo dos níveis CMMI. Abordagem das Key
Process Areas (KPA)
CMMI: abordagem dos aspectos práticos de
implantação do modelo. Apresentação de casos de sucesso na implantação, níveis
obtidos pelas principais empresas de TI ou não.
Conteúdo Programático
Norma ISO 15504 (Spice): conceituação,
utilização, metodologia de avaliação.
Normas MPS:BR e ISO 12207.
Modelos de Processo Pessoal e de Equipe
na Melhoria da Qualidade do processo de desenvolvimento de Software
Conteúdo Programático
Métricas de software: conceituação,
motivos para medição de um produto de software. Principais tipos e utilizações.
Métricas de software: apresentação da
métrica de Pontos por Função.
Qualidade de código. Programação:
Fatores de qualidade
Atividades de revisão de conteúdo e/ou
Relembrando
CMM:
Objetivo Principal: 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 evolui sob certas condições;
◦ Organiza os estágios de evolução da melhoria dos processos;
◦ Descreve um Caminho evolucionário que vai de um processo indisciplinado para um processo
Relembrando
Define : “O que devemos fazer” e “Não
como vamos fazer”.
CMM
STAIRWAY TO HEAVEN – Da
SW-CMM : Nível 1
O Processo de Software é Caracterizado
como sendo imprevisível e ocasionalmente caótico;
Poucos (ou nenhum) processos são
definidos e o sucesso depende de esforços individuais e, muitas vezes, heroicos.( A figura do Herói, Múmia do Conhecimento e forte);
O Processo de Software é uma caixa preta,
de forma que somente as entradas e os produtos finais podem ser vistos com clareza.
SW-CMM : Nível 1
Organizações no nível 1 apresentam deficiências de
planejamento e enfrentam dificuldade ao realizarem previsões;
Cronogramas e planos são irrealistas;
Como não há credibilidade no planejamento, mesmo aquilo
que foi planejado não é seguido.
Não há controle de requisitos e o cliente só avalia os mesmo
na entrega do produto;
É comum passar diretamente dos requisitos para
codificação.(quando os requisitos são levantado e trabalhados);
A documentação é encarada como algo inútil;
São comuns reações intransigentes à coleta de dados e ao
SW-CMM : Nível 1
A organização não possuiu um ambiente
estável para o desenvolvimento e manutenção de software;
Cronogramas e orçamentos são
frequentemente abandonados por não serem baseados na realidade;
Em uma crise para cumprir com o
cronograma, etapas planejadas do ciclo de vida não são realizadas prejudicando a
KPA Nível 1
Não Apresenta nenhum.
Reflexão
Todas as empresas são consideradas nível
1 por apresentarem todos os problemas listados. E fácil mudar as culturas
SW-CMM: Nível 2 (Repetível)
Processos básicos da gerência de projetos
são estabelecidos para controlo de custos, prazos e escopo.
É possível repetir sucessos de projetos
anteriores em aplicações similares;
◦ Torna-se comum a adoção das boas praticas.
No lugar do processo ser uma única caixa
preta, ele passa a ser uma sequencia de
caixas pretas(padronizadas) que asseguram a visibilidade em determinados pontos.
SW-CMM: Nível 2 (Repetível)
Neste nível, organização têm maior
probabilidade de cumprir compromissos de requisitos, prazos e custos, mas desde que sejam semelhantes a outros
realizados anteriormente.
A organização é disciplinada, mas não esta
bem preparada para mudanças.
◦ Mudanças podem ter impactos catastróficos pela empresa ainda não ser bem madura.
SW-CMM: Nível 2 (Repetível)
Há preocupação com a gerência do projeto. Os
gerentes acompanham custos, cronogramas e
funcionalidades de cada um dos projetos. Porém, a gerência ainda não é pró-ativa, tomando ações normalmente quando se esta diante de uma crise.
Os projetos podem ter processos diferentes. No
entanto, existe uma política para guiar os projetos no estabelecimento desses processos.
Controla-se a evolução dos requisitos, permitindo
avaliações ao final de cada marco do projeto, e
controla-se também a evolução das configurações do software.
SW-CMM: Nível 2 (KPAs)
As KPAs do nível 2 objetivam questões
relacionadas ao estabelecimento de
controles básicos de gerência do projeto. São elas:
◦ Gerência de Requisitos - Os requisitos do
sistema são controlados de forma a
estabelecer um perfil mínimo a ser utilizado pela engenharia de software e pela
administração. Os planos, produtos e atividades do software são sempre
SW-CMM: Nível 2 (KPAs)
◦ Planejamento do Projeto - Estimativas relativas ao
software são documentadas para uso no
planejamento e acompanhamento do projeto do software.
As atividades de projeto de software e compromissos
assumidos são planejados e documentados.
◦ Acompanhamento do Projeto - Resultados reais
são acompanhados de acordo do com o
planejamento do software. Quando os resultados apresentam um significativo desvio do planejamento do software, são tomadas ações corretivas que são acompanhadas até o final do projeto. Mudanças nos compromissos assumidos são feitas em comum
SW-CMM: Nível 2 (KPAs)
◦ Gerência de Subcontratos - O contratante seleciona
subcontratos qualificados. O contratante e os
subcontratados estão de acordo no que diz respeito aos compromissos assumidos um com o outro. O
contratante e os subcontratados mantém uma
comunicação constante. O contratante acompanha os resultados reais do subcontratado de acordo com os compromissos assumidos.
◦ Garantia da Qualidade - As atividades de garantia de
qualidade de software são planejadas. A conformidade dos produtos de software e atividades com os padrões, procedimentos e requisitos é verificada objetivamente. Os grupos e indivíduos afetados são informados das
atividades de garantia de qualidade de software e de seus resultados.
Questões relacionadas à não conformidade que não são resolvidas dentro do projeto de software são encaminhadas à gerência geral.
SW-CMM: Nível 2 (KPAs)
◦ Gerência de Configuração - As atividades de
gerenciamento de configuração são planejadas. Os produtos de trabalho de software são
identificados, controlados e estão disponíveis.
Mudanças nos produtos de trabalho identificados são controlados. Os grupos e pessoas afetadas são informados da situação atual e projetada dos produtos de trabalho de software.
SW-CMM: Nível 3 (Definido)
Um processo de software, composto por
atividades de gerência e engenharia, é
documentado, padronizado e integrado em um processo de software padrão da
organização;
Todos os projetos utilizam uma versão
aprovada e adaptada do processo
organizacional para o desenvolvimento e manutenção de software;
A organização interna das tarefas está
SW-CMM: Nível 3 (Definido)
Processos utilizados são estabelecidos e
padronizados em toda a organização;
Os processos pertencem a organização e
não aos projetos;
◦ Isso quer dizer que os processos são comuns a todos os projetos e não somente aquele.
Um grupo especifico na organização e
responsável pela organização dos processos dentro dela;
SW-CMM: Nível 3 (Definido)
Apesar da padronização, é possível
adaptar os processos para as
necessidades particulares de um projeto;
◦ O processo em si não e engessado;
Processos de Engenharia de software são
considerados ao lado dos processos gerenciais;
SW-CMM: Nível 3 (Definido)
A organização consegue se manter dentro
do processo mesmo em períodos de crise;
Como o processo é bem definido, caso um
desenvolvedor abandone o projeto antes de seu término, o impacto é relativamente
menor que nos níveis anteriores.
Passagem do nível 2 para o 3:
Padronização realizada é a oportunidade de escolher as melhores praticas existentes na organização.
SW-CMM: Nível 3 (KPAs)
As KPAs do nível 3 objetivam tanto questões
organizacionais como de projeto. São elas:
◦ Foco no Processo da Organização - São coordenadas
atividades de desenvolvimento e melhoramento do
processo de software em toda a organização. Os pontos fortes e fracos do processo de desenvolvimento de
software utilizado são identificados, de acordo com um padrão de processo. São planejadas atividades de
desenvolvimento e melhoramento do processo a nível de organização.
◦ Definição do Processo da Organização - O processo
padrão de desenvolvimento de software da organização é desenvolvido e mantido. A informação relacionada ao uso do processo padrão de desenvolvimento de software é coletada, revisada e disponibilizada.
SW-CMM: Nível 3 (KPAs)
◦ Programa de Treinamento - As atividades de
treinamento são planejadas.
É fornecido treinamento para o desenvolvimento de
habilidades e conhecimentos necessários para realizar o gerenciamento do software e as funções técnicas, tanto para o grupo de engenharia de software quanto para outros relacionados ao desenvolvimento.
◦ Gerenciamento Integrado do Software - O
processo de software definido para o projeto é uma versão adaptada do processo padrão de desenvolvimento de software da organização. O projeto é planejado e gerenciado de acordo com este padrão.
SW-CMM: Nível 3 (KPAs)
◦ Engenharia de Produto de Software - As
atividades de engenharia de software são definidas, integradas e consistentemente realizadas para produzir o software.
◦ Coordenação entre Grupos - Os grupos de
engenharia identificam, acompanham e resolvem todas as questões intergrupos. Todos os grupos de trabalho afetados concordam com os
requisitos do cliente e com os acordos entre os grupos de engenharia.
◦ Revisões - Atividades de revisão conjunta são
planejadas. Defeitos nos produtos de trabalho são identificados e removidos.
SW-CMM: Nível 4 (Gerenciado)
Métricas detalhadas do processo de
software e da qualidade do produto são coletadas;
Tanto o processo como o produto de
software são quantitativamente compreendidos e controlados;
SW-CMM: Nível 4 (Gerenciado)
A organização estabelece metas
quantitativas de qualidade e produtividade para as atividades do processo;
Medidas de qualidade e produtividade são
coletadas em todos os projetos como parte de um processo organizacional de medição e estabelecem uma base
quantitativa para que os gerentes possam avaliar o progresso do desenvolvimento e a ocorrência de problemas;
SW-CMM: Nível 4 (Gerenciado)
Os Projetos melhoram o seu controle
sobre os produtos e processos e a variação das medidas é pequenas;
É estabelecido o controle estatístico de
processos.
Uma organização no nível 4 passa a ter
SW-CMM: Nível 4 (KPAs)
As KPAs do nível 4 objetivam o estabelecimento
de um quantitativo entendimento de ambos, processo e produtos de software, sendo
construídos. São elas:
◦ Gerenciamento quantitativo dos processos - As
atividades de gerenciamento quantitativo dos
processos são planejadas. A performance do processo de desenvolvimento de software definido é
controlada quantitativamente. A capacidade do
processo de desenvolvimento de software padrão da organização é conhecida em termos quantitativos.
SW-CMM: Nível 4 (KPAs)
◦ Gerenciamento da qualidade de
software : As atividades de gerenciamento da
qualidade de software do projeto são planejadas. Objetivos mensuráveis da
qualidade do produto de software e suas prioridades são definidos.
O progresso real em direção à realização dos
objetivos de qualidade para os produtos de software é quantificado e gerenciado.
SW-CMM: Nível 5 (Otimizado)
A melhoria contínua do processo é
estabelecida por meio de sua avaliação quantitativa, e da implantação planejada e controlada de tecnologias e ideias
SW-CMM: Nível 5 (Otimizado)
A organização está engajada na melhoria
continua de seus processos, possuindo meios para identificar fraquezas e
fortalecer o processo de forma pró-ativa, prevenindo defeitos.
O entendimento do processo ultrapassa
os processos praticados, possibilitando compreender os efeitos de alterações potenciais no processo.
SW-CMM: Nível 5 (Otimizado)
Melhorias em processos e tecnologias são
planejadas e executadas como parte das atividades de rotina;
Mudanças mais significativas de processos
ou de tecnologias são feitas a partir de
análises de custos/benefício com base em dados quantitativos cuja coleta iniciou no nível 4.
SW-CMM: Nível 5 (KPAs)
No nível 5, as KPAs defendem que ambos,
organização e projetos devem objetivar a
contínua e mensurável melhoria no processo de software. São elas:
◦ Prevenção de defeitos - As atividades de
prevenção de defeitos são planejadas. As causas comuns de defeitos são procuradas, identificadas e sistematicamente eliminadas.
◦ Gerenciamento de mudanças tecnológicas - A
incorporação de mudanças tecnológicas é planejada. Novas tecnologias são avaliadas para determinar seu efeito na qualidade e na produtividade. Novas
tecnologias adequadas são incorporadas na prática normal de toda a organização.
SW-CMM: Nível 5 (KPAs)
◦ Gerenciamento de mudanças no
processo - O melhoramento contínuo do
processo é planejado. Toda a organização
participa das atividades de melhoramento do processo de software. O padrão de processo de software da organização e os processos de software de cada projeto definido são
Lembrando
Exceto pelo nível 1, cada nível de
maturidade é decomposto em várias KPAs que indicam a área chave onde a
organização deve atuar para melhorar seu processo de software. Uma KPA identifica um conjunto de atividades relacionadas
que, quando coletivamente executadas, alcançam o conjunto de objetivos
considerados importantes para melhorar a capacitação dos processos.
Lembrando
O SEI define indicadores-chave como
"práticas-chave ou componentes das práticas-chave que oferecem um maior
discernimento se as metas e KPAs têm sido atingidos." Questões são elaboradas para a garantia da existência de um indicador-chave.
As "característica comuns" são atributos que
indicam se a implementação e
institucionalização de uma KPA é efetiva, repetitível e duradoura.
Lembrando
Práticas-Chave correspondem à
infra-estrutura e atividades que contribuem para a efetiva implementação e institucionalização de uma KPA. Essas práticas-chave são
políticas, procedimentos, e atividades que devem ocorrer antes de uma KPA estar completamente instituída.
Os KPAs são aditivos. Por exemplo,
nível de maturidade 3 contém todos os KPAs definidos parao nível 2.
CAPCIDADE X PESSOAS
Nível 1 Nível 2 Nível 3 Nível 4 Nível 5
Sucesso Depende de Heróis Individuais Sucesso depende de indivíduos, apoio Grupos de Projeto Trabalham Juntos Forte Senso de trabalho em equipe dentro de cada projeto Forte Senso de Trabalho em equipe na organização “Apagando incêndio” é Modo de viver Comprometim ento são compreendido s e administrados Treinamento é Planejado e de acordo com os Papéis Todos estão envolvidos na melhoria do processo Relação entre Disciplinas são Descoordenad as e até adversas As pessoas recebem Treinamento
CAPCIDADE X Tecnologia
Nível 1 Nível 2 Nível 3 Nível 4 Nível 5
Introdução de Nova tecnologia é um Risco Tecnologia apoia as atividades estáveis e estabelecidas Novas Tecnologias são avaliadas em bases qualitativas Novas tecnologias são avaliadas em bases quantitativas Novas tecnologias são procuradas e desenvolvidas
Exercício – 30 Minutos( Não e para
Entregar)
A RBGH e uma empresa que acabou de
iniciar as atividades no ramo de software. Por ser uma empresa nova ela ainda se encontra no nível 1 do CMM, mas seu
gerente de projetos um homem visionário já deseja alcançar o nível 2. Estabeleça as atividades básicas para que a RBGH
Exercício – 30 Minutos( Não e para
Entregar)
KPAs do Nível 2. (colinha para ajudar) Gerência de Requisitos; Planejamento do Projeto; Acompanhamento do Projeto; Gerência de Subcontratos; Garantia da Qualidade; Gerência de Configuração;
Referencias
http://pt.slideshare.net/RonneyMoreirade Castro/cmm-e-cmmi
http://slideplayer.com.br/slide/395733/ http://slideplayer.com.br/slide/2263468/