Académique Documents
Professionnel Documents
Culture Documents
Software
Allan Azevedo Rocha1, Jaime Nogueira da Gama2, Eduardo Manuel de Freitas
Jorge1, Hugo Saba1
1
Instituto Recôncavo de Tecnologia – Salvador-BA – Brasil
2
FRB – Faculdade Ruy Barbosa – Salvador-BA – Brasil
arocha@reconcavotecnologia.org.br, jaime.gama@terra.com.br,
{emjorge,hugosaba}@reconcavotecnologia.org.br
1. Introdução
O cenário atual da produção de software está cada vez mais competitivo. Para garantir
participação no mercado, as empresas estão buscando maneiras de solucionar os
problemas que afligem o desenvolvimento de software, com o objetivo de aumentar a
produtividade, reduzir custos, melhorar a qualidade do produto final e fortalecer o grau
de eficiência e controle, tornando-se mais competitivas [Bartié 2002; Fernandes 2004].
Vários padrões, normas e metodologias vêm sendo propostos com o intuito de
tornar o desenvolvimento de software mais produtivo e confiável. No entanto, verifica-
se que a adoção de modelos de gestão da qualidade, a implantação de metodologias de
desenvolvimento e a utilização de práticas de gestão de processos alcançam resultados
limitados se não forem aderentes aos conceitos da engenharia de produção [Fernandes
2004].
Em decorrência disso, diversas empresas de software têm-se organizado
conforme os conceitos básicos e consolidados das fábricas e indústrias, em busca de
maior controle de processos, produtos e funções. Dessa forma, empresas que adotam
determinados elementos provindos da engenharia industrial e de operações e escolhem a
produção de software como atividade fim, são chamadas de “fábricas de software”
[Tartarelli; et al. 2003; Fernandes 2004].
O setor produtivo das fábricas de software pode ser organizado de algumas
formas distintas. Duas destas formas são a estruturação por equipes de projetos, onde é
montado um time de desenvolvimento específico para cada projeto; e a organização por
células de produção, baseada em uma linha de produção, onde as células atendem às
demandas de diversos projetos simultaneamente. No entanto, qualquer que seja a
organização da produção adotada, ela apresenta pontos positivos e negativos, que
privilegiam ou dificultam cada aspecto do processo de construção de software
[Medeiros 2004].
Neste trabalho é especificada uma forma alternativa de organização da produção
para fábricas de software, baseada nas estruturações por equipes de projeto e por células
de produção. Esta nova estrutura, chamada de “Organização Híbrida da Produção”,
combina aspectos de cada um dos dois modelos originais, objetivando minimizar os
pontos negativos inerentes a cada um deles isoladamente e potencializar suas vantagens.
O trabalho está organizado conforme descrito a seguir. A seção 2 apresenta as
duas formas de organização da produção abordadas neste trabalho: equipes de projeto e
células de produção. Na seção 3 é feita uma análise dos dois modelos apresentados, com
base nos critérios identificados como relevantes para este trabalho. A seção 4 traz a
especificação da organização proposta: a Organização Híbrida da Produção. A seção 5
descreve todo o experimento prático realizado no Instituto Recôncavo de Tecnologia. E,
por fim, a seção 6 destina-se às conclusões do trabalho.
1
“Um projeto é um empreendimento temporário como objetivo de criar um produto ou serviço único”.
[PMBOK 2000]
2
Ao longo do trabalho o termo “empreendimento” será utilizado como sinônimo da expressão “projeto”.
uma fábrica de software, pode-se verificar na Figura 1 a existência de células de
produção dedicadas a determinadas etapas do processo produtivo ou área de domínio do
desenvolvimento de sistemas, seguindo, portanto, as premissas da departamentalização
funcional.
! "##$%
CÉLULAS DE PRODUÇÃO
" !, -
4.1. As Equipes de Projeto
Uma equipe de projeto representa um time de colaboradores, de tamanho variável,
dedicados em tempo integral ou parcial a um único projeto de software. A equipe tem,
basicamente, duas responsabilidades: a produção parcial ou integral do software e o
gerenciamento do projeto.
Sua primeira responsabilidade, a construção parcial ou integral do sistema, tem
como atribuição a realização de cada uma das etapas definidas no projeto do software. A
metodologia de desenvolvimento a ser adotada é uma decisão da equipe de projeto.
Como a OHP guarda as características individuais das duas formas de organização da
produção em questão, e estas, por sua vez, são amplamente utilizadas pelas empresas de
software, a utilização da OHP, com as metodologias de desenvolvimento e ciclos de
vida tradicionais, pode ser aplicada diretamente e sem necessidade de adaptações
significativas.
A segunda responsabilidade da equipe, o gerenciamento, tem como atribuição o
acompanhamento e gestão do projeto. Seu principal objetivo é assegurar o alcance dos
resultados esperados, garantindo que sejam cumpridos os termos e condições acordados
com o cliente.
A existência de equipes de projeto no arranjo produtivo, onde cada uma possui
um coordenador, promove definição explícita de quem são os responsáveis por cada
projeto da fábrica de software, estimulando maior comprometimento de cada
colaborador com os resultados esperados [Vasconcellos; Hemsley 1997].
EQUIPE DE PROJETO
PROCESSO DE SOFTWARE
CÉLULAS DE PRODUÇÃO
5. Experimento Prático
Nesta seção é descrito o experimento prático realizado em uma organização voltada ao
desenvolvimento de software, na qual foi aplicada a OHP em dois de seus projetos.
5.1. Cenário
O experimento prático foi realizado no Instituto Recôncavo de Tecnologia. A
instituição, uma entidade sem fins lucrativos, caracteriza-se por ser um centro de
Pesquisa e Desenvolvimento (P&D) em Tecnologia da Informação e Comunicação
(TIC), localizada em Salvador-Ba.
A OHP foi utilizada em dois dos projetos de desenvolvimento de software da
instituição. O primeiro deles trata-se de um sistema de cotação de serviços via Web, o
CotaOn, que permite a abertura remota de solicitações de serviço para uma central de
compras; o segundo, o Rastro, refere-se a um sistema de rastreabilidade de componentes
de computadores, para ser utilizado em uma montadora de microcomputadores.
Para a realização dos projetos a organização da produção foi feita em duas
equipes de projeto e quatro células de produção, seguindo as especificações da OHP. As
equipes de projeto foram compostas por dois papéis funcionais: Líder de Projeto e
Engenheiro de Software.
As quatro células de produção estabelecidas foram as seguintes: Célula de Infra-
estrutura, Célula de Elementos de Aplicação, Célula de Elementos de Interface e Célula
de Testes e Controle de Qualidade. Elas foram compostas pelos papéis funcionais
apresentados na Tabela 2.
&" ' )&& -
Célula de Produção Papel Funcional
Célula de Infra-estrutura Analista de Suporte
Célula de Elementos de Aplicação Engenheiro de Software
Célula de Elementos de Interface Diagramador
Célula de Testes e Controle de Qualidade Analista de Testes
6. Conclusão
Em consonância com a análise feita no referencial teórico, o experimento prático
evidenciou que a estrutura proposta obteve resultados satisfatórios em todos os aspectos
analisados; além disso, o produto final dos projetos, dois sistemas, foi completamente
gerado, utilizando um time de desenvolvimento gerenciado de acordo com as premissas
da formulação proposta. Considerando estes resultados, conclui-se que a efetividade da
OHP está comprovada.
A relevância do estudo se deu pela sua própria natureza, que suscita a
necessidade de uma investigação futura mais efetiva acerca da influência da organização
da produção na qualidade e produtividade das fábricas de software. Sendo assim, é
sugerido um trabalho futuro, com o objetivo de buscar o aperfeiçoamento e melhor
aproveitamento da OHP. Um fator passível de ser investigado seria o impacto da
utilização da OHP na produtividade dos projetos de software. Essa análise poderia ser
feita através da utilização de métricas como pontos por função ou pontos por casos de
uso, para análise da produtividade.
A OHP vem a ser mais uma alternativa de organização da produção que pode ser
utilizada pelas fábricas de software, no intuito de minimizar os problemas e maximizar
as vantagens das estruturas organizacionais tradicionais. Sua adoção, assim como a
utilização de outras formas de organização da produção, é uma decisão a ser tomada
3
A definição e requisitos para um Plano de Gerência da Comunicação (Communication Management
Plan), são apresentados no PMBOK 2000, p. 119.
pelos administradores da fábrica de software, levando em consideração as necessidades,
cultura organizacional da empresa e tipos de projetos realizados.
7. Referências
Bartié, Alexandre. Garantia da Qualidade de Software. Rio de Janeiro: Elsevier, 2002.
Ghezzi, Carlo. Fundamentals of software engineering. Prentice-Hall. New Jersey,1991.
p.441 a p.447.
Fernandes, Agnaldo. O paradigma da fábrica de software: itens qualificadores e
ganhadores de pedido e práticas das empresas de informática no Brasil. Tese de
Doutorado. Universidade de São Paulo, São Paulo, 2000.
Fernandes, Agnaldo. Fábrica de Software: implantação e gestão de operações. São
Paulo: Atlas, 2004.
Medeiros, Viviane; et al. - Fábrica de Software: da definição às lições aprendidas.
XXX Latin-American Conference on Informatics, Arequipa, Peru, 2004.
PMBOK 2000. A Guide to the Project Management Body of Knowledge. 2000 ed.
Project Management Institute. Newtown Square, 2000.
Sommerville, Ian. Software Engineering. 6th Ed. Pearson Education Limited, 2000.
Tartarelli, Rubens, WINCKLER, Walter, KRONMEYER Oscar. Aprendizagem
Organizacional em Fábricas de Software, UNISINOS – Universidade do Vale do
Rio dos Sinos, 2003.
UNITECH. Disponível em: <http://www.unitech.com.br>. Acesso em: 20 de Agosto de
2004.
Vasconcellos, Eduardo, HEMSLEY, James. Estrutura das Organizações: estruturas
tradicionais, estruturas para inovação, estrutura matricial. 3º ed. Editora Pioneira, São
Paulo, 1997.