maps: um modelo de adaptação de processos de software ciro carneiro coelho orientador prof....
TRANSCRIPT
MAPS: Um Modelo de Adaptação de Processos de Software
Ciro Carneiro Coelho
OrientadorProf. Hermano Perrelli de Moura
CIn - UFPE Ciro Carneiro Coelho 2
Roteiro
• Introdução– Motivação– Objetivos
• MAPS– Visão Geral– Modelo de Caracterização de Projetos– PConfig– Base de Processos
CIn - UFPE Ciro Carneiro Coelho 3
Roteiro
• Estudo de Caso– Considerações Gerais– Abordagem Utilizada– Adaptação para o Projeto A– Adaptação para o Projeto B– Análise dos Resultados
• Conclusões– Principais Contribuições– Dificuldades Encontradas– Trabalhos Futuros
Introdução
CIn - UFPE Ciro Carneiro Coelho 5
Motivação
• As exigências do mercado de software são cada vez maiores
• As empresas de software são obrigadas a buscar formas de melhorar o desenvolvimento de software
• A demanda por um desenvolvimento mais estruturado levou ao surgimento de inúmeros processos de desenvolvimento de software
Introdução Motivação
CIn - UFPE Ciro Carneiro Coelho 6
Motivação
Um processo de desenvolvimento de software é “um conjunto de atividades, métodos, práticas e transformações que as pessoas
empregam para desenvolver e manter software e produtos associados”
(MCT/SEPIN)
Introdução Motivação
CIn - UFPE Ciro Carneiro Coelho 7
Motivação
• Um número cada vez maior de organizações tem adotado um processo padrão de desenvolvimento de software– Facilita treinamento– Permite melhoria do processo– Melhora a comunicação entre os membros da equipe– Torna o desenvolvimento mais previsível
• Não existe um processo único que se adeqüe a todas as situações
Introdução Motivação
CIn - UFPE Ciro Carneiro Coelho 8
Motivação
• A utilização de um processo inadequado pode causar o fracasso de um projeto
Introdução Motivação
P
I3I2I1
Peso do Processo
Prob
abili
dade
de
Suce
sso
CIn - UFPE Ciro Carneiro Coelho 9
Motivação
• O processo padrão de uma organização deve ser adaptado para cada projeto
• A adaptação de processos não é uma tarefa trivial– Exige esforço e conhecimento– Os resultados da adaptação são incertos
• Um método sistemático de adaptação de processos pode diminuir o esforço de adaptação, e diminuir a incerteza quanto ao processo adaptado
Introdução Motivação
CIn - UFPE Ciro Carneiro Coelho 10
Objetivos
• Estabelecer um modelo de adaptação do processo padrão de uma organização para projetos específicos
• Fornecer mecanismos para diminuir o esforço necessário para realizar a adaptação de processos
• Permitir a melhoria contínua dos processos utilizados pela organização
• Estar em conformidade com o nível 3 do CMM, que define uma estrutura para a utilização e adaptação dos processos da organização
Introdução Objetivos
MAPS
CIn - UFPE Ciro Carneiro Coelho 12
Visão Geral
• Modelo de Adaptação de Processos de Software• É um modelo que auxilia a adaptação de um
processo padrão para projetos específicos e promove o reuso e melhoria de processos de software
• É baseado nas características dos projetos e nos artefatos do processo padrão
• É compatível com o nível 3 do CMM• Atualmente, contempla apenas a disciplina
Planejamento e Gerenciamento
MAPS Visão Geral
gera
melhora
fornece
Processo Padrãomodifica
é entrada para
permite
Planejamento Inicial do Projeto
Comparação de Projetos e Reuso de
Processos
Avaliação Final do Processo
é aplicado a
fornece
gera
Modelo de Caracterização
de Projetos
PConfig
Projeto
Base de Processos
Características do Projeto
ProcessoPreliminar
ProcessoAdaptado
alimentaalimenta
fornece
Avaliação Parcial do Processo
modifica
1. Identificação das Características
2. Comparação de Projetos
3. Reuso de Processos
4. Complementação do Processo
5. Utilização do Processo
6. Avaliação do Processo
7. Alimentação da Base de Processos
melhora
fornece
gera
é entrada para
permite
é aplicado a
fornece
gera
Processo Padrãomodifica
Planejamento Inicial do Projeto
Comparação de Projetos e Reuso de
Processos
Avaliação Final do Processo
Modelo de Caracterização
de Projetos
PConfig
Projeto
Base de Processos
Características do Projeto
ProcessoPreliminar
ProcessoAdaptado
alimentaalimenta
fornece
Avaliação Parcial do Processo
modifica
1. Identificação das Características
2. Comparação de Projetos
3. Reuso de Processos
4. Complementação do Processo
5. Utilização do Processo
6. Avaliação do Processo
7. Alimentação da Base de Processos
gera
permite
fornece
melhora
fornece
Processo Padrãomodifica
Planejamento Inicial do Projeto
Comparação de Projetos e Reuso de
Processos
Avaliação Final do Processo
Modelo de Caracterização
de Projetos
PConfig
Projeto
Base de Processos
Características do Projeto
ProcessoPreliminar
ProcessoAdaptado
alimentaalimenta
fornece
Avaliação Parcial do Processo
modifica
é entrada para
é aplicado a
gera
1. Identificação das Características
2. Comparação de Projetos
3. Reuso de Processos
4. Complementação do Processo
5. Utilização do Processo
6. Avaliação do Processo
7. Alimentação da Base de Processos
gera
permite
fornece
melhora
fornece
Processo Padrãomodifica
Planejamento Inicial do Projeto
Comparação de Projetos e Reuso de
Processos
Avaliação Final do Processo
Modelo de Caracterização
de Projetos
PConfig
Projeto
Base de Processos
Características do Projeto
ProcessoPreliminar
ProcessoAdaptado
alimentaalimenta
fornece
Avaliação Parcial do Processo
modifica
1. Identificação das Características
2. Comparação de Projetos
3. Reuso de Processos
4. Complementação do Processo
5. Utilização do Processo
6. Avaliação do Processo
7. Alimentação da Base de Processos
é entrada para
é aplicado a
gera
é aplicado a
gera
permite
fornece
melhora
fornece
Processo Padrãomodifica
Planejamento Inicial do Projeto
Comparação de Projetos e Reuso de
Processos
Avaliação Final do Processo
Modelo de Caracterização
de Projetos
PConfig
Projeto
Base de Processos
Características do Projeto
ProcessoPreliminar
ProcessoAdaptado
alimentaalimenta
fornece
Avaliação Parcial do Processo
modifica
1. Identificação das Características
2. Comparação de Projetos
3. Reuso de Processos
4. Complementação do Processo
5. Utilização do Processo
6. Avaliação do Processo
7. Alimentação da Base de Processos
gera
é entrada para
gera
permite
é aplicado a
fornece
melhora
fornece
Processo Padrãomodifica
Planejamento Inicial do Projeto
Comparação de Projetos e Reuso de
Processos
Avaliação Final do Processo
Modelo de Caracterização
de Projetos
PConfig
Projeto
Base de Processos
Características do Projeto
ProcessoPreliminar
ProcessoAdaptado
alimentaalimenta
fornece
Avaliação Parcial do Processo
modifica
1. Identificação das Características
2. Comparação de Projetos
3. Reuso de Processos
4. Complementação do Processo
5. Utilização do Processo
6. Avaliação do Processo
7. Alimentação da Base de Processos
é entrada para
gera
gera
permite
é aplicado a
fornece
melhora
fornece
Processo Padrãomodifica
Planejamento Inicial do Projeto
Comparação de Projetos e Reuso de
Processos
Avaliação Final do Processo
Modelo de Caracterização
de Projetos
PConfig
Projeto
Base de Processos
Características do Projeto
ProcessoPreliminar
ProcessoAdaptado
alimentaalimenta
fornece
Avaliação Parcial do Processo
modifica
1. Identificação das Características
2. Comparação de Projetos
3. Reuso de Processos
4. Complementação do Processo
5. Utilização do Processo
6. Avaliação do Processo
7. Alimentação da Base de Processos
é entrada para
gera
gera
permite
é aplicado a
fornece
melhora
fornece
Processo Padrãomodifica
Planejamento Inicial do Projeto
Comparação de Projetos e Reuso de
Processos
Avaliação Final do Processo
Modelo de Caracterização
de Projetos
PConfig
Projeto
Base de Processos
Características do Projeto
ProcessoPreliminar
ProcessoAdaptado
alimentaalimenta
fornece
Avaliação Parcial do Processo
modifica
1. Identificação das Características
2. Comparação de Projetos
3. Reuso de Processos
4. Complementação do Processo
5. Utilização do Processo
6. Avaliação do Processo
7. Alimentação da Base de Processos
é entrada para
gera
gera
melhora
fornece
Processo Padrãomodifica
é entrada para
permite
Planejamento Inicial do Projeto
Comparação de Projetos e Reuso de
Processos
Avaliação Final do Processo
é aplicado a
fornece
gera
Modelo de Caracterização
de Projetos
PConfig
Projeto
Base de Processos
Características do Projeto
ProcessoPreliminar
ProcessoAdaptado
alimentaalimenta
fornece
Avaliação Parcial do Processo
modifica
CIn - UFPE Ciro Carneiro Coelho 22
Modelo de Caracterização de Projetos
• Realiza uma comparação de projetos de software, permitindo identificar projetos semelhantes e facilitando, assim, o reuso de processos
• A comparação é feita entre as disciplinas do processo, e não em relação ao processo completo– Menor complexidade no desenvolvimento e utilização
do modelo– Maior facilidade para encontrar projetos semelhantes
MAPS Modelo de Caracterização de Projetos
CIn - UFPE Ciro Carneiro Coelho 23
Características Selecionadas
• Para a disciplina Planejamento e Gerenciamento, a comparação entre projetos é feita a partir das seguintes características:– Tamanho da Equipe– Distribuição Geográfica da Equipe– Experiência da Equipe no Processo– Criticidade do Software– Custo do Projeto
MAPS Modelo de Caracterização de Projetos Características Selecionadas
CIn - UFPE Ciro Carneiro Coelho 24
Nível 1 Nível 2 Nível 3 Nível 4 Nível 5
Tamanho da Equipe
Muito pequena (1-6 pessoas)
Pequena(7-20 pessoas)
Média(21-50 pessoas)
Grande(51-100 pessoas)
Muito grande(+100 pessoas)
Distribuição Geográfica da Equipe
Mesma sala Mesmo prédio, salas diferentes
Mesma cidade, mesma empresa, prédios diferentes
Mesma cidade, empresas diferentes
Cidades diferentes
Experiência da Equipe Nenhum projeto 1 projeto 2 a 3 projetos 4 a 5 projetos +5 projetos
Criticidade do Software Perda de conforto
Prejuízos baixos, perdas facilmente
recuperáveis
Prejuízos moderados, perdas
recuperáveis
Prejuízos baixos, perdas
irrecuperáveisRisco de vida
Custo do Projeto Até R$ 50.000,00
Entre R$50.000,00 e R$150.000,00
Entre R$150.000,00 e R$1.000.000,00
Entre R$1.000.000,00 e R$3.000.000,00
Mais de R$3.000.000,00
Caracterização dos Projetos
MAPS Modelo de Caracterização de Projetos Caracterização dos Projetos
CIn - UFPE Ciro Carneiro Coelho 25
O grau de semelhança SD entre dois projetos P e P’, em relação a uma disciplina D, é dado por:
onde: m é o número total de características que impactam D ni e ni’ são os níveis de classificação dessas características em P e P’,
respectivamente | ni - ni’| representa a diferença de níveis para cada característica de P e P’
Comparação de Projetos
m
nnS
m
ii
D
i
1
|'|1
MAPS Modelo de Caracterização de Projetos Comparação de Projetos
CIn - UFPE Ciro Carneiro Coelho 26
Comparação de Projetos
• Caso 1: SD = 1– projetos totalmente semelhantes em relação a D
• Caso 2: 0,5 SD < 1– projetos muito semelhantes em relação a D
• Caso 3: 0 SD < 0,5– projetos pouco semelhantes em relação a D
• Caso 4: SD < 0– projetos não semelhantes em relação a D
MAPS Modelo de Caracterização de Projetos Comparação de Projetos
CIn - UFPE Ciro Carneiro Coelho 27
Estratégia de Reuso de Processos
• Caso 1: reuso direto das partes do processo relativas à disciplina em questão
• Caso 2: reuso das partes do processo relativas à disciplina em questão com adaptações
• Caso 3: a definição do novo processo deve ser feita a partir da comparação entre o processo já utilizado, que está sendo reusado, e o processo padrão da organização
• Caso 4: a definição do novo processo deve ser feita a partir do processo padrão da organização
MAPS Modelo de Caracterização de Projetos Estratégia de Reuso de Processos
gera
melhora
fornece
Processo Padrãomodifica
é entrada para
permite
Planejamento Inicial do Projeto
Comparação de Projetos e Reuso de
Processos
Avaliação Final do Processo
é aplicado a
fornece
gera
Modelo de Caracterização
de Projetos
PConfig
Projeto
Base de Processos
Características do Projeto
ProcessoPreliminar
ProcessoAdaptado
alimentaalimenta
fornece
Avaliação Parcial do Processo
modifica
CIn - UFPE Ciro Carneiro Coelho 29
PConfig
• PConfig é um processo de configuração de processos de software para projetos específicos. Baseia-se na escolha dos artefatos do processo padrão que farão parte do processo adaptado de acordo com as características do projeto
• PConfig é dependente do processo padrão que a organização utiliza. A versão atual do MAPS utiliza o Rational Unified Process (RUP) como processo padrão
MAPS PConfig
CIn - UFPE Ciro Carneiro Coelho 30
Processo PConfig
• Passo 1: Identificar os artefatos do processo padrão que são adaptáveis
• Passo 2: Para cada característica, fazer uma matriz com os níveis de classificação da característica e os artefatos da disciplina impactada, identificando, para cada nível, os artefatos que serão produzidos, não serão produzidos ou serão produzidos com restrições, ou ainda os artefatos que são indiferentes à característica
MAPS PConfig Processo PConfig
CIn - UFPE Ciro Carneiro Coelho 31
Processo PConfigTamanho da Equipe
Artefatos 1-6 pessoas
7-20 pessoas
21-50 pessoas
51-100 pessoas
+100 pessoas
Artefato 1 N N R S S
Artefato 2 S S S S S
Artefato 3 I I I I I
Artefato 4 N N N N S
MAPS PConfig Processo PConfig
CIn - UFPE Ciro Carneiro Coelho 32
Processo PConfig
• Passo 3: Para cada característica, selecionar a coluna da matriz correspondente à característica do projeto
7-20 pessoas
Artefato 1 N
Artefato 2 S
Artefato 3 I
Artefato 4 N
MAPS PConfig Processo PConfig
CIn - UFPE Ciro Carneiro Coelho 33
Processo PConfig
• Passo 4: Para cada disciplina, fazer uma sobreposição das colunas selecionadas de cada característica que impacta a disciplina para decidir que artefatos devem ser produzidos
• Passo 5: Completar a lista de artefatos. Caso algum artefato seja indiferente a todas as características, decidir se ele será ou não produzido
MAPS PConfig Processo PConfig
CIn - UFPE Ciro Carneiro Coelho 34
Processo PConfig
• Passo 6: Realizar adaptação do processo. De posse da lista de artefatos que serão produzidos, identificar as atividades necessárias para a produção desses artefatos e os papéis responsáveis pelas atividades
• Passo 7: Análise do Engenheiro de Processos
MAPS PConfig Processo PConfig
gera
melhora
fornece
Processo Padrãomodifica
é entrada para
permite
Planejamento Inicial do Projeto
Comparação de Projetos e Reuso de
Processos
Avaliação Final do Processo
é aplicado a
fornece
gera
Modelo de Caracterização
de Projetos
PConfig
Projeto
Base de Processos
Características do Projeto
ProcessoPreliminar
ProcessoAdaptado
alimentaalimenta
fornece
Avaliação Parcial do Processo
modifica
CIn - UFPE Ciro Carneiro Coelho 36
Base de Processos
• Armazena o conhecimento adquirido sobre a utilização de processos em projetos passados– Informações sobre os projetos passados e suas
características– O processo de software utilizado em cada projeto
• Artefatos Selecionados• Artefatos Não Selecionados• Artefatos Incluídos• Artefatos Excluídos
– Uma avaliação de cada processo utilizado, artefato por artefato
MAPS Base de Processos
Estudo de Caso
CIn - UFPE Ciro Carneiro Coelho 38
Considerações Gerais
• O RUP foi adaptado, utilizando o MAPS, para dois projetos, Projeto A e Projeto B
• Os projetos não utilizaram realmente os processos gerados pelo MAPS, foi feito apenas um estudo comparativo
• A organização onde o estudo de caso foi realizado utiliza um processo padrão fortemente baseado no RUP
• A adaptação através do MAPS foi avaliada com e sem reuso de processos
Estudo de Caso Considerações Gerais
CIn - UFPE Ciro Carneiro Coelho 39
Abordagem Utilizada
• Passo 1: Escolha dos projetos• Passo 2: Caracterização dos projetos• Passo 3: Adaptação do processo para o Projeto A• Passo 4: Avaliação e compatibilização dos processos do
Projeto A• Passo 5: Adaptação do processo para o Projeto B• Passo 6: Avaliação e compatibilização dos processos do
Projeto B• Passo 7: Análise dos resultados obtidos
Estudo de Caso Abordagem Utilizada
CIn - UFPE Ciro Carneiro Coelho 40
Adaptação para o Projeto A
• Adaptação com base apenas no PConfig• O Processo MAPS e o Processo Real foram
diferentes em relação a 5 artefatos• Em relação à avaliação do gerente do projeto, o
Processo MAPS foi mais adequado em 3 casos e o Processo Real foi mais adequado em 2 casos
Estudo de Caso Adaptação para o Projeto A
CIn - UFPE Ciro Carneiro Coelho 41
Adaptação para o Projeto B
• Adaptação utilizando reuso de processos
Estudo de Caso Adaptação para o Projeto B
Característica Projeto A Projeto B
Tamanho da Equipe Nível 3 Nível 2
Distribuição Geográfica da Equipe Nível 2 Nível 2
Experiência da Equipe Nível 1 Nível 1
Criticidade do Software Nível 3 Nível 3
Tamanho do Projeto Nível 4 Nível 4
8,02,015
|'|1
5
1
i
i
PG
nnS
i
Caso 2: 0,5 SPG < 1
reuso das partes do processo relativas à
disciplina em questão com adaptações
CIn - UFPE Ciro Carneiro Coelho 42
Adaptação para o Projeto B
• A diferença entre o Processo MAPS e o Processo Real resumiu-se a 3 artefatos
• Em relação à avaliação do gerente do projeto, o Processo MAPS foi mais adequado em 2 casos. Para 1 artefato, não foi possível determinar qual dos processos foi o mais adequado
• O reuso de processos trouxe melhoria para 4 artefatos, em relação à adaptação feita sem utilizar reuso
Estudo de Caso Adaptação para o Projeto B
CIn - UFPE Ciro Carneiro Coelho 43
Adaptação para o Projeto B
• O esforço de adaptação utilizando reuso foi mínimo
• Uma lição aprendida no Projeto A diminuiu o esforço necessário para a produção de um artefato no Projeto B
Estudo de Caso Adaptação para o Projeto B
CIn - UFPE Ciro Carneiro Coelho 44
Análise dos Resultados
• O PConfig está relativamente bem ajustado, mas é preciso adaptá-lo às condições específicas da organização desenvolvedora
• O reuso de processos possui um grande potencial, tanto do ponto de vista da diminuição do esforço de adaptação quanto do ponto de vista da melhoria dos processos adaptados
• Existe a necessidade de uma ferramenta que automatize a comparação de projetos e facilite a escolha do processo a ser reusado
Estudo de Caso Análise dos Resultados
Conclusões
CIn - UFPE Ciro Carneiro Coelho 46
Principais Contribuições
• Um modelo (MAPS) para adaptação de processos de software a partir de um processo padrão. O MAPS contempla, ainda, a avaliação, melhoria e reuso dos processos adaptados. O MAPS tem, como objetivo final, o estabelecimento de uma “família” de processos adaptados, todos derivados do processo padrão, em que cada membro da “família” é um processo adaptado, testado e aprovado para uma circunstância específica
• Um Modelo de Caracterização de Projetos que permite comparar projetos de software a partir de suas características
Conclusões Principais Contribuições
CIn - UFPE Ciro Carneiro Coelho 47
Principais Contribuições
• Uma análise das principais características dos projetos de desenvolvimento de software que influenciam o planejamento e o gerenciamento desses projetos
• O relacionamento entre os artefatos da disciplina Planejamento e Gerenciamento do RUP e as características que influenciam a disciplina, identificando, caso a caso, a necessidade de produzir, ou não, cada artefato
Conclusões Principais Contribuições
CIn - UFPE Ciro Carneiro Coelho 48
Trabalhos Relacionados
• Barros– Estratégia para armazenar e reusar o conhecimento sobre
gerenciamento de projetos utilizando cenários– Não trata da adaptação de processos– Não se limita a representar os processos utilizados
• Borges e Falbo– ProKnowHow, ferramenta para apoiar a adaptação de processos, a
coleta e disseminação do conhecimento adquirido e a melhoria do processo padrão
– O reuso está focado em melhores práticas (técnicas, idéias, utilização de ferramentas) e não em disciplinas do processo
Conclusões Trabalhos Relacionados
CIn - UFPE Ciro Carneiro Coelho 49
Trabalhos Relacionados
• Budlong e Szulewski– Método de adaptação baseado em “blocos de construção”– Não existe mecanismo para reuso de processos – Não é feita correspondência entre os “blocos de construção” e as
características dos projetos
• Cameron– Descrição dos artefatos dos processo e das circunstâncias sob as quais
cada artefato deve ser produzido– É feita apenas uma descrição do método de adaptação, sem detalhes sobre
que condições ou características devem ser considerados – Não existe mecanismo para reuso de processos
Conclusões Trabalhos Relacionados
CIn - UFPE Ciro Carneiro Coelho 50
Trabalhos Relacionados
• Henninger– BORE, ferramenta para capturar as mudanças feitas no processo
padrão e as circunstâncias em que essas mudanças foram feitas, utilizando essas informações para auxiliar a adaptação de processos
– Não existe uma definição de que características impactam o processo
– Não é detalhada uma forma de recuperar as informações do BORE para realizar a adaptação em projetos semelhantes
Conclusões Trabalhos Relacionados
CIn - UFPE Ciro Carneiro Coelho 51
Trabalhos Relacionados
• Machado– Ferramenta (DEF-PRO) e modelo para definição e adaptação de
processos de software com base na norma ISO 12207– O ponto de partida para a adaptação é a norma, e não um processo
padrão. São descritos alguns critérios de adaptação, mas, como não existe um processo padrão, não existe uma correspondências entre esses critérios e os artefatos do processo
– Não existe mecanismo para reuso de processos
Conclusões Trabalhos Relacionados
CIn - UFPE Ciro Carneiro Coelho 52
Dificuldades Encontradas
• Complexidade do Processo de Software– O grande número de características que impactam o
processo de software– A complexidade das disciplinas do processo– A falta de conhecimentos específicos sobre cada
disciplina• Estudo de Caso
– Tempo– Disponibilidade de projetos
Conclusões Dificuldades Encontradas
CIn - UFPE Ciro Carneiro Coelho 53
Trabalhos Futuros
• Detalhamento de outras disciplinas do processo• Desenvolvimento do PConfig para outros
processos• Automação da comparação de projetos• Avaliação do MAPS• Integração com outros trabalhos
Conclusões Trabalhos Futuros
MAPS: Um Modelo de Adaptação de Processos de Software
Ciro Carneiro Coelho
OrientadorProf. Hermano Perrelli de Moura