• Nenhum resultado encontrado

Analisando as Categorias de Empresa

de Software

Esta seção analisa algumas das características mais relevantes do

mercado de software utilizando a categorização proposta na seção anterior. O objetivo desta seção é consolidar o referencial apresentado como referencial apropriado para análise do segmento de software. Como conseqüência, se esse referencial se mostrar consistente em diferentes análises, pode-se considerá-lo apropriado para a análise das novas formas de organização do trabalho nas empresas de software, que é o objetivo primário deste trabalho.

4.1 Software embutido

O desenvolvimento e a customização de software embutido apresentam-se como muito relevantes para o apresentam-setor industrial, pois, como mencionado anteriormente, o aumento nas funcionalidades viabilizadas com software em produtos manufaturados transfere as inovações do hardware para o software, transforma estratégias de pesquisa e desenvolvimento e traz o gerenciamento de software para o centro do processo de gestão tecnológica em empresas de manufatura [14].

Para compreender como funcionam as dinâmicas das empresas desenvolvedoras de software embutido com a utilização dos referenciais apresentados anteriormente, o modelo proposto para o setor de telecomunicações e o modelo proposto para o setor de software devem ser analisados em conjunto.

Quando a empresa de manufatura posiciona-se como uma “Desenvolvedora” de acordo com o modelo das Telecomunicações, ou seja, quando a empresa produz produtos que incluem software para viabilizar suas funcionalidades, a sua área de software deve assumir o posicionamento “orientado a produtos” (relacionamento 1, apresentado na figura a seguir). Em outras palavras, o software desenvolvido nessa empresa deve ser inovador, de qualidade e capaz de atender um grande número de clientes potenciais.

Por outro lado, quando a empresa de manufatura posiciona-se como uma “Integradora”, ou seja, quando ela desenvolve sistemas específicos para apenas um cliente, a sua área de software deve assumir o posicionamento “orientado a clientes” (relacionamento 2, apresentado na figura a seguir), já que o software desenvolvido viabilizará a integração entre diferentes soluções tecnológicas de forma a criar o sistema imaginado pela empresa operadora (usuária do software).

Figura 4 - Relacionamento entre o Modelo de Telecomunicações e o Modelo de Software

Integradoras Operadores

Produtoras

Orientadas a Clientes

Orientadas a

Produtos Orientadas a Serviços Usuários de Software Software 2 1 Desenvolvedoras Telecomunicações

Fonte: Elaborado pelos autores

Em ambas as situações, o posicionamento da empresa em relação ao modelo proposto para o setor de telecomunicações determina qual deve ser o seu posicionamento em relação ao modelo proposto para o setor de software. A principal competência das empresas “Desenvolvedoras” relaciona-se com os seus processos de pesquisa e desenvolvimento, tendo em vista a criação de soluções tecnológicas inovadoras. Como parte das funcionalidades inovadoras é viabilizada pelos sistemas de software, e as soluções são transacionadas com empresas “Integradoras” e “Operadoras” sem customização posterior, a área de desenvolvimento de software apresenta características “orientadas a produtos”, pois o software deve trazer funcionalidades inovadoras, apresentar alta qualidade e demandar pouca customização. Por outro lado, a principal competência das empresas “Integradoras” está relacionada ao desenvolvimento de sistemas de acordo com as especificações únicas fornecidas pelas empresas “Operadoras” para estabelecimento de um serviço imaginado. Como o sistema a ser desenvolvido é composto por diferentes soluções tecnológicas padronizadas desenvolvidas por “Desenvolvedoras”, o processo de integração

Analisando as Categorias de Empresa de Software

entre essas soluções é viabilizado pelos sistemas de software, que possibilitam esta “aderência” através da recepção, processamento e transmissão de dados entre as diferentes soluções.

4.2 Software livre e o modelo proposto

De acordo com Taurion [8], softwares livres são diferentes dos softwares produzidos, comercializados e distribuídos tradicionalmente, já que são distribuídos juntamente com seu código fonte e, desta forma, são legíveis e passíveis de serem alterados e redistribuídos pelos usuários.

Os primeiros softwares livres foram criados e desenvolvidos de acordo com a GPL (Gnu Public Licence), segundo a qual o autor outorga a todos o direito de usar, copiar, alterar e redistribuir o programa sem o pagamento de taxas [26]. Devido a descontentamentos em relação à utilização do licenciamento GPL, em 1997 foi criada a Open Source Definition (OSD), conjunto de especificações, regras e diretrizes para licenças baseadas no modelo de software livre, diferente da GPL, pois não obriga que o código alterado seja disponibilizado publicamente. Desta forma, a OSD permite que softwares livres e proprietários convivam numa mesma solução. Outras formas de contornar as restrições impostas pela GPL incluem a contratação do programador para reescrever o código de forma não-GPL ou a realização da engenharia reversa do código, reescrevendo-o em outra linguagem.

