TÉCNICAS PARA
IMPLEMENTAR PROCESSOS DE
PRODUÇÃO DE SOFTWARE
EM COM CARACTERÍSTICAS
FABRIS
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Quem sou eu?





Tecnólogo em Processamento de Dados – FEMA.
Mestre em Ciência da Computação – UFSCar.
Doutor em Engenharia da Produção – EP-USP.
Professor de Engenharia de Software da FEMA e
da FATEC.
Consultor na área de processo de produção e
qualidade de software.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Departamento de Informática - FEMA





Vinte anos de existência.
Em torno de 1200 alunos formados.
Cursos: Tecnologia em Processamento de Dados e
Ciência da Computação.
13 professores da área atuam no departamento.
Pesquisa:
 Engenharia
de Software,
 IA,
 Interface
Homem-Máquina.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Departamento de Informática da
FATEC





FATEC: 50 unidades instaladas no Estado de SP.
FATEC – Ourinhos: 800 alunos formados.
Quinze anos de existência.
Curso de Analise de Sistemas e Tecnologias da
Informação.
30 professores atuam na área de informática.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Estrutura do curso





Parte 1 – Análise quantitativa e qualitativa do
mercado de produção de software na esfera do
BRIC.
Parte 2 – Processo de produção de software.
Parte 3 – Processo de produção de software.
Parte 4 – As fábricas japonesas e brasileiras.
Parte Final – Framework para implementação de
um processo fabril.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Análise quantitativa
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Análise quantitativa




Em um vôo para o Vale do Silício, viajam um
Brasileiro, um Russo, um Indiano e um Chinês.
Todos eles estão levando um portfólio que contempla
as características tecnológicas e econômicas de seus
respectivos países.
Em tempos de crise, a missão de nossos personagens
é capturar capital externo, alavancando assim a
produtividade de software em seus países.
Veja o que nossos personagens disseram aos
americanos:
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Análise quantitativa
Brasil
Rússia
Índia
China
Habitantes
190 milhões
144 milhões
1.1 bilhões
1.3 bilhões
PIB 2007
U$ 1.5
trilhões.
U$ 1.45
trilhões.
U$ 2.9 trilhões
US$ 3.41
trilhões
Sétimo maior do
mundo.
PIB 2008
Crescimento de Crescimento de Crescimento de Crescimento de
5% em relação 8% em relação 8% em relação 9% em relação
a 2007.
a 2007.
a 2007.
a 2007.
Inflação em
2007
4.5%
11,9%
5.5%
6.6%
Inflação em
2008
6.8%
12,5%
8%
7%
US$ 283
bilhões
US$ 115
bilhões
US$ 937
bilhões
Superávit de 110
bilhões
Déficit de 25%
Superávit de 28
bilhões
Exportações em US$ 194
2008
bilhões.
Superávit de 24
bilhões
Análise quantitativa
Brasil
Rússia
Índia
China
Indústria
Aeronáutica –
4ª do mundo.
Automobilística
– 6ª do mundo.
Gás.
Química.
Metais.
Equipamentos
agrícolas.
Software
Alumínio.
Armas. Têxtil.
Roupas. Carros.
Motos.
Equipamentos
eletrônicos.
Cimento.
Alimentos
Soja, café,
cana e carne
bovina.
x
x
x
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Análise quantitativa
Energia
Brasil
Rússia
Índia
Auto-suficiente
em petróleo
desde de 2006,
Grande
exportador em
2014 (pré sal).
Referência global
em energia
renovável (83%
da produção em
usinas
hidrelétricas).
Liderança
mundial na
produção de
etanol.
Gás e petróleo
movimentam a
cadeia industrial
russa.
Exporta 5
milhões de barris
por dia.
Importa 2 milhões Importa 3 milhões
de barris de
de barris de
petróleo por dia. petróleo por dia.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
China
Análise quantitativa
Brasil
Rússia
Índia
China
Tecnologia
150 milhões de
celulares.
50 milhões de
pessoas
acessam a
internet.
Voto eletrônico.
Sistema
bancário
financeiro.
170 milhões de
celulares.
30 milhões de
pessoas
acessam a
internet.
269 milhões de
celulares
(crescimento de
327% no último
ano).
80 milhões de
usuários de
internet.
547 milhões de
celulares.
100 milhões de
acesso a
internet.
TI 2008/2009
US$ 1.4 bi.
offshore = US$
70 bi.
Crescimento de
14% em 2007.
12% em 2008.
1% das
operações do
off-shore.
Europa e Ásia
excluindo a
índia: 11%
Crescimento de
30% na área
de TI
70% das
operações offshore.
3% das
operações de
off-shore.
Análise quantitativa
Brasil
Rússia
Índia
China
Meta
150.000
vagas.
98.000 inscritos
para o
vestibular.
44.000
matriculados.
17.000
formados.
Possui o maior
número de
graduados se
comparado a
Europa.
Coloca no
mercado 200
mil novos
profissionais de
TI no ano.
CMMI
79.
8 no nível 5.
Menos que 10
323.
151 no nível 5.
465.
34 no nível 5
Idioma
Português
Poucos falam
Inglês
fluentemente.
Russo, grande
parte da
população fala
Inglês
fluentemente.
Inglês e Hindi
Chinês /
Mandarim (suas
variantes).
A língua inglesa
ainda não está
institucionalizada.
Análise quantitativa
Brasil
Rússia
Índia
China
Salário anual
programador
US$ 15.000
US$ 14.000
US$ 7.000
US$ 7.000
Salário anual
gerente
US$ 32.000
US$ 36.000
US$ 19.000
US$ 36.000
Fuso (New
York)
2 horas
8 horas
10 horas
11 horas
Conflitos
Pacífico por
natureza
Conflito com
algumas exrepúblicas
URSS
Conflito
Conflito
constante com o constante com o
Paquistão
Tibet
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Complemento da Análise quantitativa Brasil



