You are on page 1of 8

XXIII Encontro Nac. de Eng.

de Produção - Ouro Preto, MG, Brasil, 21 a 24 de out de 2003

Fábrica de Software: Promovendo a Criação de Empresas


Competitivas em Tecnologia da Informação

Douglas Hamilton de Oliveira (CEETEPS/FATEC Jundiaí-SP) dholiveira@fatec.br


Alfredo Colenci Neto (CEETEPS/FATEC Jundiaí-SP) colenci@terra.com.br

Resumo
Este artigo apresenta as contingências que envolvem a geração de soluções em softwares com base na
utilização de componentes reutilizáveis, tendo como alicerce as ferramentas e metodologias atuais da
Tecnologia da Informação, utilizando como plataforma a abordagem fábrica de software em um
ambiente acadêmico, como mecanismo estimulador da capacitação tecnológica e gerador de
empresas competitivas. Descreve-se as experiências desenvolvidas no projeto fábrica de software em
implantação na Faculdade de Tecnologia de Jundiaí-SP do Centro Paula Souza.
Palavras Chave: Fábrica de Software, Empreendedorismo, Incubadora de Tecnologia

1. Introdução
Torna-se inegável que software seja um dos componentes de maior importância em qualquer
atividade de negócio, uma vez que o tratamento preciso da informação, nos dias atuais, pode
tanto somar novas perspectivas de crescimento organizacional, como também subtrair
consideravelmente a capacidade operacional das organizações. Nesse contexto a Tecnologia
da Informação assume o papel de alicerce que fornece os elementos essenciais para a geração
e distribuição do conhecimento por meio da informação, através de suas técnicas,
metodologias e toda a infra-estrutura, em termos de ferramentas e equipamentos atualmente
disponíveis.
Há uma dependência da própria sociedade atual com relação a esses produtos, quer seja nas
atividades cotidianas, como por exemplo através do sistema bancário, que utilizam sistemas
de software maciçamente, ou em sistemas críticos, onde o software substitui o ser humano
em atividades, que exigem níveis altos de concentração e precisão.
O Brasil é atualmente apontado como o sétimo mercado mundial na produção de software,
sendo que este mercado vem crescendo desde 1995 a uma taxa aproximada de 11%, a maior
do setor de Tecnologia da Informação, três vezes maior do que a de hardware e cinco vezes
maior do que a do PIB, segundo SOFTEX (2003), destacando desta forma a importância desta
indústria e a demanda do país para esse segmento de mercado.
Cabe destacar a capacidade intelectual dos desenvolvedores brasileiros na construção de
sistemas computacionais, que para se manterem competitivos neste mercado, devem estar
alinhados com as modernas metodologias desenvolvidas pelos diversos setores de pesquisa e
desenvolvimento nacionais e internacionais, demandando sólida formação profissional,
flexibilidade e dinamismo, para competir de fato com os novos desafios impostos pela era da
informação.
E, além dos esforços individuais, faz-se necessário que empresas, órgãos governamentais e
universidades estejam voltados para a criação de mecanismos que dêem suporte para que a
indústria de software continue a crescer e atinja patamares ainda maiores.
No setor governamental e acadêmico várias são as metodologias que vêm sendo discutidas
para uma melhor gestão do processo de desenvolvimento de software, sendo que algumas

ENEGEP 2003 ABEPRO 1


XXIII Encontro Nac. de Eng. de Produção - Ouro Preto, MG, Brasil, 21 a 24 de out de 2003

vertentes apontam para a utilização dos modelos oriundos da própria gestão da manufatura,
respeitando-se as suas próprias peculiaridades, considerando que muitas atividades em ambos
os setores encontram forte similaridade, segundo PESSOA (2001).
Um desses conceitos, torna-se assunto principal do artigo, são as plantas de desenvolvimento
de software, similares às plantas industriais, denominadas fábrica de software, que vem
recebendo destaque mediante a instalação de diversos parques de alta produção de software
tanto no Brasil quanto em nível mundial, isto com investimentos oriundos de entidades
governamentais, e também do próprio setor privado nacional e internacional, fator esse que
motivou o processo de instalação de uma dessas plantas na Faculdade de Tecnologia de
Jundiaí.