O processo de desenvolvimento dos softwares livres é complexo e contraria alguns princípios dos modelos econômicos tradicionais, já que normalmente os programadores não são remunerados diretamente pelo seu trabalho [27]. Desta forma, os programadores envolvidos no seu desenvolvimento usualmente buscam reconhecimento, prestígio e reputação.

No entanto, o desenvolvimento dos softwares livres está se tornando uma realidade para empresas do setor, que contratam e mantêm programadores dedicados ao desenvolvimento dessa categoria de programas, buscando influenciar a dinâmica de desenvolvimento do produto através da implementação de novas funcionalidades e melhorias que estejam ao

mesmo tempo alinhadas com os objetivos estratégicos da corporação e com os interesses da comunidade desenvolvedora.

Os projetos de desenvolvimento dos softwares são conduzidos por comunidades de programadores, dispersos geograficamente e sem interações pessoais, sendo a comunicação entre eles realizada através de meios eletrônicos de forma bastante sucinta. Mais importante, a comunidade de desenvovedores atua de forma livre, ou seja, os projetos que são desenvolvidos pela comunidade são aqueles que despertam a sua atenção, seja pelo seu caráter inovador, seja pelo seu caráter desafiador. O projeto normalmente envolve um mantenedor, desenvolvedor responsável por aprovar as alterações no projeto e pela liberação dos novos releases e, desta forma, responsável também pela liderança e gerenciamento do projeto, incluindo o processo de motivação dos colaboradores. Porém, o processo de desenvolvimento é realizado de forma individual e anárquica, ou seja, cada programador define e executa as tarefas nas quais tem interesse, quando e como considerar apropriado.

Desta forma, verifica-se que os projetos de desenvolvimento de softwares livres têm similaridades com as atividades desempenhadas nas empresas “Orientadas a Produtos”, e representam uma ameaça concreta para elas. Porém, atualmente o Brasil tem atividade limitada no desenvolvimento de produtos de prateleira, e a emergência dos softwares livres pode ser benéfica, já que empresas “Orientadas a Clientes” e “Orientadas a Serviços” podem passar a incorporar gratuitamente novos componentes, aplicações, ferramentas e produtos complexos no desenvolvimento de seus produtos e serviços, minimizando seu custo graças ao não-pagamento de licenças e aumentando suas margens de receita. Conclusão semelhante é apresentada em relatório desenvolvido pela Softex [10], que realizou extensa pesquisa entre desenvolvedores e usuários de software livre e de código aberto no Brasil, e observou que esse modelo de negócios “ameaça fortemente o modelo de pacotes (plataformas e sistemas operacionais), componentes de software (enquanto a ênfase da sua utilização for como produto) e produtos customizáveis”.

Por outro lado, com a difusão dos modelos de organização do trabalho como o que norteia a produção dos softwares livres, ganha importância o conceito de “Comunidades de Prática”, definidas por Wenger e Snyder [28] como grupos de pessoas informalmente organizadas e que compartilham

Analisando as Categorias de Empresa de Software

conhecimentos e experiências visando a um benefício comum. À medida que essas Comunidades de Prática Virtuais forem evoluindo, sua capacidade de estruturação, tendo como objetivo o desenvolvimento de softwares específicos e o fornecimento de serviços de software, pode se aprimorar. Neste caso, essas entidades virtuais começarão a concorrer diretamente com empresas “Orientadas a Serviços” e “Orientadas a Clientes”, alterando significativamente o perfil das empresas e profissionais do setor.

4.3 Reutilização de software

O processo de reutilização de software, essência das linhas de produtos de software e das fábricas de software, pode ser analisado por duas perspectivas distintas: reutilização de componentes e reutilização de processos. Em relação à reutilização de componentes de software, cada projeto de software produz uma entidade de software, composta por conjuntos de dados, relacionamentos entre dados, algoritmos e funções [29], e que desempenha uma ou mais tarefas específicas. Como resultado, cada entidade de software é única e, em teoria, deverá ser reutilizada caso as tarefas que ela desempenha precisem ser implementadas novamente.

Por sua vez, a reutilização de processos é definida como a replicação de um conjunto de ações de um processo anteriormente executado em um novo ambiente [30]. A reutilização de processos possibilita à empresa criar um conjunto de processos corporativos, que passam a caracterizar o seu know-how. Os processos executados num projeto de software podem ser divididos em quatro categorias principais, de acordo com Sawyer e Guinan [31]:

Métodos Produtivos: incluem metodologias, técnicas e ferramentas para suportar o desenvolvimento de software. Frameworks de maturidade como o Software Capability Maturity Model (SW-CMM) [32], Capability Maturity Model Integration (CMMI) [33] e a ISO/IEC 15504 [34] apresentam conjuntos de melhores práticas para empresas que desejam aprimorar a reutilização de seus métodos produtivos. Vale lembrar que o CMMI e a ISO/IEC 15504 têm escopo mais amplo, buscando trabalhar simultaneamente com as demais perspectivas apresentadas a seguir;

