A METHOD TO DECREASE COMMON PROBLEMS IN EFFORT

Transcription

A METHOD TO DECREASE COMMON PROBLEMS IN EFFORT DATACOLLECTION IN THE SOFTWARE INDUSTRYA THESIS SUBMITTED TO THE GRADUATE SCHOOL OF INFORMATICSOF THE MIDDLE EAST TECHNICAL UNIVERSITYBYAYŞEGÜL ÖZKAYA ERENIN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OFMASTER OF SCIENCEINTHE DEPARTMENT OF INFORMATION SYSTEMSAUGUST 2012i

Approval of the Graduate School of InformaticsProf. Dr. Nazife BaykalDirectorI certify that this thesis satisfies all the requirements as a thesis for the degree of Masterof Science.Prof. Dr. Yasemin Yardımcı ÇetinHead of DepartmentThis is to certify that we have read this thesis and that in our opinion it is fully adequate,in scope and quality, as a thesis for the degree of Master of Science.Prof. Dr. Onur DemirörsSupervisorExamining Committee MembersAssoc. Prof. Dr. Altan Koçyiğit(METU, II)Prof. Dr. Onur Demirörs(METU, II)Assist. Prof. Dr. Aysu Betin Can(METU, II)Dr. Ali Arifoğlu(METU, II)Dr. N. Alpay Karagöz(Innova)ii

I hereby declare that all information in this document has been obtained andpresented in accordance with academic rules and ethical conduct. I also declarethat, as required by these rules and conduct, I have fully cited and referenced allmaterial and results that are not original to this wok.Name, Last name: Ayşegül Özkaya ErenSignature:iii

ABSTRACTA METHOD TO DECREASE COMMON PROBLEMS IN EFFORT DATACOLLECTION IN THE SOFTWARE INDUSTRYÖzkaya Eren, AyşegülM.S., Department of Information SystemsSupervisor: Prof. Dr. Onur DemirörsAugust 2012, 84 PagesEfficient project planning and project management is crucial to complete the software projects inexpected time and requirements. The most critical stage in project planning is estimation of thesoftware size, time and budget. In this stage, effort data is used for benchmarking data sets,effort estimation, project monitoring and controlling. However, there are some problems relatedto effort data collection in the software industry. In this thesis, a pilot study and survey study areconducted to observe common practices and problems in effort data collection in the industryand results are analyzed. These problems are explained in terms of tool, process and peoplefactors and solution suggestions are presented according to these problems. In accordance withthe findings, a method and a tool which can facilitates to provide more accurate data aredeveloped. A case study is performed in order to validate the method and applicability of thetool in the industry.Keywords: Effort, Effort Data Collection, Estimation, Project Planningiv

ÖZYAZILIM SEKTÖRÜNDE EFOR VERİSİ TOPLAMA PROBLEMLERİNİAZALTMAYA YÖNELİK BİR YAKLAŞIMÖzkaya Eren, AyşegülYüksek Lisans, Bilişim Sistemleri BölümüTez Danışmanı: Prof. Dr. Onur DemirörsAğustos 2012, 84 SayfaYazılım projelerinin zamanında ve istenen şekilde bitmesi, başarılı bir proje planı ve projeyönetimi için çok kritiktir. Proje planı yapılırken en önemli aşama ise yazılım büyüklüğü, zamanve maliyet kestirimi yapılmasıdır. Tüm bu planlamanın temelinde, efor bilgileri önemli bir yerteşkil eder. Yazılım sektöründe toplanan efor verisi, yazılım veri kümelerinin oluşturulması,proje planı için gerekli efor tahminlerinin gerçekleştirilmesi, proje takip ve kontrolü içinkullanılır. Ancak yazılım sektöründe, efor verisi toplamayla ilgili bazı problemler mevcuttur. Buçalışma kapsamında, bu problemlerin sektördeki varlığını sorgulamak için bir pilot çalışma veanket çalışması yapılmış ve efor verisi toplamadaki en önemli problemler ayrıntılarıylaincelenmiştir. Problemler araç, süreç ve insan olmak üzere üç başlık altında toplanmış ve herbaşlık için çözüm önerileri sunulmuştur. Bu çözüm önerileri doğrultusunda bir yaklaşım ve eforverisi girmeyi kolaylaştıracak ve insanları efor verisi girmeye teşvik edecek bir araçgeliştirilmiştir. Yaklaşımı doğrulamak ve aracın uygulanabilirliğini, problemlere olan etkisiniinceleyebilmek için bir durum çalışması yapılmıştır.Anahtar Kelimeler: Efor, Efor Verisi Toplama, Tahmin, Proje Planlamav