2. Fábrica de Software
Apesar de alguns autores como ARMOUR (2000) defenderem que software não constitui um
produto, e sim uma forma de armazenamento de conhecimento, e o seu desenvolvimento não
representa produzir um produto, mas adquirir conhecimento, e BROOKS (1987) que descreve
que software é um conjunto de construções conceituais, complexas e não-lineares, sujeitas a
mudanças e modificações, e invisível, destacando, ambos, desta maneira a dificuldade e
complexidade envolvida na atividade de construção de um software, muitas metodologias
para a criação de software apontam para a aproximação cada vez maior com a abordagem da
criação de produtos na gestão da manufatura.
De forma comparativa, na produção industrial os equipamentos necessitam atenção especial,
pois incidem diretamente nas medidas de produtividade, requerendo estratégias que fazem-nas
produzir mais com o mínimo possível de interrupções, sendo que em uma linha de produção
de software o elemento essencial é o ser humano, que além de requerer diversas habilidades,
que vão do conhecimento básico e essencial em termos de programação, além da criatividade
e engenhosidade, requerendo assim como os equipamentos da manufatura, atenção e
estratégias que minimizem sua vulnerabilidade.
O estágio atual da Tecnologia da Informação (TI) determina que softwares são constituídos
por módulos ou peças menores que são acopladas para a montagem do produto final, isto em
um conceito de múltiplas camadas que dividem a porção do negócio, distribuição e interface.
Estes módulos são criados na programação orientada a objetos, que possibilita que partes
individuais possam ser desenvolvidas independentemente das demais, desde que planejadas.
Os projetos de software, assim como acontece em alguns setores industriais, podem ser
planejados em termos estruturais, a fim de permitirem o desenvolvimento por diversos
programadores, na própria empresa ou de forma terceirizada, que são criados através das
células de produção, que recebem requisições de novos processos e produzem componentes
com características determinadas e específicas, em níveis de qualidade definidas em
normalizações, sendo posteriormente utilizados em diversas soluções distintas, o que
atualmente é referido como sendo reaproveitamento de código.
A indústria desenvolve técnicas semelhantes voltadas para a gestão das operações, com
atividades de medição no processo de desenvolvimento, medidas de produtividades, técnicas
de gerenciamento de projeto, controle de qualidade, todos termos conhecidos e que começam
a fazer parte das software-houses.
O termo fábrica de software refere-se à planta necessária ao desenvolvimento da etapa de
programação, na cadeia de desenvolvimento de software que consiste: análise do negócio,
fábrica lógica, fábrica física, testes, certificação e homologação. Tendo o termo surgido da

ENEGEP 2003 ABEPRO 2


XXIII Encontro Nac. de Eng. de Produção - Ouro Preto, MG, Brasil, 21 a 24 de out de 2003

analogia com as linhas de produção fabris que montam produtos em série, baseado em
componentes com características semelhantes e com a mesma qualidade.
Segundo o MCT (2002), o Brasil desenvolve através das entidades CNPQ, SOFTEX, entre
outras, políticas estruturantes para o incremento das exportações de software, objetivando
criar condições de modificação do cenário das tecnologias no País, viabilizando a participação
no mercado internacional. Focalizando o desenvolvimento da produção de software, com
base na competitividade e internacionalização, na regionalização dos recursos humanos,
visando uma melhor distribuição de renda nacional, destacando-se a implantação de fábricas
de software como regime de complementação da formação no meio acadêmico.
Utilizando os mesmos conceitos de uma fábrica modelo, as fábricas de software possuem
como finalidade a maximização da produção de software, e neste sentido, a programação
orientada a objetos, em plataformas de arquitetura distribuída, permite a criação de
componentes reutilizáveis, reduzindo desta maneira os custos e o tempo de implementação de
sistemas. Desta forma objetiva-se estruturas de desenvolvimento que reúnam atividades
como: atendimento aos clientes; planejamento e controle de produção; produção; garantia e
qualidade, segundo FAGUNDES (2002).
No meio acadêmico a fábrica de software, além da produção de software voltado para o
atendimento das demandas internas e externas, também objetiva criar modelos que
possibilitem a análise de desempenho das diversas arquiteturas e metodologias de
desenvolvimento, isto mediante a constituição de laboratórios que são freqüentados por
pesquisadores, docentes e discentes.

