You are on page 1of 13

XXXI ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO

Inovao Tecnolgica e Propriedade Intelectual: Desafios da Engenharia de Produo na Consolidao do Brasil no


Cenrio Econmico Mundial
Belo Horizonte, MG, Brasil, 04 a 07 de outubro de 2011.

CARACTERIZAO DO PROCESSO DE
DESENVOLVIMENTO DE SOFTWARE:
UM ESTUDO DE MLTIPLOS CASOS DA
REGIO METROPOLITANA DE RECIFE
Daniel de Araujo Martins (ufrn)
danielmartins@ufrnet.br
Anatalia Saraiva Martins Ramos (ufrn)
anatalia@pesquisador.cnpq.br
Fernando Dias Lopes (ufrgs)
flopes@ufrnet.br

A indstria brasileira de software apresenta algumas particularidades


que a diferenciam de outras indstrias situadas em pases centrais, o
que torna seu entendimento relevante. Nesta perspectiva, a
compreenso da dinmica e das relaes innstitucionais que operam a
formao e a estruturao da indstria nacional de software est ainda
desacobertada academicamente. Questionamentos sobre como os
software so desenvolvidos e sobre como os processos de
desenvolmento de software so operados permanecem sem respostas
comprovadas. Diante do exposto, este trabalho um esforo para
intensificar os estudos sobre o desenvolvimento de softwares, bem
como caracterizar as estruturas produtivas atualmente estabelecidas
entre as organizaes desenvolvedoras de software. No caso, foco
dado na caracterizao do processo produtivo, nas metodologias de
desenvolvimento e nas prticas empregadas. Para tanto, realizado
um estudo de mltiplos casos no plo de desenvolvimento de software
situados na regio metropolitana do Recife (Brasil). Como resultado,
traada uma caracterizao das empresas investigadas no que diz
respeito s metodologias e prticas do processo produtivo de software.
Antecipadamente, pode-se concluir que as empresas investigadas
estruturam seus processos produtivos em torno de ambos os
paradigmas de desenvolvimento, quais sejam: tradicional e gil. Entre
as empresas que empregam o paradigma gil, a metodologia scrum
parece ser o padro predominante no mercado. Em relao s
empresas cujos processos de desenvolvimento esto fundamentados no
paradigma tradicional, pode-se dizer que estas institucionalizaram a
metodologia RUP.
Palavras-chaves: Indstria de software, Processo produtivo,
metodologia de desenvolvimento, paradigma de desenvolvimento

XXXI ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO


Inovao Tecnolgica e Propriedade Intelectual: Desafios da Engenharia de Produo na Consolidao do Brasil no
Cenrio Econmico Mundial
Belo Horizonte, MG, Brasil, 04 a 07 de outubro de 2011.

1. Introduo
Estudos na rea de sistemas de informao so fundamentais para formulao e difuso de
novos conhecimentos. preciso compreender no s os impactos, mas tambm o
desenvolvimento dos sistemas e o porqu das organizaes estarem adotando-os em uma
gama de aplicaes. Reconhece-se tambm que muito esforo tem sido desprendido, inclusive
pelas cincias administrativas, para compreender os motivos e razes capazes de influenciar o
processo de estruturao tecnolgica das organizaes. Tais investigaes tm focado
esforos principalmente nos aspectos organizacionais da adoo e impactos da tecnologia
(HOPPEN; MEIRELLES, 2005; BENBASAT; ZMUD, 2003; ORLIKOWSKI; IACONO,
2001; IIVAR; HIRSCHHEIM; KLEIN, 1998).
Nesse sentido, muitas teorias das mais diferentes disciplinas e variveis de matizes diversas
so componentes de instrumentos utilizados em investigaes de natureza organizacional e de
cunho tecnolgico. Se por um lado, essa elevada diversidade de estudos tem permitido
compreender o fenmeno de estruturao tecnolgica a partir de perspectivas diferentes, por
outro, tem levado a uma miscelnea de estudos e, conseqentemente, reforado o que
Benbasat e Zmud (2003) tm chamado de crise de identidade da disciplina de Sistema de
Informao (SI).
Orlikowski e Iacono (2001) defendem que a compreenso dos Sistemas de Informao passa
pelo entendimento dos artefatos de Tecnologia da Informao (TI) que o compem e dos seus
subcomponentes e ciclo de vida. O artefato de TI entendido como sendo qualquer recurso
tecnolgico empregado nos sistemas de informao organizacionais. Orlikowski e Iacono
(2001) afirmam ainda que os artefatos de TI nem so estticos nem imutveis, mas dinmicos.
Neste contexto, compreender a dinmica do processo de estruturao tecnolgica em sua
totalidade de fundamental importncia para a compreenso dos estudos de SI. importante
pensar como novas tecnologias se relacionam com estruturas estabelecidas em que so
inseridas (ambiente), mas tambm o a compreenso das implicaes que as estruturas
estabelecidas (ambiente) tm sobre a estruturao de novas tecnologias. Isso permite pensar
as ditas caixas pretas como dinmicas, que se formam a partir de relao estabelecidas com
o ambiente.
Todavia, as investigaes sobre softwares se do, na maioria dos casos, a partir do processo
de adoo, uso e impactos gerados no contexto em que so aplicados. Na maioria dessas
pesquisas, os softwares so considerados um artefato esttico e acabado, sem que sejam feitas
reflexes sobre elementos importantes do seu processo de desenvolvimento (planejamento,
criao, estruturao e desenvolvimento) e o contexto em que so desenvolvidos.
De fato, poucos so os estudos das cincias administrativas realizados na perspectiva e no
contexto do desenvolvimento dos softwares. E os que so, muitas vezes, assumem um vis
tcnico da engenharia de software, desconsiderando muitos elementos importantes para
composio da rede nomolgica associados ao fenmeno em pauta.
A questo levantada diz respeito necessidade de se compreender os apectos relacionados aos
softwares, particularmente, no momento de seu desenvolvimento, levando-se em considerao
variveis relacionadas ao contexto ambiental e organizacional que implicam direta ou
indiretamente nas metodologias e prticas de desenvolvimento.
O problema a ser desenvolvido nessa pesquisa envolve a caracterizao do processo de
produtivo por trs do desenvolvimento do software, descrevento as matodologias e prticas

