SaaS Process : Um Processo de Desenvolvimento para Software Como Serviço - LEITE, Renato Atouguia (2022)
Em empresas baseadas em SaaS - Software as a Service, as mudanças são mola propulsora e estimuladora para melhores soluções, novas funcionalidades e abordagens técnicas otimizadas, diferindo de cenários tradicionais de desenvolvimento de software como projetos, onde há fronteiras e requisitos bem definidos. O cenário enfrentado no desenvolvimento de SaaS é o de reformas constantes e sem limites definidos, desde a primeira versão entregue em produção, sem prazos ou escopos conhecidos. Isso porque requisitos são alterados, reagindo-se a demandas do negócio de maneira mais intensa, exigindo entregas contínuas e imediatas. Se no início do milênio, discutia-se o manifesto ágil impulsionado pelo Scrum e sua capacidade adaptativa, hoje, as mudanças nos requisitos de entrega de software em cloud, a exemplo do SaaS, mudam a cultura de desenvolvimento de software e impulsionam pesquisas que discutem a estrutura de processos adaptativos de desenvolvimento. É notório que o Scrum tem sido fundamental na entrega de software com time-to-market adequado, mas é preciso frisar que este processo apresenta dificuldades para a gestão de mudanças constantes de backlog e ausência de boas práticas voltadas à programação do software, como as entregues pelo eXtreme Programming - XP. É nesse cenário que a pesquisa se propõe a adaptar o Scrum Clássico ao modelo de entrega de SaaS, enaltecendo pontos fortes desse framework e eliminando aspectos que conflitem com o cenário de entrega contínua, orientada à manutenção e evolução que o SaaS implica, como o ciclo de Sprint TimeBoxed. Desta forma, o objetivo da pesquisa é analisar o impacto do modelo de entrega de software como serviço baseado em Scrum e propor uma adaptação do framework, chamado SaaS Process, unindo camadas estratégicas, táticas e operacionais, considerando mudanças como algo desejado e integrando conceitos provenientes de Kanban, qualidade de código utilizando XP, entrega de software por meio de DevOPS e auto-gestão dos times por meio de OKR. Como metodologia para execução da pesquisa executou-se um mapeamento sistemático da literatura para evidenciar o uso de metodologias ágeis durante as atividades de manutenção e evolução de software, as quais estão bem presentes no desenvolvimento de SaaS:. Além disso, foi executada uma pesquisa-ação em uma empresa de software paraibana, em duas etapas, uma ad-hoc, anterior ao período regular do mestrado e a segunda durante o período regular, como meio de avaliação da adaptação proposta.