3. Estudo de Caso: A Fábrica de Software da FATEC Jundiaí


A Faculdade de Tecnologia de Jundiaí compõe uma das 13 faculdades do Centro Estadual de
Educação Tecnológica Paula Souza do Governo do Estado de São Paulo. Esta autarquia
estadual concentra além das faculdades 102 escolas técnicas de ensino médio em 88
municípios do Estado de São Paulo, apresentando números na ordem de 10 mil alunos no
ensino superior e 100 mil alunos no ensino técnico e de nível médio.
A FATEC Jundiaí oferece o curso de Graduação em Tecnologia em Informática com Ênfase
em Gestão de Negócios, sendo que este curso além de operacionalizar os conceitos
relacionados com a Tecnologia da Informação, é constituído por disciplinas voltadas para o
incremento do espírito empreendedor dos alunos, mediante atividades de criatividade e
inovação, além da formação em gestão de empresas.
O objetivo da instalação de uma fábrica de software foi o de agregar as competências dos
diversos componentes acadêmicos em um laboratório de pesquisa em métodos e processos de
software, com a incorporação de novas arquiteturas e metodologias de desenvolvimento,
estimulando assim discentes e docentes nas atividades de capacitação tecnológica, produção
científica, transferência de tecnologia e treinamento empresarial.
Sob o ponto de vista acadêmico a fábrica de software busca promover a interdisciplinaridade
e a criação de um ambiente empresarial durante o período da graduação, isto através da
realização de projetos de criação de software, com a liberdade de se buscar o domínio das
mais novas metodologias na área de TI. Tal atividade estimula a capacitação e atualização
constante do corpo docente, o surgimento de idéias inovadoras, e induz a formação de uma
escola de empreendedores, através do fortalecimento do desenvolvimento do trabalho
cooperativo, estudo autodidata e formação de grupos de estudo.

ENEGEP 2003 ABEPRO 3


XXIII Encontro Nac. de Eng. de Produção - Ouro Preto, MG, Brasil, 21 a 24 de out de 2003

É na Universidade que ocorre o ambiente ideal de pesquisa e desenvolvimento, pois a mesma


possibilita além dos recursos pessoais o de infra-estrutura, sendo que somados a
disponibilidade de tempo, permitem que as inovações sejam propostas e incorporadas em um
ritmo mais dinâmico. O estímulo dos estudantes na participação de atividades como a criação
de software, permite que além da utilização prática dos conceitos obtidos nas disciplinas
regulares, estes possam desempenhar papéis profissionais vinculados à uma entidade
empresarial, mediante o desenvolvimento de estágio supervisionado e iniciação científica.
A fábrica de software em seus diversos aspectos, torna-se um importante elemento de
desenvolvimento regional, considerando que concentra sólidas atividades de capacitação
tecnológica somadas à própria graduação, e ainda o estimulo à formação empreendedora, que
permite o surgimento de projetos inovadores, que possam ser propostos, mediante a
apresentação de plano de negócios, em incubadoras de software.

4. Estrutura Física e Lógica