Maior comunidade de desenvolvedores JAVA do
mundo (110.000).
Projeto brasileiro vencendo o JavaOne categoria
inovação – 2004 e 2005.
Sistema bancário brasileiro – o melhor do mundo.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Complemento da Análise quantitativa Brasil

Estados Unidos congregam 80% das operações de
offshore do mundo.
Asia/Pacific
EMEA
17%
2%
Canada
1%
United
States
80%
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Complemento da Análise quantitativa Brasil
India
84%
Others
20%
United
States
80%
China
2,1%
AL
1,8%
Europe/Asia
10,2%
MEA
1%
Brasil 1%
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Complemento da Análise quantitativa Brasil



Brasil possui a maior plataforma mainframe
instalada no mundo.
Brasil possui milhares de profissionais com vasto
conhecimento em COBOL.
Grande parte das operações bancárias ainda
estão em COBOL.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Complemento da Análise quantitativa Brasil



O Internet Home Banking Brasileiro possui o maior
quantidade funcionalidades em um contexto
mundial.
Proporcionalmente o Brasil possui o maior números
de acesso a Internet Home Banking.
10% de todos os caixa eletrônicos instalados no
mundo estão no Brasil.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Análise qualitativa.

Após a apresentação dos portfólios (BRIC), questiono:

1 – Se você fosse presidente de uma grande empresa de
produção de software, em qual dos países do BRIC você
investiria para estabelecer operações de offshore/outsourcing?
 Contra fatos não há argumentos, eu investiria na Índia.
 Eles falam inglês; ganham a metade quando comparado com
os russos e com os brasileiros; possuem 151 empresas
certificadas CMMI-5; formam 200 mil profissionais TI por ano;
irão movimentar USD 112 bilhões até 2012; congregam cerca
de 70% das operações de offshore do mundo e o principal
produto indiano é software, devido a sua qualidade. A Índia é
um país emergente assim, como a Rússia, o Brasil e a China. A
taxa de crescimento indiana só perde para a chinesa.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Análise qualitativa
2
– A liderança na produção de aeronaves e de
automóveis, por parte do Brasil, não conta? O
potencial produtivo na esfera energética não é um
fator relevante para a tomada de decisão?
 Neste
contexto não. Claro que não podemos desprezar tais
índices. Porém na cadeia produtiva, o setor agrícola é o que
possui menor valor agregado. As aeronaves e os automóveis
não possuem relevância direta na produção de software. A
única vantagem brasileira e o seu sistema bancário
financeiro e capacidade criativa de seus programadores.
Para sanar esse problema, eu, enquanto empresa
investidora, importo-os facilmente ou instalo uma pequena
subsidiária no Brasil.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Análise qualitativa.
O que fazer para virar o
jogo?
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Análise qualitativa

Melhorar as políticas:
 No
contexto governamental;
 No contexto empresarial;
 No contexto educacional.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Análise qualitativa

Na esfera governamental:

40%
carga tributária: pagamos
do que
arrecadamos para sustentar o próprio governo.
 Salário
do programador no Brasil:
US$ 15.000 – 40% = US$ 9.000 (fora a carga
tributária trabalhista)
 Salário do programador na índia:
 US$ 7.000,00
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Análise qualitativa

