Você está na página 1de 55

Este material não pode ser utilizado sem consentimento prévio.

INOVADORES
LABORATÓRIO DE
EMPREENDIMENTOS

Prof. Me. Rafael Gomes


Este material não pode ser utilizado sem consentimento prévio.

SOFTWARE
INTRODUÇÃO A FÁBRICA DE

Prof. Me. Rafael Gomes


INTRODUÇÃO
Este material não pode ser utilizado sem consentimento prévio.

Ao visitar uma fábrica de software, não


vamos encontrar trabalhadores
uniformizados operando maquinários
ruidosos, nem esteiras pelas quais se vê
circular o produto inacabado em seus
diversos estágios de produção.
INTRODUÇÃO
Este material não pode ser utilizado sem consentimento prévio.

Ao contrário, de modo geral vamos nos


deparar com um salão silencioso,
subdividido por divisórias que delimitam o
espaço de pequenos grupos de
empregados, e na mesa de cada um deles
existe um computador no qual estão
trabalhando.
INTRODUÇÃO
Este material não pode ser utilizado sem consentimento prévio.

A associação metafórica entre fábrica e


esteira de produção no desenvolvimento de
software sugere a aplicação de técnicas
para produção em larga escala (fordista), de
forma coordenada e com qualidade.
CONCEITO
Este material não pode ser utilizado sem consentimento prévio.

Segundo Fernandes (2004):


“Fábrica de Software pode ter
vários escopos, que vai desde um
projeto completo de software, até
um projeto físico ou mesmo a
codificação de programas(...)”.
CONCEITO
Este material não pode ser utilizado sem consentimento prévio.

Para Greenfield (2003): “pressupõe o


desenvolvimento de sistemas baseado em
componentes, direcionado a modelos e a linhas
de produto de software, o que caracteriza uma
iniciativa de fábrica, barateando a montagem de
aplicações por conta da reutilização sistemática,
que possibilita a formação de cadeias de
produção”.
EVOLUÇÃO DA PRODUÇÃO DE SOFTWARE
Este material não pode ser utilizado sem consentimento prévio.

Inicialmente, a maioria da mão de


obra alocada nos serviços de
desenvolvimento e manutenção
de sistemas (software) era
percebida como formada por
pessoas “diferentes” das demais,
com alto grau de criatividade.
EVOLUÇÃO DA PRODUÇÃO DE SOFTWARE
Este material não pode ser utilizado sem consentimento prévio.

O horário de trabalho era,


geralmente, diferenciado
dos demais, mais flexível em
função das inúmeras “noites
viradas” e “finais de semana
dobrados”.
EVOLUÇÃO DA PRODUÇÃO DE SOFTWARE
Este material não pode ser utilizado sem consentimento prévio.

Contudo, gradativamente, as metodologias


de programação e modelagem de sistemas
foram disciplinando o processo de
desenvolvimento, e os analistas e
programadores passaram a depender cada
vez menos da inspiração.
EVOLUÇÃO DA PRODUÇÃO DE SOFTWARE
Este material não pode ser utilizado sem consentimento prévio.

Atualmente, embora todo sistema seja


único, os softwares são compostos em
grande parte por componentes que podem
ser desenvolvidos separadamente, ou
comprados de terceiros, e depois montados
para obter o resultado final desejado.
Este material não pode ser utilizado sem consentimento prévio.

Influências na conceituação de fábrica de software


EVOLUÇÃO DA PRODUÇÃO DE SOFTWARE
Este material não pode ser utilizado sem consentimento prévio.

Segundo o paradigma taylorista-fordista:


Ambos transformam o processo de
produção, de um esquema artesanal para
um baseado em uma linha de produção
que se apoia em tarefas repetitivas e
padronizadas;
EVOLUÇÃO DA PRODUÇÃO DE SOFTWARE
Este material não pode ser utilizado sem consentimento prévio.

Assim como Ford criou o conceito de


intercambialidade entre as partes do
automóvel, o conceito da reutilização de
programas tenta aumentar a produtividade
e melhorar a qualidade através da
reutilização de componentes de software
por mais de um projeto.
ESTRUTURA