Uma das considerações fundamentadas pela prática das empresas de software consiste na
formulação dos projetos baseados em processos, sendo que este mecanismo possibilita a
especificação formal, detalhada e precisa das atividades, responsabilidades e ferramentas
necessárias para que um módulo, parcial ou abrangente, possa ser criado com controle e
precisão, e gerido de forma a estabelecer metas e prazos a serem atingidos.
Os processos de software possibilitam ainda extrair métricas de produtividade e qualidade,
além de outras informações essenciais para a produção com qualidade, o que acarretará na
gestão otimizada da produção e dos requisitos necessários para o funcionamento do sistema.
O IEEE (1990) define um processo como sendo uma seqüência de passos realizados com um
determinado propósito, sendo que o processo de software é definido pela SEI (2001) como
sendo um conjunto de atividades, métodos, práticas e transformações que as pessoas utilizam
para desenvolver e manter um software. O SEI (2001) define ainda como uma das
prioridades para a indústria de software nacional a adoção do modelo CMM (Capability
Maturity Model), a ser atingido pelas empresas na definição de seus processos, cuja
certificação, ampliam as possibilidades econômicas voltadas para o mercado exterior.
Uma das metodologias atuais é a RUP (Rational Unified Proccess), que se refere ao
desenvolvimento de soluções baseadas em casos de uso, permitindo extrair processos que
podem ser orientados pelo próprio CMM. Esta metodologia engloba ainda o projeto baseado
em Análise Orientada a Objetos, com diversos diagramas gráficos descritos pela linguagem
UML (Unified Modeling Language). Em contrapartida à metodologia RUP, começa a ganhar
força a metodologia XP (Extreme Programming) fornecendo também subsídios para os
projetos da fábrica de software.
Tais elementos consistem na fundamentação teórica para o estabelecimento da fábrica de
software, que constitui suas ações baseadas em projetos específicos, planejados de maneira a
incorporarem métricas de produtividade e qualidade.
Retroagindo à analogia empregada na produção da manufatura, atualmente as organizações
fabris reorganizam suas estruturas produtivas no formato de células flexíveis que concentram
seus esforços na produção de peças com fortes características de afinidade. O conjunto de
células constitui mini-fábricas que produzem os produtos, atuando de maneira diferente da
manufatura clássica que quando da ocorrência de problemas, interrompiam total ou
parcialmente o processo de produção até que os níveis hierárquicos superiores fossem
acionados e tomassem suas decisões.

ENEGEP 2003 ABEPRO 4


XXIII Encontro Nac. de Eng. de Produção - Ouro Preto, MG, Brasil, 21 a 24 de out de 2003

Os projetos geridos pela fábrica de software são desenvolvidos por estruturas organizacionais
denominadas células de produção (CP), criadas baseadas nas competências dos grupos de
trabalho. As células de produção funcionam com o mínimo de hierarquia e com o máximo de
responsabilidade, sendo basicamente gerenciadas pelos líderes de projetos, e com uma forte
aproximação com os clientes, para garantir, entre outras características, o sucesso dos
projetos. Objetiva-se formar, com essas estruturas enxutas, fábricas flexíveis com alto poder
de resposta e adaptabilidade às mudanças provocadas pelos diferentes projetos a serem
desenvolvidos.
A figura 1 apresentada abaixo demonstra graficamente a alocação das células de produção nos
projetos e sua hierarquia perante os sistemas de gestão administrativa e de lógica.

Figura 1. Modelo de gestão proposto para a fábrica de software

As células de produção são direcionadas para o planejamento dos projetos e processos na


fábrica lógica, cujo resultado é repassado às células de produção para a programação
propriamente dita, sendo que todo o procedimento é fundamentado pelas metodologias de
desenvolvimento baseadas em processos, e segundo normas estabelecidas para os modelos,
padrões, métricas e sistemas de avaliação da própria CMM.
Os processos de desenvolvimento de software são definidos através dos seguintes
procedimentos:
- entrada: refere-se à obtenção dos requisitos, planejamento, determinação das regras de
qualidade, verificação de componentes já desenvolvidos e montagem do processo.
- produção: recebe o processo de entrada, programa os testes, desenvolve o código, realiza
os testes e homologa o código.
- saída: recebe o código homologado, realiza a liberação do código e publica as revisões
finais.
Através desta estruturação busca-se a concepção de células de produção interligadas em
diversas bancadas de trabalho, cada uma com seus componentes e responsabilidades.

ENEGEP 2003 ABEPRO 5


XXIII Encontro Nac. de Eng. de Produção - Ouro Preto, MG, Brasil, 21 a 24 de out de 2003

A figura 2 apresentada abaixo demonstra os principais componentes de cada etapa do


processo de desenvolvimento

Figura 2 Estrutura do Processo de Desenvolvimento

A fim de possibilitar uma série de testes de estruturação, a fábrica de software inicialmente


