A CMMI-Compliant Requirements Management and Development Process
Total Page:16
File Type:pdf, Size:1020Kb
Vanessa Sofia Simões de Ataíde Ramos Licenciada em Engenharia Informática A CMMI-compliant Requirements Management and Development Process Dissertação para obtenção do Grau de Mestre em Engenharia Informática Orientador: Ana Moreira, Professora Associada, FCT/UNL Júri: Presidente: Prof. Doutor Rodrigo Seromenho Miragaia Rodrigues Arguente: Prof. Doutor João Carlos Pascoal de Faria Vogal: Prof. Doutor Ana Maria Dinis Moreira Setembro, 2014 A CMMI-compliant Requirements Management and Development Process Copyright © Vanessa Sofia Simões de Ataíde Ramos, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa A Faculdade de Ciências e Tecnologia e a Universidade Nova de Lisboa têm o direito, perpétuo e sem limites geográficos, de arquivar e publicar esta dissertação através de exemplares impressos reproduzidos em papel ou de forma digital, ou por qualquer outro meio conhecido ou que venha a ser inventado, e de a divulgar através de repositórios científicos e de admitir a sua cópia e distribuição com objectivos educacionais ou de investigação, não comerciais, desde que seja dado crédito ao autor e editor. ii iii Acknowledgments Throughout this dissertation I was fortunate enough to have the precious contribution of many people and entities. To them, I would like to show my appreciation with a few words of recognized gratitude. Foremost, I must express my deep gratitude to my supervisors, Ana Maria Moreira and Rui Nunes Gonçalves, for the outstanding guidance and continuous support during this dissertation research and writing. Without them it would, literally, not be possible. I cannot begin to thank my supervisor Ana Moreira, for presenting me with the opportunity to work directly in industry and on one of my favorite topics of software engineering. Her experience, enthusiasm and kindness were a key contribution to finish my academic training with such a feeling of satisfaction. Equally, a special thanks goes to my supervisor Rui Nunes Gonçalves, who I had the privilege to work and learn a lot from. His immense knowledge on the subject of this dissertation and his assistance were a major contribution. Furthermore, I would like to thank Altran Portugal, for the internship opportunity and for granting me the time and necessary conditions to develop this dissertation. In particular, I would like to thank the Project Manager António Matias, for his assistance, especially during the validation phase. I would also like to thank Prof. Miguel Goulão, who kindly assisted me with the survey analysis and gave me valuable feedback during the preparation stage. For her assistance and total availability to share her knowledge, I must also thank Denise Bombonatti. Her advice was determinant for the solution proposed in this dissertation. My sincere thanks also go to the CMMI Portugal community, in particular to Isabel Margarido and to Prof. Fernando Brito Abreu for their precious help and cooperation sharing my survey. Likewise, I would like to extend my appreciation to all the participants of that event that willingly took the time to answer my survey. For the time spent at the office throughout this year, I must also thank my colleagues at Altran, in particular Sónia Faleiro and João Silva, who made it easier to face every day with motivation. Thank you for your friendship, companionship and help. Last but not the least, I would like to sincerely thank my family and friends. In particular, my parents, brother and specially my grandparents for always believing in me, even when I didn’t, for giving me the opportunity to pursue my dreams and for the unconditional love and support. To them, I dedicate this dissertation. iv v Resumo A Engenharia de Requisitos é uma disciplina essencial para a qualidade do Software. Processos mal definidos para elicitar, analisar, especificar e validar requisitos podem resultar em problemas ou mal-entendidos sobre as necessidades de negócios e âmbito do projeto. Isto leva tipicamente à insatisfação do cliente com a qualidade do produto ou com deslizes nos custos e duração do projeto. Os Modelos de Maturidade permitem a uma organização medir a qualidade dos seus processos e melhorá-los de acordo com uma evolução baseada em níveis. O CMMI (Capability Maturity Model Integration) aborda estas questões da engenharia de requisitos, definindo um conjunto de boas práticas para melhoria dos processos. A gestão de requisitos e o desenvolvimento de requisitos são duas áreas de processo incluídas nos modelos de maturidade. A Altran Portugal é uma empresa de consultoria preocupada com a qualidade do seu software. Em 2012, o departamento Solution Center desenvolveu e aplicou com sucesso um conjunto de processos de acordo com o modelo CMMI-DEV v1.3, o que lhes conferiu uma certificação de nível 2 de maturidade. Para 2015, o objetivo é atingir o nível 3 de maturidade. Esta dissertação de mestrado é parte integrante deste esforço organizacional, endereçando as áreas de processo da Engenharia de Requisitos. O objetivo principal é contribuir para o desenvolvimento dos processos internos da Altran de acordo com as diretrizes da área de processo de desenvolvimento de requisitos. Para atingir os objectivos desta dissertação, começámos por definir um método de avaliação baseado no CMMI para ajuizar o nível de conformidade dos processos atuais. Isto permitiu demonstrar o alinhamento da metodologia atual com a área de processo de gestão de requisitos e destacar as melhorias necessárias para a conformidade com a área de processo de desenvolvimento de requisitos do CMMI. Com base no estudo das soluções alternativas para as fragilidades encontradas, foi proposto um novo processo de Gestão e Desenvolvimento de Requisitos, que foi posteriormente validado por meio de três abordagens diferentes. A principal contribuição desta dissertação é o novo processo desenvolvido para a Altran Portugal. No entanto, considerando que os estudos sobre estes temas não são abundantes na literatura, espera-se também contribuir com evidências úteis para o corpo de conhecimento existente, nomeadamente, através de um survey sobre o CMMI e as tendências da engenharia de requisitos na indústria. Mais importante, esperamos que as melhorias resultantes da implementação do processo proposto minimizem os riscos associados aos requisitos, aumentando o desempenho da Altran e aproximando-os do nível de maturidade desejado. Palavras chave: CMMI, Engenharia de Requisitos, Desenvolvimento de Requisitos, Gestão de Requisitos, Avaliação de Processos vi vii Abstract Requirements Engineering has been acknowledged an essential discipline for Software Quality. Poorly-defined processes for eliciting, analyzing, specifying and validating requirements can lead to unclear issues or misunderstandings on business needs and project’s scope. These typically result in customers’ non-satisfaction with either the products’ quality or the increase of the project’s budget and duration. Maturity models allow an organization to measure the quality of its processes and improve them according to an evolutionary path based on levels. The Capability Maturity Model Integration (CMMI) addresses the aforementioned Requirements Engineering issues. CMMI defines a set of best practices for process improvement that are divided into several process areas. Requirements Management and Requirements Development are the process areas concerned with Requirements Engineering maturity. Altran Portugal is a consulting company concerned with the quality of its software. In 2012, the Solution Center department has developed and applied successfully a set of processes aligned with CMMI-DEV v1.3, what granted them a Level 2 maturity certification. For 2015, they defined an organizational goal of addressing CMMI-DEV maturity level 3. This MSc dissertation is part of this organization effort. In particular, it is concerned with the required process areas that address the activities of Requirements Engineering. Our main goal is to contribute for the development of Altran’s internal engineering processes to conform to the guidelines of the Requirements Development process area. Throughout this dissertation, we started with an evaluation method based on CMMI and conducted a compliance assessment of Altran’s current processes. This allowed demonstrating their alignment with the CMMI Requirements Management process area and to highlight the improvements needed to conform to the Requirements Development process area. Based on the study of alternative solutions for the gaps found, we proposed a new Requirements Management and Development process that was later validated using three different approaches. The main contribution of this dissertation is the new process developed for Altran Portugal. However, given that studies on these topics are not abundant in the literature, we also expect to contribute with useful evidences to the existing body of knowledge with a survey on CMMI and requirements engineering trends. Most importantly, we hope that the implementation of the proposed processes’ improvements will minimize the risks of mishandled requirements, increasing Altran’s performance and taking them one step further to the desired maturity level. Keywords: CMMI, Requirements Engineering, Requirements Development, Requirements Management, Process Appraisals viii ix Contents 1. INTRODUCTION .......................................................................................................................... 1 1.1. DESCRIPTION AND CONTEXT ...................................................................................................