Change search
Link to record
Permanent link

Direct link
BETA
Petersen, Kai
Alternative names
Publications (10 of 93) Show all publications
Nurdiani, I., Börstler, J., Fricker, S. & Petersen, K. (2019). Usage, Retention, and Abandonment of Agile Practices. e-Informatica Software Engineering Journal, 13(1), 7-35
Open this publication in new window or tab >>Usage, Retention, and Abandonment of Agile Practices
2019 (English)In: e-Informatica Software Engineering Journal, ISSN 1897-7979, E-ISSN 2084-4840, Vol. 13, no 1, p. 7-35Article in journal (Refereed) Published
Abstract [en]

Background: A number of Agile maturity models (AMMs) have been proposed to guide software organizations in their adoption of Agile practices. Typically the AMMs suggest that higher maturity levels are reached by gradually adding more practices. However, recent research indicates that certain Agile practices, like test-driven development and continuous integration are being abandoned. Little is known on the rationales for abandoning Agile practices. Aim: We aim to identify which Agile practices are abandoned in industry, as well as the reasons for abandoning them. Method: We conducted a web survey with 51 respondents and interviews with 11 industry practitioners with experience in Agile adoption to investigate why Agile practices are abandoned. Results: Of the 17 Agile practices that were included in the survey, all have been abandoned at some point. Nevertheless, respondents who retained all practices as well as those who abandoned one or more practices, perceived their overall adoption of Agile practices as successful. Conclusion: Going against the suggestions of the AMMs, i.e. abandoning Agile one or more practices, could still lead to successful outcomes. This indicates that introducing Agile practices gradually in a certain sequence, as the AMMs suggest, may not always be suitable in different contexts.

Place, publisher, year, edition, pages
Software Engineering Section of the Committee on Informatics of the Polish Academy of Sciences and Wrocław University of Science and Technology., 2019
Keywords
Agile maturity models (AMMs), Agile practices
National Category
Software Engineering
Identifiers
urn:nbn:se:bth-16236 (URN)10.5277/e-Inf190101 (DOI)
Available from: 2018-05-30 Created: 2018-05-30 Last updated: 2018-10-04Bibliographically approved
Nurdiani, I., Börstler, J., Fricker, S. & Petersen, K. (2018). A Preliminary Checklist for Capturing Baseline Situations in Studying the Impacts of Agile Practices Introduction. In: Proceedings - International Conference on Software Engineering: . Paper presented at International Workshop Series on Conducting Empirical Studies in Industry (CESI’18), Gothenburg (pp. 25-28). IEEE Computer Society
Open this publication in new window or tab >>A Preliminary Checklist for Capturing Baseline Situations in Studying the Impacts of Agile Practices Introduction
2018 (English)In: Proceedings - International Conference on Software Engineering, IEEE Computer Society, 2018, p. 25-28Conference paper, Published paper (Refereed)
Abstract [en]

To assess the benefits of introducing Agile practices, it is important to get a clear understanding of the baseline situation, i.e. the situation before their introduction. Without a clear baseline, we cannot properly assess the extent of impacts, both positive and negative, of introducing Agile practices. This paper provides a preliminary guideline to help researchers in capturing and reporting baseline situations. The guideline has been developed through the study of literature and interviews with industry practitioners, and validated by experts in academia.

Place, publisher, year, edition, pages
IEEE Computer Society, 2018
Series
Proceedings - International Conference on Software Engineering, ISSN 0270-5257
Keywords
Agile practices, checklist, baseline situation
National Category
Engineering and Technology
Identifiers
urn:nbn:se:bth-16114 (URN)10.1145/3193965.3193969 (DOI)9781450357364 (ISBN)
Conference
International Workshop Series on Conducting Empirical Studies in Industry (CESI’18), Gothenburg
Available from: 2018-04-24 Created: 2018-04-24 Last updated: 2018-08-21Bibliographically approved
Irshad, M., Petersen, K. & Poulding, S. (2018). A systematic literature review of software requirements reuse approaches. Information and Software Technology, 93(Jan), 223-245
Open this publication in new window or tab >>A systematic literature review of software requirements reuse approaches
2018 (English)In: Information and Software Technology, ISSN 0950-5849, E-ISSN 1873-6025, Vol. 93, no Jan, p. 223-245Article in journal (Refereed) Published
Abstract [en]

