Escolar Documentos
Profissional Documentos
Cultura Documentos
CENTRO DE INFORMTICA
Autor
Monografia
apresentada
ao
de
Pernambuco,
Grau
Bacharel
como
em
Cincia
da
ASSINATURAS
pelo
Centro
de
Informtica
da
Universidade
Federal
de
minha famlia.
Agradecimentos
Em primeiro lugar, aos meus pais, Francisco Reinaldo e Sineyde Monteiro,
pelo apoio e incentivo que sempre me deram, pois graas a sua dedicao
e esforo que hoje eu posso estar concluindo o curso de graduao em
cincia da computao.
Resumo
O objetivo desse trabalho realizar uma anlise comparativa entre duas
abordagens do programa de melhoria de processo de software, focando,
principalmente, nos procedimentos propostos por cada uma delas. Uma das
abordagens de estudo trata da metodologia do ProImprove [Oliveira 06b], um
fluxo de trabalho adaptado para atender melhoria de processo de software
que possui como base o modelo IDEAL e outros elementos de medio que
transcendem os propsitos desse modelo. A outra abordagem o PRO2PI,
definida em [Salviano 06], que prope uma melhoria de processo de software
dirigida por perfis de capacidade de processo. O foco analisar as duas
iniciativas a fim de identificar semelhanas, diferenas e melhorias entre as
duas diferentes abordagens.
ndice
1
INTRODUO ..................................................................................................... 12
1.1
Contexto....................................................................................... 12
1.2
Motivao ..................................................................................... 13
1.3
Objetivos ...................................................................................... 13
1.4
Metodologia .................................................................................. 14
1.5
Estrutura ....................................................................................... 14
3.4.1
ProImprove .............................................................................. 35
3.4.2
PRO2PI..................................................................................... 42
3.5
4
Consideraes Finais..................................................................... 44
CONCLUSO ...................................................................................................... 50
5.1
5.2
REFERNCIAS ............................................................................................................ 52
GLOSSRIO .............................................................................................................. 57
APNDICE A ............................................................................................................. 59
APNDICE B.............................................................................................................. 68
APNDICE C ............................................................................................................. 70
LISTA DE TABELAS
Tabela B-1: Prticas base para o estabelecimento de Perfil de Capacidade de Processo...................... 69
Tabela C-1: Tabela comparativa entre as atividades do PRO2PI e do ProImprove ............................... 71
10
LISTA DE FIGURAS
Figura 2-1: Passos para implementar processo em uma empresa [Oliveira 05]................................... 20
Figura 3-1: Modelo IDEAL [Mcfeeley 96]............................................................................................ 34
Figura 3-2: Fluxo de Atividades do ProImprove [Oliveira 06a]............................................................ 38
Figura 4-1: Ciclo de vida do modelo IDEAL [Salviano 06] ................................................................... 45
Figura 4-2: Ciclo de vida da abordagem PRO2PI [Salviano 06] ........................................................... 46
Figura 4-3: Modelo de ciclo de vida para o ProImprove ..................................................................... 48
Figura A-1: Diagrama da definio de PRO2PI [Salviano 06]............................................................... 59
Figura A-2: Diagrama da utilizao (e definio) de PRO2PI [Salviano 06] .......................................... 60
Figura A-3: Diagrama da avaliao de processo (e definio e utilizao de PRO2PI) [Salviano 06]...... 62
Figura A-4: Diagrama da definio de modelos mais especficos [Salviano 06]................................... 62
Figura A-5: Diagrama da abordagem PRO2PI para modelos e melhoria de processo [Salviano 06] ...... 65
Figura A-6: Diagrama, anlogo ao de PRO2PI, do desenvolvimento de software [Salviano 06] ............ 65
11
1 INTRODUO
Neste captulo sero abordados o contexto de atuao do trabalho, a
motivao para o seu desenvolvimento, os objetivos que caracterizam o
trabalho realizado, a metodologia usada como linha de execuo do mesmo
e tambm sua estrutura.
1.1 CONTEXTO
Atualmente, as organizaes necessitam de uma melhoria contnua do
seu processo, e essa melhoria tem se mostrado na prtica ser uma
abordagem vivel, eficaz e eficiente para a necessria melhoria das
organizaes
intensivas
em
software
[Salviano
06],
visto
que
12
ProImprove
parte
integrante
do
ImPProS
(Ambiente
de
1.2 MOTIVAO
Ver como as abordagens realizam os conceitos tericos de melhoria
contnua para promover o aperfeioamento das prticas organizacionais a
partir de procedimentos direcionados anlise do contexto organizacional.
Para que isso seja possvel, faz-se necessrio uma anlise de como o
1.3 OBJETIVOS
O objetivo deste trabalho analisar cada uma das fases que promovem
o aperfeioamento das prticas organizacionais sugeridas nas abordagens
antes citadas, bem como suas atividades e princpios, fazer um paralelo
13
entre elas e, a partir disso, saber o que cada abordagem tem a oferecer no
contexto de melhoria contnua de processo de software.
Para alcanar o objetivo principal, o trabalho foi subdividido nos
seguintes objetivos:
1.4 METODOLOGIA
Como metodologia de pesquisa a ser usada para reunir informaes
ser a pesquisa Bibliogrfica, a fim de conhecer o funcionamento e os
conceitos
inseridos
na
metodologia
do
ProImprove,
principalmente,
1.5 ESTRUTURA
Alm deste capitulo introdutrio, o trabalho est organizado da
seguinte forma:
14
15
16
como base para a mesma ou para outra atividade com o intuito de gerar
novos produtos.
O modelo de processo de software a descrio abstrata do processo
de software. As informaes de quem, quando, onde e por que os passos
so realizados, devem tambm ser integrado ao modelo de processo de
software [Reis 03].
Um modelo de processo pronto para a execuo um modelo de
processo instanciado ou processo executvel. Portanto, segundo [Pressman
02], um projeto a instncia de um processo, com objetivos e restries
especficos.
PROCESSO
A definio de Ambiente de Desenvolvimento de Software (ADS)
17
18
gerenciamento
com
relao
mudanas.
Pode-se
obter
uma
19
Figura 2-1: Passos para implementar processo em uma empresa [Oliveira 05]
utilizados,
artefatos
consumidos
gerados,
procedimentos
20
aplicaes
esbarra
na
diversidade
de
polticas
procedimentos
processos de
software que
serviram de base
para o
21
aperfeioar
o desenvolvimento de
softwares
provocaram
de
qualidade,
era
preciso
melhorar
cada
etapa
do
ciclo
de
23
oportunidades
para
melhorar
qualidade
do
produto
desenvolvimento do processo.
Contudo, no fcil definir, coletar e analisar um conjunto de
mtricas. A realizao destas atividades requer cuidados especiais, pois
podem
gerar
um
aumento
dos
problemas
enfrentados
durante
24
que
h diferenas
na estratgia de
aquisio,
tamanho e
26
Realizao
de
estudos
empricos
envolvendo
medio
de
processos de software.
Procurou-se, ainda, separar as atividades de medio, anlise e
melhoria de processo das atividades de desenvolvimento de software.
Percebeu-se que uma empresa de desenvolvimento de produtos de software
tem que manter o foco no seu objetivo, respeitando os prazos e os custos
para tal. A anlise do processo deve ser realizada por uma equipe de fora da
organizao desenvolvedora. Esta fornecer os dados necessrios para se
obter o feedback dos seus projetos com relao aos processos, incluindo as
diretrizes de melhoras dos mesmos [Basili 94].
27
30
As
informaes
oriundas
dessa
atividade
formam
um
dever
haver
alguma
inferncia
no
sistema
com
base
no
31
da
infra-estrutura
inicial
para
suporte
da
32
uma
detalhado.
As
prioridades
de
quais
prticas
melhor
soluo
que
atenda
as
necessidades
projeto
piloto,
modificar
soluo
para
refletir
33
IDEAL
conseguiram
revista
atingir
os
para
determinar
objetivos
se
pretendidos,
os
e
esforos
como
de
alteraes
para
melhoria
futura
devem
ser
34
3.4.1 PROIMPROVE
O ProImprove faz parte de um ambiente cooperativo formado por nove
ferramentas principais. Sua funo possibilitar a execuo sistemtica das
atividades de melhoria contnua de processo de software. O ImPProS,
ambiente em que o ProImprove est inserido um projeto de iniciativa do
Centro de Informtica da UFPE Universidade Federal de Pernambuco com a
parceria da UNAMA Universidade da Amaznia, financiado pelo CNPq
Conselho Nacional de Desenvolvimento Cientfico e Tecnolgico, que visa a
criao de um ambiente de apoio implementao de um processo de
software em uma organizao de forma progressiva. O termo progressiva
decorre do fato de que a implementao do processo aperfeioada com as
experincias aprendidas na sua definio, simulao, execuo e avaliao.
Em um trabalho de graduao [Correia 05], desenvolvido por Rafael
Correia, o modelo IDEAL acima citado foi adaptado para ser utilizado no
ambiente de implementao de processo de software. Como parte desse
trabalho foi desenvolvida toda a metodologia do ProImprove, alm de um
prottipo dessa adaptao. Num outro trabalho de graduao [Matos 05],
35
a melhoria,
36
37
38
com o que
essa
empreitada se
que
ela
pretende
alcanar,
projetista
caracterizar
toda
Prticas,
nela
projetista
informar
as
questes
cujas
respostas
ou Prtica
mecanismos
de
tracking,
planejamento
de
estratgias
gerenciamento de riscos.
40
Prtica, onde se deve fornecer um valor vlido para cada uma das questes
de validao da prtica, valores que serviro como resposta correta para o
parmetro de avaliao. E tambm, observar as informaes em Sugerir
3.4.2PRO2PI
A abordagem PRO2PI definida na Tese de Doutorado de Clnio
Figueiredo Salviano pela Faculdade de Engenharia Eltrica e de Computao
da Universidade Estadual de Campinas prope uma engenharia de processo
dirigida por perfis de capacidade de processo. A seguir, descreveremos como
so estruturadas suas fases e atividades. Uma viso geral da utilizao da
abordagem PRO2PI pode ser vista no Apndice A.
3.4.2.1 Fases e Atividades do PRO2PI
O objetivo principal das atividades de definio e utilizao de PRO2PI
definir e utilizar PRO2PI. O produto de entrada e de sada o perfil de
capacidade de processo. As atividades podem ser consideradas como uma
implementao
das
prticas
base
definidas
para
processo
de
42
de
Melhoria
de
Processo,
definio
das
responsabilidades
43
44
4.1 COMPARATIVO
Atravs do comparativo realizado entre os fluxos de atividades, ver
Apndice C, contemplados pelos dois ciclos de vida de melhoria de processo
de software, o primeiro mostrado na Figura 3-1, que sofreu adaptaes
quando aplicado ao ProImprove e o segundo descrito na seo 3.4.2.1,
descobriu-se quais atividades pertenciam a um determinado ciclo e no
pertenciam ao outro e vice-versa. As Figuras 4-1 e 4-2 abaixo sintetizam
esses dois ciclos.
45
de
pessoas
selecionadas
sobre
processo
de
de
pessoas
selecionadas
sobre
elementos
para
implantao do Plano:
o No h atividade de treinamento, pois o treinamento no ImPProS
realizado antes de entrar no ciclo de melhoria de processo.
Antes de qualquer coisa, h um treinamento para a execuo da
metodologia do ProImprove que permitir aos usurios realizar
as
atividades
de
melhoria
de
processo
que
nela
esto
contempladas.
46
Definir prioridades:
o Atividade prpria do ProImprove onde so informadas quais as
prticas que sero focadas inicialmente na seqncia da
melhoria, ou seja, a melhoria tratada de forma particionada,
garantindo, assim, o seu objetivo de ser contnuo. No PRO2PI
no h essa flexibilidade quanto execuo da melhoria, ou
seja, um nico grupo de processos escolhidos melhorado.
47
4.2 RESULTADOS
Com base na anlise das duas abordagens observa-se a adequao do
modelo de ciclo de vida para o ProImprove como mostra na Figura 4-3, onde
as atividades de definio do Perfil de Capacidade de Processo, definio do
Plano Preliminar da Avaliao das Prticas Correntes, reviso do Plano da
Avaliao das Prticas Correntes e reviso do Perfil de Capacidade de
Processo que em comparao ao PRO2PI estariam no fluxo de atividades do
48
49
5 CONCLUSO
Neste captulo sero apresentadas s consideraes finais desse
trabalho, descrevendo em linhas gerais o sumrio do trabalho, e os possveis
trabalhos de extenso propostos a este.
50
51
REFERNCIAS
[Ahern 01] Ahern D. M., Clouse A., e Turner R., CMMI Distilled: A Practical
Introduction to Integrated Process Improvement, SEI Series in Software
Engineering, Addison- Wesley, 2001.
[Basili 94] Basili, V. R., Kan, S.H. e Shapiro, L.N., Software Quality: An
Overview from the Total Quality Management Perspective, IBM Systems
Journal, 1994.
[Chrissis 03] Chrissis M. B., Konrad M. e Shrum S., CMMI: Guidelines for
Process Integration and Product Improvement, Addison-Wesley Pub Co,
2003.
[CMMI 02] CMMI Product Team, Capability Maturity Model Integration (CMMI)
for Software Engineering Version 1.1, Staged Representation, Carnegie
Mellon, USA, 2002.
52
Cincia da Computao,
Universidade
Federal
de
Pernambuco, 2005.
[Humphrey 89] Humphrey, Watts S., Managing the Software Process, The SEI
Series in Software Engineering. Addison-Wesley, 1989.
[Mcfeeley 96] Mcfeeley, B., IDEALSM: A Users Guide for Software Process
Improvement. Software Engineering Institute Handbook. Carnegie Mellon
University. CMU/SEI-96-HB-001. 1996.
54
[Park 96] Park, R. E. & Goethert, W. B. & Florac, W. A., Goal-driven software
measurement A guidebook, Pittsburgh, PA, CMU/SEI-96-HB-002, Software
Engineering Institute, Carnegie Mellon University, 1996.
[Paulk 93] Paulk, M. C., Chrissis, M. B., Curtis, B. e Weber, C. V., Capability
Maturity Model for Software, Version 1.1. Technical Report CMU/SEI-93-TR024. Software Engineering Institute - Carnegie Mellon University, 1993.
[Paulk 95] Paulk, M. C., Chrissis, M. B., Curtis, B. e Weber, C. V., The
Capability Maturity Model: Guidelines for Improving Software Process,
Addison Wesley, USA, 1995.
[Reis 03] Reis, C. A. L., Uma Abordagem Flexvel para Execuo de Processos
de Software Evolutivos, Orientador Daltro Nunes. Tese de Doutorado. PPGC
UFRGS, 2003.
55
56
GLOSSRIO
Ciclo
de
vida.
Conjunto
das
atividades
que
ocorrem
durante
desenvolvimento de um software.
ISO
(International
Standard
Organization).
Organizao
de
Padres
de
qualidade
do
produto
de
software
se
encontram
57
58
APNDICE A
Uma viso geral da utilizao da abordagem PRO2PI apresentada a
seguir por meio de quatro funes. O diagrama com a funo de definio,
ou atualizao, de PRO2PI apresentado na Figura A-1.
59
exame
representado pela
61
62
Esse modelo mais especfico, diz [Salviano 06], pode conter boas
prticas selecionadas dos modelos de capacidade de processo, modelos de
outros tipos ou de qualquer outra fonte de forma a representar orientaes
relevantes no segmento ou domnio. A funo defineM (define, ou atualiza,
modelo mais especifico de capacidade de processo) da Figura A-5 que
representa esse uso.
Um modelo mais especfico pode ser que qualquer uma das trs
geraes de arquiteturas de modelo de capacidade de processo. Para
[Salviano 06] caso seja um modelo estagiado fixo, ele ser composto por
uma hierarquia de perfis de capacidade de processo, como, por exemplo, a
hierarquia do modelo PMMM (Project Management Maturity Model, Modelo de
Maturidade da Gerncia de Projeto) para o domnio de gerncia de projeto e
do modelo KMMM (Knowledge Management Maturity Model, Modelo de
Maturidade de Gerncia de Conhecimento) para o domnio de gerncia de
conhecimento. Caso seja um modelo contnuo fechado, ele ser composto
por um conjunto de reas de processo, como, por exemplo, as reas de
processo do modelo Automotive SPICE para o segmento de fornecedores de
software para automveis e as do modelo OOSPICE para o domnio de
desenvolvimento de software orientado a componentes.
Esses modelos podem ter sugestes de hierarquia de perfis de
capacidade de processo. Caso seja um modelo contnuo aberto, ele ser
composto de especializaes dos nveis de capacidade de processo.
A Figura A-5 de [Salviano 06] representa um diagrama esquemtico
completo da utilizao da abordagem PRO2PI para desenvolvimento de
modelos mais especficos e para realizao de aes de melhoria dirigida por
63
64
Figura A-5: Diagrama da abordagem PRO2PI para modelos e melhoria de processo [Salviano
06]
65
ou
no
deveria
ser
utilizada,
em
praticamente
nenhum
desenvolvimento de software.
O diagrama da Figura A-6 representa uma forma de desenvolvimento
de software que mais utilizada atualmente, para a qual os conjuntos de
necessidades, restries e requisitos dos diferentes stakeholders so
analisados e representados como um sistema em um nico conjunto de
requisitos para o software [Salviano 06]. Desta forma o software tem tudo
que os requisitos requisitam e somente o que os requisitos requisitam. Nesta
forma de desenvolvimento, a funo defineR (define requisitos) seria
utilizada para definir, ou atualizar, o conjunto de requisitos, a funo usaRS
(usa requisitos de software) seria utilizada para orientar as aes de
implementao do software de forma que isto seja dirigida pelos requisitos e
a funo testaSw (testa software) seria utilizada para buscar problemas no
software e com isto sugerir o quanto o software desenvolvido atende aos
requisitos [Salviano 06].
O desenvolvimento de requisitos para uma linha de produto de
software, de tal forma que esses requisitos sejam um sistema representado
pela funo defineRLPS (define requisitos de linha de produto de
software), sendo que os requisitos foram baseados em diferentes conjuntos
de requisitos, de diferentes stakeholders. Para [Salviano 06] esta forma de
66
67
APNDICE B
A Tabela B-1 abaixo descreve as prticas base para o estabelecimento de Perfil de Capacidade de Processo que
tem como propsito definir, utilizar, manter e melhorar um perfil de capacidade de processo como abstrao do
processo atual ou idealizado para uma unidade organizacional.
68
Prticas Base
Definio
Identificar e analisar os objetivos, estratgia, contexto e/ou qualquer outro aspecto relevante de
negcio
Identificar os objetivos da melhoria, incluindo objetivos mais especficos para o prximo ciclo de
melhoria e objetivos mais gerais para o programa de melhoria, sempre alinhado aos objetivos,
estratgia, contexto e/ou qualquer outro aspecto relevante de negcio identificados.
para perfil
4 Identificar modelos de capacidade
Identificar modelos de capacidade de processo que sejam relevantes para a organizao, e selecionar
e reas de processo
reas de processo desses modelos e, caso necessrio, definir novas reas de processo, que sejam
relevantes para o processo atual e sua melhoria.
Definir, selecionar e/ou adaptar um perfil de capacidade de processo com reas de processo
selecionadas e/ou definidas, de forma que esse perfil esteja alinhado aos objetivos de melhoria.
Utilizar o perfil de capacidade de processo definido para orientar o entendimento dos processos
dos processos
Monitorar o perfil de capacidade de processo definido em relao aos objetivos estratgicos para
identificar possveis desvios no alinhamento entre o perfil e os objetivos estratgicos.
Atualizar o perfil de capacidade de processo definido sempre que o monitoramento identificar desvios
significativos no alinhamento entre o perfil e os objetivos estratgicos, de forma que este alinhamento
seja mantido.
Buscar, por meio de ajustes no perfil e/ou aes de melhoria, a correspondncia entre o perfil de
perfil e processo
APNDICE C
Fases do PRO2PI
Inicia
ciclo
de
melhoria
Atividades do PRO2PI
Atividades do ProImprove
Cadastrar Razo
Definir Contexto
Construir Apoio
Alocar infra-estrutura
Caracterizar estados
prticas
correntes
No se Aplica ao ProImprove
Base do ImPProS (Avaliao)
Base do ImPProS (Avaliao)
No se Aplica ao ProImprove
selecionados
Questes
Analisando e Validando a
Execuo da Sub-melhoria
Analisando Questes de
Validao da Prtica
melhoria
No se Aplica ao ProImprove
Definir Procedimentos
Desenvolver estratgias
70
Planejar aes
Criar soluo
Planejar aes
Alocar Infra-estrutura
Planejar aes
No se Aplica ao
No se Aplica ao
Realiza aes de
Testar soluo
melhoria
Refinar soluo
ProImprove
ProImprove
institucionalizao
da melhoria
Institucionaliza
melhoria
Implantar soluo
Analisar e validar
71