ORGANIZAÇÃO DA EMPRESA
Este material não pode ser utilizado sem consentimento prévio.

VENDAS PESSOAL FÁBRICA DE SOFTWARE

VISÃO VISÃO VISÃO


ORGANIZAÇÃO QUALIDADE PROCESSOS

O ambiente de desenvolvimento de software


ESTRUTURA
Este material não pode ser utilizado sem consentimento prévio.

A organização colocada na figura anterior


indica que a fábrica de software faz parte
de uma organização de negócio composta
por setores ou divisões, quer o
desenvolvimento de software seja sua
atividade exclusiva ou não.
ESTRUTURA
Este material não pode ser utilizado sem consentimento prévio.

A visão organização contém a


representação estrutural ou
hierárquica dos papéis e a
distribuição dos processos na
estrutura organizacional da
fábrica de software.
ESTRUTURA
Este material não pode ser utilizado sem consentimento prévio.

A visão qualidade abrange os


modelos e os padrões de
qualidade aplicados aos
processos e aos produtos e,
portanto, está relacionada com
modelos que representam as
visões organização e processo.
ESTRUTURA
Este material não pode ser utilizado sem consentimento prévio.

A visão processos contém os processos


que definem a fábrica de software,
incluindo as suas atividades, produtos,
recursos e atores que instanciam os papéis.
Este material não pode ser utilizado sem consentimento prévio.

Escopo de fornecimento da fábrica


Escopo de fornecimento da fábrica
Este material não pode ser utilizado sem consentimento prévio.

Fábrica de programas — é a menor


unidade da fábrica e tem por objetivo
codificar e testar programas de
computador.
Seu processo produtivo é formado pela
construção e por testes unitários.
Escopo de fornecimento da fábrica
Este material não pode ser utilizado sem consentimento prévio.

Fábrica de projetos físicos — atua num


âmbito mais amplo do processo de
produção, englobando, além das atividades
inerentes à fábrica de programas, uma fase
anterior de projeto detalhado e fases
posteriores de testes de integração e
aceitação.
Escopo de fornecimento da fábrica
Este material não pode ser utilizado sem consentimento prévio.

Fábrica de projeto de software — estende


a sua atuação, iniciando seu processo a
partir das fases de projeto conceitual e
especificação lógica. Para tanto é
fundamental que o conhecimento do
negócio de seus clientes seja dominado.
Escopo de fornecimento da fábrica
Este material não pode ser utilizado sem consentimento prévio.

Fábrica de projeto ampliada — atua desde


a concepção da arquitetura da solução até
a entrega do software pronto e testado,
apto a entrar em produção. Essa fase requer
o conhecimento de soluções mais
abrangentes na área de TI.
LABORATÓRIO DE EMPREENDIMENTOS INOVADORES
Este material não pode ser utilizado sem consentimento prévio.

COMO O TRABALHO É
REALIZADO EM UMA FÁBRICA DE
SOFTWARE?
AMBIENTE DE TRABALHO
Este material não pode ser utilizado sem consentimento prévio.

Como já observado, em uma fábrica de


software não encontraremos a figura do
tradicional trabalhador fabril, uniformizado
geralmente com macacão azul; na
realidade, encontraremos o “colarinho
branco” trabalhando em equipe e não em
linhas de produção.
AMBIENTE DE TRABALHO
Este material não pode ser utilizado sem consentimento prévio.

As equipes que trabalham nas


fábricas de software atuam em
espaços delimitados por
divisórias, ou em home office,
nas quais cada membro da
equipe desenvolve suas
atividades em um computador.
AMBIENTE DE TRABALHO
Este material não pode ser utilizado sem consentimento prévio.

A esteira é a própria rede de comunicação


de dados sendo utilizada para a
transferência de artefatos produzidos por
cada técnico, seja de uma equipe para
outra ou entre ambientes virtuais que
coexistem numa fábrica de software.
AMBIENTE DE TRABALHO
Este material não pode ser utilizado sem consentimento prévio.

Os ambientes de trabalho nos