XXXI ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO


Inovao Tecnolgica e Propriedade Intelectual: Desafios da Engenharia de Produo na Consolidao do Brasil no
Cenrio Econmico Mundial
Belo Horizonte, MG, Brasil, 04 a 07 de outubro de 2011.

em pregadas ono processo. Deve-se buscar a compreenso no s do produto desenvolvido,


mas tambm dos processos, das estruturas e estratgias em que a dinmica de produo de
software se desenvolve.
Diante do exposto, este trabalho um esforo para intensificar os estudos sobre o
desenvolvimento de softwares. Portanto, ser abstrado um arcabouo terico para
compreender como os processos de produtivos esto estruturados em empresas pertencentes a
indstria nacional de software.
Para tanto, sero estudados o plo e as empresa de desenvolvimento de software situados na
regio metropolitana do Recife (Brasil), traando-se um panorama de suas empresas no que
diz respeito s metodologias e prticas do processo produtivo de software.
2. Referencial terico
2.1 Processo produtivo em empresas de software
Assim, apesar de possuir grande diversidade, o desenvolvimento de produtos provenientes da
indstria de software segue, de forma geral, os princpios da engenharia de software. A
engenharia de software se produz atravs de um conjunto de fases, sendo que cada uma dessas
fases pode envolver mtodos, ferramentas e procedimentos, cujas formas de estruturao so
citadas como modelo de engenharia de software (PRESSMAN, 2002).
Quatro modelos de engenharia de software tm sido amplamente discutidos na literatura: o
ciclo de vida clssico (ou cascata), a prototipao, o modelo espiral e as tcnicas de quarta
gerao (PRESSMAN, 2002). Tambm, pode-se dizer que atualmente um novo modelo tem
sido bastante usado: o modelo iterativo e incremental (PAULA FILHO, 2001; BOOCH;
RUMBAUGH; JACOBSON, 2000).
Segundo Pressman (2002), independentemente do paradigma de engenharia de software
escolhido, o processo de desenvolvimento de software contm trs fases genricas, quais
sejam: definio, desenvolvimento e manuteno.
Na fase de definio, traada a inteno do que se quer desenvolver. So identificadas quais
informaes tm de ser processadas, qual funo e desempenho so desejados, quais
interfaces devem ser estabelecidas, quais restries de projeto existem e quais critrios de
validao so exigidos para se definir um sistema bem-sucedido. Essa fase pode ainda ser
subdividida em trs outros estgios: a anlise do sistema, o planejamento do projeto e a
anlise de requisitos. atravs da execuo desses estgios que se pode garantir o
alinhamento estratgico dos projetos de SI.
A fase de desenvolvimento focaliza os meios para se atingir o que foi previamente definido.
Aqui, o desenvolvedor tenta definir como a estrutura de dados e a arquitetura de software tm
de ser projetadas, como os detalhes procedimentais tm de ser implementados, como o projeto
ser traduzido numa linguagem de programao e como os testes tm de ser realizados. Assim
como na fase anterior, possvel subdividir o desenvolvimento em trs estgios: projeto de
software, que traduz os requisitos em um conjunto de representaes; a codificao, que
resulta em instrues que podem ser executadas pelo computador; e os testes, que so capazes
de descobrir defeitos de funo, lgica e implementao.
Por fim, a fase de manuteno que se concentra nas mudanas associadas s correes de
erros, adaptaes produzidas por exigncias variveis dos usurios. Aqui so reaplicados os
estgios das fases de definio e desenvolvimento. Quatro tipos bsicos de mudanas podem
ser encontrados durante a fase de manuteno: a correo, que feita devido a erro de
desenvolvimento; as adaptaes, que so feitas em funo de mudanas ambientais; as

XXXI ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO


Inovao Tecnolgica e Propriedade Intelectual: Desafios da Engenharia de Produo na Consolidao do Brasil no
Cenrio Econmico Mundial
Belo Horizonte, MG, Brasil, 04 a 07 de outubro de 2011.

