• Nenhum resultado encontrado

3.3 Interoperabilidade de sistemas

4.3.3 Estabelecimento de um ecossistema de software

Conforme referido anteriormente, Bosh estabelece uma taxionomia, em duas dimensões, para a classificação de SECOS, em que na origem das coordenadas se encontram os SECOS baseados num sistema operativo e numa plataforma de computação do tipo desktop. Assim, recuando até meados dos anos 90s, constata-se que um número significativo de fabricantes de software começa a ter problemas em desenvolver, por si só, um produto de software completo. A pressão dos clientes, com novos requisitos, a obrigarem à introdução de novas funcionalidades e ao desenvolvimento de tecnologias específicas e inovadoras, faz com que os fabricantes de software estabeleçam parcerias com terceiros, i.e., outras empresas de produção de software, para desenvolverem e adicionarem estas funcionalidades aos seus produtos. Este movimento começa na década de 80, com início do desenvolvimento de aplicações para desktops, em particular, para os sistemas operativos Microsoft Windows e Macintosh, e consolida-se nos anos 90 com a introdução de produtos de software que permitem que empresas terceiras, ou programadores individuais, adicionem funcionalidades a um produto através da escrita de plug-ins. Este novo paradigma, permite estender um produto específico de software, criando assim comunidades inteiras de empresas à volta desse produto, e que rapidamente evoluem para redes de empresas de software que têm em comum uma plataforma única, constituindo-se como um Ecossistema de Software (SECO). Da perspetiva interna, das empresas produtoras de software, a chegada dos SECOs é precedida do conceito de “Linha de Produtos”, em estas empresas vão desenvolvendo produtos cada vez mais sofisticados e complexos, ao ponto de os segmentarem em produtos específicos, agrupados numa mesma “Linha” ou de outra forma criarem uma “Linha” temática em que se agrupam, sob o mesmo tema, produtos diversos. Um exemplo clássico são os produtos de produtividade pessoal, do tipo “Office” que são agrupados numa linha específica e incluem uma variedade grande de produtos, e.g., processamento de texto, base de dados, folha de cálculo, edição de imagem, etc. A par das questões de marketing, associadas aos estabelecimento de linhas de produtos, vêm também as questões de engenharia de software, nomeadamente, da utilização de componentes de software, partilhados entre os produtos de uma mesma linha. Assim, rentabiliza-se o investimento e desenvolvimento de tecnologia, através da sua implementação sob a forma de componentes de software, e reutilização em vários produtos. O desenvolvimento de produtos com base em componentes partilhados,

Capítulo 4 – Ecossistemas de software

105

coloca maior enfase na definição e no rigor de utilização de uma arquitetura de software, que passa a ser de grande importância, pois a partilha de componentes obriga à partilha das soluções de desenho de cada componente, estabelecendo compromissos de interdependência das aplicações. Tem-se assim uma linha de produtos, assente numa plataforma de componentes partilhados. O passo seguinte deste paradigma, na direção do SECO, é a abertura à utilização desta plataforma de componentes por parte de terceiros. Um bom exemplo foi a abertura da Microsoft, permitindo que terceiros desenvolvessem aplicações usando os componentes do Microsoft Office (Berk et al., 2010).

É na década de 90, que muitas empresas de software começam a abrir o seu negócio a outras empresas, através da abertura da plataforma de software que suporta a sua linha de produtos, dados origem a novos SECOs, e assumindo os papéis de hub-central e pedra-angular desses SECOs. Com a formação rápida destes SECOs, os fabricantes de software, seus promotores, são confrontados com o problema de terem que gerir o seu ecossistema que, em contraste com a sua antiga linha de produtos, é agora composto pelo conjunto de empresas, produtores de software individuais e parceiros comerciais. Este problema é agudizado pela dificuldade, para uma empresa, no papel de hub-central de um SECO, ter o conhecimento completo sobre o seu SECO e de como as suas ações influenciam todo o ecossistema e a sua performance (Hanssen, 2012).

Entre as razões que induzem uma empresa a evoluir para um modelo de ecossistema de software, destacam-se duas: o tempo e o retorno de investimento; e o montante de investimento em investigação e desenvolvimento (I&D) (Bosch, 2009).

Em termos de tempo e retorno de investimento, as empresas estão limitadas pela forma como, por vezes, o mercado opera, em que quem chegar primeiro e consolidar a sua posição, obterá uma cota de mercado esmagadora. Neste contexto, é necessário um investimento muitíssimo grande em I&D, bem como o desenvolvimento de um conjunto muitíssimo grande de funcionalidades que satisfaçam os clientes. A utilização do advérbio muito, no grau superlativo sintético, releva para a impossibilidade de uma empresa conseguir realizar os investimentos e desenvolvimentos necessários, num espaço de tempo razoável. Assim, a solução de estabelecer um SECO poderá ser a única forma viável de chegar ao mercado em tempo útil. Um exemplo vem do mercado dos serviços web, que segue o princípio de “o vencedor leva tudo”, em que uma estratégia chave para o sucesso a longo prazo é a construção de uma base de clientes muito grande, num curto período de tempo.

Em termos de investimento em I&D, outra limitação surge na enormíssima quantidade de trabalho em I&D necessário para criar aplicações altamente configuráveis (ou massivamente

personalizáveis). Em mercado como os das aplicações web, e aplicações móveis, os utilizadores exigem aplicações com elevado grau de configuração, ou mesmo composição, que permita a cada utilizador a criação de uma configuração eventualmente única, de acordo com os seus desejos e necessidades. Neste contexto, o estabelecimento de um SECO permite que a empresa, assumindo o papel de hub-central, estenda o seu produto com componentes e aplicações desenvolvidos externamente e que respondam positivamente ao desejo do mercado por produtos altamente configuráveis.