Context: Early software reuse is considered as the most beneficial form of software reuse. Hence, previous research has focused on supporting the reuse of software requirements. Objective: This study aims to identify and investigate the current state of the art with respect to (a) what requirement reuse approaches have been proposed, (b) the methods used to evaluate the approaches, (c) the characteristics of the approaches, and (d) the quality of empirical studies on requirements reuse with respect to rigor and relevance. Method: We conducted a systematic review and a combination of snowball sampling and database search have been used to identify the studies. The rigor and relevance scoring rubric has been used to assess the quality of the empirical studies. Multiple researchers have been involved in each step to increase the reliability of the study. Results: Sixty-nine studies were identified that describe requirements reuse approaches. The majority of the approaches used structuring and matching of requirements as a method to support requirements reuse and text-based artefacts were commonly used as an input to these approaches. Further evaluation of the studies revealed that the majority of the approaches are not validated in the industry. The subset of empirical studies (22 in total) was analyzed for rigor and relevance and two studies achieved the maximum score for rigor and relevance based on the rubric. It was found that mostly text-based requirements reuse approaches were validated in the industry. Conclusion: From the review, it was found that a number of approaches already exist in literature, but many approaches are not validated in industry. The evaluation of rigor and relevance of empirical studies show that these do not contain details of context, validity threats, and the industrial settings, thus highlighting the need for the industrial evaluation of the approaches. © 2017 Elsevier B.V.

Place, publisher, year, edition, pages
Elsevier, 2018
Keywords
Artefact reuse, Relevance, Requirements reuse, Reusability, Rigor, Software requirements, Quality control, Requirements engineering, Search engines, Computer software reusability
National Category
Software Engineering
Identifiers
urn:nbn:se:bth-15356 (URN)10.1016/j.infsof.2017.09.009 (DOI)000414878200014 ()2-s2.0-85030849171 (Scopus ID)
Funder
Knowledge Foundation
Note

project "Professional Licentiate of Engineering Research School"

Available from: 2017-10-20 Created: 2017-10-20 Last updated: 2018-01-13Bibliographically approved
Minhas, N. M., Masood, S., Petersen, K. & Nadeem, A. (2018). A Systematic Mapping of Test Case Generation Techniques Using UML Interaction Diagram. Journal of Software: Evolution and Process
Open this publication in new window or tab >>A Systematic Mapping of Test Case Generation Techniques Using UML Interaction Diagram
2018 (English)In: Journal of Software: Evolution and Process, ISSN 2047-7473, E-ISSN 2047-7481Article in journal (Refereed) Submitted
Abstract [en]

Testing plays a vital role for assuring software quality. Among the activities performed during testing process, test cases generation is a challenging and labor intensive task. Test case generation techniques based on UML models are getting the attention of researchers and practitioners. This study provides a systematic mapping of test case generation techniques based on interaction diagrams. The study compares the test case generation techniques, regarding their capabilities and limitations, and it also assesses the reporting quality of the primary studies. It has been revealed that UML interaction diagrams based techniques are mainly used for integration testing. The majority of the techniques are using sequence diagrams as input models, while some are using collaboration. A notable number of techniques are using interaction diagram along with some other UML diagram for test case generation. These techniques are mainly focusing on interaction, scenario, operational, concurrency, synchronization and deadlock related faults.

From the results of this study, we can conclude that the studies presenting test case generation techniques using UML interaction diagrams failed to illustrate the use of rigorous methodology, and these techniques did not demonstrate the empirical evaluation in an industrial context. Our study revealed the need for tool support to facilitate the transfer of solutions to industry.