quais se processam todo o ciclo
de desenvolvimento de um
software ficam “hospedados” em
computadores denominados
“servidores de desenvolvimento”.
AMBIENTE DE TRABALHO
Este material não pode ser utilizado sem consentimento prévio.

Tais ambientes de trabalho podem obedecer à


seguinte configuração:
• ambiente de desenvolvimento, onde residem os artefatos
enquanto estão sendo desenvolvidos ou corrigidos;
• ambiente de testes, onde os artefatos dados como
prontos são submetidos a avaliações;
• ambiente de homologação, onde os artefatos prontos e
aprovados nos testes são submetidos à aprovação do
cliente.
AMBIENTE DE TRABALHO
Diagrama da esteira de produção da fábrica
Este material não pode ser utilizado sem consentimento prévio.

Fonte: Fábrica de software.Editora FGV, 2012.


AMBIENTE DE TRABALHO
Este material não pode ser utilizado sem consentimento prévio.

Até o momento da programação, quando enfim


é produzido o software propriamente dito, os
artefatos produzidos apenas registram
concepções, por exemplo, de atores do mundo
real que vão interagir com o software, normas de
negócio a serem observadas em cada uma das
funcionalidades que vão ser disponibilizadas aos
usuários, etc.
Este material não pode ser utilizado sem consentimento prévio.

EXECUÇÃO DO TRABALHO
Fronteira projeto-execução

Fonte: Fábrica de software.Editora FGV, 2012.


EXECUÇÃO DO TRABALHO
Este material não pode ser utilizado sem consentimento prévio.

Para o perfeito funcionamento das


atividades de uma fábrica de software, é
fundamental a adoção de um processo de
desenvolvimento em que, uma vez
determinado seu ciclo de vida, estejam
definidas as tarefas e os produtos gerados
em cada etapa, bem como os responsáveis
por cada uma delas.
EXECUÇÃO DO TRABALHO
Este material não pode ser utilizado sem consentimento prévio.

Assim, à luz do modelo fordista, cumpridos


tais requisitos e com a alta especialização
dos profissionais alocados, a produtividade
de cada estação da “esteira de produção”
estaria garantida, bem como a do artefato
produzido para a etapa seguinte.
PROCESSOS DE DESENVOLVIMENTO
Este material não pode ser utilizado sem consentimento prévio.

O conceito de fábrica de software baseia-se


na ideia de prover uma linha de produção
de soluções que atendam às necessidades
específicas de cada cliente.
PROCESSOS DE DESENVOLVIMENTO
Este material não pode ser utilizado sem consentimento prévio.

Para organizar e disciplinar o


desenvolvimento de software
é importante determinar as
atividades fundamentais que
deverão estar presentes em
qualquer processo definido.
PROCESSOS DE DESENVOLVIMENTO
Este material não pode ser utilizado sem consentimento prévio.

Segundo Humphrey (1989), um processo de


desenvolvimento de software pode ser
entendido como um conjunto de passos
(atividades) necessários para transformar os
requisitos do usuário em software.
PROCESSOS DE DESENVOLVIMENTO
Este material não pode ser utilizado sem consentimento prévio.

Humphrey (1989) aponta, porém, distinções


entre um processo de desenvolvimento de
software e um processo de manufatura
típico:
PROCESSOS DE DESENVOLVIMENTO
Este material não pode ser utilizado sem consentimento prévio.

• O produto software geralmente é mais


complexo do que outros produtos
manufaturados;
• O custo insignificante de reproduzir o
software leva à descoberta tardia de
problemas.
PROCESSOS DE DESENVOLVIMENTO
Este material não pode ser utilizado sem consentimento prévio.

• Em virtude de a engenharia de software


ser relativamente recente, o mercado não
dispõe de muitos gerentes e profissionais
com o necessário conhecimento nem com
experiência suficiente para avaliar e calibrar
um processo de desenvolvimento de
software;
PROCESSOS DE DESENVOLVIMENTO
Este material não pode ser utilizado sem consentimento prévio.

Vários tipos de informação


