1 Practical Experience with Software Evolution in Statoil ASA SEVO Seminar, 16 March 2006 Odd Petter N. Slyngstad and Anita Gupta, Practical Experience with Software Evolution in Statoil ASA, SEVO Seminar 16.03.2006 2 Overview Two studies at Statoil ASA Context and Contribution Study#1: Investigation of Software Reuse Research Questions and Hypotheses Analysis and Results Discussion Study#2: Survey on Developers’ views on Software Reuse Survey set-up Research Questions Results from the Survey Ongoing and Future Work Odd Petter N. Slyngstad and Anita Gupta, Practical Experience with Software Evolution in Statoil ASA, SEVO Seminar 16.03.2006 3 Context and Contribution Context: Statoil ASA is a large Oil & Gas company, has ~24000 employees worldwide, represented in 28 countries Contribution: Better understanding and management of software evolution Goal: Possible to use results as baseline for comparison Odd Petter N. Slyngstad and Anita Gupta, Practical Experience with Software Evolution in Statoil ASA, SEVO Seminar 16.03.2006 4 Investigation of Software Reuse: Study Objects, Research Questions, Hypotheses and Results Study Objects: Change Requests (202 CR’s) and Trouble Reports (223 TR’s) for 6 of 7 reusable JEF (Java Enterprise Framework) components (ranging in size from 268 SLOC to 8885 SLOC), over three releases. Odd Petter N. Slyngstad and Anita Gupta, Practical Experience with Software Evolution in Statoil ASA, SEVO Seminar 16.03.2006 5 Investigation of Software Reuse: Research Questions, Hypotheses and Results Research Questions: RQ1: How does defect-density in reusable components evolve over time? H10: The defect-density in JEF components do not change with time H1A: There is a difference in defect-density for JEF components over time Result: ANOVA analysis resulted in the null hypothesis being rejected, hence there is a significant difference in defect-density for JEF components over time. 6 Investigation of Software Reuse: Research Questions, Hypotheses and Results RQ2: How does the change-density for reusable components (stability) evolve over time? H20: The change-density in JEF components does not change with time H2A: There is a difference in the change-density for JEF components over time Result: ANOVA analysis proved inconclusive here, so we cannot reject null hypothesis here. However, the data trend is nevertheless declining change-density for most of the components. Odd Petter N. Slyngstad and Anita Gupta, Practical Experience with Software Evolution in Statoil ASA, SEVO Seminar 16.03.2006 7 Investigation of Software Reuse: Discussion of results Quality attributes (defect-density and changedensity) can be used to partially characterize evolution, as they show how the quality of the reusable JEF components evolves over time: Defect-density: Analysis indicates decreasing defect-density over time for most of the components Change-density: Unable to conclude without further analysis Lower defect-density over time indicates an increased level of achieved quality for the reusable components. Changedensity (stability) is important to achieve stable evolution of the components and resources assigned to adapt/perfect the reusable components Odd Petter N. Slyngstad and Anita Gupta, Practical Experience with Software Evolution in Statoil ASA, SEVO Seminar 16.03.2006 8 Survey on Developers’ Views on Software Reuse: Survey set-up Questionnaire design: 30 Questions, 11 pages, 5 sections, 12-14 min. fill-in time. Survey performed with short qualitative follow-up interviews. Respondents were all developers involved with the DCF and S&A development projects, as well as those on the JEF team, 16 in total. Odd Petter N. Slyngstad and Anita Gupta, Practical Experience with Software Evolution in Statoil ASA, SEVO Seminar 16.03.2006 9 Survey on Developers’ Views on Software Reuse: Results (1) RQ1: What are the key benefits of reuse? Result: Lower development costs, shorter development time, higher component quality as well as standardized architecture seen as benefits of reuse. RQ2: Which factors contribute to facilitate reuse? Result: Improved documentation through information repository could be beneficial. RQ3: Does reuse increase rework? Result: Inconclusive, we can show no link between reuse and rework. Odd Petter N. Slyngstad and Anita Gupta, Practical Experience with Software Evolution in Statoil ASA, SEVO Seminar 16.03.2006 10 Survey on Developers’ Views on Software Reuse: Results (2) RQ4: Do developers have sufficient information to understand the relevant components? If the answer is no, how can they solve this problem? Result: Most developers have sufficient information, but documentation should be improved. RQ5: Do developers trust the relevant quality specification of the components? If the answer is no, how can they solve this problem? Result: Quality specification not trusted for reusable components – should be improved. Odd Petter N. Slyngstad and Anita Gupta, Practical Experience with Software Evolution in Statoil ASA, SEVO Seminar 16.03.2006 11 Survey on Developers’ Views on Software Reuse: Discussion The promise of CBSE is the management of software evolution through software reuse, hence it is important to investigate the software reuse practices. The results show that while significant benefits are seen from software reuse, improvements in documentation and quality specifications of the reusable components need to be made. Also, reuse does not appear to have a link to rework. 12 Ongoing and Future Work In-depth analysis of change-request data related to the JEF components, on trends related to software evolution. Odd Petter N. Slyngstad and Anita Gupta, Practical Experience with Software Evolution in Statoil ASA, SEVO Seminar 16.03.2006 13 Questions and Comments? oslyngst@idi.ntnu.no anitaash@idi.ntnu.no www.idi.ntnu.no/grupper/su/sevo/ Odd Petter N. Slyngstad and Anita Gupta, Practical Experience with Software Evolution in Statoil ASA, SEVO Seminar 16.03.2006