desenvolve projetos que objetivam atender as demandas internas da própria Faculdade e do
CEETEPS, que são escolhidos de maneira a permitir, mediante sua complexidade, a
capacitação dos membros ingressantes, normalmente estudantes do primeiro ano da
graduação. Esses projetos internos são criados com a proposta open-source, e são
disponibilizados em uma incubadora virtual na Internet, vindo de encontro às expectativas da
própria fábrica de software acadêmica, que é a promoção do estudo autodidata e da
capacitação de seus membros, desta forma os participantes, podem obter via Internet todos os
programas, documentos e especificações, para utilização ou mesmo para fins de estudo.
A proposta de open source, no entanto, não é o padrão de desenvolvimento de projetos da
fábrica de software, que poderá atuar em situações específicas em que empresas possam
contratar projetos de cunho estritamente comercial.
5. Processo de Instalação
A fábrica de software possui atualmente três equipes de desenvolvimento, formadas com 26
estudantes e dois professores mestres orientadores, que desenvolvem três projetos distintos
nas áreas: Portais para Internet e Automação Comercial. A plataforma de desenvolvimento
selecionada para a realização dos projetos é a J2EE da Sun Microsystems Inc.
Cada equipe possui as suas próprias células de produção que são distribuídas levando-se em
conta a competência dos participantes, e focadas em áreas específicas de desenvolvimento e
no objetivo geral dos projetos. São utilizadas metodologias diferentes na abordagem de cada
projeto, isto a fim de possibilitar uma análise das características que melhor atendam os
padrões de flexibilidade e agilidade almejadas pela fábrica.
O desenvolvimento dos projetos leva em média de 3 a 4 meses, sendo que toda a produção é
organizada em uma incubadora virtual, de acesso restrito, na própria Internet. Os diversos
objetos gerados durante o desenvolvimento são publicados em um banco de componentes,
através de um procedimento de catalogação de características e funcionalidades, isto a fim de
permitir que, posteriormente, tais elementos construtivos possam ser recuperados e utilizados
em novos projetos.
O ciclo de permanência dos estudantes na fábrica de software é de três anos, sendo cada ciclo
constituído de etapas. A primeira visa à capacitação tecnológica e é realizada através da
formação de grupos de estudos com um trabalho de orientação personalizada, sendo que esta
fase possui duração de um ano.
A seguir, na segunda etapa, ocorre a fase em que os próprios estudantes poderão apresentar
suas próprias propostas de projetos ou serem recrutados para novos projetos institucionais,

ENEGEP 2003 ABEPRO 6


XXIII Encontro Nac. de Eng. de Produção - Ouro Preto, MG, Brasil, 21 a 24 de out de 2003

sendo que neste período os estudantes, além da capacitação tecnológica, receberão orientação
para a montagem de planos de negócios.
A última fase busca estimular os estudantes a apresentarem seus próprios planos de negócios
em uma incubadora de empresas de tecnologia, a qual poderá estar em funcionamento na
própria FATEC. Tal atividade deverá reforçar um dos objetivos da fábrica de software que é
a de transferência de tecnologia, a qual inicialmente será realizada nas empresas geradas pela
própria fábrica, e posteriormente para quaisquer outras empresas de TI.
A figura 3 apresentada abaixo demonstra esse ciclo de permanência, sob o aspecto do
desenvolvimento da capacitação e da produção de software.

Figura 3. Ciclo de permanência na fábrica de software

Decorridos os três anos do curso regular de graduação, os estudantes que tiverem seus
projetos incubados, ainda manterão forte vínculo com a Faculdade, pois estarão por mais dois
anos desenvolvendo seus projetos na própria incubadora, isto em formato de negócio e com
total apoio das entidades parceiras, encerrando desta forma o ciclo onde se busca ao final de
cinco anos que a FATEC possa estar contribuindo além da formação de pessoal qualificado,
também com a geração de empresas competitivas no setor de Tecnologia da Informação.
A incubadora de empresas constituirá uma continuidade do processo de educação
profissional, permitindo que os estudantes possam desenvolver suas idéias inovadoras durante
o curso de graduação e, quando egressos, transformá-las em empresas competitivas.
5. Conclusão
Este artigo apresentou o estudo de caso da implantação da fábrica de software na Faculdade
de Tecnologia de Jundiaí, cuja proposta levou em consideração a instalação de um laboratório
avançado de desenvolvimento de processos de software, para a realização de pesquisas e
desenvolvimento de sistemas na área de Tecnologia de Informação.
Alguns pressupostos foram levantados, no que concerne à utilização da abordagem de
software livre, objetivando a melhoria da capacitação de programadores, e também a
instalação de incubadora de tecnologia, isto a fim de complementar o ciclo de permanência
dos estudantes, possibilitando aos mesmos criarem empresas competitivas e inovadoras, após
a graduação.

