RiPLE-EM: a process to manage evolution in software product lines - Oliveira, Thiago Henrique Burgos de (2009)
Reuso de software é um aspecto chave para organizações interessadas em obter melhorias de produtividade, qualidade e redução de custos. Linhas de Produto de Software é uma abordagem de reúso de software que provou seus benefícios em diferentes contextos industriais (Weiss et al., 2006). Em termos de evolução, uma linha de produtos é um conjunto em contínua evolução, e por isso, sua evolução precisa ser gerenciada para que se alcance os benefícios dessa abordagem. O fato de um core asset ser compartilhado entre produtos, e todas as mudanças neste core asset poder ter efeito sobre diversos produtos (McGregor, 2003), aliado ao fato que em linhas de produto de software é preciso lidar com evolução no tempo (versões) e também evolução no espaço (variabilidade) (Krueger, 2002), faz com que o gerenciamento da evolução (mudanças) em linhas de produto de software seja mais complexo e mais desafiador do que o desenvolvimento tradicional de sistemas únicos (Pussinen, 2002). Portanto, a evolução dos core assets e também dos produtos precisa ser bem gerenciada para minimizar os problemas causados por ela. Este desafio envolve diferentes soluções, como questões técnicas, gerenciais e processuais. Desta forma, o foco desta dissertação está nos problemas ligados ao processo de gerenciamento evolução em linhas de produto de software. Neste contexto, este trabalho apresenta o RiPLE-EM, que é um processo para gerenciamento da evolução. Este processo é uma forma sistemática de guiar e gerenciar a evolução de cada core asset e cada produto, englobando atividades de gerenciamento de mudanças, builds, e entregas. Esta dissertação também apresenta a validação inicial do RiPLE-EM, seguindo guias bem estabelecidos de experimentação de software (Wohlin et al., 2000), e de acordo com os dados coletados e analisados na experimentação, RiPLE-EM mostra indicações de que seja um processo viável para o gerenciamento da evolução em linhas de produto de software