Keywords
Software testing, Test case generation, Interaction diagrams, Model based testing, Systematic mapping
National Category
Computer Systems
Identifiers
urn:nbn:se:bth-17363 (URN)
Projects
EASE - Embedded Applications Software Engineering
Funder
VINNOVA, 2015-03235
Available from: 2018-11-30 Created: 2018-11-30 Last updated: 2018-12-05Bibliographically approved
Molléri, J. S., Petersen, K. & Mendes, E. (2018). CERSE - Catalog for empirical research in software engineering: A Systematic mapping study. Information and Software Technology
Open this publication in new window or tab >>CERSE - Catalog for empirical research in software engineering: A Systematic mapping study
2018 (English)In: Information and Software Technology, ISSN 0950-5849, E-ISSN 1873-6025Article in journal (Refereed) Epub ahead of print
Abstract [en]

Context Empirical research in software engineering contributes towards developing scientific knowledge in this field, which in turn is relevant to inform decision-making in industry. A number of empirical studies have been carried out to date in software engineering, and the need for guidelines for conducting and evaluating such research has been stressed. Objective: The main goal of this mapping study is to identify and summarize the body of knowledge on research guidelines, assessment instruments and knowledge organization systems on how to conduct and evaluate empirical research in software engineering. Method: A systematic mapping study employing manual search and snowballing techniques was carried out to identify the suitable papers. To build up the catalog, we extracted and categorized information provided by the identified papers. Results: The mapping study comprises a list of 341 methodological papers, classified according to research methods, research phases covered, and type of instrument provided. Later, we derived a brief explanatory review of the instruments provided for each of the research methods. Conclusion: We provide: an aggregated body of knowledge on the state of the art relating to guidelines, assessment instruments and knowledge organization systems for carrying out empirical software engineering research; an exemplary usage scenario that can be used to guide those carrying out such studies is also provided. Finally, we discuss the catalog's implications for research practice and the needs for further research. © 2018 Elsevier B.V.

Place, publisher, year, edition, pages
Elsevier B.V., 2018
Keywords
Empirical methods, Empirical research, Mapping study, Decision making, Mapping, Software engineering, Assessment instruments, Empirical method, Empirical research in software engineering, Empirical Software Engineering, Knowledge organization systems, Mapping studies, Systematic mapping studies, Knowledge management
National Category
Software Engineering
Identifiers
urn:nbn:se:bth-17108 (URN)10.1016/j.infsof.2018.08.008 (DOI)2-s2.0-85054061108 (Scopus ID)
Available from: 2018-10-11 Created: 2018-10-11 Last updated: 2018-10-12Bibliographically approved
Petersen, K., Badampudi, D., Ali Shah, S. M., Wnuk, K., Gorschek, T., Papatheocharous, E., . . . Cicchetti, A. (2018). Choosing Component Origins for Software Intensive Systems In-house, COTS, OSS or Outsourcing?: A Case Survey. IEEE Transactions on Software Engineering, 39(12), 237-261
Open this publication in new window or tab >>Choosing Component Origins for Software Intensive Systems In-house, COTS, OSS or Outsourcing?: A Case Survey
Show others...
2018 (English)In: IEEE Transactions on Software Engineering, ISSN 0098-5589, E-ISSN 1939-3520, Vol. 39, no 12, p. 237-261Article in journal (Refereed) Published
Abstract [en]

The choice of which software component to use influences the success of a software system. Only a few empirical studies investigate how the choice of components is conducted in industrial practice. This is important to understand to tailor research solutions to the needs of the industry. Existing studies focus on the choice for off-the-shelf (OTS) components. It is, however, also important to understand the implications of the choice of alternative component sourcing options (CSOs), such as outsourcing versus the use of OTS. Previous research has shown that the choice has major implications on the development process as well as on the ability to evolve the system. The objective of this study is to explore how decision making took place in industry to choose among CSOs. Overall, 22 industrial cases have been studied through a case survey. The results show that the solutions specifically for CSO decisions are deterministic and based on optimization approaches. The non-deterministic solutions proposed for architectural group decision making appear to suit the CSO decision making in industry better. Interestingly, the final decision was perceived negatively in nine cases and positively in seven cases, while in the remaining cases it was perceived as neither positive nor negative.