ENEGEP 2003 ABEPRO 7


XXIII Encontro Nac. de Eng. de Produção - Ouro Preto, MG, Brasil, 21 a 24 de out de 2003

A fábrica da FATEC Jundiaí foi criada sem fins lucrativos e com o objetivo principal de
projetar sistemas computacionais a partir do conceito da reutilização de código, promovendo a
capacitação de docentes e discentes em metodologias e arquiteturas de desenvolvimento
atuais.
Conclui-se que esta é uma maneira altamente inovadora e que apresenta resultados efetivos na
formação de futuros profissionais desenvolvedores de sistemas informatizados, além de ser a
melhor forma na busca de uma real democratização na utilização da Tecnologia da
Informação.

Referências
ARMOUR, P.G. (2000) The Five Orders of Ignorance. Communications of the ACM 43(10), pp.17–20
BALDUINO, R.(2000) Implementação de um processo de desenvolvimento de software: uma abordagem passo-
a-passo, Rational Software White Paper, Rational Software, Brasil
BROOKS, F.P. (1987) No Silver Bullet: Essence and accidents of software engineering. IEEE Computer,
pp.10–19, April 1987. www.virtualschool.edu/mon/SoftwareEngineering/BrooksNoSilverBullet.html.
CARVALHO, A.P.L.F et ali. (2002) Empresas de Informática que Surgiram a partir do Meio Acadêmico,
Relatório Final da Disciplina SCE299, ICMC-USP/Brasil
FAGUNDES, E. (2002). Como funciona uma fábrica de software? http://www.efagundes.com/artigos/
index.html (acesso em Mai/2003), Brasil
FELICIANO, A. & SHIMIZU, T (1996) Sistemas Flexíveis de Informações, Editora Makron Books, São Paulo,
Brasil
GNU (2001). General Public Licensem, Free Software Foundation / GNU, http://www.gnu.org/copyleft/gpl.html
(acesso em Out/2001), USA
HEUMANN, J (2001) Introduction to Business Modeling Using the Unified Modeling Language (UML),
Rational Software, USA
IEEE-STD-610 (1990) ANSI/IEEE Std610.12-1990, IEEE Standard Glossary of Software Engineering
Terminology, February, USA.
MCT, (2002) Política Nacional de Informática, Ministério da Ciência e Tecnologia, Governo do Brasil.
http://www.mct.org.br , Brasil
RAMOS, P.A.L, et.ali. (2002) Fábrica de Software, Dissertação, ULSA-Universidad La Sale, Maestria em
Sistemas Computacionales, Mexico
RUMBAUGH, J (2000) Trends in UML and e-Development, Rational Software, USA
PESSOA, M. e LUCHETTI, C.A. (2001) Software: Obra de Arte ou Produto Manufaturado, Boletim
Conectivo, Seção Painel, pg.5, Fundação Vanzolini, USP, Brasil
PESSOA, M., et. Ali. (1999) Uma Experiência Pratica na Implantação do Modelo CMM, Fundação Vanzolini,
USP, Brasil
SEI (2001) Modelo de Maturidade de Capabilidade de Software (CMM), CMU/SEI-93-TR-24-CMM V1.1,
http://www.sei.cmu.edu, Brasil
SOFTEX (2003). Slicing the Knowledge-Based Economy in India, China and Brazil. A tale of three software
industries. MIT – SOFTEX, Brasil.

ENEGEP 2003 ABEPRO 8