Vous êtes sur la page 1sur 44

Aprimoramento de Processo

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 1


Objetivos
 Explicar os princípios do processo de
aprimoramento de software
 Explicar como os fatores de processo de software
influenciam a qualidade e a produtividade do
software
 Explicar como desenvolver modelos simples de
processos de software
 Explicar as noções de capacidade e de maturidade
de processo e o modelo CMMI para o
aprimoramento de processo

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 2


Tópicos abordados
 Qualidade de processo e de produto
 Classificação de processos
 Medição de processos
 Modelagem e análise de processos
 Mudança de processos
 O framework CMMI de aprimoramento de
processos

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 3


Aprimoramento de processo
 Compreensão de processos existentes e introdução
de mudanças de processo para melhorar a
qualidade do produto, reduzir custos ou acelerar
prazos.
 A maioria dos trabalhos de aprimoramento de
processo até o momento tem enfocado a redução
de defeitos. Isso reflete o aumento do cuidado
dispensado pela indústria para a qualidade.
 Contudo, outros atributos de processo podem
também ser o foco do aprimoramento.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 4


Atributos de processo

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 5


O ciclo de aprimorameno do
processo

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 6


Estágios do aprimoramento do
processo
 Medição de processo
• Os atributos do processo atual são medidos. Esses
atributos são uma baseline para a avaliação de
aprimoramentos.
 Análise de processo
• O processo atual é avaliado e gargalos e pontos
fracos são identificados.
 Mudança de processo
• As mudanças para o processo que foram identificadas
durante a análise são introduzidas.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 7


Qualidade de processo e de produto
 Qualidade de processo e de produto são bem
relacionadas, e os benefícios do aprimoramento do
processo surgem porque a qualidade do produto
depende do seu processo de desenvolvimento.
 Geralmente, um bom processo é necessário para
produzir um bom produto.
 Para bens manufaturados, o processo é o principal
determinante de qualidade.
 Para atividades baseadas em projeto, outros fatores
também estão envolvidos, especialmente a
capacidade dos projetistas.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 8


Fatores principais de qualidade de
produto

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 9


Fatores de qualidade
 Para projetos de grande porte com habilidades
‘médias’, o processo de desenvolvimento determina
a qualidade do produto.
 Para projetos de pequeno porte, as habilidades dos
desenvolvedores são o determinante principal.
 A tecnologia de desenvolvimento é particularmente
significante para projetos pequenos.
 Em todos os casos, se um cronograma irreal for
imposto, a qualidade do produto sofrerá.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 10


Classificação de processos
 Informais
• Modelos de processo sem detalhes. A equipe de
desenvolvimento escolhe sua própria maneira de trabalho.
 Gerenciados
• Modelo de processo definido que coduz o processo de
desenvolvimento.
 Metódicos
• Processos apoiados por algum método, tal como o RUP. Esses
processos se beneficiam do apoio de ferramentas CASE
automatizadas.
 De aprimoramento
• Processos que têm objetivos, orçamento e procedimentos de
aprimoramento.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 11


Aplicabilidade de processo

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 12


Escolha de processo
 O processo usado deve depender do tipo de produto que está
sendo desenvolvido
• Para sistemas de grande porte, o gerenciamento é, geralmente,
o principal problema e, assim, você necessita de um processo
bem gerenciado;
• Para sistemas de pequeno porte, mais informalidade é possível.
 Não existe um processo uniformemente aplicável que deve ser
padronizado dentro de uma organização:
• Altos custos podem ser incorridos se você forçar um processo
inadequado para uma equipe de desenvolvimento;
• Métodos inadequados podem também aumentar os custos e
levar a uma qualidade reduzida.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 13


Apoio de ferramenta de processo

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 14


Medição de processos
 Sempre que possível, dados quantitativos de
processo devem ser coletados
• Contudo, onde as organizações não têm padrões de
processo claramente definidos, isso é muito difícil, já que
você não sabe o que medir. Um processo deve ser
definido antes que qualquer medição seja possível.
 As medições de processos devem ser usadas para
avaliar os aprimoramentos de processos
• Mas isso não significa que as medições devem ser
dirigidas aos aprimoramentos. O direcionador de
aprimoramento deve ser o objetivo da organização.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 15


Classes de aprimoramento de
processos
 Tempo para que as atividades de processo
sejam concluídas
• Por exemplo, o prazo ou o esforço para concluir
uma atividade ou um processo.
 Recursos necessários para processos ou
atividades
• Por exemplo, esforço total em pessoas-dia.
 Número de ocorrências de um evento