Na esfera empresarial:
69% das empresas de software desenvolvem controle de
versão.
 A gerência dos requisitos é feita 24,4%.
 Estimativa de custo é desenvolvida em 55% e a
estimativa de esforço em 45,7%.
 Já a estimativa de tamanho é feita em 29%.
 A Gerência de risco é feita em 11,8% das empresas.
 Gestão de mudança, 10,4%.
 Planejamento formal dos testes, 37,8%.
 Utilização de depurador, 39%.

José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Análise qualitativa

Na esfera educacional:
 Aluno
e profissional de mercado: Existe algo mais do
que JAVA e .NET... Quem de vocês conhece FPA?
 Os
brasileiros não conseguem ler textos em inglês.
 Os
brasileiros não conhecem teste de software.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Análise qualitativa

Na esfera educacional:
A
questão do teste:
 Agosto
de 2008;
 Ministrando um tutorial sobre teste de software;
 Solicitei aos programadores a leitura do via teclado de
algumas variáveis:




Código;
Nome;
Idade;
CPF.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Análise qualitativa

Na esfera educacional:
A
questão do teste:
 Teste
o produto antes da apresentação para o cliente;
 Passado alguns minutos todos entregaram o produto e me
garantiram que o programa estava testado.
 Apliquei aquilo que chamo o teste do óbvio:




1 - Entre com zero para código;
2 - Entre com um número negativo para o código;
3 - Digite branco para o nome;
4 - Digite zero para idade;
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Análise qualitativa

Na esfera educacional:
 Apliquei



aquilo que chamo o teste do óbvio:
5 - Digite um número negativo para idade;
6 - Digite a letra A para idade;
7 - Digite um CPF inválido.
 Resultado:





9 programadores;
9 programas sendo desenvolvido;
7 casos de testes solicitados, totalizando assim 63 testes
efetuados;
Percentual de erros encontrados detectados: 74% (47 erros);
Média de erros por programadores neste programa: 5,22.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Análise qualitativa

Na esfera educacional:
 As
aberrações em programação:
if (($_REQUEST["login"] == “admin”) &&
($_REQUEST["senha"] == “1234″)) {
header(”Location: index_autenticado.php”);
} else {
header(”Location: index.php?mensagem=Login%20invalido”);
}
x = 5 + 3;
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Análise qualitativa
“Somos especialistas em organizar
o processo de produção das
empresas dos outros porém somos
medíocres quando se trata da
organização de nosso próprio
processo”.
Processo de produção de software
Definições sobre processo
de software
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Processo de produção de software
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Processo de produção de software
Empinando um software
ou programando uma
pipa?
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Processo de produção de software
Estruturando os dados
gerados após
“empinar o software”
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Processo de produção de software
“Fábrica de software:
a teoria do óbvio.”
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Fábrica de software

Segundo CUSUMANO (1989), o termo fábrica de
software foi utilizado, pela primeira vez, na década de
1960, no Japão. Várias empresas associam o termo ao
mero desenvolvimento de software; entretanto,
empresas que não atendam características como:
produção em larga escala; padronização de tarefas;
padronização de controle; divisão do trabalho;
mecanização e automatização, não podem ser
consideradas fábricas de software. Para o autor, o
desenvolvimento de uma fábrica implica nas boas
práticas da engenharia de software aplicadas
sistematicamente.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Fábrica de Software

Já BEMER (1969) define fábrica de software como
um ambiente no qual se constrói programas e se
efetuam testes. Neste ambiente devem existir
ferramentas para realizar as ações de construir e
testar. Uma fábrica deve possuir medidas de
produtividade e qualidade, os registros financeiros
devem ser mantidos por custo da programação e a
forma de gerenciamento deve dar subsídios à
previsão e à estimativa de dados de futuros
projetos.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Fábrica de Software

Para BASILI et. al. (1992), uma organização com
características de fábrica de software deve possuir
uma estrutura de construção de software baseada
em componentes. Os componentes utilizados podem
ser desenvolvidos pela fábrica de componentes (ou
unidade de produção de componentes). Através
desta definição pode-se concluir que uma fábrica
de componentes é a base para a implementação
de uma fábrica de software.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Fábrica de Software

Segundo LI et. al. (2001), uma fábrica de software
deve possuir: um conjunto de ferramentas
padronizadas para a construção do produto; bases
históricas para o gerenciamento de projetos e;
principalmente, um alto grau de reuso de código no
processo de produção de um determinado
software.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Fábrica de Software

