Melhoria da Qualidade do
Processo em Fábricas de
Software Open Source através
do Personal Software Process
Julio Maravitch Maurício Neto
[email protected]
VI Encontro CIn sobre Qualidade, Processos e Gestão de Software
27/03/2007
Agenda
•
•
•
•
•
Modelo Open Source de Desenvolvimento
Fábricas de Software Open Source
Personal Software Process
Utilizando PSP em Fábricas OS
Conclusões e Trabalhos Futuros
Objetivo
• Entender como funciona o ecossistema
OS
• Atender às necessidades do ambiente
– Promover a melhoria da qualidade do
processo de desenvolvimento
– Pode ser melhorado?
– Como?
Free Software Projects
• Nascem como iniciativa isolada e
particular
• Usuários são codesenvolvedores
• Divulgação “boca-a-boca”
• Teste massificado pelos usuários
• Gerência de versões é complexa
e “bem-definida”
Open Source
Projects
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
(Sun apr 16 00:10:21 BRT 2006)  133,421 projects!
Communications (13469)
Database (5388)
Desktop Environment (2822)
Education (3252)
Formats and Protocols (1292)
Games/Entertainment (12694)
Internet (21951)
Multimedia (11518)
Office/Business (6136)
Other/Nonlisted Topic (2065)
Printing (417)
Religion and Philosophy (274)
Scientific/Engineering (9942)
Security (2494)
Sociology (355)
Software Development (18587)
System (17790)
Text Editors (2436)
Open Source
Projects
•
(Tue mar 27 11:57:45 BRT 2007)  184,564 projects!
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Communications (18433)
Database (6942)
Desktop Environment (3760)
Education (4920)
Formats and Protocols (2870)
Games/Entertainment (17237)
Internet (28264)
Multimedia (15505)
Office/Business (9655)
Other/Nonlisted Topic (2560)
Printing (511)
Religion and Philosophy (333)
Scientific/Engineering (14895)
Security (3274)
Sociology (429)
Software Development (28149)
System (22952)
Terminals (688)
Text Editors (3187)
Causas de
Descontinuidade de
Projetos SW Livre
• Falta de interesse, tempo ou motivação
– mudança de liderança nos projetos impactam
sua continuidade
• Code Forking
– cada usuário tem acesso ao código e pode
alterá-lo e redistribuí-lo sem o conhecimento
do líder do projeto
Free Software Engineering
Resume
• “A Field to Explore”
• “is still in its infancy” (2003!)
• “How to create free software? Issues:
– Classification of free software projects
– Creation of a methodology
– Methods + classification + models ++
Simulation (intelligent agents) = Free SW
Engineering”
The OSS model
• Three dimensions:
– structure, process and culture
Division of labour
Co-ordination mechanisms
structure
culture
Eletronic
communication
Multicultural
community
Distribution od decisionmaking
Informal structure
Values: reciprocity, gift
giving, reputation,
ideology
Political structure
Core assumptions
Organizational boundaries
Legitimate basis of authority
process
OSS development
process
•
•
•
•
•
•
•
Problem discovery
Finding volunteers
Solution identification
Code development and testing
Code change review
Code commit and documentation
Release management
building a software factory...
[Making the software factory work... 1990-1999]
http://www.cin.ufpe.br/~in953/papers/MakingTheSoftwareFactoryWorkLessonsFromADecadeOfFactory.pdf
1. to define a detailed software development
process
2. staff members were given extensive training
in the new process
3. process specification separated from
process execution
4. data collection and analysis
1.
2.
3.
4.
5.
interviews
software process assesments
process attributes for each project
configuration management system
project tracking data
o PROCESSO é complexo!
(c) MERX LLC
processo é complexo... Ex.: Ampla
F
á
E
l a
r
b
o
b
r
i
a
d
o
:
O
J
S
-
f
o
S
e
d
a
c
R
e
v
t
i s
ã
o
r
a
t i f i c
n
e
I d
q
s
a
d
n
a
m
e
s
m
a
s
s
o
e
p
s
a
i d
d
n
e
d
s
a
r e
á
n
e
i m
c
e
h
n
e
d
p
e
t
a
o
c
a
l i d
a
V
r
r
i t
o
o
Prospecção
o
o
ã
ç
a
m
r
o
f
0
e
s
t
i s
ã
c
s
s
o
e
/
l a
s
c
r
n
L
í
t
e
D
R
U
C
d
e
r
T
é
i
u
q
E
p
r
e
G
t e
n
d
e
e
e
p
e
G
e
r
r
n
e
t
P
n
e
r
t
o
e
s
s
l
i a
r c
i a
g
l o
o
a
u
Q
e
e
n
c
e
T
e
c
m
o
C
e
d
s
o
a
l i d
d
e
s
o
T
é
d
í
L
2
e
p
i
u
q
E
e
d
í
L
1
e
e
r
T
é
q
E
i
u
n
e
d
p
G
i c
n
c
s
o
s
o
i c
n
c
n
c
i c
s
o
s
o
o
p
o
?
t
j e
o
r
P
e
d
e
t
n
e
r
e
r
e
G
S
f
r
e
r
s
t a
j e
e
c
a
o
r
P
t
i n
r
t
o
f
t
o
e
r
t
a
i p
c
R
D
T
q
e
c
P
R
O
D
R
T
?
K
O
N
R
D
s
e
c
f a
s
o
r
i t
t e
i s
i n
u
r
a
r
G
p
G
s
e
O
l i d
e
a
V
r
a
l
C
e
D
P
i n
s
R
P
T
p
e
c
a
f
r
e
t
i n
r
a
t
j e
o
r
P
S
?
O
R
P
u
q
e
l i e
G
R
G
R
r
o
t
e
i r
D
C
R
E
A
o
ã
ç
i t
i s
u
q
e
n
p
G
s
a
c
G
l
C
N
I
ã
o
t
M
e
s
e
u
r
s
l a
c
G
i t
i s
v
r
a
d
n
e
g
t a
n
e
s
r e
p
a
r a
o
ã
ç
i t a
l i c
e
u
/ o
s
i t o
i s
u
q
r e
A
a
r
e
V
-
i
D
c
G
p
m
e
a
B
A
C
:
o
i
r
o
t
l
d
o
i
c
í
n
a
v
Prospecção
I
u
s
o
r
p
A
-
R
n
o
C
a
M
G
,
L
M
l
p
m
A
P
J
,
B
A
C
:
a
d
e
r
a
w
N
S
R
D
Contrato
Proposta
r
d
e
e
C
r
t
i n
r
a
i s
i t o
i s
c
,
s
M
e
v
e
R
u
q
e
e
c
f a
o
s
u
R
C
U
M
E
M
é
T
r
P
r
i a
a
i c
n
c
P
e
d
r
P
j e
R
D
R
F
s
o
F
P
P
o
ã
ç
t
n
o
P
e
n
d
u
e
l i s
e
d
á
r
e
P
r
i a
C
r
C
F
P
P
m
o
o
r
i
a
t
s
o
i a
p
c
D
p
G
c
G
o
n
p
G
E
R
c
G
a
t
s
l a
t o
o
p
o
e
o
n
C
U
s
o
R
p
G
R
D
R
D
A
,
s
s
a
E
R
E
M
c
G
p
G
C
P
l
C
U
T
P
P
T
1
P
P
R
E
M
1
p
,
C
P
r
R
a
D
t
n
e
e
s
T
e
P
r
p
A
G
c
G
i
D
C
P
R
D
p
Proposta
G
Execução
r
p
a
v
j e
a
t
d
õ
e
o
o
?
s
?
g
e
R
s
u
s
N
n
e
r
p
p
o
i s
s
j e
r
t r a
o
ã
t o
o
d
C
S
F
P
P
,
F
P
i s
P
C
P
,
T
P
,
R
D
e
r
a
P
C
P
T
O
R
i s
v
e
R
S
.
T
O
R
R
D
T
P
F
P
P
v
e
R
T
O
R
o
r
o
P
T
P
P
P
P
C
o
C
r
m
a
t
s
o
l
c
o
c
i a
r
e
c
i s
r
r
l i a
a
v
p
s
P
P
P
P
c
G
p
p
i a
r o
r c
P
e
A
P
P
C
G
a
i s
v
e
R
L
p
G
P
i
D
o
g
e
n
e
R
S
?
Execução
N
a
e
R
e
c
t r e
e
n
P
P
s
s
i n
r
n
r
a
l i a
m
u
h
f t w
o
s
r d
a
h
a
v
a
e
R
a
w
e
s
v
n
e
i e
b
m
a
e
l v
r
d
o
a
r
a
p
n
t
t
n
e
i m
L
p
t
l a
e
n
i t
s
e
T
i o
i s
P
r
a
r
A
e
T
L
P
C
R
E
P
r
E
s
t
j e
o
Execução
u
n
p
r
t
a
DR
DR
R
E
M
d
q
s
u
e
r
r
a
a
r
a
o
n
ã
s
a
ç
t a
m
l e
b
o
n
e
m
l e
i c
r
n
u
m
d
o
C
S
?
P
o
a
o
r
j e
Gp Gc
D
o
P
r
e
d
í
L
t o
2
B-1
-
p
i m
m
p
l e
m
e
n
t
d
i n
r
r
e
s
r n
e
t e
t
n
e
D
S
(
o
)
D
(
I
)
o
M
E
i s
v
n
l a
e
p
R
e
S
?
o
i d
I
R
T
?
s
e
d
a
e
D
r
r
a
d
o
e
e
u
q
r
p
i s
o
i r
i g
r
r
o
C
2
-
B
P
R
Gp
B
N
?
r
a
r
g
e
t
n
I
P
D
DR
p
G
i t o
t
j e
P
P
D
R
UC
t
i
e
d
i s
u
r
q
p
e
r
r
a
o
i s
n
o
n
e
R
m
P
R
C
P
l i z
t
n
a
e
r
g
r
N
m
ç
a
e
d
e
t
s
ã
e
T
r
m
Execução
ã
o
i d
o
c
S
?
s
e
d
a
G
q
G
o
f
n
o
c
A
n
p
i m
s
o
l i c
r
a
o
n
v
ç
a
a
s
G
p
i t
ç
a
ã
S
M
S
M
c
o
r
s
N
?
s
E
o
c
n
l i c
F
e
i t
i
r
a
p
r a
ã
ç
Function Point
Analysis
G
PPF
c
r
o
m
MER
P
P
T
I
R
o
e
d
o
a
l
G
p
d
A
u
S
q
G
I
ç
G
r
l i a
a
v
A
M
UC
T
P
3
a
e
R
ã
ç
n
a
a
i t
d
l i c
u
o
S
P
D
S
,
c
r
i a
c
o
g
e
o
C
p
L
s
i t o
t o
j e
G
C
P
i
c
C
P
o
i ã
í
n
I
T
P
T
P
e
p
G
v
l a
e
n
u
n
r e
l i e
r
c
a
d
m
l
p
D
R
n
o
e
c
g
C
R
3
s
o
p
G
C
p
L
o
i d
l v
e
o
s
e
m
a
Revise
Requirements,
interfaces, E-R
and Use Cases
e
r
a
A
D
e
d
e
e
d
a
t
s
e
T
ã
N
m
S
N
I
S
?
K
r
f
n
S
e
D
r
P
a
o
d
A
o
R
D
P
P
T
P
C
P
e
D
p
t
n
e
s
e
p
i t o
i s
e
l v
o
v
n
O
o
r
i d
A
T
L
P
e
N
e
e
a
n
N
e
L
A
r
l i z
U
)
s
o
s
a
c
d
r
e
d
a
o
p
L
i f i c
s
t e
i d
e
d
e
d
o
c
n
s
a
o
b
d
r
a
a
d
c
e
p
T
L
(
I
D
c
p
L
P
)
o
e
d
s
o
(
S
D
p
L
M
e
D
a
e
R
T
L
P
1
-
o
s
u
p
G
r
a
s
a
c
r
a
l i z
a
e
e
o
D
R
p
d
a
o
d
o
n
A
e
r
c
u
l e
q
e
S
L
p
e
p
L
r
L
a
p
e
P
B
g
r
m
a
a
i s
r
v
o
n
o
r
c
s
B-2
p
p
o
r
s
t o
l i a
e
d
n
e
L
d
e
L
s
,
s
o
e
r e
r e
a
a
v
a
i d
m
a
e
R
r
P
r
u
e
D
p
ã
n
r
a
l i s
a
n
e
d
a
i d
r m
f o
r
j a
e
n
l a
p
ç
t a
n
e
m
l e
o
s
e
B
o
ã
N
q
G
MER
Entrega
ã
N
m
r
o
f
n
o
c
m
e
o
i d
t
s
a
e
T
r
a
t
i s
l i z
S
a
e
R
s
e
d
a
P
P
e
d
e
I
R
P
T
o
c
S
?
A
n
p
i m
G
ã
n
r
a
l i s
a
n
e
d
a
i d
r m
f o
r
j a
e
n
l a
p
ç
t a
n
e
m
l e
D
p
G
q
o
s
P
MER
e
B
o
ã
P
P
e
N
R
D
(
c
e
e
d
t e
o
ã
ç
i t a
t
n
l i e
c
a
p
ç
a
s
e
T
a
o
c
e
i t
m
n
p
G
l
C
)
a
I
A
R
e
t
o
l ?
i c
i a
e
P
n
r
a
o
í
t
i a
d
0
9
r
n
e
a
p
r
g
(
e
d
o
d
i a
)
s
R
A
o
Garantia
ã
r
t
o
c
i a
l
N
d
a
e
n
t
a
m
e
m
a
i n
e
r
a
e
R
t
r
a
l i z
n
e
m
s
o
t
f
f
t
l a
a
u
i g
a
w
P
r
r
a
e
A
r
A
r
t e
t e
r
F
l u
r
R
e
f a
t o
f a
t o
s
p
o
o
e
P
r
o
i d
A
c
c
o
s
s
e
o
ã
i s
o
s
n
C
s
a
b
i l i d
a
d
D
C
G
G
G
G
L
D
i
l
c
t
p
q
p
e
D
C
G
G
G
G
L
D
r
t o
i r e
t e
n
l i e
t e
n
r e
e
t e
n
r e
e
t e
n
r e
e
t e
n
r e
e
o
d
r
e
í d
o
v
n
e
s
e
t o
r
e
s
l
i a
r c
e
m
o
C
l o
o
n
c
e
T
e
d
s
t o
j e
r o
P
e
d
s
s
e
c
r o
P
e
d
t o
j e
r o
P
r
o
d
e
l v
e
MER
g
i a
o
s
e
Q
u
a
l i d
a
o
o
l e
t r
b
n
m
d
a
a
o
A
S
?
P
r
n
a
o
c
l i s
e
d
D
p
e
D
r
a
e
DR
?
S
R
B
Gp Gc
P
d
e
a
<
_
>
t o
j e
r o
P
o
d
.
d
ó
C
<
_
R
<
V
_
>
t o
j e
r o
P
o
d
.
d
ó
C
<
_
R
<
V
_
>
t o
j e
r o
P
o
d
.
d
ó
C
<
_
T
<
V
_
>
t o
j e
r o
P
o
d
.
d
ó
C
<
_
C
<
V
_
>
t o
j e
r o
P
o
d
.
d
ó
C
<
_
P
V
_
>
t o
j e
r o
P
o
d
.
d
ó
C
<
_
R
E
V
_
>
t o
j e
r o
P
o
d
.
d
ó
C
<
_
T
L
<
V
_
>
t o
j e
r o
P
o
d
.
d
ó
C
<
_
I T
<
V
_
>
t o
j e
r o
P
o
d
.
d
ó
C
<
_
U
>
t o
j e
r o
P
o
d
o
i g
d
ó
C
<
_
O
>
d
d
m
m
a
a
a
a
<
_
T
O
R
<
V
_
>
t o
j e
r o
P
o
d
.
d
ó
C
<
_
M
<
V
_
>
t o
j e
r o
P
o
d
.
d
ó
C
<
_
C
>
t o
j e
r o
P
o
d
o
i g
d
ó
C
<
_
F
P
_
>
t o
j e
r o
P
o
d
o
i g
d
ó
C
<
_
C
_
>
t o
j e
r o
P
o
d
o
i g
d
ó
C
<
_
S
V
_
>
t o
j e
r o
P
o
d
o
i g
d
ó
C
<
I _
_
>
t o
j e
r o
P
o
d
o
i g
d
ó
C
<
_
A
_
>
t o
j e
r o
P
o
d
o
i g
d
ó
C
<
_
M
B
A
D
P
P
P
M
P
R
M
P
P
S
U
P
D
D
D
R
R
K
(
o
)
=
O
p
c
i o
n
a
PP
l
N
N
Gc
p
G
e
r
R
e
C
n
c
e
a
r
e
p
r
t r a
i s
g
n
e
m
a
t o
j e
r o
G
A
D
p
G
q
R
n
p
e
e
r
q
F
9
9
9
9
9
9
9
9
9
9
9
9
9
V
<
V
V
<
<
9
<
<
>
>
>
>
<
9
9
9
9
9
PT
d
d
m
>
9
9
. <
>
9
9
. <
>
9
9
. <
>
9
9
. <
9
9
. <
>
>
9
9
<
>
9
9
<
>
9
9
. <
>
9
9
_
V
V
9
9
<
9
9
m
a
>
>
>
>
a
a
9
>
9
9
. <
>
9
9
. <
. <
>
9
9
9
. <
>
9
9
. <
>
9
9
9
. <
>
9
. <
>
9
9
. <
>
9
>
>
9
9
9
>
9
9
9
>
>
>
>
>
r
t
f
e
A
D
P
P
P
M
P
R
M
P
P
S
C
P
D
D
D
R
R
K
a
t
t a
o
r o
r o
l a
o
l a
e
a
e
r o
o
a
o
i a
i a
i a
e
e
n
o
e
r
n
u
e
c
r
r
l i a
o
d
a
e
(
<
p
o
u
q
s
e
i n
r
u
s
o
i
G
p
s
t
n
P
O
R
M
K
o
)
e
p
L
e
d
e
o
d
l t a
t o
u
j e
o
i ã
m
a
i p
a
R
PPF
p
i s
o
i ã
q
v
i
G
p
r
a
l i z
e
d
A
o
d
o
t
G
R
A
r
d
z
t e
n
p
u
d
o
f o
e
d
s
e
r
p
o
d
t o
c
o
t o
o
x
n
o
P
f a
t e
A
P
P
Build Technical
Proposal and
Project Plan
UC
r
c
O
e
r
Encerramento
Encerramento
c
P
s
n
n
o
I
P
T
B
e
D
DR
R
P
e
e
o
t
r
D
l
r i a
t o
D
p
G
a
p
G
q
G
r
a
i n
r
e
a
t r
p
e
e
l i s
a
e
D
r
P
D
n
A
o
t
n
e
u
r
a
d
n
m
e
a
g
i n
c
p
G
e
r
G
q
G
A
S
A
t
B
Gp Di
Build Commercial PC
Proposal
e
D
m
s
o
i ã
n
u
e
R
e
d
s
i t o
i s
u
q
e
R
e
d
t o
n
e
m
u
a
i c
n
c
é
T
t a
s
o
l
i a
r c
e
m
o
C
t a
s
o
t o
j e
r o
P
e
d
o
e
R
e
s
e
d
a
t i d
n
E
e
d
l o
e
t e
s
e
T
e
d
o
e
d
s
t e
n
e
i d
c
I n
e
d
r i o
t ó
r i o
á
u
s
U
o
d
l
a
u
o
i ã
i n
p
O
e
d
a
i s
u
q
I )
t a
s
a
p
a
( N
o
t i p
t ó
s
a
ç
n
a
d
u
M
e
d
o
ã
ç
i t a
l i c
o
s
U
e
d
o
s
o
ã
ç
n
u
F
r
o
p
s
t o
n
s
e
s
s
l a
C
e
d
a
m
r a
g
i a
c
n
ê
u
q
e
S
e
d
a
m
r a
g
o
ã
ç
r a
t e
I n
e
d
a
m
r a
g
o
ã
ç
i t a
e
c
A
e
d
r i o
t ó
l a
o
n
s
r i a
o
l h
e
M
e
d
r i o
t ó
l a
e
s
a
B
e
g
d
l e
w
o
c
p
p
n
d
n
l a
n
c
l a
e
m
a
n
i o
t e
s
e
T
s
P
r
o
c
e
s
s
o
n
t o
s
PT
1
To do an effective job, you need
to...
• Plan your work
• Do your work according to this plan
• Strive to produce the highest quality
products
Personal Software Process
(PSP)
• It is a disciplined way of writing software
which can lead to dramatic improvements
in
– the quality of the software you write
– your productivity
– the quality of your plans and estimates.
• Following a discipline like this can lead to
greater self-knowledge, a valuable thing in
itself
Personal Software Process
(PSP)
• It shows how to apply advanced engineering
methods to their daily tasks
• Provides detailed estimating and planning
methods
• Shows how to track sw engineers'
performance against these plans
• Explains how defined process can guide
their work
• Will lead you away from random hacking
and towards professional software eng.
PSP is not...
• a Silver Bullet solution
• a radically different approach to
development
PSP is
• a framework that allows detailed planning
and tracking of project status
• a vehicle to collect “in process” metrics to
provide insight and opportunities to
improvement
• a way to protect development steps
needed to “build in” quality
What does PSP provide?
• Measurements
– Size
– Time
– Defects
Time estimating error
Defect Level Improvement
Productivity Results
PSP processes
PSP Process Flow
Benefits
• PSP has the potential to increase your
effectiveness as a programmer
dramatically
• The data you collect and the conclusions
you infer from them can empower you in
negotiations with your boss
• Deeper benefits are possible too. Any selfknowledge has the potential to lead to
personal growth
Best practices
•
•
•
•
•
•
•
•
Task breakdown (detailed planning)
Time alloted to Design
Size estimation methods
Time alloted to Review/Inspection
Time tracking
Defect tracking
Metric analysis
Coding standards
Why are we doing all this?
• The quality of a software system is determined by the
quality of its worst components.
• The quality of a software components is determined by
the quality of its developer’s knowledge, discipline, and
commitment.
• As software professionals you should now how to
measure, track, and analyze your own performance.
• You should be able to learn from your past failures and
improve your personal practices.
Utilizando PSP em OS
• Dificuldades das Fábricas OS
– Motivação dos participantes
• Melhoria pessoal
– Configuraçao inconstante no espaco-tempo
– Coordenacao de atividades de forma isolada
e assíncrona
• Modelos tradicionais se mostraram ineficientes
• Alternativa bottom-up
Utilizando PSP em OS
• Metodologia
– Definição de um processo de
desenvolvimento de fábricas OS
– Execução do processo {caos...}
– Identificação das necessidades de fábricas
OS
– Busca por alternativas de melhoria {PSP}
• Casamento de melhorias oferecidas com as
necessidades requeridas
Conclusions & Future Work
• Open Source é um oceano azul a ser explorado
• A qualidade deve acontecer de forma bottom-up
• Indicativamente, PSP pode auxiliar OSS na
busca por melhoria da qualidade
• Estudos Empíricos
– Desenvolvedor
– Gerente
– Cliente
Referências
Alvaro, A., Santos, T., Andrade, P., Vasconcelos, J. Albuquerque, J. and Meira, S. (2004) “Lições Aprendidas na Criação de
uma Fábrica de Software Open-Source”, 5o Workshop de Software Livre, WSL’2004, Porto Alegre, RS.
Baker, E. (2001) “Wich way, SQA?”, IEEE Software 18(1), pp. 16-18
Belleza, C., Levi, F., Ochner, J., Maravitch, J., Vieira, H. and Marcuschi, R. (2006) “Fases de Criação de uma Fábrica de
Software Open Source Distribuída”, Universidade Federal de Pernambuco
Cavalcanti, A., Lucena, L., Lucena, R., Moraes, A., de Fernandes, D., Pereira, S., Albuquerque, J. and Meira, S. (2005)
“Towards an Open Source Software Factory”, In: 2nd Experimental Software Engineering Latin American Workshop,
Uberlândia, MG, 2005.
Crowston, K., Annabi, H., Howison, J. and Masango, C. (2004) “Effective Work Practices for Software Engineering: Free/Libre
Open Source Software Development”, WISER.
El Emam, K., Shostak, B. and Madhavji, N. (1996) “Implementing Concepts from the Personal Software Process in an
Industrial Setting”, In: Proceedings of the 4th International Conference of Software Process, Brighton, England
Fabriks (2005) “An Experience of Modelling and Implementing an Open Source Software Factory Methodology”, SIMS2005 X
Simpósio de Informática. SBC – Sociedade Brasileira de Computação, Uruguaiana – RS.
Fagan, M. (1986) “Advances in Software Inspections”, IEEE Transactions on Software Engineering 12(7), pp. 744-751
Feller, J. and Fitzgerald, B. (2002a) “Understanding Open Source software Development”, London: Addison-Wesley
Feller, J. and Fitzgerald, B (2002b) “A further investigation of open source software: community, co-ordination, code quality
and security issues”, Information Systems Journal, 12(1), pp. 3-7
Finkelstein, A. and Kramer, J. (2000) “Software Engineering: A Roadmap”, ICSE.
Frank, P., Hamlet, R., Littlewood, B., Strigini, L. (1998) “Evaluating Testing Methods by Delivered Reliability”, IEE
Transactions on Software Engineering 24(8), pp. 586-601
Ferguson, P., Humprey, W., Khajenoori, S., Macke, S. and Matvya, A. (1997) “Introducing the Personal Software Process:
Three Industry Cases”, IEEE Computer 30(5), pp. 24-31
de Groot, A., Kugler, S., Adams, P.J. and Gousios, G. (2006) “Call for Quality: Open Source Quality Observation”, In: IFIP
International Federation for Information Processing, Volume 203, Open Source Systems, eds. Damiani, E., Fitzgerald,
B., Scacchi, W., Scotto, G., (Boston: Springer), pp. 57-62
Goth, G. (2005) “Open Source Business Models: Ready for Prime Time”, Disponível
em:http://www.computer.org/portal/cms_docs_software/software/content/promo/promo4.pdf. Acessado em:
07/05/2006.
Referências
Gosh, R., Glott, R., Krieger, B. and Robles, G. (2002) “Free/Libre and Open Source Software: Survey and Study”, Part 4:
Survey of Developers, International Institute of Infonomics, University of Maastricht
Harris, B. (2006). “Virtual man chooses Internet over office”, DesMoinesRegister.com.
Hayes, W. and Over, J. (1997) “The Personal Software Process (PSP): An Empirical Study of the Impact of PSP on Individual
Engineers”, CMU/SEI-97-TR-001.
von Hippel, E. and von Krogh, G. (2003) “Open source software and the private-collective innovation model: Issues for
organization science”. Organization Science, 14(2), pp. 209-223
Humprey, W. (1989) “Managing the Software Process”, The SEI Series in software engineering. Addison-Wesley
Humprey, W. (1994) “A Discipline for Software Engineering”, Addison-Wesley.
Humprey, W. (1996) “Introduction to the Personal Software Process”, Addison-Wesley.
Johnson, P. and Disney, M. (1998) “The Personal Software Process: A Cautionary Case Study”. IEEE Software, 15(6).
Johnson, P. and Disney, M. (1999) “A Critical Analysis of PSP Data Quality: Results from a Case Study”, Empirical Software
Engineering: An International Journal.
Krishnamurthy, S. (2003) “An Analysis of Open Source Business Models”, University of Washington.
Lessig, L. (2002) “The Future of Ideas: The Fate of the Commons in a Connected World”, New York: Vintage Books.
Michlmayr, M. and Hill, B. (2003) “Quality and Reliance on Individuals in Free Software Projects”, In: Proceedings of the 3rd
Workshop on Open Source Engineering, Portland, USA: ICSE, pp.105-109.
Michlmayr, M. (2004) “Managing Volunteer Activity in Free Software Projects”, In: Proceedings of the 2004 USENIX Annual
Technical Conference, FREENIX Track, Boston, USA, pp. 93-102
Mockus, A., Fielding, R. and Herbsleb, J. (2000) “A Case Study of Open Source Software Development: the Apache Server”,
In: The 22nd International Conference on Software Engineering, pp. 263-272.
Mockus, A., Fielding, R. and Herbsleb, J, (2002) “Two Case Study of Open Source Software Development: Apache and
Mozilla”, ACM Transactions on Software Engineering and Methodology, Vol. 11, No. 3, pp. 309-346
Morisio M. (2000) “Applying the PSP in industry”, IEEE Software, 17(6), pp. 90-95
O’Connor, R., Duncan, H., Coleman, G., Morisio, M., McGowan, C., Mercier, C. and Wang, Y., “Improving Professional
Software Skills in Industry - A Training Experiment", Technical Report CA-0201, Dublin City University, 2001
OpenBRR (2005) “Modelo de Levantamento para Avaliação de Preparo para Negócios”, Disponível em:
http://www.openbrr.org, Acessado em: 18/02/2007.
OSMM (2005) “Making the Open Source Ready for the Enterprise: The Open Source Maturity Model”, Disponível em:
http://www.navicasoft.com/Newsletters/OSMMWhitepaper.pdf, Acessado em: 18/02/2007.
Referências
Perens, B. (1999) “The open source definition. in Open Sources: Voices from the Open
Source Revolution” C. Dibona, S. Ockman, and M. Stone, Eds., O’Reilly,
Sebastopol, Calif., 171–188.
Perry, D., Staudenmayer, P., Votta, L. (1994) “People, Organizations, And Process Improvment”, IEEE Software 11(4), pp.
36-45
Prechelt, L. and Unger, B. “An Experiment Measuring the Effect of Personal Software Process (PSP) Training”, IEEE
Transactions on Software Engineering
Porter, A., Votta, L. (1995) “Comparing Detection Methods for Software Requirements Inspections: A Replication Using
Professional Subjects”, Empirical Software Engineering: An International Journal 3(4), pp. 355-379
Raymond, E. (1999) “The Cathedral and the Bazaar”. 1st. O'Reilly & Associates, Inc.
Raymond, E. (2001) “The Cathedral and the Bazaar. Musgins on Linux and Open Source by an Accidental Revolutionary”,
revised edn, Sebastopol, CA: O’Reilly & Associates, Inc.
Rothermel, G., Harrold, M. (1996) “Analyzing Regression Test Selecion Techniques”, IEEE Transaction on Software
Engineering 22(8), pp. 529-551
Schulmeyer, G., McManus, J. (1999) “Handbook of Software Quality Assurance”, Prentice hall
Sison, R., Diaz, D., Lam, E., Navarro, D. and Navarro, J. (2005) “Personal Software Process (PSP) Assistant”, In:
Proceedings of the 12th Asia-Pacific Software Engineering Conference (APSEC’05)
Stallman, R. (1999) “The GNU Operating System and the Free Software Movement”, In:
Open Sources: Voices from the Open Source Revolution, O’Reilly, Sebastopol,
Calif., 53–70.
Turkle, S. (1985) “The Second Self: Computers and the Human Spirit”, New York: Simon and Schuster.
Wu, S. (2004) “The Impact of Open Source Software”, Disponível em:
http://www2.cs.uh.edu/~schwu/nOSS_TermPaper1.pdf. Acessado em: 07/05/2006.
Yang, C. (2006) “Problems in Quality Assurance under Open Source Development Model”, Freie Universitat, Berlin
Zhao, L. and Elbaum, S. (2003) “Quality Assurance under the Open Source Development Model”, The Journal of Systems
and Software, volume 66, pp. 65-75
Melhoria da Qualidade do
Processo em Fábricas de
Software Open Source através
do Personal Software Process
Julio Maravitch Maurício Neto
[email protected]
VI Encontro CIn sobre Qualidade, Processos e Gestão de Software
27/03/2007
Download

taes3-workshop-jmmn-psp-oss