específico
• Por exemplo, número de defeitos descobertos.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 16


Paradigma Objetico-Questão-Métrica
(GQM)
 Objetivos
• O que a organização está tentando obter? O
objetivo do aprimoramento de processo é
satisfazer esses objetivos.
 Questões
• Questões sobre áreas de incerteza
relacionados aos objetivos. Você necessita de
conhecimento do processo para deduzir essas
questões.
 Métricas
• Medições a serem coletadas para responder às
questões.
©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 17
Análise e modelagem de processos
 Análise de processo
• É o estudo dos processos existentes para
compreender os relacionamentos entre as
partes do processo e compará-las a outros
processos.
 Modelagem de processo
• É a documentação de um processo que registra
as tarefas, os papéis e as entidades usadas;
• Os modelos de processo podem ser
apresentados a partir de perspectivas
diferentes.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 18


Análise e modelagem de processos
 Envolve o estudo de um processo existente para
compreender suas atividades.
 Envolve a produção de um modelo abstrato do
processo. Você deve representá-lo normalmente de
forma gráfica. Várias visões diferentes (por exemplo,
atividades, entregas, etc.) podem ser necessárias.
 Está relacionda à análise do modelo para descobrir
problemas de processo. Isso envolve a discussão
de atividades de processo com stakeholders e a
descoberta de problemas e de possíveis mudanças
de processo.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 19


Técnicas de análise de processo
 Modelos e padrões de processo publicados
• É sempre melhor iniciar a análise do processo com um
modelo existente. As pessoas podem, então, estender e
mudar este modelo.
 Questionários e entrevistas
• Devem ser projetados cuidadosamente. Os participantes
podem contar a você o que eles pensam que você deseja
ouvir.
 Análise etnográfica
• Envolve a assimilação do conhecimento de processo
pela observação. Tal análise revela as sutilezas e as
complexidades que não pdem ser descobertas com o uso
de outras técnicas.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 20


Elementos de modelo de processo

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 21


A atividade de teste de módulo

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 22


Atividades no teste de módulo

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 23


Exceções de processos
 Os processos de software são complexos e os
modelos de processo não podem efetivamente
representar como controlar exceções:
• Várias pessoas-chave ficam doentes um pouco antes de
uma revisão crítica;
• Uma abertura de proteção que significa que todas as
comunicações externas estão fora de ação por vários
dias;
• Reestruturação organizacional;
• Solicitação não prevista para redigir propostas para
novos projetos que significa que o esforço deve ser
transferido do projeto para uma nova proposta.
 Sob essas circunstâncias, o modelo é suspenso e
os gerentes usam sua iniciativa para lidar com a
exceção.
©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 24
Mudança de processos
 Envolve a realização de modificações nos
processos existentes.
 Isto pode envolver:
• Introdução de novas práticas, métodos ou processos;
• Mudança na ordem das atividades de processo;
• Introdução ou remoção de entregas;
• Introdução de novos papéis ou responsabilidades.
 A mudança deve ser dirigida por objetivos
mensuráveis.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 25


O processo de mudança de
processos

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 26


Estágios de mudança de processos
 Identificação de aprimoramentos
 Priorização de aprimoramentos
 Introdução de mudanças de processo
 Treinamento de mudanças de processo
 Ajuste de mudanças

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 27


O framework CMMI
 O framework CMMI é o estágio atual de trabalho
sobre avaliação e aprimoramento de processo que
iniciou no Instituto de Engenharia de Software (SEI),
nos EUA, na década de 1980.
 A missão do SEI é promover a transferência de
tecnologia de software particularmente para os
contratantes da defesa dos EUA.
 Teve uma profunda influência no aprimoramento de
processos:
• Modelo de Maturidade de Capacitação introduzido no
início da década de 1990.
• Framework de maturidade revisada (CMMI) introduzido
em 2001.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 28


Avaliação de capacidade de
processo
 Proposto como um meio de avaliar a
extensão na qual os processos de uma
organização seguem melhores práticas.
 Fornece um meio para avaliação pelo qual é
possível identificar áreas de fraqueza para
aprimoramento de processos.
 Deve haver vários modelos de avaliação e
de processos, mas o trabalho do SEI foi o
mais influente.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 29


O modelo de maturidade de
capacitação do SEI
 Inicial
• Essencialmente incontrolado.
 Repetível
• Procedimentos de gerenciamento de produto definidos e
usados.
 Definido
• Procedimentos e estratégias de gerenciamento de processo
definidos e usados.
 Gerenciado
