Ciclo de Vida dos Ecossistemas de Software e Suas Estratégias Amora Cristina Albuquerque Taveira Centro de Informática – Universidade Federal de Pernambuco, 50740-560 Recife-PE, Brasil [email protected] Resumo: O já difundido conceito de ecossistemas biológicos está servindo como base para o entendimento das complexas relações existentes entre determinadas empresas que trabalham em conjunto para desenvolvimento de um mesmo produto, em especial o software, ou prestação de serviço. Tendo em vista as possíveis analogias que podem surgir entre os seres vivos, empresas e, mais especificamente, empresas de software, iniciaram-se os conceitos de Ecossistemas de Negócios e Ecossistemas de Software (SECO’s). Estes conceitos, além de buscarem a compreensão das relações existentes entre as empresas (que são consideradas os organismos no mundo dos negócios), ajudam a entender o que pode levar este conjunto de organizações ao sucesso ou ao fracasso. Este artigo objetiva integrar esses conceitos, apresentar um modelo que descreve o ciclo de vida dos ecossistemas de software, e analisar as características envolvidas em cada estágio evolutivo deste ciclo para que, a partir desses conhecimentos, sejam analisadas estratégias de sobrevivência e prosperidade para SECO’s. Abstract: The well known concept of biological ecosystem is serving as a basis for understanding the complex relationships between certain companies that work together to develop a same product, especially software, or service delivery. Having in view possible analogies that may arise between organisms, companies and, more specifically, software companies, concepts of Ecosystems and Business Software Ecosystems (SECO’s) emerged. These concepts, in addition to seeking an understanding of the relationship between companies (which are considered the organisms in the business world), help to understand what may lead this set of organizations to success or failure. This article aims to integrate these concepts, present a model that describes the life cycle of a software ecosystem, and analyze the characteristics involved in each evolutionary stage of this cycle. From this knowledge, strategies for survival and prosperity will be analyzed. 1. Introdução Os projetos de software, em sua maioria, são dependentes de outros projetos, sendo então raramente desenvolvidos de forma autônoma. Fornecedores de software já não funcionam como unidades independentes que podem fornecer produtos separados. Estes se tornaram dependentes de outros fornecedores no que se refere a componentes de software e infra-estruturas, tais como sistemas operacionais, bibliotecas, lojas de componentes e plataformas. Devido à rápida mudança de tecnologia, estes fornecedores recorrem à integração virtual através de alianças para estabelecer redes de influência e interoperabilidade. Estas redes são chamadas Ecossistemas de Software (SECO’s) [1], um conceito que se tornou vital para explicar a vida e a morte de fornecedores de software e suas tecnologias. O recente conceito de Ecossistema de Software foi criado tendo como base o já consolidado conceito de Ecossistema de Negócios que, por sua vez, é baseado em estudos sobre Ecossistemas Biológicos. SECO’s referem-se à forma como as empresas interagem para criar e entregar os produtos, de forma que cada parceiro, dentro de uma rede interligada de empresas, tem um papel e desempenho individual que influencia a saúde do ecossistema como um todo [9]. Embora sejam recentes, estudos sobre SECO’s vêm se mostrando bastante úteis dentro do contexto de software, visto que projetos de software são considerados sofisticados e complexos. Este artigo objetiva integrar os conceitos existentes sobre Ecossistemas de Software, suas características herdadas da biologia e administração, e a importância desses ecossistemas no cenário atual da tecnologia. Será apresentado, também, um modelo baseado em [9] que descreve o ciclo de vida de um ecossistema, e as características envolvidas em cada estágio evolutivo para que, a partir desses conhecimentos, sejam analisadas estratégias de sobrevivência e prosperidade para SECO’s. 2. Ecossistema de Software (SECO) Como afirmado em [8], para que um software seja lançado no mercado, existem diversas atividades envolvidas tanto a nível técnico, como comercial. Após ser finalizado, um software dificilmente não necessita de personalizações, integrações ou suporte. [3] cita que para diversas companhias, o desenvolvimento de software em larga escala é complicado, caro, lento e imprevisível. Ainda segundo [3], quatro décadas de pesquisa em engenharia de software tem resultado numa ampla gama de técnicas para gerenciar a complexidade do desenvolvimento de sistemas de software, porém o crescimento cada vez maior dos sistemas de software mais modernos leva à necessidade de novas abordagens para gerenciar esta complexidade. Devido a isso, os softwares raramente são vistos como unidades independentes. Com essa interdependência entre os softwares e à rápida evolução tecnológica, seus fornecedores recorrem a uma integração virtual, através de alianças, para estabelecer redes de influência e interoperabilidade. Essas redes são chamadas de Ecossistemas de Software [1]. [2] define Ecossistemas de Software como consistindo de uma plataforma de software, um conjunto de desenvolvedores internos e externos, e uma comunidade especialista no domínio em serviços para a comunidade de usuários, que compõe soluções relevantes para as suas necessidades. Ou seja, o campo de abordagem é bem mais amplo que no escopo de linha de produção intra-organizacional, visto que, no ecossistema, desenvolvedores externos, extensões de fornecedores, e outras contribuições externas fazem parte do desenvolvimento do software. Sendo assim, Ecossistemas de Software criam dependências que antes não existiam entre os componentes e as organizações associadas [3]. Há, ainda, outras definições para SECO’s, entre elas, [2] os cita como uma rede informal de unidades (legalmente independentes), que influenciam umas as outras de forma positiva quando se trata de sucesso econômico e outros benefícios; ou ainda como um conjunto de atores funcionando juntos como uma unidade e interagindo com um mercado compartilhado para softwares e serviços. Essas relações são freqüentemente sustentadas por um mercado ou por uma única plataforma tecnológica e operam através da troca de informações, recursos e artefatos. Existem diversos benefícios de se fazer parte de um SECO, entre eles podemos citar o compartilhamento de custos de inovação, redução de custos, aumento do número e satisfação dos clientes e o retorno de investimento [8]. As principais características dos SECO’s estão fundamentadas na biologia, com os já estabelecidos conceitos de Ecossistemas Biológicos. A partir deles, Moore (1993) introduziu o conceito de Ecossistema de Negócios, afirmando que este é um conjunto de organizações a qual fazem parte diversas indústrias, e que trabalham cooperativamente e competitivamente em termos de produção, serviço ao cliente e inovação. Neste ecossistema, companhias co-evoluem em suas capacidades em volta de alguma inovação. Elas trabalham cooperativamente e competitivamente para suportar novos produtos, satisfazer as necessidades dos clientes e, eventualmente, incorporar outras inovações [4]. Ecossistemas de Negócios e de Software, assim como na biologia, gradualmente se movem de uma coleção aleatória de elementos para uma comunidade mais estruturada [4]. Eles condensam o capital, os interesses do cliente, e o talento gerado por uma inovação, com o mesmo sucesso que as espécies o fazem a partir dos recursos naturais da luz solar, água e nutrientes do solo. Como nos Ecossistemas Biológicos, eles se desenvolvem através de autoorganização, emergência e co-evolução, que ajudam a adquirir a capacidade de adaptação. Além disso, estão presentes também a competição e a cooperação agindo simultaneamente. Da mesma forma que um indivíduo de uma determinada espécie em um Ecossistema Biológico, cada membro de um Ecossistema de Software ou Negócios, em última análise, compartilha o destino de sua rede como um todo, independentemente da sua força aparente [4]. Outra característica herdada é o fato desses ecossistemas estarem localizados num ambiente onde diversos aspectos podem trazer impacto na adaptação dos mesmos, e estes também podem impactar esses aspectos. São exemplos deles: política, sociedade, cultura e aspectos jurídicos. 3. Ciclo de vida do SECO e Suas Características Moore em [4] propõe que um Ecossistema de Negócios é caracterizado por quatro fases, são elas: Nascimento (Birth): Identificação das necessidades dos clientes, e proposição de uma solução ou serviço que melhor atenda a essas necessidades; Expansão (Expansion): Esforço para atingir novos clientes, tentando alcançar a máxima cobertura de mercado; Liderança (Leadership): Disputas internas pela liderança do ecossistema, que normalmente ocorrem após o mesmo se mostrar lucrativo; Auto-renovação (Self-renew): Busca constante por inovação, por sobrevivência, e pelo aumento da capacidade para se adaptar a mudanças. De acordo com [9], esse modelo também pode ser utilizado como base para descrever os estágios evolutivos do Ecossistema de Software e as características envolvidas em cada um deles. [10] detalha a fase de Nascimento como um caminho dependente, e um processo caótico, o que significa que uma pequena diferença nos valores iniciais, pode acarretar em grandes diferenças nos resultados. A formação de um ecossistema é afetada por certos atrativos, que são os componentes não-vivos da área onde o ecossistema ocorre. [4] afirma, ainda, que assim como na biologia, Ecossistemas de Negócios gradualmente se movem de uma coleção aleatória de elementos para uma comunidade mais estruturada. Podemos ver isso acontecer também em Ecossitemas de Software: eles condensam o capital, os interesses do cliente, e o talento gerado por uma inovação, com o mesmo sucesso que as espécies o fazem a partir dos recursos naturais da luz solar, água e nutrientes do solo. A fase de Expansão é caracterizada pela luta constante em adquirir a maior cobertura possível do mercado. Isto pode ser alcançado através de novas ofertas de produto, e/ou intensificação das ofertas existentes num trabalho junto a fornecedores e parceiros [4]. Nesta fase, o potencial de crescimento do ecossistema é testado [10]. É necessário, então, criar um conceito que gere valor a um grande número de clientes. Durante a fase de expansão, as empresas estabelecidas podem exercer um enorme poder de marketing e vendas, e também na gestão de produção e distribuição em larga escala, para literalmente esmagar menores ecossistemas nesse processo [4]. Ao alcançar a fase de Liderança, o ecossistema já se mostra lucrativo e estável. Neste estágio há uma forte disputa interna pelo controle do ecossistema, podendo inclusive alguns participantes incorporarem atividades realizadas por outros. Para se defender da concorrência e de uma possível perda de poder, os participantes devem fortalecer as suas alianças e o seu poder de barganha. Para isso, eles devem contribuir ativamente para a saúde do ecossistema, além de prover soluções inovadoras que diferem das dos demais participantes [9]. O próximo estágio a ser alcançado pelo ecossistema é o de Auto-renovação. Ao chegar nesse estágio, o líder do ecossistema já está estabelecido, e as disputas internas já têm sido encerradas. Esta fase é motivada pelo constante surgimento de novos ecossistemas concorrentes. Se estratégias de crescimento não forem adotadas nessa etapa, o ecossistema poderá ser “esmagado” pela concorrência, causando a sua morte. Portanto, acompanhar as novas tendências que podem “esmagar” o ecossistema, e manter o equilíbrio com as mudanças pela incorporação de inovações é fundamental para a sobrevivência do ecossistema nesta fase. O conceito fundamental desse estágio é trabalhar a inovação para trazer ao ecossistema novas idéias [4]. É necessário, também, que o ecossistema seja robusto o suficiente para resistir a choques externos. 4. Estratégias Aplicadas nos Estágios do Ciclo de Vida do SECO [9] deixa claro que é possível que as empresas de software obtenham vantagens competitivas através de conceitos de ecossistemas que são herdados da administração que, por sua vez, faz uso de conceitos já estabelecidos da biologia. Esses conceitos, e suas relações com cada estágio do ciclo de vida do ecossistema são: Emergência: Pode ser definido como ações que são tomadas por uma determinada organização, e podem levar a riscos e conseqüências imprevisíveis que impactam todo o ecossistema. Este conceito, assim como os outros, está presente em todos os estágios do ciclo de vida de um ecossistema. Porém, é durante a fase de liderança que a emergência é mais intensa, devido ao aumento de disputas internas, que leva a conseqüências inesperadas. A emergência ainda continua intensa na fase de autorenovação, já que novas mudanças e inovações devem estar presentes e, junto com elas, o risco de adaptação a essas novas mudanças; Competição: É uma relação desarmônica, na qual os indivíduos concorrem pelos mesmos fatores. A competição é fortemente observada em todo o ciclo de vida do ecossistema, com exceção da etapa de nascimento, onde o mesmo está se iniciando e não é tão perceptível a oportunidade de mercado existente. A competição se diferencia entre interna e externa. Na fase de liderança, destaca-se a forte disputa interna entre os participantes, enquanto que consideráveis disputas externas são observadas nos estágios de expansão e auto-renovação, podendo até mesmo levar a morte do ecossistema; Mutualismo: Relação harmônica e obrigatória, na qual ambos os indivíduos são beneficiados e não sobrevivem sem ela. O mutualismo é menos observado no estágio de liderança devido às disputas internas. Este conceito é essencial durante toda a existência do ecossistema, já que cada participante compartilha o seu destino com todos os outros participantes da rede, e o seu sucesso é determinado pelo sucesso do ecossistema como um todo; Produtividade: [5] diz que produtividade é a mais importante medida da saúde de um ecossistema. No que se refere a negócios e software, é a habilidade de transformar tecnologias e outras matérias primas em novos produtos e com um baixo custo. Segundo [9], a produtividade pode ser essencial no estágio de liderança, por ser uma forma de poder de barganha, já que se um participante é bastante produtivo, o mesmo continuará em evidência, sendo reconhecido como um parceiro de valor, e estando habilitado a influenciar outros participantes no ecossistema; Criação de Nicho: Em [8], se um ecossistema não está apto a criar oportunidades para novas companhias, incentivando a diversidade e contribuindo para a inovação, ele sofrerá diversas dificuldades. Criação de Nicho está relacionada à habilidade de absorver choques externos e ao potencial de produzir inovação. É a capacidade de aumentar a diversidade através da criação de novas funções ou nichos [5]. Esta característica é bastante importante nas fases de nascimento e expansão, nas quais novas companhias se juntarão ao ecossistema se oportunidades lucrativas forem percebidas. Ela é essencial também no estágio de autorenovação, quando os participantes devem se sentir motivados a permanecerem no ecossistema, e eventualmente não se juntarem a um SECO concorrente; Robustez: Capacidade do ecossistema de sobreviver a interrupções, tais como mudanças imprevistas de tecnologia, ou resistir a influências externas. Esta característica é essencial no estágio de auto-renovação, quando as disputas externas irão alcançar seu auge, e a resistência do ecossistema a essas pressões irá determinar a prosperidade ou morte do ecossistema. Enquanto os conceitos acima abordados são enfatizados em determinados estágios do ciclo de vida do ecossistema, algumas características são inerentes a todas essas fases do ciclo de vida. Entre elas, podemos citar: auto-organização, co-evolução, e cooperação. Auto-organização tem relação com o controle descentralizado de um conjunto de organizações inter-relacionadas. Ou seja, uma companhia tem autonomia para tomar decisões, sem a existência de um controle externo [8]. A co-evolução está relacionada às mudanças sofridas pelas organizações, e à influência que cada organização possui no crescimento e “destino” de outras. E por fim, a cooperação é vista no ecossistema na forma de mutualismo, e é considerada obrigatória pra o êxito global [9]. 5. Conclusão e Trabalhos futuros Este artigo apresenta os conceitos presentes na literatura sobre Ecossistemas de Software, junto com o seu ciclo de vida proposto por [9], e as características observadas em cada fase deste ciclo. É observado que alguns conceitos estão fortemente ligados a um determinado estágio, enquanto que outros são inerentes às quatro fases do ciclo de vida de um ecossistema. Como os conceitos de Ecossistema de Negócios e de Software são baseados nos Ecossistemas Biológicos, é possível fazer analogias entre eles para aprofundar os conhecimentos existentes, e traçar estratégias que possam auxiliar no desenvolvimento e evolução no contexto de negócios e de software; compreendendo riscos, e oportunidades de crescimento e diversidade. Foi analisado que, assim como na biologia, os participantes do ecossistema lutam por recursos e por isso sofrem com fortes disputas, internas ou externas, quem podem levar à morte do ecossistema. Por outro lado, para que o ecossistema prospere e seja lucrativo, é essencial a existência de cooperação (mutualismo), já que os participantes compartilham de um mesmo destino, ou seja, o sucesso ou fracasso de um determinado participante poderá levar ao sucesso ou fracasso do ecossistema como um todo. Futuros trabalhos devem incluir um maior aprofundamento, especialmente nos conceitos de biologia e de negócios para alcançar um maior entendimento sobre o Ecossistema de Software, que é um conceito mais recente e, por isso, ainda está em formação. Além disso, é necessária também a existência de casos de estudos para que se tenha um melhor conhecimento sobre as estratégias mais efetivas que podem ser estabelecidas dentro dos ecossistemas, e que os levem a prosperar. Referências 1. Metzger, J.P.: O que é ecologia de paisagens?, In: Laboratório de Ecologia de Paisagens e Conservação – LEPaC – Departamento de Ecologia, Instituto de Biociências USP (2001) 2. Jansen, S., Brinkkemper, S. and Finkelstein, A.: Business Network Management as a Survival Strategy: A Tale of Two Software Ecosystems, In: Proceedings of the 1st Workshop on Software Ecosystems, Virginia, USA (2009) 3. Bosch, J. and Bosch-Sijtsema, P.: From integration to composition: On the Impact of Software Product Lines, Global Development and Ecosystems, In: The Journal of Systems and Software 83, Elsevier (2010) 4. Moore, J.F.: Predators and Prey: A New Ecology of Competition, In: Harvard Business Review (1993) 5. Iansiti, M. and Levien, R.: Strategy as Ecology, In: Harvard Business Review (2004) 6. Farbey , B. and Finkelstein, A.: Exploiting software supply chain business architecture: a research agenda, In: University College London 7. Boucharas, V., Jansen, S. and Brinkkemper, S.: Formalizing Software Ecosystem Modeling, In: Utrecht University 8. Lungu, M., Lanza, M., Gîrba, T. and Robbes, R.: The Small Project Observatory: Visualizing software ecosystems, In: University of Bern (2009) 9. Andrade, R., Alves, C. and Albuquerque, A.: A Model Proposal for Characterizing Software Ecosystems, In: Centro de Informática – Universidade Federal de Pernambuco (2011) 10. Peltoniemi, M. and Vuori, E.: Business Ecosystem as the New Approach to Complex Adaptative Business 11. Peltoniemi, M., Vuori, E. and Laihonen, H.: Business Ecosystem as a toll for the conceptualisation of the external diversity of an organisation, In: Institute of Business Information Management – Tampere University of Technology 12. Berk, I.M., Jansen, S., Luinenburg, L.: Software Ecosystems: A Software Ecosystem Strategy Assessment Model, In: Proceedings of the 4th European Conference on Software Architecture, ISBN 978-14503-0179-4, Copenhagen, Denmark (2010) 13. Yu, L., Ramaswamy, S., Bush, J.: Symbiosis and Software Evolvability, In: Journal IT Professional, Volume 10, Issue 4, (2008) 14. Yu, L., Ramaswamy, S., Bush, J.: Software Evolvability: An Ecosystem Point of View, In: Proceedings of the 3rd Workshop on Software Evolvability, Paris, France (2007) 15. Peltoniemi, M.: Cluster, Value Network and Business Ecosystem: Knowledge and Innovation Approach, In: Proceedings of the Organisations, Innovation and Complexity: New Perspectives on the Knowledge Economy Conference, Manchester, UK (2004) 16. Klotzle, M.C.: Alianças Estratégicas: Conceito e Teoria, In: Revista da Administração Contemporânea, Volume 6, Number 1 (2002) 17. Oliveira, B.A.C., Mattar, F.N.: Canibalismo entre produtos: disfunção ou alternativa estratégica?, In: Revista FAE, Volume 3, number 3, pages 39-45 (2000) 18. Lobato, D.M., Filho, J.M., Torres, M.C.S., Rodrigues, M.R.A.: “Estratégia de Empresas”, FGV Editora, 9a Edição. Série Gestão Empresarial (2009) 19. Drucker, P.: The discipline of innovation, In: Harvard Business Review (1998) 20. Johnson, B., Lundvall, B.: Promoting innovation systems as a response to the globalizing learning economy (2000) 21. Jussani, A.C., Krakauer, P.V.C., Polo, E.F.: Reflexões sobre a estratégia do Oceano Azul: uma comparação com as estratégias de Ansoff, Porter e Hax & Wilde (2010).