ACKNOWLEDGEMENTI would like to thank my advisor, my spouse, my family, and my friends for their great support,patience, and encouragement during my thesis. It would not have been possible to complete thisthesis without their endless support.First of all, I would like to thank my advisor Prof. Dr. Onur Demirörs for his great support,guidance, and patience. He always encouraged me when I had doubts.I am grateful to my spouse Özhan Eren for his great patience, support, insights, and endless love.He was always with me and I always felt his love with me. Also, he spent his valuable time toguide me during my study.My special thanks to my great family, my father Ahmet Özkaya, my mother Ayşe Özkaya, andmy brothers Mehmet Emrah Özkaya and Yunus Emre Özkaya for their endless support, andgreat patience. I want to thank Yunus Emre Özkaya for allocating his valuable time to guide meduring my thesis. They are always with me with their great encouragement on every moments ofmy life. Also I would like to thank Nilgün Özkaya and Zeynep Yıldız for their great motivations.I want to thank my friend, my sister, Özge Gürbüz for her great friendship on my life. Shealways encouraged me during my thesis. I also want to thank my close friends Esin GülKarabacakoğlu and Ebru Gündede for their motivations and support.I would like to thank Gökçen Yılmaz and Serhat Peker for their endless support and motivations.I learned a lot of things from their guidance.I would also want to thank all staff and faculty members of Informatics Institute for theirguidance during my MSc study.I am thankful to The Scientific and Technical Research Council of Turkey (TÜBİTAK) forsupporting me with scholarship during my MSc study.vi

This thesis is dedicated to my great family; my spouse,dad, mom, and brothers.vii

Table of ContentsABSTRACT . ivÖZ . vACKNOWLEDGEMENT . viTable of Contents . viiiList of Tables .xList of Figures . xiCHAPTER 1 . 1INTRODUCTION. 11.1 Problem Statement . 21.2 Approach . 21.3 Validation . 31.4 Organization of Thesis . 4CHAPTER 2 . 5RELATED RESEARCH . 52.1 Related Research on Benchmarking and Effort Estimation Studies . 52.2 Related Research on Issue and Effort Tracking Systems . 62.2.1 Jira. 72.2.2 Bugzilla . 102.2.3 Dovico . 132.3.4 Comparison of Jira, Bugzilla, and Dovico . 16CHAPTER 3 . 20APPROACH: A METHODOLOGY TO DECREASE COMMON PROBLEMS IN EFFORT DATACOLLECTION IN THE SOFTWARE INDUSTRY. 203.1 Pilot Study . 203.1.1 Overview . 203.1.2 Study Plan. 213.1.3 Implementation . 213.1.4 Results . 243.1.5 Threats to Validity. 253.2 Survey Study. 25viii

3.2.1 Overview . 253.2.2 Study Plan. 253.2.3 Implementation . 263.2.4 Results . 263.2.5 Threats to Validity. 353.3 Effort Data Collection Tool Requirements . 363.3.1 Root Cause Analysis . 363.3.2 Solution Suggestions . 413.4 Effort Data Collection Tool Design . 433.5 Effort Data Collection Tool Functionalities . 46CHAPTER 4 . 55APPLICATION OF THE EFFORT DATA COLLECTION METHODOLOGY . 554.1 Research Questions . 554.2 Case Study Plan and Design . 564.3 Implementation. 574.4 Results. 644.5 Threats to Validity . 66CHAPTER 5 . 68CONCLUSION AND THE FUTURE STUDY . 685.1 Conclusions . 685.2 Future Work . 71REFERENCES. 73APPENDICES . 75Appendix A: The Survey for Common Practices and Problems in Effort Data Collection in theSoftware Industry. 75Appendix B: The Effort Data Collection Tool Screenshots . 81ix