FERNSTROM et. al. (1992) definem que uma
organização fabril para o desenvolvimento de
software deve estar calcada na questão “única do
software”, isto é, todo software é único, porém
partes individuais são repetidas em vários projetos.
O conceito fabril deve alicerçar o desenvolvimento,
armazenamento e montagem das partes repetidas
em um produto único.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Fábricas japonesas da década de 70
Empresas
Insumos
Levantamento de
Requisitos
Hitachi
Fábrica projetos
ampliada
Toshiba
Fábrica projetos
ampliada
NEC
Fujitsu
Especificação de
projeto
Projeto de software
baseado em ordens
de serviço
Fábrica de projetos
Fábrica projetos
ampliada
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Fábricas japonesas da década de 70
Empresas
Atividades
Hitachi
Modelagem de negócio, projeto de software, codificação, teste e
entrega.
Toshiba
Levantamento de requisitos, modelagem de negócio, projeto de
software, codificação, teste, instalação e manutenção.
NEC
Projeto de software, implementação, teste unitário, teste de
integração e inspeção.
Fujitsu
Análise de sistemas; projeto físico do software; projeto modular;
programação; testes: modular, de integração de sistema,
operacional e de aceitação; entrega e; manutenção.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Fábricas japonesas da década de 70
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Fábricas brasileiras
Empresas
Insumos
Levantamento de
Requisitos
EMPRESA A
Fábrica projetos
ampliada
EMPRESA B
Fábrica projetos
ampliada
EMPRESA C
Fábrica projetos
ampliada
EMPRESA D
Especificação de
projeto
Fábrica de projetos
EMPRESA E
Fábrica projetos
ampliada
EMPRESA F
Fábrica projetos
ampliada
Projeto de software
baseado em ordens
de serviço
Fábricas brasileiras
Empresas
EMPRESA A
Tópicos da teoria de processo de software
Modelo de
processo
Atividades
Características
(tendendo ao
Unified Process ou
ao eXtreme
Program)
Incremental
Levantamentos de
requisitos,
modelagem de
negócio, projeto de
software,
equalização,
codificação, teste e
entrega
Não utiliza práticas
advindas da família
de processo ágeis.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Fábricas brasileiras
Empresas
EMPRESA B
Tópicos da teoria de processo de software
Modelo de
processo
Atividades
Características
(tendendo ao
Unified Process ou
ao eXtreme
Program)
Incremental
Levantamento de
requisitos,
modelagem de
negócio, projeto de
software,
equalização,
codificação e teste.
Não utiliza práticas
advindas da família
de processo ágeis.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Fábricas brasileiras
Empresas
EMPRESA C
Tópicos da teoria de processo de software
Modelo de
processo
Atividades
Características
(tendendo ao
Unified Process ou
ao eXtreme
Program)
Incremental
Levantamento de
requisitos,
modelagem de
negócio, projeto de
software,
equalização,
codificação e teste.
Não utiliza práticas
advindas da família
de processo ágeis.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Fábricas brasileiras
Empresas
EMPRESA D
Tópicos da teoria de processo de software
Modelo de
processo
Atividades
Características
(tendendo ao
Unified Process ou
ao eXtreme
Program)
Incremental
Levantamento de
requisitos, projeto de
software,
equalização,
codificação e teste
Não utiliza práticas
advindas da família
de processo ágeis.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Fábricas brasileiras
Empresas
EMPRESA E
Tópicos da teoria de processo de software
Modelo de
processo
Atividades
Características
(tendendo ao
Unified Process ou
ao eXtreme
Program)
Incremental
Coleta dos requisitos,
modelagem de
negócio, projeto de
software,
equalização,
produção de código,
teste, implantação e
revisão.
Utiliza algumas
práticas advindas
da família de
processo ágeis
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Fábricas brasileiras
Empresas
EMPRESA F
Tópicos da teoria de processo de software
Modelo de
processo
Atividades
Características
(tendendo ao
Unified Process ou
ao eXtreme
Program)
Misto entre
evolucionário,
focado na técnica
de prototipação e
incremental
Levantamento de
requisitos, análise de
sistemas, projeto de
software,
equalização,
codificação, teste,
entrega e
manutenção
Não utiliza práticas
advindas da família
de processo ágeis.
José Augusto Fabri – [email protected]
ERBASE 2009 – Ilhéus – Bahia
Comparando brasileiros e japoneses
Framework para implementação de um
processo fabril.
Conclusões e Debate junto ao público
[email protected]
http://engenhariasoftware.wordpress.com
José Augusto Fabri
ERBASE 2009 – Ilhéus – Bahia
Download

Slides do Curso