Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

36
Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM

Transcript of Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

Page 1: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

Aula 2

Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM

Page 2: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE 2

Agradecimentos

Ao Prof. Alexandre Vasconcelos por permitir a cópia e utilização das transparências do restante desta aula.

Page 3: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE 3

Objetivos

Introduzir os principais conceitos sobre o modelo de maturidade e capacidade do processo de software - CMM

Situar a Gerência de Projeto de Software no contexto do CMM

Conteúdo– conceitos iniciais– descrição do CMM– projeto de software: planejamento e execução

Page 4: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE

Aplicando TQM (Total Quality Management) ao Software

• O processo de melhoria se aplica em todo o contexto do negócio - o CMM se aplica especificamente ao software.

CMM

TQMProjeto B Projeto CProjeto A

hardware

software

Organização

Projeto X

Page 5: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE

Conceitos Fundamentais

Processo

Capacidade

Performance e

Maturidade do Processo de Software

Page 6: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE

O que é um processo?

processo - uma sequência de passos realizados para um determinado propósito. (IEEE)

processo de software - um conjunto de atividades, métodos, práticas e tecnologias que as pessoas utilizam para desenvolver e manter software e produtos relacionados. (CMM)

Page 7: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE

Um Processo imaturo

• Ad hoc: processo improvisado por profissionais e gerências.

• Não é rigorosamente seguido e o cumprimento não é controlado.

• Altamente dependente dos profissionais atuais.• Baixa visão do progresso e da qualidade.• A funcionalidade e a qualidade do produto podem ficar

comprometidas para que prazos sejam cumpridos.• Arriscado do ponto de vista do uso de novas

tecnologias • Custos de manutenção muito altos.• Qualidade difícil de se prever.

Page 8: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE

Anatomia do Caos

o fogo não está sob controle constantemente reagindo (e não agindo pró-ativamente) -

não há tempo para melhoria os “ bombeiros” se queimam as cinzas podem voltar a se incendiar mais tarde sua única forma de controle - prevenção de incêndio

A maioria das organizações de software estão “apagando incêndios”

Page 9: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE

Um Processo maduro

Coerente com as linhas de ação, o trabalho é efetivamente concluído.

Definido, documentado e melhorando constantemente.

Com o apoio visível da alta administração e outras gerências.

Bem controlado - fidelidade ao processo é objeto de auditoria e de controle.

São utilizadas medições do produto e do processo.

Uso disciplinado da tecnologia.

Page 10: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE

Definição Operacional - CMM

Áreas-chave deProcessos

Nível deMaturidade

CaracterísticasComuns

PraticasChave

Contém

Organizadas em

Contêm

Indica

Capacidade

Objetivos

Implementação

InfraestruturaAtividades

Atinge

Enfatiza

Descreve

Page 11: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE

5 Níveis de Maturidade

Inicial

Repetitível

Definido

Gerenciado

Otimizando

Processodisciplinado

Processostandard econsistente

Processopredizível

Processo emotimização

Processo caótico e ad hoc

Processos estabelecidos porexperiências anteriores

Processos documentados,standard e integrados

Medidasde qualidade

Feedback

Page 12: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE

Evolução do processo

Otimizado

Gerenciado

Definido

Repetível

Melhoria do processo éinstitucionalizada.

Inicial

Produto e processo são con-trolados quantitativamente.

Engenharia de software egerenciamento de processosdefinidos e integrados.

Sistema de gerenciamentode projetos em vigor;desempenho é repetido.

Processo é informal eimprevisível.

Nível Características do processo

1

2

3

45

Page 13: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE 13

Áreas-chave de processo (KPA)Áreas-chave de processo (KPA)

Gerência de Configuração de SoftwareGarantia de Qualidade de SoftwareGerência de Contrato de SoftwareSupervisão e Acompanhamento de Projeto de SoftwarePlanejamento de Projeto de SoftwareGerência de Requisitos

Revisão por Parceiros Coordenação entre gruposEngenharia de Produto de SoftwareGerência de Software IntegradaPrograma de TreinamentoDefinição do Processo da OrganizaçãoFoco no Processo da Organização

Gerência de Qualidade de Software

Gerência Quantitativa de Processos

Gerência de Evolução de ProcessosGerência de Evolução da TecnologiaPrevenção de Defeitos

Nível 1 - INICIALNível 1 - INICIAL

Nível 4 - GERENCIADONível 4 - GERENCIADO

Nível 5 - OTIMIZADONível 5 - OTIMIZADO

Nível 3 - DEFINIDONível 3 - DEFINIDO

Nível 2 - REPETITIVONível 2 - REPETITIVO

Page 14: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE

Áreas-chave de processo do CMM (KPAs)

• Identificam um grupo de atividades correlatas que, quando realizadas coletivamente, alcançam um conjunto de metas consideradas importantes na implementação da competência do processo.

• Definidas para serem alocadas em um único nível de maturidade.

• Identificam as questões que devem ser abordadas para se alcançar um nível de maturidade.

• São definidas 18 KPAs no CMM.

Page 15: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE

Áreas-chave de processo (KPAs) - Estrutura

KPA

Metas

Compromissopara realizar

Medição e análise

Capacidadede realizar

Verificarimplementação

Atividadesrealizadas

Com

mon

fea

ture

s

Page 16: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE

Metas

• Resume as práticas-chave das áreas-chave de processo.

• São consideradas importantes para intensificar o processo de competência para aquele nível de maturidade.

• Podem ser usadas para orientar organizações e equipes de avaliação para realizarem avaliações na implementação das KPAs.• Cada prática-chave mapeia uma ou mais metas.

Page 17: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE

Características comuns

Utilizadas para organizar as práticas-chave em cada KPA

Características comuns são:

• compromisso para realizar• capacidade para realizar• atividades realizadas• medições e análises• verificar a implementação

Page 18: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE

Práticas-chave

• Estabelece as políticas fundamentais, procedimentos e atividades para uma área-chave de processo (KPA).

• Descreve o “que” deve ser feito, embora elas não devam ser interpretadas enquanto “como” definitivo.

• São organizadas por característica comum.

• Existem 316 práticas-chave no CMM .

Page 19: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

CMM

Nível 2 - Repetível

Page 20: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE

Áreas-chave de processo (KPA) - Nível Repetível

Repetível (2)

Gerenciamento da Configuração de Software Garantia da Qualidade de Software Gerenciamento de Subcontrato de Software Acompanhamento de Projeto de Software Planejamento de Projeto de SoftwareGerenciamento de Requisitos

Page 21: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE 21

Nível 2 - PPS

Planejamento do Processo de Software

Page 22: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE 22

Objetivos

Estabelecer planos exequíveis para desenvolver

um determinado software, para gerenciar o

projeto de desenvolvimento de software segundo

estes planos

Definir o plano de realização do trabalho (plano

de desenvolvimento/projeto de software)

Realizar estimativas de software, estabelecendo

compromissos com as partes envolvidas

Page 23: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE 23

PPS - Metas

Documentar as estimativas de software a serem usadas no planejamento e acompanhamento do projeto de software

Planejar e documentar as atividades e compromissos do projeto de desenvolvimento de software

Obter a concordância dos grupos e das pessoas envolvidos quanto aos respectivos compromissos relacionados ao projeto de desenvolvimento

Page 24: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE 24

PPS - Compromissos

Um gerente de projeto de software é responsável pelos compromissos e pelo plano de desenvolvimento de software

Seguir uma política organizacional de PPS

Page 25: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE 25

PPS - Habilitações

Ter uma declaração de trabalhos documentada e aprovada

Ter responsáveis pela elaboração do plano de desenvolvimento de software

Ter recursos e fundos disponíveis para PPS Ter gerentes de software, engenheiros de

software e outros envolvidos treinados em procedimentos de planejamento e estimativa de software

Page 26: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE 26

PPS - Atividades

Participar da proposição do projeto

Iniciar o planejamento do projeto de software

Participar do planejamento do projeto

Revisar os compromissos externos do projeto de

software

Identificar ou definir o ciclo de vida de software

Elaborar o plano de desenvolvimento de software

Documentar o plano de desenvolvimento de software

Identificar os artefatos de software

Page 27: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE 27

PPS - Atividades

Estimar o tamanho dos artefatos de software

Estimar esforço e custo do projeto de software

Estimar recursos computacionais críticos

Estabelecer cronograma de software de projeto

Identificar, avaliar e documentar os riscos de software

Planejar as facilidades e ferramentas de suporte ao

projeto

Registrar, gerenciar e controlar dados de

planejamento

Page 28: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE 28

PPS - Medições & Verificação

Medições e Análise– Determinar o estado das atividades do PPS

Verificação da Implementação– Revisar atividades de PPS (gerência sênior)– Revisar atividades de PPS (gerente de projeto)– Revisar e/ou auditar atividades e artefatos de PPS (Grupo

de GQS)

Page 29: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE 29

Nível 2 - SAPS

Supervisão e Acompanhamento do Projeto de Software

Page 30: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE 30

SAPS - Metas

Acompanhar os resultados e desempenhos reais confrontando-os com o plano de desenvolvimento de software

Tomar ações corretivas e gerenciá-las até sua conclusão, sempre que houver desvio nos resultados e desempenhos reais do plano de desenvolvimento do software

Assegurar que as alterações nos compromissos de software de dêem através de acordo entre grupos e pessoas envolvidas

Page 31: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE 31

SAPS - Compromissos

Designar um gerente de projeto de

desenvolvimento de software

Seguir uma política organizacional de SAPS

Page 32: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE 32

SAPS - Habilitações

Ter um plano de desenvolvimento de software Ter responsabilidades designadas para a execução

das atividades de software Ter recursos e fundos disponíveis para SAPS Ter gerentes de software treinados em gerência de

projeto Ter gerentes de software de primeira linha orientados

em aspectos técnicos do projeto de software

Page 33: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE 33

SAPS - Atividades Utilizar o plano de desenvolvimento de software como

base para SAPS

Revisar o plano de desenvolvimento de software

Revisar compromissos e alterações de compromissos

Comunicar alterações nos compromissos

Acompanhar tamanho dos artefatos de software

Acompanhar esforço e custos de software

Acompanhar a utilização de recursos computacionais

críticos

Page 34: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE 34

SAPS - Atividades

Acompanhar cronograma de software

Acompanhar atividades técnicas de engenharia de

software

Acompanhar riscos de software

Registrar dados de medições e replanejamento

Acompanhar o andamento do projeto

Conduzir revisões formais nos marcos de

acompanhamento de progresso do projeto

Page 35: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE 35

SAPS - Medições & Verificação

Medições e Análise– Determinar o estado das atividades de SAPS

Verificação da Implementação– Revisar atividades de SAPS (gerência sênior)– Revisar atividades de SAPS (gerente de projeto)– Revisar e/ou auditar atividades e artefatos de SAPS (Grupo

de GQS)

Page 36: Aula 2 Gerência de Projeto no Contexto do Modelo de Maturidade e Capacidade de Software - CMM.

© Fabio Silva - DI-UFPE

Conclusões

• A melhoria do processo de software oferece um retorno no investimento que pode ser medido - quando é medido.

• O retorno típico no investimento está entre 5:1 e 8:1.

• Benefícios adicionais não podem ser quantificados facilmente.

• O CMM é uma ferramenta útil para orientação no processo de melhoria.