Processos Sociais: buscam analisar como diferentes desenvolvedores se estruturam em equipes, compreendendo estruturas de comunicação formais e informais. Metodologias como o Team Software Process (TSP) [35] trabalham a reutilização de software nesta perspectiva;

Perspectiva Individual: tem como foco aprimorar o processo de desenvolvimento individual de cada membro da equipe de desenvolvimento,

incluindo técnicas e motivação. Metodologias como o Personal Software Process

(PSP) e Personal Capability Maturity Model (P-CMM) apresentam conceitos para

aprimorar a reutilização de processos sob esta perspectiva;

Contexto Organizacional: tem como foco questões estratégicas, incluindo a análise da competitividade da empresa, o mercado no qual ela opera, o nível de recursos e fatores extraorganizacionais que afetam a performance do processo de desenvolvimento.

Desta maneira, a reutilização de software é um objetivo comum e estratégico para todas as empresas do setor, que buscam o aumento da qualidade e produtividade de produtos e serviços oferecidos através da criação de “linhas de produção de software”. Assim sendo, os conceitos de reutilização de software são fundamentais para todos os profissionais do segmento.

Por sua vez, as “fábricas de software”, empresas especializadas na reutilização de software, apresentam características semelhantes às das empresas “Orientadas a Clientes”, já que sua estratégia competitiva baseia-se na padronização do desenvolvimento de sistemas de software de acordo com as especificações do cliente, com conseqüente minimização de custos.

4.4 A localização das empresas e o modelo proposto

Outra consideração relevante em relação ao modelo proposto diz respeito à questão da localização física das empresas de software. Apesar dos argumentos aqui apresentados não terem sido comprovados durante o processo de análise dos resultados obtidos com a pesquisa, acredita-se que eles são relevantes para o SENAI durante o processo de regionalização de suas estratégias de ensino.

Analisando as Categorias de Empresa de Software

O conceito envolvido nesta análise parte do princípio de que o perfil de empresas predominante numa determinada localização geográfica está vinculado ao perfil dos clientes existentes nessa região. Em outras palavras, tomando como exemplo as cidades de São Paulo, Brasília e Florianópolis, é possível apresentar a seguinte análise:

Florianópolis apresenta mercado consumidor de tamanho bastante reduzido. Desta forma, o perfil predominante de empresas desenvolvedoras de software na cidade é do tipo “Orientada a Produtos”, já que os sistemas desenvolvidos serão comercializados (e, conseqüentemente, customizados e implementados) em outras regiões do país, por empresas “Orientadas a Serviços” e empresas “Orientadas a Clientes”;

Brasília apresenta como principal mercado consumidor instituições governamentais, que usualmente utilizam software especificamente desenvolvido para atender às suas necessidades únicas. Nesse caso, o perfil predominante de empresas desenvolvedoras de software é do tipo “Orientada a Clientes”, capaz de suprir as necessidades únicas desse mercado;

São Paulo, por sua vez, tem como um de seus principais mercados consumidores as instituições multinacionais, que utilizam em suas unidades locais software compatível com o software utilizado nas suas matrizes. Desta forma, para atender esse segmento corporativo, o perfil das empresas desenvolvedoras de software na região é predominantemente do tipo “Orientada a Serviços”, capaz de customizar e implementar sistemas semelhantes aos sistemas operacionalizados nas matrizes das empresas usuárias. Vale lembrar que certamente a complexidade econômica de São Paulo garante a existência de todos os diferentes perfis de empresas apresentados anteriormente.

4.5 Adotando o modelo proposto para alinhamento entre o

setor de software e o setor industrial

Como apresentado, o modelo proposto mostra-se apropriado para as análises elaboradas nesta seção, em especial para a compreensão e análise dos perfis de empresas mais relevantes para o desenvolvimento de software embutido. Por esse

motivo, tal modelo será utilizado para a proposição de uma linha de ação para o SENAI em relação à formação de profissionais para atuarem na indústria de software, com vistas ao desenvolvimento de sistemas relevantes para o setor industrial.

Como discutido anteriormente, todas as empresas de software executam um conjunto comum de atividades, o qual será apresentado na próxima seção em maior detalhe, viabilizando a análise dos perfis profissionais mais relevantes para cada atividade que compõe o processo de desenvolvimento. Conhecendo-se os perfis profissionais mais relevantes para cada atividade do processo de desenvolvimento e quais as atividades das empresas de software são mais importantes para o setor industrial, torna-se possível analisar o alinhamento entre formas de organização do trabalho no setor de software e o setor industrial nacional.

Documentos relacionados