melhorias funcionais, que resultam de exigncias para alm de suas exigncias funcionais; e
as prevenes, que assume que mudanas, tanto no ambiente externo, quanto de
especificaes, vo ocorrer, portanto j prepara o produto para que o impacto causado por
essas alteraes no afete o software.
Sommerville (2003) compartilha pensamento semelhante, pois afirma que embora existam
vrios processos para o desenvolvimento de software, existem atividades fundamentais
comuns a todos eles:
Especicao de Software: definio das funcionalidades (requisitos) e das restries do
software. Geralmente uma fase em que o desenvolvedor conversa com o cliente para
definir as caractersticas do novo software.
Projeto e Implementao de Software: o software produzido de acordo com as
especificaes. Nesta fase so propostos modelos atravs de diagramas, e estes modelos
so implementados em alguma linguagem de programao.
Validao de Software: o software validado para garantir que todas as funcionalidades
especicadas foram implementadas.
Evoluo de Software: o software precisa evoluir para continuar sendo til ao cliente.
Roselino (2006) expe, sob a perspectiva tcnica e gerencial, os diferentes nveis hierrquicos
dessas funes sob a forma de uma pirmide invertida. Na base estreita, estariam as atividades
mais estratgicas para a firma e de maior potencial de inovao. Essas atividades mais densas
em conhecimento constituiriam a base para o desenvolvimento das outras funes de design.
Nesse sentido, identificam-se nas etapas anteriores produo propriamente dita, os elos
hierarquicamente superiores do processo produtivo do software. As etapas ou funes mais
simples requeridas pelo processo produtivo do software so aquelas relacionadas
programao e testes: a codificao um processo relativamente simples, no est baseada
em criatividade, conhecimento organizacional, ou interao com o demandante. Programao
comum representa mais de 80% das atividades envolvidas e requer qualificao
comparativamente reduzida (SCHWARE, 1992).
Essa etapa do processo baseada em trabalho rotineiro, com funes repetitivas que exigem
um trabalhador com qualificao frequentemente de nvel tcnico. Existe, ento, nessa diviso
do trabalho no desenvolvimento do software, uma separao entre funes associadas
concepo, concentrada nas etapas de anlise de requisitos e design de alto nvel, intensiva em
conhecimento tcito e desempenhada por profissionais altamente qualificados, e a execuo,
localizadas nas etapas de programao e testes, em que o conhecimento codificado, exigindo
programadores, usualmente de formao tcnica.
Tambm, deve-se ressaltar que, para tornar o desenvolvimento de software uma atividade
mais estruturada, surgiram modelos de processo de software, que visam a organizar o
desenvolvimento, utilizando diversas tcnicas e mtodos (SOMMERVILLE, 2003).
Dependendo do tipo de projeto que ser desenvolvido, modelos diferentes sero utilizados,
porm, todos seguem um determinado ciclo, que vai determinar a metodologia adotada.
Segundo Pressman (2002), apesar de existir em qualquer processo de desenvolvimento de
software, as metodologias sofrem variaes de acordo com o objetivo pretendido pelo sistema
organizacional. Em outras palavras, a metodologia empregada mantm relao com o modelo
de negcio adotado pela empresa desenvolvedora de software. Tambm se busca evidenciar
que as metodologias e praticas empregadas podem manter relao com o ambiente no qual as
empresas esto inseridas. Com base nessa premissa, que se assume, nesse trabalho, que tais
variaes podem ser decorrentes de foras institucionais, atores e do modelo de negcio da

XXXI ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO


Inovao Tecnolgica e Propriedade Intelectual: Desafios da Engenharia de Produo na Consolidao do Brasil no
Cenrio Econmico Mundial
Belo Horizonte, MG, Brasil, 04 a 07 de outubro de 2011.

empresa, sendo as opes feitas no decorrer dessas etapas provenientes da interao entre o
ambiente institucional, os modelos de negcios definidos e as metodologias de
desenvolvimento.
De forma geral, pode-se inferir, a partir de levantamento exaustivo na literatura, que tais
metodologias esto classificadas em dois paradigmas principais, quais sejam: metodologias
tradicionais e metodologias geis.
2.2. Paradigmas da engenharia de software
Na literatura, constatam-se diversas metodologias e prticas empregadas no processo de
desenvolvimento de software. Tambm evidencia-se que tais metodologias esto classificadas
dentro de dois paradigmas principais, quais sejam: tradicional e gil. As metodologias
consideradas dentro do paradigma tradicionais, tambm chamadas de orientada a
documentao, tm como caracterstica marcante serem divididas em etapas ou fases muito
bem definidas e que englobam atividades como anlise, modelagem, desenvolvimento e
testes. Cada fase concluda gera um marco, que geralmente algum documento, prottipo do
software, um diagrama de UML ou mesmo uma verso do sistema (PRESSMAN, 2002).
importante dizer que essas metodologias surgiram em um contexto de desenvolvimento de
software muito diferente do atual, baseado apenas em mainframes e terminais burros
(ROYCE, 1970). Na poca, o custo de fazer alteraes e correes era muito alto, uma vez
que o acesso aos computadores era limitado e no existiam modernas ferramentas de apoio ao
desenvolvimento do software. Por isso, o software era todo planejado e documentado antes de
ser implementado.
Contudo, as metodologias tradicionais ainda so amplamente empregadas no processo de
desenvolvimento de softwares, bem como ensinadas nas disciplinas de engenharia de software
(SOMMERVILLE, 2003). De fato, estas so a base do desenvolvimento de diversas
organizaes, pois apresentam a possibilidade de controle rigoroso sobre o processo produtivo
de software.
Por outro lado, o termo metodologias geis tornou-se popular em 2001 quando dezessete
especialistas em processos de desenvolvimento de software representando os mtodos Scrum
(SCHWABER; BEEDLE, 2002), Extreme Programming (XP) (BECK, 1999) e outros,
estabeleceram princpios comuns compartilhados por todos esses mtodos. Foi ento criada a
Aliana gil e o estabelecimento do Manifesto gil.
Os conceitos chave desse manifesto so: indivduos e interaes ao invs de processos e
ferramentas; software executvel ao invs de documentao; colaborao do cliente ao invs
de negociao de contratos; e respostas rpidas a mudanas ao invs de seguir planos.
O Manifesto gil no rejeita os processos e ferramentas, a documentao, a negociao de
contratos ou o planejamento, mas simplesmente mostra que eles tm importncia secundria
quando comparado com os indivduos e interaes, com o software estar executvel, com a
colaborao do cliente e as respostas rpidas a mudanas e alteraes (KOSCIANSKI e
SOARES, 2006).
Enfim, segundo Pressman (2002), apesar de existir em qualquer processo de desenvolvimento
de software, as metodologias empregadas sofrem variaes por razes diversas. Com base
nessa premissa que se assume, nesse trabalho, que tais variaes podem ser decorrentes de
foras institucionais presentes no ambiente. Em outras palavras, as opes metodolgicas
feitas no decorrer do processo de desenvolvimento podem ser provenientes da interao que a
organizao e seus atores mantm com o ambiente institucional.

