On the value of essence to software engineering research: A preliminary study

There has been growing interest in the use of empirical approaches in software engineering research. However, many researchers pointed out that a framework for reporting software engineering case study findings is lacking. As a consequence, it is difficult to compare results or evaluate their generality. In this paper, we use Essence as a foundation for such a framework. Essence is a software engineering kernel and language developed by SEMAT, whose aim is to find a common ground of software engineering. We chose Essence as a foundation because of its unique features such as being comprehensive, model-based, and extensible. We demonstrate the use of this framework by taking an existing case study research and analyzing how Essence could report its findings more systematically and comprehensively. The case study we investigate is about whether the customer representative role is too demanding in an extreme programming (XP) environment. Using the Essence framework, we found a strong validity threat to this case study. Although the validity threat could also be detected otherwise, the fact that it was not detected previously only highlight the importance of having greater rigor in case study reporting and evaluation, which is why a framework is necessary. Moreover, by using Essence as a foundation for such a framework, we show the value Essence brings to the software engineering research community.

[1]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[2]  Ron Jeffries,et al.  Extreme Programming Installed , 2000 .

[3]  Pekka Abrahamsson,et al.  On-Site Customer in an XP Project: Empirical Results from a Case Study , 2004, EuroSPI.

[4]  Marin Litoiu,et al.  4th international workshop on adoption-centric software engineering , 2004, Proceedings. 26th International Conference on Software Engineering.

[5]  Ivar Jacobson,et al.  The Essence of Software Engineering: Applying the SEMAT Kernel , 2013 .

[6]  Kai Petersen,et al.  Waste and Lead Time Reduction in a Software Product Customization Process with Value Stream Maps , 2010, 2010 21st Australian Software Engineering Conference.

[7]  Ivar Jacobson,et al.  The essence of software engineering: the SEMAT kernel , 2012, CACM.

[8]  Sandro Morasca,et al.  On the application of measurement theory in software engineering , 2004, Empirical Software Engineering.

[9]  Shihong Huang,et al.  On the Challenges in Fostering Adoption via Empirical Studies , 2004, ICSE 2004.

[10]  Ivar Jacobson,et al.  Semat—Three Year Vision , 2012, Programming and Computer Software.

[11]  Claes Wohlin,et al.  Software process improvement through the Lean Measurement (SPI-LEAM) method , 2010, J. Syst. Softw..

[12]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[13]  Venkataraman Ramesh,et al.  Research in software engineering: an analysis of the literature , 2002, Inf. Softw. Technol..

[14]  Dietmar Pfahl,et al.  Reporting Experiments in Software Engineering , 2008, Guide to Advanced Empirical Software Engineering.

[15]  Per Runeson,et al.  Using Students as Experiment Subjects – An Analysis on Graduate and Freshmen Student Data , 2003 .

[16]  RunesonPer,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009 .

[17]  Claes Wohlin,et al.  Context in industrial software engineering research , 2009, 2009 3rd International Symposium on Empirical Software Engineering and Measurement.

[18]  Harald C. Gall,et al.  Don't touch my code!: examining the effects of ownership on software quality , 2011, ESEC/FSE '11.

[19]  D. Budgen,et al.  Empirical software engineering: a roadmap report from a workshop held at STEP 2002, Montreal, October 2002 , 2002, 10th International Workshop on Software Technology and Engineering Practice.

[20]  Harald C. Gall,et al.  Putting It All Together: Using Socio-technical Networks to Predict Failures , 2009, 2009 20th International Symposium on Software Reliability Engineering.

[21]  Mary Shaw,et al.  What makes good research in software engineering? , 2002, International Journal on Software Tools for Technology Transfer.

[22]  S. Tilley,et al.  Report from the Second International Workshop on Adoption-Centric Software Engineering (ACSE 2002) , 2002, 10th International Workshop on Software Technology and Engineering Practice.

[23]  Robert Feldt,et al.  Validity Threats in Empirical Software Engineering Research - An Initial Survey , 2010, SEKE.

[24]  Sandro Morasca,et al.  Property-Based Software Engineering Measurement , 1996, IEEE Trans. Software Eng..

[25]  Emerson R. Murphy-Hill,et al.  How can research about software developers generalize? , 2012, 2012 5th International Workshop on Co-operative and Human Aspects of Software Engineering (CHASE).

[26]  Tore Dybå,et al.  Evidence-Based Software Engineering for Practitioners , 2005, IEEE Softw..

[27]  Tore Dybå,et al.  Empirical studies of agile software development: A systematic review , 2008, Inf. Softw. Technol..