List of TablesTable 1 Comparison of Jira, Bugzilla and Dovico . 17Table 2 Pilot Study Results . 23Table 3 Organizations’ Domains of Activity Based on Number of Participants . 27Table 4 Comments of the Organizations about the Effort Data Collection Tools used in theOrganizations . 60Table 5 Results of Collected Effort Data Analysis for Organization # 1 . 62Table 6 Results of Collected Effort Data Analysis for Organization # 2 . 63Table 7 Results of Collected Effort Data Analysis for Organization # 3 . 63Table 8 Comments of the users about the Effort Data Collection Tool . 65Table 9 Comparison of Jira, Bugzilla, Dovico, and our Tool . 70Table 10 Questions for the First Part of the Survey . 76Table 11 Questions for the Second Part of the Survey . 77Table 12 Questions for the Third Part of the Survey . 78Table 13 Questions for the Fourth Part of the Survey . 79x

List of FiguresFigure 1 Screenshot of an issue . 8Figure 2 Searching issues . 9Figure 3 Bugzilla Main Page . 11Figure 4 Creating new bugs . 12Figure 5 Timesheet of Dovico . 14Figure 6 Timer for a task . 14Figure 7 Time Tracking of Dovico . 16Figure 8 Participants’ Titles within Their Organizations . 28Figure 9 Participants’ Years of Experience in Their Organizations . 28Figure 10 Purpose of Effort Data Collection in the Organization. 29Figure 11 Effort Data Reporting Frequency . 29Figure 12 Common Errors in Effort Collection . 31Figure 13 Reasons for Discrepancies in the Abstraction Levels of Task Definitions . 37Figure 14 Reasons for Unplanned Tasks . 37Figure 15 Reasons for Employees Provide Effort Data about Tasks Expected from them, as wellas ones they already perform . 38Figure 16 Reasons for not providing effort data for tasks such as calls, meetings, and e-mailtraffic . 38Figure 17 Reasons for Social Causes . 39Figure 18 Reasons for not providing effort data in specific periods . 39Figure 19 Reasons for not providing effort data for overtime work . 40Figure 20 Reasons for not providing effort data for immediate tasks . 40Figure 21 Database Design of the Effort Data Collection Tool . 45Figure 22 Use Case Diagram of the Effort Data Collection Tool for Project Manager . 47Figure 23 Use Case Diagram of the Effort Data Collection Tool for Personnel . 48Figure 24 Uploading Project Plan to the Effort Data Collection Tool . 49Figure 25 Google Calendar View after Defining Task to the Effort Data Collection Tool . 49Figure 26 Listing Tasks in IGoogle Gadget . 50Figure 27 Listing Tasks in Desktop Application . 51Figure 28 Recording Meeting Effort Data . 52Figure 29 Defining Preferences . 53Figure 30 Listing Overtime Work . 54Figure 31 Defining New Task . 81Figure 32 Recording Effort Data . 81Figure 33 Listing Tasks . 82Figure 34 Synchronizing Google Calendar with the Effort Data Collection Tool . 82Figure 35 Recording Effort Data by IGoogle Gadget . 83xi

Figure 36 Starting Effort Data in Desktop Application. 83Figure 37 Finishing Effort in Desktop Application . 84xii

CHAPTER 1INTRODUCTIONEfficient project planning and project management is crucial for the success of software projects(Ozkaya, Ungan, & Demirors, 2011). Software projects without a well-prepared project plan aremostly bound to fail (Anton, 2003). According to the researches, 60% of software projects failbecause of the erroneous initial estimations for project effort and schedule (Molokken &Jorgensen, 2003). Many projects are abandoned due to planning errors. All softwareorganizations share the same goal: to meet functional needs of customers by a softwareapplication with acceptable quality, within budget and on schedule, but only 30%-35% of theprojects are completed within es

expected time and requirements. The most critical stage in project planning is estimation of the software size, time and budget. In this stage, effort data is used for benchmarking data sets, effort estimation, project monitoring and controlling. However, there are some problems related to effort data collection in the software industry.