XXXI ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO


Inovao Tecnolgica e Propriedade Intelectual: Desafios da Engenharia de Produo na Consolidao do Brasil no
Cenrio Econmico Mundial
Belo Horizonte, MG, Brasil, 04 a 07 de outubro de 2011.

3. Metodologia da Pesquisa
Quanto a sua natureza, essa investigao pode ser classificada como qualitativa, exploratria e
descritiva. qualitativa, pois atravs de contedo subjetivo ir se analisar objetivamente as
caractersticas do processo produtivo, bem como as metodologias e prticas empregadas em
organizaes desenvolvedoras de software. Da anlise qualitativa sero evidenciadas e
descritas questes referentes ao paradigma de desenvolvimento predominante nas empresas
estudades.
Quanto aos fins, essa pesquisa se classifica como exploratria e descritiva. Como no se tem
conhecimento do processo de desenvolvimento investigados, nem das metodologias e prticas
empregadas nas empresas estudadas, uma pesquisa exploratria se justifica. A pesquisa em
pauta ainda descrever as empresas de desenvolvimento de softwares, no que tange os
elementos supracitados (seu processo produtivo).
Uma vez definida a natureza da pesquisa, deve-se fazer consideraes acerca dos
procedimentos metodolgicos que fundamentaro a pesquisa. Como esta pesquisa se props a
investigar o processo de desenvolvimento empregadas em empresas da indstria de software,
sendo este um evento contemporneo e que est fora do controle do pesquisador, pode-se
afirmar que se trata de uma pesquisa de campo por meio de um estudo de multiplos casos que
buscar maior representatividade acadmica acerca do problema especfico.
Na pesquisa, foram investigados 8 empresas de desenvolvimento de software situadas na
regio metropolitana de Recife. Como se sabe, esta uma regio de destaque nacional, quia
internacional, no desenvolvimento de software. As empresas foram selecionadas por
acessibilidade, mas de forma a garantir heterogeneidade quanto ao porte e ao modelo de
negcio das empresas.
Quanto ao instrumento de coleta, tem-se a aplicao de um formulrio com o intuito de
caracterizar a metodologia e as prticas empregadas no processo de desenvolvimento de
software. Tambm foi utilizada a entrevista e a observao para analisar, de forma detalhada,
o processo de desenvolvimento de software.
Para anlise dos dados coletados, foi utilizada a estatstica descritiva e anlise de contedo. A
primeira foi aplicada para evidenciar os resultados obtidos via formulrio, enquanto que a
anlise de contedo tratou os dados coletados nas entrevistas e observaes. O formulrio e a
entrevista foram aplicados com os diretores tcnicos das empresas investigadas, pois estas so
as pessoas que possuem conhecimento tanto do negcio, quanto dos aspectos relacionados ao
processo de desenvolvimento.
3. Descrio dos resultados
3.1. Caracterizao do processo de desenvolvimento
Os resultados aqui apresentados tm o objetivo de caracterizar, de forma geral, o paradigma,
as prticas e as metodologias institucionalizadas nas empresas investigadas para conduo do
processo de desenvolvimento de software. A caracterizao do paradigma de
desenvolvimento feita a partir da viso que os respondentes tm em relao metodologia
adotada para o desenvolvimento de software dentro da sua prpria empresa, sendo
complementada por informaes obtidas sobre o processo e as prticas comumente utilizadas
na empresa.
Destaca-se que inicialmente so apresentadas reflexes sobre a metodologia de
desenvolvimento institucionalizada nas empresas. Em seguida, so apresentadas as anlises
sobre cada uma das prticas adotadas para o desenvolvimento do software. Essas anlises

XXXI ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO


Inovao Tecnolgica e Propriedade Intelectual: Desafios da Engenharia de Produo na Consolidao do Brasil no
Cenrio Econmico Mundial
Belo Horizonte, MG, Brasil, 04 a 07 de outubro de 2011.

permitem verificar a compatibilidade das prticas institucionalizadas com as metodologias de


desenvolvimento declaradas. Por fim, so feitas argumentaes que subsidiam a identificao
do paradigma de desenvolvimento predominante, no polo de tecnologia, de acordo com os
preceitos da engenharia de software tradicional e do manifesto gil.
A tabela 1 a seguir apresenta um resumo quantitativo da percepo dos respondentes em
relao metodologia e s prticas institucionalizadas e empregadas no processo de
desenvolvimento de software. Assim como na seo anterior, os resultados so apresentados
atravs de uma escala do tipo likert de 6 pontos.
TABELA 1 - CARACTERSTICAS DO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

ORGANIZAO INVESTIGADA
EMPRESA
X

BISA

PROCENGE

VOCAL
LAB

FACILIT

CAPITAL
LOGIN

MDIAS
EDUCATIVAS

IN
FORMA

XP

SCRUM

SCRUM

RUP

SCRUM

RUP

SCRUM

CASCATA

3,5

3,4

5,1

5,6

3,7

4,2

3,2

4,4

4,6

