ECOSSISTEMAS DE SOFTWARE EM CLOUD: UM ESTUDO EXPLORATÓRIO DOS FATORES DE ADOÇÃO
ecossistemas de software; computação na nuvem; cloud; adoção;
Por muito tempo os softwareseram desenvolvidos por um grupo de engenheiros de software que trabalhavam de maneira isolada, dentro de suas organizações, e sem influência do mundo externo. Basicamente todo o ciclo de vida do software, desde sua concepção até a sustentação,era gerenciado pelas empresas detentoras do software. Este paradigma está cada dia mais enfraquecido. Um novo modelo de desenvolvimento de software vem surgindo e ganhando novos adeptos, trata-se do desenvolvimento de softwareem um contexto de ecossistemas de software. Segundo Jansen et al.(2009), um ecossistema de softwareconsiste em "Um conjunto de atores que atuam como uma unidade e se inter-relacionam com um mercado compartilhado de software e serviços, juntamente com as relações entre eles".
A razão para a mudança para o modelo de ecossistemas de software ocorre em razão de diversas empresas de software terem adotado estratégias de negócio diferenciadoras para atrair um público maior, ou ainda, para terem contribuições de agentes externos em seus produto e serviços (Berk et al., 2010). Tais estratégias estão tornando essas plataformas mais flexíveis e essa flexibilização proporciona o surgimento de ecossistemas de software. iOS e Android, são exemplos de ecossistemas de software em mobile. Quando as organizações deixam de desenvolver seus produtos e serviços de forma isolada e passam a trabalhar em parceria com outras organizações ou desenvolvedores independentes, elas alcançam um grande nível de evolução tecnológica (Berk et al., 2010).
O vocábulo ecossistemas de software, conforme visto anteriormente, pode ser definido por uma rede de atores que se auto-relacionam sobre uma plataforma tecnológica comum, resultando em várias soluções ou serviços de software. Para Miranda (2016), esta rede de atores acaba influenciando uns aos outros de maneira positiva, com a troca e aquisição de experiências, tecnologias, divisão de custos para desenvolvimentos de software e clientes. Contudo, existem fatores que influenciam a adoção de um ecossistema de software por parte dos engenheiros de software, por exemplo, o modelo de negócio, a comunidade em volta do ecossistema, etc (Ferreira, 2016).
Neste contexto, este trabalho busca entender os aspectos que podem influenciar os engenheiros de software a adotar, rejeitar ou permanecer em um ecossistema de software em cloud. Para alcançar este objetivo, será feito um estudo exploratório, visando entender os principais aspectos que os desenvolvedores enfrentam no desenvolvimento de software em cloud.