• Estratégias de gerenciamento de qualidade definidas e usadas.
 Otimização
• Estratégias de aprimoramento de processo definidas e usadas.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 30


Problemas com o CMM
 Práticas associadas com níveis do modelo
• As empresas poderiam realizar práticas de níveis
diferentes ao mesmo tempo, mas se todas as práticas de
um nível inferior não fossem realizadas, não seri possível
mover-se acima desse nível.
 Discreto ao invés de contínuo
• Não reconhecia distinções entre os níveis superiores e
inferiores.
 Orientado a práticas
• Está relacionado a como as coisas eram realizadas (as
práticas) ao invés dos objetivos a serem atingidos.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 31


O modelo CMMI
 Um modelo de capacitação integrado que
inclui avaliação de engenharia de software e
de sistemas.
 O model tem duas representações
• Por estágios, onde o modelo é expresso em
termos de níveis de maturidade;
• Contínuo, onde um nível de capacidade é
calculado.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 32


Componentes do modelo CMMI
 Áreas de processo
• 24 áreas de processo que são relevantes para a
capacitação e aprimoramento de processo são
identificadas. Essas áreas são organizadas em 4 grupos.
 Objetivos
• Objetivos são descrições de estados desejáveis da
organização. Cada área de processo tem objetivos
associados.
 Práticas
• Práticas são meios de se atingir um objetivo – contudo,
elas são recomendações, e outras abordagens para se
atingir o objetivo podem ser usadas.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 33


Áreas de processo do CMMI

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 34


Objetivos do CMMI

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 35


Práticas do CMMI

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 36


Avaliação do CMMI
 Examina os processos usados em uma organização
e avalia a maturidade em cada área de processo.
 Baseado em uma escala de 6 pontos:
• Não realizado;
• Realizado;
• Gerenciado;
• Definido;
• Quantitativamente gerenciado;
• Otimização.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 37


Modelo CMMI por estágios
 Comparável com o CMM para Software.
 Cada nível de maturidade tem áreas de processo e
objetivos. Por exemplo, a área de processo
associado ao nível Gerenciado inclui:
• Gerenciamento de requisitos;
• Planejamento de projeto;
• Monitoração e controle de projeto;
• Gerenciamento de acordos com fornecedores;
• Medição e análise;
• Garantia de qualidade de processo e produto;
• Gerenciamento de configuração.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 38


O modelo CMMI por estágios

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 39


Práticas institucionais
 Organizações que operam no nível
Gerenciado devem ter práticas
institucionalizadas que são ajustadas para
padronização.
• Estabelecer e manter uma política para
planejamento e execução do processo de
gerenciamento de projeto;
• Prover recursos adequados para a execução do
processo de gerenciamento de projeto;
• Monitorar e controlar o processo de
planejamento de projeto;
• Revisar as atividades, o status e os resultados
do processo de planejamento de projeto.
©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 40
O modelo CMMI contínuo
 É um modelo de granularidade mais baixa, que
considera uma prática individuai ou um conjunto de
práticas e avalia o seu uso.
 A avaliação da maturidade não é um valor único,
mas um conjunto de valores que mostram a
maturidade das organizações em cada área do
processo.
 O CMMI avalia cada área do processo em níveis de
1 a 5.
 A vantagem de uma abordagem contínua é que as
organizações podem escolher áreas do processo a
ser aprimoradas de acordo com as próprias
necessidades locais.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 41


Um perfil de capacitação de
processo

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 42


Pontos-chave
 O aprimoramento de processos envolve análise,
padronização, medição e mudança de processos.
 Os processos podem ser classificados como
informal, gerenciado, metódico e de aprimoramento.
Essa classificação pode ser usada para identificar o
apoio de ferramentas aos processos.
 O ciclo de aprimoramento de processo envolve
medição, análise e modelagem, e mudança de
processos.
 As medições de processos devem ser usadas para
responder à questões específicas sobre o processo,
baseadas nos objetivos de aprimoramentos
organizacionais.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 43


Pontos-chave
 Os três tipos de métricas de processo usados no
processo de medição são métricas de tempo, métricas
de uso de recursos e métricas de eventos.
 Os modelos de processo incluem descrições de
tarefas, atividades, papéis, exceções, comunicações,
entregas e outros processos.
 O modelo de maturidade de processo CMMI integra
aprimoramento de processos de engenharia de
software e de sistemas.
 O aprimoramento de processo no modelo CMMI é
baseada no alcance de um conjunto de objetivos
relacionados às boas práticas de engenharia de
software.

©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 28 Slide 44

Vous aimerez peut-être aussi