Metodologia
Declarada
Prticas
Anlise
de
requisitos
profunda e detalhada.
Estudo
minucioso
e
elaborao da descrio
detalhada da arquitetura.
Teste do sistema completo
antes de mandar para o
cliente.
Definio dos processos e
ferramentas
Projeto
implementado
conforme
previamente
definido.
Mudanas de requisitos
bem vindas, at mesmo
perto da entrega do produto
final.
Muitos
documentos
necessriamente
produzidos.
A comunicao registrada e
formalmente documentada.
Utilizao de indicadores
formais como qualidade,
nmero de linhas de
cdigos,
eficincia
do
cdigo, etc.
Contato dirio com os
clientes.
Clara diviso do trabalho
dentro da empresa

MDIA

Fonte: da pesquisa (2010)

Na tabela 1, verificada a existncia de empresas que adotam metodologias de


desenvolvimento de software fundamentadas tanto no paradigma tradicional quanto no
paradigma gil. Evidencia-se que dentro do paradigma tradicional, o RUP (Rational Unified
Process) a metodologia predominante entre os casos investigados. A metodologia cascata de
engenharia de software tambm foi observada. Dentre as metodologias que seguem o
Manifesto gil, a SCRUM foi a metodologia de desenvolvimento de software mais observada
entre as empresas investigadas. A metodologia XP (Extreme Programming) tambm foi
destacada em uma das empresas estudadas.
De fato, constata-se que o RUP uma das principais metodologias empregadas no
desenvolvimento do software. Por ser largamente usado e bastante completo em termos de
conceitos associados a um processo de software, o RUP bastante til enquanto

XXXI ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO


Inovao Tecnolgica e Propriedade Intelectual: Desafios da Engenharia de Produo na Consolidao do Brasil no
Cenrio Econmico Mundial
Belo Horizonte, MG, Brasil, 04 a 07 de outubro de 2011.

representao de modelo de processo para a atividade de desenvolvimento de software e


possui grande quantidade de adeptos (SANTANA, 2007). Em relao metodologia Scrum,
apesar de no existir muitas comprovaes cientficas sobre sua atual difuso nas empresas de
desenvolvimento de software, possvel dizer que a mesma tem figurado, entre as
metodologias geis, como uma das mais empregadas.
No que diz respeito s caractersticas e prticas encontradas nos processos relacionados
engenharia de software, verificou-se que, independente da metodologia institucionalizada,
algumas caractersticas so comuns e esto fortemente presentes em quase todas as empresas
investigadas como, por exemplo, o teste exaustivo do software antes de mandar a verso final
para o cliente, bem como a definio dos processos e ferramentas a serem utilizadas no
desenvolvimento do projeto.
Outras caractersticas foram citadas, mas esto presentes com menos intensidade ou possuem
uma distribuio mais heterognea dentre as empresas investigadas. So elas:
Projeto implementado conforme previamente definido;
Durante as etapas de desenvolvimento do software, muitos documentos so
necessariamente produzidos como forma de garantir o sucesso do projeto;
A comunicao entre equipes e membros sempre registrada e formalmente documentada;
Manuteno de contato dirio com os clientes durante todo o desenvolvimento do
software;
Clara diviso do trabalho, cabendo a um definir o que ser feito e a outro fazer conforme
definido.
Dentre as prticas identificadas, a utilizao de indicadores formais para medio do sucesso
do projeto de software, a anlise de requisitos profunda e detalhada e a elaborao minuciosa
de uma descrio da arquitetura antes de comear a program-la foram as prticas mais
fracamente evidenciadas o que levanta uma tendncia de que as empresas conduzem o
desenvolvimento do software de forma menos estruturada do que faziam no passado. Como se
sabe essas eram prticas essenciais para o desenvolvimento de software citadas em todos o
livros de engenharia de software.
Segundo Shore e Warden (2008), historicamente, essas prticas predominaram e ainda so
muito utilizadas nos projetos de desenvolvimento de software. O que melhor caracteriza estas
metodologias a separao bem rgida das fases de projeto, que consistem em: levantamento
de requisitos, anlise, desenho, implementao, testes e implantao. Cada fase tem suas
especificidades e possuem entre si interdependncia, isto , a prxima fase s comea quando
a anterior estiver pronta. Isto significa que o processo seqencial e linear, no qual cada fase
deve ser concluda antes de passar para a prxima etapa.
A citao supracitada permite duas reflexes distintas. A primeira que existe uma mudana
ocorrendo em relao forma como os softwares esto sendo, atualmente, desenvolvidos. De
fato, foi observado a institucionalizao de prticas mais flexveis para que os projetos sejam
conduzidos de forma adaptativa, sendo feito atravs de desenvolvimento interativo. Tambm
se tem a argumentao de que as necessidades dos usurios so sempre mutveis, ou seja, no
so definidas a priori, mas vo se desenhando ao longo do projeto. Isso traz a necessidade de
uma abordagem que rompa com a temporalidade linear do projeto organizado em fases
seqenciais (CAMPOS, 2002).
A percepo que os usurios tm de suas necessidades tambm evolui medida que eles
conhecem o sistema. difcil compreender o valor de uma determinada funcionalidade at
que ela seja efetivamente usada, principalmente porque no se pode requerer de um usurio

XXXI ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO


Inovao Tecnolgica e Propriedade Intelectual: Desafios da Engenharia de Produo na Consolidao do Brasil no
Cenrio Econmico Mundial
Belo Horizonte, MG, Brasil, 04 a 07 de outubro de 2011.

comum a mesma capacidade de abstrao que um desenvolvedor possui ao olhar um conjunto


