Enhancing the Throughput of Software Development Projects Using a Model That Improves the Process of Release Management
Total Page:16
File Type:pdf, Size:1020Kb
COPYRIGHT AND CITATION CONSIDERATIONS FOR THIS THESIS/ DISSERTATION o Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. o NonCommercial — You may not use the material for commercial purposes. o ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. How to cite this thesis Surname, Initial(s). (2012) Title of the thesis or dissertation. PhD. (Chemistry)/ M.Sc. (Physics)/ M.A. (Philosophy)/M.Com. (Finance) etc. [Unpublished]: University of Johannesburg. Retrieved from: https://ujdigispace.uj.ac.za (Accessed: Date). Enhancing the throughput of software development projects using a model that improves the process of release management by Natasha Nicolette Vitó Ferreira 200508700 Dissertation submitted in fulfillment of the requirements for the degree Magister Scientiae in the subject of Computer Science in the Faculty of Science at the University of Johannesburg SUPERVISOR: PROF J.J. LANGERMAN October 2013 Dedicated to My parents: My mom, Nanda, you have always been the shining star in my life; I completed this for you in an attempt to add half the sparkle to your life that you have added to mine. Thank you for your infinite motivation. My dad, Julio, for always portraying a character of strength; the pride you possess has helped me complete this. My special sisters: Melanie - as my older sister, you have always had so much faith in me and were always proud of my achievements; thank you for always being there for me when I needed some light in the dark. Carina - my twin, I am truly grateful for the words of encouragement you’ve always shared with me; thank you for cheering me on till the end. For the rest of the people, friends and family with whom I have been blessed in my life, thank you for being my anchor when the waters were too rough. I thank you for your support and understanding through this venture of mine. ‘Thank you for filling my bucket so high of self-esteem that the rest of the world can’t poke enough holes to drain it dry.’ ACKNOWLEDGEMENTS Firstly, to my supervisor, Prof. Josef J. Langerman, you have always been the person I have looked up to. Thank you for your patience and motivation throughout this exciting journey in my life. You’ve made me believe that ‘only as high as I reach, can I grow; only as far as I seek, can I go; only as deep as I look, can I see and only as much as I dream, can I be’. To my family and friends who have shown me immeasurable support and have had so much faith in me during the completion of this chapter in my life. You’ve made the journey worthwhile and assisted me in adding plenty of colour to the pages of my life. ‘When my life flashes before my eyes, at least I know I will have plenty to watch.’ I am honoured to acknowledge the generous financial support from the University of Johannesburg and Standard Bank of South Africa. None of this would have been possible without the support of the Standard Bank Transactional and Product Services (TPS) department in the Corporate and Investment Banking (CIB) division of the bank who assisted me and was always willing to provide me with information. ABSTRACT The process that involves creating and altering software systems can be defined as the software development lifecycle. People often use methodologies and methods in order to develop these systems with success factors such as people, processes and technology. The lifecycle is comprised of the following stages: • Planning • Requirements definition • Design • Development • Integration and testing • Installation • Acceptance. The underlying issue in such a lifecycle is that project defects are identified late within the lifecycle and therefore, the process of rectifying these problems becomes costly. Ultimately, an ideal product is one with minimal or zero defects which can be achieved with a software project that prevents or detects defects earlier within the cycle. Release management can be described as the process involving decision-making regarding the implementation and releasing of a software product. A conceptual framework exists which stipulates the stages involved in the development process of a software application. Several models exist that describe the SDLC in different approaches. A philosophy is adopted within the RAD model, known as Agile and is beneficial since it minimises future scope creep and scope changes. Development occurs in shorter intervals. Over and above the stages and values in this methodology, the Agile methodology includes incremental changes which are then captured in the scheduled software releases. The purpose of the research presented in this dissertation is to incorporate findings where large companies with global IT projects can adopt the Agile conceptual framework and to testify whether all types of IT projects will benefit from a frequent release approach to the delivery of the project. Three different projects across a large South African financial institution that specialises in corporate organisation banking and core-banking functionality will be studied and presented as case studies. Release management will also be studied from an organisational perspective with the following banking institution in context. Data will be retrieved by carrying out interviews and surveys with appropriate stakeholders, and therefore, analysed to generate a valid conclusion. Key words: Software development lifecycle, release management, frequent releases. Table of Contents 1. INTRODUCTION ................................................................................................................ 1 1.1 BACKGROUND INFORMATION ...................................................................... 1 1.2 PURPOSE AND IMPORTANCE OF STUDY .......................................................... 3 1.2.1 PROBLEM STATEMENT ................................................................................ 4 1.2.1.1 RELEASE MANAGEMENT ....................................................................... 6 1.3 RESEARCH QUESTIONS ................................................................................ 8 1.3.1 QUESTION ONE .......................................................................................... 8 1.3.2 QUESTION TWO ......................................................................................... 9 1.3.3 QUESTION THREE ....................................................................................... 9 1.4 DISSERTATION STRUCTURE ........................................................................ 10 2. RESEARCH METHOD ..................................................................................................... 13 2.1 INTRODUCTION ....................................................................................... 13 2.2 RESEARCH QUESTIONS .............................................................................. 15 2.2.1 QUESTION ONE ........................................................................................ 16 2.2.2 QUESTION TWO ....................................................................................... 16 2.2.3 QUESTION THREE ..................................................................................... 17 2.3 RESEARCH APPROACH .............................................................................. 17 2.3.1 QUALITATIVE VS. QUANTITATIVE RESEARCH .................................................. 17 2.3.2 SELECTED RESEARCH APPROACH .................................................................. 20 2.4 RESEARCH METHODOLOGY ........................................................................ 21 2.4.1 OVERVIEW OF POSSIBLE RESEARCH METHODOLOGIES ..................................... 21 2.4.1.1 PARTICIPANT OBSERVATION ................................................................ 21 2.4.1.2 EVALUATIVE RESEARCH ....................................................................... 21 2.4.1.3 COMPARATIVE ANALYSIS ..................................................................... 22 2.4.1.4 EXPERIMENTS ................................................................................... 22 2.4.1.5 CASE STUDIES ................................................................................... 22 2.4.1.6 INTERVIEWS ..................................................................................... 23 2.4.1.7 SURVEYS .......................................................................................... 24 2.4.2 SELECTION OF THE APPROPRIATE RESEARCH METHODOLOGY ............................ 24 2.4.2.1 CASE STUDIES ................................................................................... 24 2.4.2.1(A) CASE STUDY PROTOCOL ..................................................................... 25 2.4.2.1(B) COLLECTION OF DATA ........................................................................ 25 2.4.2.1(C) CASE SELECTION ............................................................................... 25 2.4.2.2 LITERATURE SURVEY ........................................................................... 25 2.4.3 RESEARCH DATA COLLECTION PROCESS ......................................................... 27 2.4.4 RESEARCH INSTRUMENTS ........................................................................... 27 2.4.4.1 CASE STUDIES ..................................................................................