Towards an SDLC for software development projects involving distributed systems
Rodrigo Augusto Silva dos Santos · 2016
[Contexto] Desde os anos 1970, Sistemas Distribuidos vem se tornando em uma opcao cada vez mais viavel e confiavel para a implementacao de sistemas de informacao. Desde entao, a evolucao destes sistemas continuou em um ritmo acelerado. Eles atualmente sao aplicaveis a uma variedade de propositos, tais como jogos online, sistemas financeiros, solucoes computacionais em nuvem, etc. E possivel entao assumir que nos dias de hoje, Sistemas Distribuidos estao em todos os lugares, e que ha uma grande probabilidade de que qualquer projeto de desenvolvimento de software em andamento esteja usando este paradigma como parte da sua proposta de entrega. Dessa forma, e relevante o estudo dos impactos que Sistemas Distribuidos trazem a disciplina de Gestao de Projetos. [Objetivos] Neste trabalho, nos discutimos estes impactos e desafios, assim como propomos um Ciclo de Vida de Desenvolvimento de Software (SDLC) e suas praticas associadas, ambos sendo adaptados para o uso em projetos de desenvolvimento de software que envolvam Sistemas Distribuidos. As praticas propostas foram otimizadas para implementacao em um regime Cascata, sendo contudo tambem adaptaveis ao uso sob o framework Scrum. [Metodo] Em um primeiro momento, um Estudo de Mapeamento Sistematico foi conduzido para entendimento do Estado-da-arte com relacao aos estudos academicos localizados na interseccao entre Gestao de Projetos e Sistemas Distribuidos. A seguir, entrevistas qualitativas foram executadas com membros da industria da Tecnologia da Informacao, objetivando confirmar os resultados encontrados no Estudo de Mapeamento Sistematico, alem de obter feedback relacionado aos desafios que Projetos atuais de Sistemas Distribuidos trazem, buscando-se ainda identificar contramedidas desejaveis para mitigar ou mesmo anular tais desafios. [Resultados] Como terceiro e final passo, um SDLC generico, assim como praticas associadas a ele, ambos tailorizados para projetos envolvendo sistemas distribuidos, foram propostos como resposta direta aos resultados obtidos das entrevistas qualitativas. As praticas tailorizadas mencionadas se constituem na espinha dorsal de nossas contribuicoes. As propostas apresentadas passaram pelo processo de member-checking para validacao e refinamento, o que resultou na versao final apresentada nesta dissertacao.