Undertaking this Ph.D. has been a truly life-changing experience for me, and it would not have been possible to do without the support and guidance that I received from many people. The entire list of people who encouraged me during my Ph.D. is prolonged, whether within the research itself, forming a suitable environment, or even giving personal support. Probably, I will have forgotten to recall all names.First and foremost, I would like to thank Slinger Jansen. To me, Slinger was more than a supervisor. He was an inspiring and enthusiastic co-promoter who showed me the right course of action in all situations. His encouragements and optimism were indispensable to keep me motivated. Slinger taught me how to do research and then report findings correctly to scientific communities.I would like to express my sincere gratitude to Sjaak Brinkkemper. He actively supported my research and encouraged me to write down high-quality scientific papers. With a few questions, he always helped me to focus on contributions and structure my findings. Most of his remarks will be with me for my entire career as a researcher.I would like to say a special thank you to Rolf de Jong. His support, guidance, and comprehensive insights into the software engineering field have made an inspiring experience for me. And special thanks to Michiel Overeem, whose support as an experienced software engineer and an eager researcher allowed my studies to go the extra mile (sorry for all the additional work, Michiel!).Doing research and writing papers in collaboration with others was a pleasant experience as it allowed me to gain more insight and knowledge regarding what I was working on. I am profoundly grateful for my co-authors' hard work, who have not been mentioned above, and their substantial contribution to uplift the studies presented in this dissertation. Thanks, Sergio España, Jan Martijn van der Werf, Rolf de Jong, and Jacco Verkleij. I am also thankful to my motivated students who assisted me in the research projects, especially Elena Baninemeh, Andrey Krupskiy, Baharak Bakhtiari, and Mahdi Deldar. I am delighted to have worked with you, and I look forward to working with you again.My research would have been impossible without the feedback from domain experts and case study participants from various software producing organizations that participated in the research projects' evaluation phases in this dissertation.The work presented in this dissertation has been critically assessed and approved by an outstanding reading committee to whom I am more than grateful: Patricia Lago, Krzysztof Wnuk, Gabriele Keller, Bedir Tekinerdogan, and Diomidis Spinellis. I also vi Acknowledgments want to thank the numerous anonymous reviewers of the journals and conferences. Often I received constructive feedback that helped me to improve the quality of my publications.To conclude, I cannot forget to thank my parents, beloved sister, and friends for all the unconditional love and support during my Ph.D. journey.