FVS 2014
Building OSS Factories
[email protected]
[email protected]
[email protected]
factories X OSS development...
•
•
•
•
•
•
conjunções e intersecções
métodos e ferramentas
processo
modelos
licenças
vendas
Free Software Engineering: A
Field to Explore
Gonzáles-Barahona and Robles
UPGRADE Vol. IV No. 4 August 2003
http://www.upgrade-cepis.org/issues/2003/4/upgrade-vIV-4.html
Free Software Projects
• Nascem como iniciativa
isolada e particular
• Usuários são codesenvolvedores
• Divulgação “boca-aboca”
• Teste massificado pelos
usuários
• Gerência de versões é
complexa e “bemdefinida”
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
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
(Sun apr 22 20:18:32 BRT 2007)  189,827 projects!
Communications (18979)
Database (7090)
Desktop Environment (3843)
Education (5076)
Formats and Protocols (3014)
Games/Entertainment (17723)
Internet (29002)
Multimedia (15900)
Office/Business (9960)
Other/Nonlisted Topic (2620)
Printing (526)
Religion and Philosophy (341)
Scientific/Engineering (15436)
Security (3350)
Sociology (442)
Software Development (29007)
System (23545)
http://sourceforge.net/
Text Editors (3275)
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
http://www.math.uconn.edu/~bass/scdp.pdf
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”
A Framework for creating
hybrid-open source software
communities
Srinarayan Sharma
et. al.
Info Systems
(2002), 12.
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
Framework for
creating HybridOSS communities
Principles:
• Community building
• Community governance
– Shared governance
– Membership management
– Incentives and rewards
• Community infrastructure
Discussion
...  open source communities versus Software
Factories?
• personal time and autonomy
...  freelancers
...  project-oriented
• ... there are several avenues for future research
– ... to refine the proposed framework and validate it
empirically
linhas-mestras
IN953 – Engenharia de Software
• Process Implementation – Software
Factories (Gibeon, Ana Paula, Thayssa)
• F/L/OSS (Alan)
• OSS Business Model (Alan, Ana Paula, Aisa)
• Scientific Relevant Projects (Convidados)
• Business & Humanitas (TODOS!)
fábricas de
software
princípios
conceitos
ilusões
fábrica de sw na prática
•
•
•
•
Operação profissional
Processo de desenvolvimento transparente
Retorno rápido ao cliente
Alta produtividade
• Ferramentas e processos padronizados
• Alta qualidade
• Dados históricos, previsibilidade e análise de risco
• Reusabilidade de código
[1968 G&E, R. W. Berner]
[2003 IEEE Computer Vol.36 Num.3, B. Boehm]
[2005 IEEE Software Vol. 22 Num 2, PostModern SW Design]
Cathedral
and Bazaar
e Desenvolvimento de Software
segundo Eric Raymond, 1997
• Alguns projetos são como
Cathedrals
– altamente centralizados em
poucas pessoas que decidem
projeto e implementação
– para fazer parte deve-se aceitar as
definições
http://catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/
Outros são como
Bazaars (sw livre)
• Sem planejamento detalhado mas
orientados!
• Linux Kernel (www.linux.org):
“hierarchical”
– Linus Torvalds, “The Benevolent Dictator”
• APACHE Foundation (www.apache.org):
“meritocracy”
– Para fazer parte você deve ter colaborado
continuamente em projetos da fundação
• GCC (gcc.gnu.org): “steering Commitee”
Conceitos
The factory is an organization inhabited by people
engaged in a common effort, work is organized
one way or the other, standardization is used for
coordination and formalization, and
systematization is important, but there will be
several options for the design of a particular
software factory
[Aaen, Botcher, Mathiassen, Software Factories, 1997]
http://www.cin.ufpe.br/~in953/papers/Software_Factories_17.pdf
fábricas de software: 4 estratégias...
• Japonesa (1981,1987)
– SWB – Software Work Bench
• Européia (1991,1992)
– ISDE – Integrated Software Development
Environment
• Norte-Americana – experiência produção
(1989,1993)
• Norte-Americana – níveis de maturidade
(1990,1993)
Estratégia Japonesa
• Aumento de produtividade e qualidade de
desenvolvimento e manutenção
• Estratégia baseada em infra-estrutura: física,
organizacional e ferramental
• Uso de métricas
• Metodologia padronizada para todos os projetos
• Reuso em todas as fases
• Foco em tecnologia
Estratégia Européia
• Ambientes integrados de desenvolvimento orientados
a cliente (IDEs)
• Estratégia orientada a ferramentas: padronização de
componentes, adaptação de processo
• Sem métricas formais
• Metodologia adaptada por projeto
• Sem reuso formal
• Foco em Tecnologia
(Organizacional... ISO-9000)
Estratégia Norte Americana 1
• Baseada em Componentes
• Maior eficácia de processos, menos re-trabalho e
mais reuso
• Estratégia de melhoria contínua baseada na
experiencia adquirida
• Sem métricas rigorosas
• Metodologia adaptada por projeto
• Reuso
• Sem foco em tecnologia, foco em pessoas!
(...Ágeis...XP –
Extreme
Programming,
SCRUM)
Estratégia Norte Americana 2
• Processo eficaz, previsível, confiável e automelhorável
• Estratégia de melhoria em etapas, níveis de
maturidade
• Uso de métricas
• Metodologia adaptada por projeto
• Pouco reuso
• Pouco foco em tecnologia
(Processos... RUP, CMM...)
...considerações...
The four approaches are important contributions
towards this goal. At the same time the
approaches individually may lead to unfortunate
illusions. Learning from the relative strengths and
weaknesses between the approaches may help us
avoid becoming victims of these illusions
[Aaen, Botcher, Mathiassen, Software Factories, 1997]
http://www.cin.ufpe.br/~in953/papers/Software_Factories_17.pdf
...e ilusões...
fábrica de software ≠
produção em massa
padronização, formalização,
especialização, controle ≠
produção de software com
qualidade
o que fazer?
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
Process Implementation
or,
We’ve documented all our processes—
what’s left to do?
Sarah Sheard
Software Productivity Consortium
Thursday, July 3, 2003
So what does it take?
1. Manage as a project
2. Obtain management support
3. Establish policy
4. Establish measurement baseline
5. Train employees and managers
6. Tailor processes
7. Maintain process assets
8. Ensure processes are being used
9. Learn Lessons
10. Improve Processes
11. Appraise the organization
Process Implementation
Requires Everyone!
• Senior management sets
the tone and ensures other
managers make PI happen
• SEPG drives the process
improvement program to its goals
• Projects review processes, tailor standard
processes, use their tailored versions, and
recommend improvements
• QA audits independently
Funciona para SW Livre?
• Adaptação de Processos de 1990?
• 2007! Distributed Development...
• O que fazer?
– Ler
– Praticar
– Montar experimentos
reais e avaliar...
um desenvolvimento sem processo...
SISTEMAS SÃO
ENTREGUES!!
Mas...
Acúmulo de Trabalho
Descontinuidade de
planos
Prazos, custos...
Estouram
Time de heróis
Clientes sem
atendimento
•
•
•
•
•
•
•
Engenharia de Produção de
Software:
histórico
60´s Fábrica de
Software (1958!!!)
70´s Kanbam
70´s Just In Time
80´s SIGMA
90´s CMM
00´s Fábrica de
Software...
PMBOK, ISO, MPSBR... Modelos!
alternativas... MPS.BR
• Melhoria do Processo de Software
Brasileiro
–
–
–
–
–
Boas Práticas
Experiência de pequenas e médias empresas
Custos reduzidos
Aderência a outros Modelos
Escalabilidade e praticidade
(23) Processos, organizados em
(7) Níveis de Maturidade
MPS.BR MR-MPS v1.0 2005
Nível CMMI correspondente:
A: Em Otimização
(Inovação e Implantação na Organização – IIO)
(Análise e Resolução de Causas – ARC)
B: Gerenciado Quantitativamente
(Desempenho do Processo Organizacional – DEP)
(Gerência Quantitativa do Projeto – GQP)
C: Definido
(Gerência de Riscos – GRI)
(Análise de Decisão e Resolução – ADR)
D: Largamente Definido
(Desenvolvimento de Requisitos – DRE) (Validação – VAL)
(Solução Técnica – STE) (Verificação – VER)
(Integração do Produto – ITP) (Instalação do Produto – ISP)
(Liberação do Produto – LIP)
E: Parcialmente Definido
(Treinamento – TRE) (Definição do Processo Organizacional – DFP)
(Avaliação e Melhoria do Processo Organizacional – AMP)
(Adaptação do Processo para Gerência de Projeto – APG)
F: Gerenciado
(Gerência de Configuração – GCO) (Medição – MED)
(Garantia da Qualidade – GQA) (Aquisição – AQU)
G: Parcialmente Gerenciado
(Gerência de Projeto – GPR) (Gerência de Requisitos – GRE)
Baseados na
ISO/IEC 12207,
ISO/IEC 15504,
e
CMMI-SE/SW
5
4
3
2
[Salviano 2005]
What is institutionalization?
No, not that kind!
e as pessoas?...
(c) MERX LLC
MASLOW
Trabalho em Equipe
O trabalho em equipe é um processo baseado em
princípios e valores que estão claramente
definidos e entendidos. O verdadeiro trabalho em
equipe é um processo contínuo interativo
de um grupo de pessoas aprendendo, crescendo e
trabalhando interdependentemente para
alcançar metas e objetivos específicos no suporte a
uma missão
comum.
ORGANIZAÇÕES ESTRUTURAIS
X
BASEADAS EM HABILIDADES
ORGANIZAÇÕES
TRADICIONAIS:
 Realizam tarefas funcionais;
 Pessoa em segundo plano;
 O controle é a meta;
ORGANIZAÇÕES BASEADAS EM
HABILIDADES:
 Realizam bem, as tarefas com
funções cruzadas;
 As pessoas são valorizadas;
 A meta é valorizar o que constitui
valor para os clientes;
 Visão a curto prazo;
 Informação, formação, e incentivos,  Visão a longo prazo;
não são importantes;
 Informação, formação e incentivos,
 Repetem os ciclos de reestruturação
são importantes;
e regressão.
 Criam um padrão de melhoria
permanente.
o que “sabemos” aqui?
• TODO o pressman ou sommerville (Software
Engineering)
• ou seja:
– requisitos, especificações, refinamento, validação e
verificação, métodos, técnicas, linguagens e
ferramentas, componentes, reutilização,
manutenção, modelagem de processos, qualidade,
reengenharia,, verificação, validação e teste... além
de programação JAVA++!...
– {faltaria o quê?}
Download

Building OSS Communities