devem ser integrados em um
modelo de processo para
indicar quem, quando, onde,
como e por que os processos
são realizados.
PROCESSOS DE DESENVOLVIMENTO
Este material não pode ser utilizado sem consentimento prévio.

Podemos classificar um processo de


desenvolvimento de software em dois tipos,
segundo sua forma de execução.
Tradicional e Ágil
PROCESSOS DE DESENVOLVIMENTO
Este material não pode ser utilizado sem consentimento prévio.

Tradicional (ou processo “pesado”) — tem


como foco principal o levantamento e o
detalhamento rigoroso dos requisitos do
sistema antes do início do
desenvolvimento.
PROCESSOS DE DESENVOLVIMENTO
Este material não pode ser utilizado sem consentimento prévio.

Tradicional (ou processo “pesado”)


É caracterizado pelo planejamento
detalhado das fases sequenciais de
processo e pela disponibilização de
artefatos gerados numa fase para a fase
seguinte (Pressman, 2000).
PROCESSOS DE DESENVOLVIMENTO
Este material não pode ser utilizado sem consentimento prévio.

Ágil (ou processo “leve”) — tem como foco


principal a eficiência, ficando no
meio-termo entre a inexistência e o rigor de
um processo tradicional.
PROCESSOS DE DESENVOLVIMENTO
Este material não pode ser utilizado sem consentimento prévio.

Ágil (ou processo “leve”)


Pressupõe que cada atividade deve agregar
valor ao processo, à comunicação, à
adaptabilidade e ao aprendizado constante.
Sendo sua gestão orientada a pessoas, é
esperado um ciclo de vida curto, durante o
qual a rotatividade seja mínima.
PROCESSOS DE DESENVOLVIMENTO
Este material não pode ser utilizado sem consentimento prévio.

No processo tradicional, a
burocracia lhe agrega uma
quantidade de tarefas maior do
que aquelas previstas no
processo ágil, com previsível
impacto no prazo de execução.
PROCESSOS DE DESENVOLVIMENTO
Este material não pode ser utilizado sem consentimento prévio.

Porém, a informalidade do
processo ágil dificulta o
desenvolvimento de software
quando as regras do negócio
são complexas, ou cujo escopo é
grande, ou desenvolvido por
uma equipe numerosa.
PROCESSOS DE DESENVOLVIMENTO
Este material não pode ser utilizado sem consentimento prévio.

A concepção desse processo de


desenvolvimento em cada fábrica de
software não é genérica, e deve estar
adequada ao tipo e contexto dessa fábrica,
considerando:
PROCESSOS DE DESENVOLVIMENTO
Este material não pode ser utilizado sem consentimento prévio.

• finalidade da fábrica de software:


desenvolver pacotes (tais como sistemas de
gestão — ERP) ou software sob encomenda;
• processos básicos de produção de
software: desenvolvimento e/ou
manutenção (corretiva, evolutiva ou legal);
PROCESSOS DE DESENVOLVIMENTO
Este material não pode ser utilizado sem consentimento prévio.

• características do cliente, como, por


exemplo, sua precisão ao enunciar
requisitos;
• perfil das equipes, em termos de
conhecimento e experiência não apenas
nas ferramentas utilizadas na fábrica, mas
no negócio do cliente;
PROCESSOS DE DESENVOLVIMENTO
Este material não pode ser utilizado sem consentimento prévio.

• disponibilidade de recursos versus


paralelismo de projetos encomendados à
fábrica;
• diversidade das plataformas de
desenvolvimento.
ATIVIDADE
Este material não pode ser utilizado sem consentimento prévio.

Resumo com os seguintes tópicos:


● Caracterize as qualidades mais importantes do
conceito de fábrica de software;
● Explique com base no seu entendimento a
importância da utilização do conceito de esteira
de produção da fábrica na operacionalização
das atividades de uma empresa de
desenvolvimento de software.
Este material não pode ser utilizado sem consentimento prévio.

LABORATÓRIO DE
EMPREENDIMENTOS
INOVADORES
Aula finalizada. Obrigado! Prof. Me Rafael Gomes

Você também pode gostar