Place, publisher, year, edition, pages
IEEE Computer Society, 2018
Keywords
Decision making; in-house; COTS; OSS; outsourcing
National Category
Computer Systems
Identifiers
urn:nbn:se:bth-15909 (URN)10.1109/TSE.2017.2677909 (DOI)000427678400002 ()
Projects
ORION - Decision Support for Component-Based Software Engineering of Cyber-Physical Systems
Available from: 2017-11-20 Created: 2018-02-20 Last updated: 2018-04-06Bibliographically approved
Usman, M., Petersen, K., Börstler, J. & Neto, P. (2018). Developing and Using Checklists to Improve Software Effort Estimation: a Multi-Case Study. Journal of Systems and Software, 146, 286-309
Open this publication in new window or tab >>Developing and Using Checklists to Improve Software Effort Estimation: a Multi-Case Study
2018 (English)In: Journal of Systems and Software, ISSN 0164-1212, E-ISSN 1873-1228, Vol. 146, p. 286-309Article in journal (Refereed) Published
Abstract [en]

Expert judgment based effort estimation techniques are widely used for estimating software effort. In the absence of process support, experts may overlook important factors during estimation, leading to inconsistent estimates. This might cause underestimation, which is a common problem in software projects. This multi-case study aims to improve expert estimation of software development effort. Our goal is two-fold: 1) to propose a process to develop and evolve estimation checklists for agile teams, and 2) to evaluate the usefulness of the checklists in improving expert estimation processes. The use of checklists improved the accuracy of the estimates in two case companies. In particular, the underestimation bias was reduced to a large extent. For the third case, we could not perform a similar analysis, due to the unavailability of historical data. However, when checklist was used in two sprints, the estimates were quite accurate (median Balanced Relative Error (BRE) bias of -0.05 ). The study participants from the case companies observed several benefits of using the checklists during estimation, such as increased confidence in estimates, improved consistency due to help in recalling relevant factors, more objectivity in the process, improved understanding of the tasks being estimated, and reduced chances of missing tasks.

Place, publisher, year, edition, pages
Elsevier, 2018
Keywords
Effort estimation, checklist, agile software development
National Category
Software Engineering
Identifiers
urn:nbn:se:bth-15871 (URN)10.1016/j.jss.2018.09.054 (DOI)000451488900019 ()
Available from: 2018-02-08 Created: 2018-02-08 Last updated: 2018-12-13Bibliographically approved
Ghazi, A. N., Petersen, K., Bjarnason, E. & Runeson, P. (2018). Levels of Exploration in Exploratory Testing: From Freestyle to Fully Scripted. IEEE Access, 6, 26416-26423
Open this publication in new window or tab >>Levels of Exploration in Exploratory Testing: From Freestyle to Fully Scripted
2018 (English)In: IEEE Access, E-ISSN 2169-3536, Vol. 6, p. 26416-26423Article in journal (Refereed) Published
Abstract [en]

Exploratory testing (ET) is a powerful and efficient way of testing software by integrating design, execution, and analysis of tests during a testing session. ET is often contrasted with scripted testing, and seen as a choice of either exploratory testing or not. In contrast, we pose that exploratory testing can be of varying degrees of exploration from fully exploratory to fully scripted. In line with this, we propose a scale for the degree of exploration and define five levels. In our classification, these levels of exploration correspond to the way test charters are defined. We have evaluated this classification through focus groups at four companies and identified factors that influence the choice of exploration level. The results show that the proposed levels of exploration are influenced by different factors such as ease to reproduce defects, better learning, verification of requirements, etc., and that the levels can be used as a guide to structure test charters. Our study also indicates that applying a combination of exploration levels can be beneficial in achieving effective testing.

Place, publisher, year, edition, pages
IEEE, 2018
Keywords
Exploratory testing, test charter, test mission, session-based test management, levels of exploration, exploratory testing classification, software testing.
National Category
Software Engineering
Identifiers
urn:nbn:se:bth-16158 (URN)10.1109/ACCESS.2018.2834957 (DOI)000434695100001 ()
Note

open access

Available from: 2018-05-08 Created: 2018-05-08 Last updated: 2018-06-28Bibliographically approved
Minhas, N. M., Petersen, K., Börstler, J. & Wnuk, K. (2018). Regression testing for large-scale embedded software development: Exploring the state of practice.
Open this publication in new window or tab >>Regression testing for large-scale embedded software development: Exploring the state of practice
2018 (English)Manuscript (preprint) (Other academic)
Abstract [en]