de requisitos (OLIVEIRA, 2003).
Por outro lado, Shore e Warden (2008) deixam claro que prticas tradicionais no esto fora
de uso e que mantm valor para o desenvolvimento de software. De fato, as empresas
investigadas que institucionalizaram a metodologia RUP tm em tal prtica uma referncia
importante para o processo de desenvolvimento. Muitas vezes, a sustentao para o uso de
prticas associadas engenharia de software tradicional est na incapacidade das empresas
em gerenciar os projetos de software de forma satisfatria. Segundo Kerzner (2000), o
gerenciamento de projetos nas empresas pode ser encarado como um empreendimento com
objetivo identificvel, que consome recursos e opera sob presses de prazos, custos e
qualidade.
Contudo, as empresas tm um problema srio, com profundas conseqncias para sua
capacidade de se tornarem e se manterem competitivas, pois existem mais projetos a serem
desenvolvidos do que recursos. Muitas empresas precisam conciliar uma grande demanda de
projetos com uma quantidade limitada de recursos financeiros, tempo e pessoas qualificadas.
Ademais, de acordo com Bezerra (2002), o desenvolvimento de projetos de software uma
atividade complexa. Isso se reflete no alto nmero de projetos de software que no chegam ao
fim, ou que extrapolam recursos de tempo e dinheiro alocados. nesse sentido que as prticas
tradicionais mantm sua relevncia e legitimidade nos dias atuais.
Outra perspectiva de anlise desenvolvida no estudo se d atravs da comparao dos
atributos institucionalizados em empresas que declararam utilizar metodologias tradicionais
de desenvolvimento e as empresas que se declararam adotantes de metodologias geis. Essa
anlise comparativa permite identificar padres e diferenas significativas entre os dois
grupos de empresas. Tambm permite verificar o grau de aderncia entre as metodologias
institucionalizadas e as prticas empregadas. A tabela 2 que se segue apresenta o resultado
encontrado.
TABELA 2 DIFERENA ENTRE EMPRESAS ADOTANTES DO PARADIGMA GIL E DO TRADICIONAL

Prtica institucionalizada
Anlise de requisitos profunda e detalhada.
Estudo e elaborao da descrio detalhada da arquitetura.
Teste do sistema completo antes de mandar para o cliente.
Definio dos processos e ferramentas.
Projeto implementado conforme previamente definido.
Mudanas de requisitos bem vindas.
Muitos documentos necessariamente produzidos.
A comunicao registrada e formalmente documentada.
Utilizao de indicadores formais.
Contato dirio com os clientes.
Clara diviso do trabalho dentro da empresa
Fonte: da pesquisa (2010)

Empresas
Metodologia
gil
3,2
3,0
5,0
6,0
4,4
3,5
3,4
4,0
2,8
4,4
5,2

Empresas
Metodologia
Tradicional
4,0
4,0
5,3
5,0
3,3
4,0
5,0
4,6
4,0
4,2
3,6

Com isso, pde-se constatar que, dentre as empresas investigadas, as que empregam
metodologias pertencentes ao paradigma tradicional da engenharia de software tendem a fazer
anlise de requisitos profunda e detalhada antes de projetar a arquitetura do sistema, realizar
estudo minucioso e elaborar uma descrio detalhada da arquitetura antes de comear a
program-la, bem como, produzir muito documentos, registrar o processo de comunicao,
utilizar indicadores formais de desempenho para os softwares e testar o produto
exaustivamente antes de mandar a verso final para o cliente.

XXXI ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO


Inovao Tecnolgica e Propriedade Intelectual: Desafios da Engenharia de Produo na Consolidao do Brasil no
Cenrio Econmico Mundial
Belo Horizonte, MG, Brasil, 04 a 07 de outubro de 2011.

Tal resultado corrobora os preceitos da engenharia de software tradicional (SOMMERVILLE,


2003; PRESSMAN, 2002). Como tambm era esperado, de acordo com a literatura, foi
constatado que as caractersticas supracitadas esto presentes com menor intensidade nas
empresas cujas metodologias declaradas so consideradas geis. Como visto anteriormente, as
caractersticas associadas ao paradigma tradicional tendem a estruturar e enrijecer o processo
de desenvolvimento. Assim, o objetivo das empresas que adotam metodologias que seguem
os princpios definidos no Manifesto gil tornar o processo de desenvolvimento mais
flexvel e, como o prprio nome diz, gil.
Todavia, algumas caractersticas evidenciadas mostram-se contrrias aos padres
estabelecidos na teoria como, por exemplo, o fato de que empresas adotantes de metodologias
tradicionais melhor aceitam mudanas no projeto, mesmo no perodo de entrega do produto,
do que o fazem empresas cujas metodologias se classificam como geis. Tambm, foi
evidenciado que empresas com metodologia de desenvolvimento gil tm melhor diviso do
trabalho do que as empresas que praticam a engenharia de software tradicional, quando
sabido que esta uma caracterstica esperada em empresas adotantes de metodologias
tradicionais.
A argumentao que se desenvolve para esses achados que, como existe muita rigidez na
definio dos requisitos e certo afastamento dos usurios do software, durante o perodo de
implementao do mesmo, as empresas que empregam metodologias tradicionais j esto
habituadas com as mudana solicitadas quando da entrega do software. J as empresas
adotantes de metodologias geis mantm contato frequente com os usurios do software e
certa flexibilidade na definio dos requisitos, no precisando, geralmente, fazer tantas
readequaes do software quando o mesmo entregue.
Contudo, quando muita flexibilidade mantida na definio dos requisitos do software a ser
desenvolvido, faz-se necessrio buscar certo controle a partir de outros aspectos do processo
de desenvolvimento como, por exemplo, a diviso do trabalho e uso de indicadores. De
qualquer forma, os resultados evidenciados atravs da anlise comparativa supracitada so
apresentados apenas como tendncias, uma vez que o presente estudo no possui elementos e
dados suficientes para uma anlise estatstica significativa atravs de testes paramtricos de
diferena de mdia e de correlao. Ressalta-se tambm que estes testes no figuram entre os
principais objetivos do estudo.
Outro achado interessante diz respeito relao que se evidencia entre os modelos de
negcios institucionalizados e as metodologias de desenvolvimento de software declaradas
pelas empresas investigadas. Todas as empresas que declararam seguir o modelo de fbrica de
software possuem metodologias que seguem os padres definidos no Manifesto gil. Por
outro lado, das quatro empresas de base tecnolgica investigadas, trs so usurias de
metodologias tradicionais da engenharia de software. Acerca dessa relao, no foram
encontradas evidncias cientficas na literatura que pudesse corroborar ou refutar esse achado.
De toda forma, esse fato pode estar relacionado com o tipo de produto desenvolvido pelas
empresas. As fbricas de software precisam dar respostas imediatas e de forma eficiente ao
mercado, entregando produto de acordo com a necessidade dos clientes, sendo este um dos
principais objetivos do Manifesto gil e a razo para explicar o padro constatado. Por outro
lado, as empresas de base tecnolgica investigadas desenvolvem seus produtos dentro de
padres de projetos que, antes do incio do desenvolvimento do produto, necessitam ter todo o
escopo e outras dimenses bem definidas. Nestes casos, as metodologias tradicionais
fornecem uma estrutura de processo alinhada essa proposta. De fato, possvel encontrar, na

10

XXXI ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO


Inovao Tecnolgica e Propriedade Intelectual: Desafios da Engenharia de Produo na Consolidao do Brasil no
Cenrio Econmico Mundial
Belo Horizonte, MG, Brasil, 04 a 07 de outubro de 2011.

literatura, diversas obras que levantam a necessidade de adoo de metodologias formais para
garantir o sucesso dos projetos de softwares.
Por fim, destaca-se que, assim como nenhum tipo ideal de modelo de negcio se mostrou
aplicado conforme concebido na teoria, os processos de desenvolvimento de software tambm
se configuram a partir da combinao de prticas dos paradigmas gil e tradicional. Nesta
perspectiva, a institucionalizao dos processos produtivos ocorre atravs da incorporao de
prticas consideradas tanto pertencentes ao paradigma tradicional quanto alinhadas ao
Manifesto gil.
Como visto, mesmo tendo processos bem definidos e racionais, constata-se que algumas
empresas adotantes de uma metodologia tradicional permitem a incorporao de prticas que
flexibilizam o processo de desenvolvimento e permitem responder com mais rapidez e
fidelidade ao cliente. Por outro lado, empresas que oficializaram metodologias geis, tambm
no se mostram incompatveis ou repugnam prticas mais tradicionais de desenvolvimento.
Deve-se deixar claro que a institucionalizao de uma metodologia considerada gil no
implica em abandonar toda uma histria de estruturao do processo de desenvolvimento.
Trata-se da compatibilizao entre a configurao do processo de desenvolvimento e do
modelo de negcio, sendo a estruturao do paradigma uma resposta alinhada aos objetivos
organizacionais.
Desta forma, nos casos de empresas que privilegiam a inovao e o desenvolvimento interno
de seus produtos a partir de recursos prprios ou limitados, o paradigma tradicional mostra-se
uma tendncia nessa pesquisa, pois permite o controle mais rigoroso do projeto. J as
empresas com foco no desenvolvimento de software sob demanda encontram, nas
metodologias geis, sustentao para atender de forma satisfatria o seu cliente.
De fato, os resultados encontrados permitem levantar reflexes sobre o real significado do
Manifesto gil, sendo possvel pensar se o mesmo representa efetivamente um novo
paradigma de desenvolvimento ou se representa uma possibilidade de incrementar as prticas
tradicionais de engenharia de software com o intuito de aperfeioar o processo de
desenvolvimento de software. Na pesquisa, percebe-se que no h mudanas radicais
associadas incorporao de metodologias geis, mas sim incrementos que trazem melhor
ajuste e capacidade de atender aos objetivos propostos pelo sistema organizacional.
Acerca disso possvel encontrar estudos (MARAL et al, 2007; FAGUNDES, 2005;
BOEHM; TURNER, 2003) que apresentam que muitas empresas tm buscado as
metodologias geis, apenas, como forma de aumentar a flexibilidade e de evitar atrasos no
cronograma e possveis descontentamentos por parte das pessoas e empresas envolvidas no
projeto. Conforme mostrado neste trabalho, as prticas prescritas pelo manifesto gil e pela
engenharia de software mais tradicional podem ser utilizadas conjuntamente, desde que seja
considerado o contexto onde sero utilizadas.
4. Consideraes finais
Enfim, pode-se concluir que as empresas investigadas adotam ambos os paradigmas de
desenvolvimento, quais sejam: tradicional e gil. Entre as empresas que empregam o
paradigma gil, a metodologia scrum parece ser o padro predominante no mercado. Em
relao s empresas cujos processos de desenvolvimento esto fundamentados no paradigma
tradicional, pode-se dizer que estas institucionalizaram a metodologia RUP.
Ademais, percebe-se um considerado grau de autonomia para que a empresa defina a
metodologia e as prticas que vo ser empregadas no processo de desenvolvimento de

11

XXXI ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO


Inovao Tecnolgica e Propriedade Intelectual: Desafios da Engenharia de Produo na Consolidao do Brasil no
Cenrio Econmico Mundial
Belo Horizonte, MG, Brasil, 04 a 07 de outubro de 2011.