Context: A majority of the regression testing techniques proposed by the research have not been adopted in industry. To increase adoption rates, we need to better understand the practitioners' perspectives on regression testing.

Objective: This study aims at exploring the regression testing state of practice in the large-scale embedded software development. The study has two objectives, 1) to highlight the potential challenges in practice, and 2) to identify the industry-relevant research areas regarding regression testing.

Method: We conducted a qualitative study in two large-scale embedded software development companies, where we carried out semi-structured interviews with representatives from five software testing teams. We did conduct the detailed review of the process documentation of the companies to complement/validate the findings of the interviews.

Results: Mostly, the practitioners run regression testing with a selected scope, the selection of scope depends upon the size, complexity, and location of the change. Test cases are prioritized on the basis of risk and critical functionality. The practitioners rely on their knowledge and experience for the decision making regarding selection and prioritization of test cases.The companies are using both automated and manual regression testing, and mainly they rely on in-house developed tools for test automation. The challenges identified in the companies are: time to test, information management, test suite maintenance, lack of communication, test selection/prioritization, lack of assessment, etc. The proposed improvements are in line with the identified challenges. Regression testing goals identified in this study are customer satisfaction, critical defect detection, confidence, effectiveness, efficiency, and controlled slip through of faults.

Conclusions: Considering the current state of practice and identified challenges we conclude that there is a need to reconsider the regression test strategy in the companies. Researchers need to analyze the industry perspective while proposing new regression testing techniques. The industry-academia collaboration projects would be a good platform in this regard.

Keywords
Regression testing, practices, challenges, goals, multi-case study
National Category
Software Engineering
Identifiers
urn:nbn:se:bth-17362 (URN)
Projects
EASE - Embedded Applications Software Engineering
Funder
VINNOVA, 2015-03235
Available from: 2018-11-30 Created: 2018-11-30 Last updated: 2018-12-05Bibliographically approved
Demirsoy, A. & Petersen, K. (2018). Semantic Knowledge Management System to Support Software Engineers: Implementation and Static Evaluation through Interviews at Ericsson. e-Informatica Software Engineering Journal, 12(1), 237-263
Open this publication in new window or tab >>Semantic Knowledge Management System to Support Software Engineers: Implementation and Static Evaluation through Interviews at Ericsson
2018 (English)In: e-Informatica Software Engineering Journal, ISSN 1897-7979, E-ISSN 2084-4840, Vol. 12, no 1, p. 237-263Article in journal (Refereed) Published
Abstract [en]

Background: In large-scale corporations in the software engineering context information overload problems occur as stakeholders continuously produce useful information on process life-cycle issues, matters related to specific products under development, etc. Information overload makes finding relevant information (e.g., how did the company apply the requirements process for product X?) challenging, which is in the primary focus of this paper. Contribution: In this study the authors aimed at evaluating the ease of implementing a semantic knowledge management system at Ericsson, including the essential components of such systems (such as text processing, ontologies, semantic annotation and semantic search). Thereafter, feedback on the usefulness of the system was collected from practitioners. Method: A single case study was conducted at a development site of Ericsson AB in Sweden. Results: It was found that semantic knowledge management systems are challenging to implement, this refers in particular to the implementation and integration of ontologies. Specific ontologies for structuring and filtering are essential, such as domain ontologies and ontologies distinct to the organization. Conclusion: To be readily adopted and transferable to practice, desired ontologies need to be implemented and integrated into semantic knowledge management frameworks with ease, given that the desired ontologies are dependent on organizations and domains.

Place, publisher, year, edition, pages
WROCLAW UNIV TECHNOLOGY, 2018
Keywords
knowledge management, information overload, case study, semantic web
National Category
Software Engineering
Identifiers
urn:nbn:se:bth-17048 (URN)10.5277/e-Inf180110 (DOI)000445123800002 ()
Note

open access

Available from: 2018-09-27 Created: 2018-09-27 Last updated: 2018-10-05Bibliographically approved
Organisations

Search in DiVA

Show all publications