software. O que se verifica a existncia de muitos fatores condicionantes normativos, mas


poucos coercitivos e mimticos. O nico fator mais determinstico identificado no caso diz
respeito s condies impostas pelo prprio mercado. No que o mesmo exija uma
metodologia especfica, mas que a empresa institucionalize uma que responda
satisfatoriamente s necessidades do mercado.
Cabe a equipe de desenvolvimento definir a metodologia e prticas de desenvolvimento, mas
se estas no estiverem alinhadas s necessidades do modelo de negcio da empresas e aos
anseios do mercado, a empresa pode no auferir os resultados almejados, principalmente, em
mercados onde existe certo grau de competio como o caso o mercado das empresas
investigadas na presente pesquisa.
Com isso, as empresas buscam aprender a metodologia e prticas que melhor as atendem para
satisfazer as necessidades de seus clientes e outras condies do mercado. Percebe-se que a
definio da metodologia faz parte de um processo de maturidade das equipes para ir
adequando o seu background e expertises necessidade situacional.
Deve-se, contudo, destacar que os resultados encontrados esto limitados ao escopo da
pesquisa e das empresas investigadas, devendo outros estudos serem realizados com o intuto
de ampliar os resultados dessa pesquisa para outros contextos de desenvolvimento de
software.
Referncias
ANDREWS, C. W. Implicaes Tericas do Novo Institucionalismo: Uma Abordagem Habermasiana. Revista
de Cincias Sociais, Rio de Janeiro, Vol. 48, no 2, 2005.
BECK, K. Programao Extrema Explicada. Bookman, 1999.
BECK, K. Programao Extrema Explicada. Bookman, 1999.
BENBASAT, I; ZMUD, R. The identity crisis within the IS discipline: Defining and communicating the cores
properties, MIS Quarterly, v. 27n. 2. June, 2003.
BEZERRA, E. Princpios de Anlise e Projeto de Sistemas com Uml. So Paulo: Campus. 2002.
BOEHM, B.; TURNER, R. Balancing Agility and Discipline - The Guide for the Perplexed, Addison-Wesley,
2003.
BOOCH, G; RUMBAUGH, J; JACOBSON, I. UML, Guia do Usurio. SILVA, F. F. (trad), Rio de Janeiro,
Campus, 2000.
CAMPOS, N. Equipes multifuncionais de projeto, Dissertao Mestrado. UFMG, Belo Horizonte, 2002.
FAGUNDES, P. B. Framework para Comparao e Anlise de Mtodos geis. Dissertao de Mestrado.
Universidade Federal de Santa Catarina. Florianpolis: 2005.
HOPPEN, N.; MEIRELLES, F. S. Sistemas de informao: um panorama da pesquisa cientfica entre 1990 e
2003. Revista de Administrao de Empresas, v. 45, n. 1, Jan/Mar, 2005.
KERZNER, H. Gesto de Projetos: As Melhores Prticas. BORGES, M. A. V.; KLIPPEL, M.; BORBA, G. S.
(trad) Porto Alegre: Bookman. 2000.
MARAL, A. S. C.; FREITAS, B. C. C.; SOARES, F. S. F.; MACIEL, T. M. M.; BELCHIOR, A D.
Estendendo o SCRUM segundo as reas de Processo de Gerenciamento de Projetos do CMMI. CLEI. 2007:
XXXIII Conferencia Latinoamericana de Informtica, San Jose, Costa Rica, 2007. Disponvel em:
<http://www.cesar.org.br/files/file/SCRUMxCMMI-CLEI-2007.pdf>. Acesso 27 de novembro de 2010.
OLIVEIRA, E. S. Uso de Metodologias geis no Desenvolvimento de Software, Monografia apresentada no
Programa de Ps-Graduao em Engenharia de Software, UFMG. 2003.
ORLIKOWSKI, W.; IACONO, S. Research Commentary: Desperately Seeking the "IT" in IT Research-A Call
to Theorizing the IT Artifact. Information systems Research, v. 12, n. 2, 2001.
PAULA FILHO, W. P. Engenharia de software: fundamentos, mtodos e padres. Rio de Janeiro: Livros

12

XXXI ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO


Inovao Tecnolgica e Propriedade Intelectual: Desafios da Engenharia de Produo na Consolidao do Brasil no
Cenrio Econmico Mundial
Belo Horizonte, MG, Brasil, 04 a 07 de outubro de 2011.

Tcnicos e Cientficos, 2001.


PRESSMAN, S. R. Engenharia de Software. Rio de Janeiro, RJ: Makron Books, 2002.
ROSELINO, J. A indstria de software: o modelo brasileiro em perspectiva comparada. Tese (Doutorado),
Instituto de Economia. Universidade Estadual de Campinas, Campinas, 2006.
ROYCE, W. W. Managing the development of large software systems: concepts and techniques. Proc. IEEE
Westcon, Los Angeles, CA, 1970.
SANTANA, A. Problemas em Iniciativas de Melhoria de Processos de Software sob a tica de uma Teoria de
Interveno. Dissertao de Mestrado. Centro de Informtica, Universidade Federal de Pernanbuco. Maro 2007.
SCHWABER, K.; BEEDLE, M., Agile Software Development with Scrum, NJ, Prentice-Hall, 2002.
SCHWARE, R. Software Industry Strategies for Developing Countries: A "Walking on Two Legs" Proposition,
World Development, n.15, 1992.
SHORE, J.; WARDEN, S. A arte do desenvolvimento gil. Alta Books, Rio de Janeiro, 2008.
SOMMERVILLE, I. Engenharia de Software. Editora Addison-Wesley, 2003.

13