Kennet Henningsson - Academia.edu (original) (raw)
Papers by Kennet Henningsson
Proceedings of the 3rd European Conference of Software Engineering Education
Background: Software project management courses are becoming popular for teaching software engine... more Background: Software project management courses are becoming popular for teaching software engineering process models and methods. However, in order to be effective, this approach should be properly aligned to the learning outcomes. Common misalignments are caused by using a correct degree of realism or an appropriate instruction level. Objective: To foster students to acquire knowledge (theoretical and practical) that enables them solving similar challenges to the ones they will face in real-world software projects. Methods: We prototype and validate a legacy game that simulates the software development process. Students are required to plan and manage a software project according to its specification provided by the teachers. Teachers act as both customers and moderators, presenting the challenges and guiding the students' teamwork. Results: Both students' and teachers' perception suggest that the proposed game has potential to motivate the knowledge acquisition through problem-solving. The feedback also suggests that some measures must be taken to ensure the pedagogical alignment and a fair game. Conclusion: The lessons learned provide suggestions for adopting this or similar games in the context of project courses. As further work, we plan to describe and extend the game rules based on the results of this application.
The research presented is motivated by the demand for process improvement for companies active wi... more The research presented is motivated by the demand for process improvement for companies active within software development. High demands on software quality are a reality. At the same time, short development time and low effort consumption are required. This stresses the necessity for process improvement. Empirical research methods and close cooperation with the industry partner addressed the research challenge. The research presented in this thesis shows how the analysis of faults through fault classification can be used to determine suitable and required process improvements. Two alternatives are investigated. First, a lightweight approach, and second a fault classification approach targeting all faults. The suitability of the fault classification is stressed as well as the importance of assigning the correct fault class. The latter is determined by classifier agreement calculations. Additionally, the research proposes that the appropriate occasion for a correct fault classificati...
It is next to impossible to let a day go by without coming into contact with a computer system in... more It is next to impossible to let a day go by without coming into contact with a computer system in some way, either by direct usage, or making a telephone call that is directed by computer systems. Due to the importance of computer systems we are all concerned with their quality, directly or indirectly, a malfunctioning system will disturb our lives in more or less drastic ways. Each stakeholder promotes his qualities and priorities for the system, and this will eventually lead to conflict, depending on relations between qualities. There is no simple solution to the problem of relating and conflicting quality attributes. But by making an informed decision it is possible to soften the effects of the trade-offs and gain a higher level of total software quality. The way to make an informed decision is to have knowledge about the relations between quality attributes along with insights of the consequences of the decision. This report gives a short introduction to the problem, and surveys...
Web and software engineering are not only about technical solutions. It is to a large extent also... more Web and software engineering are not only about technical solutions. It is to a large extent also concerned with organisational issues, project management and human behaviour. For disciplines like Web and software engineering, empirical methods are crucial, since they allow for incorporating human behaviour into the research approach taken. Empirical methods are common practice in many other disciplines. This chapter
2009 ICSE Workshop on Software Quality, 2009
In recent years, quality attributes have received increased attention as being critical for a sof... more In recent years, quality attributes have received increased attention as being critical for a software system's success or failure. Different classifications of quality attributes frequently mention many relations both positive and negative between quality attributes. However, the classifications and the quality attribute relations are often presented in such a way that they are not easily compared with each other, which
Web Engineering
Web and software engineering are not only about technical solutions. It is to a large extent also... more Web and software engineering are not only about technical solutions. It is to a large extent also concerned with organisational issues, project management and human behaviour. For disciplines like Web and software engineering, empirical methods are crucial, since they allow for incorporating human behaviour into the research approach taken. Empirical methods are common practice in many other disciplines. This chapter provides a motivation for the use of empirical methods in Web and software engineering research. The main motivation is that it is needed from an engineering perspective to allow for informed and well-grounded decision. The chapter continues with a brief introduction to four research methods: controlled experiments, case studies, surveys and post-mortem analyses. These methods are then put into an improvement context. The four methods are presented with the objective to introduce the reader to the methods to a level that it is possible to select the most suitable method at a specific instance. The methods have in common that they all are concerned with quantitative data. However, several of them are also suitable for qualitative data. Finally, it is concluded that the methods are not competing. On the contrary, the different research methods can preferably be used together to obtain more sources of information that hopefully lead to more informed engineering decisions in Web and software engineering.
IEEE Software, 2012
GANIZATIONS are always seeking new technologies and processes to ensure global competiveness-Eric... more GANIZATIONS are always seeking new technologies and processes to ensure global competiveness-Ericsson, for example, devotes 80 percent of its R&D budget to software. 1 To address challenges related to competitiveness, organizations often look beyond industry partners to academic collaborators for innovation. 2 However, successful collaboration doesn't just happen; it must be carefully planned and nurtured. It's therefore important to fully understand what makes such collaboration a success. Previous research has focused on technology transfer projects-for example, Ana Bernardos Barbolla and José Casar Corredare interviewed 30 researchers from different areas, analyzing the actual projects and experiences to determine what made them successful or not. 3 The researchers uncovered a set of important factors for collaboration covering areas such as project, people, industrial organization, coordination, and trust. Tina Barnes and her colleagues identifi ed factors that would increase the probability of successful collaboration between industry and academia. 2 The result was a good practice model for effective management of collaborative R&D projects that covered areas such
Software quality is a complex concept containing a large number of quality attributes. These attr... more Software quality is a complex concept containing a large number of quality attributes. These attributes often have different meaning for different people and different attributes are not of equal importance. Moreover, the actual relations between the attributes are mostly poorly understood. Companies have to cope with these relations in their daily software development. On the one hand, companies take management decisions based on experience. On the other hand, researchers address software quality too. However, the two views are not necessarily the same. To increase the understanding of software quality attributes and their relations, two surveys have been conducted. The first survey focuses on the research literature and the second is an interview survey with people from industry. From these surveys, it is concluded that there is an agreement, in qualitative terms, that quality attributes are dependent. However, different opinions exist about the actual relations. No quantitative relations have been found. The main conclusion is that there is a gap between research literature that poses mostly generic relations between quality attributes and the tacit knowledge in industry. The tacit knowledge within industry is largely focused on system specific relations between quality attributes. The result from these surveys provides a compilation of relations between quality attributes that illustrates the gap between the views in industry and academia respectively. The understanding of the gap is the first step towards bringing the two views closer to each other.
Web and software engineering are not only about technical solutions. It is to a large extent also... more Web and software engineering are not only about technical solutions. It is to a large extent also concerned with organisational issues, project management and human behaviour. For disciplines like Web and software engineering, empirical methods are crucial, since they allow for incorporating human behaviour into the research approach taken. Empirical methods are common practice in many other disciplines. This chapter provides a motivation for the use of empirical methods in Web and software engineering research. The main motivation is that it is needed from an engineering perspective to allow for informed and well-grounded decision. The chapter continues with a brief introduction to four research methods: controlled experiments, case studies, surveys and post-mortem analyses. These methods are then put into an improvement context. The four methods are presented with the objective to introduce the reader to the methods to a level that it is possible to select the most suitable method at a specific instance. The methods have in common that they all are concerned with quantitative data. However, several of them are also suitable for qualitative data. Finally, it is concluded that the methods are not competing. On the contrary, the different research methods can preferably be used together to obtain more sources of information that hopefully lead to more informed engineering decisions in Web and software engineering.
Proceedings of the 20th IEEE Instrumentation Technology Conference (Cat No 03CH37412) EURMIC-03, 2003
Process improvement is of high importance and with crucial impact on business and prosperity for ... more Process improvement is of high importance and with crucial impact on business and prosperity for software developing companies. The requirements on software are that it needs to be produced faster, cheaper and with higher quality. A recent trend in software development is the use of agile methods. The general idea of more lightweight approaches can also be applied to process
Lecture Notes in Computer Science, 2005
Within industry the demand for short lead-time and reduced effort consumption is in focus. For an... more Within industry the demand for short lead-time and reduced effort consumption is in focus. For an associated industry partner the lead-time and effort focus has meant turning the interest towards the Verification and Validation (V&V) process. The industry cooperation motivating this study aims at providing a tailored and applicable V&V process, where the order of verification and validation may be changed as well as the amount of V&V activities conducted. Through the industry cooperation as well as industrial and academic experience, a method has been formulated that address how to select a suitable V&V process depending on the functionality being developed. The method describes how a suitable process is created and selected, where the appropriate process is identified based on functionality and coupling between the system entities being developed. It is concluded that the method provides support, structure and clarification to address the possibilities to a trade-off between verification and validation. Key range Processes Motivation [1-2 : 1-3] P4, P3, P2, P8 Key representing easy internal validation, with low coupling, possibility to go for low V&V, or focusing on finalizing the product through high verification. [1-2 : 3-5] P1, P2 Key representing easy internal validation, with high coupling, high verification is recommended. [3-4 : 1-2] P6, P3 Key representing challenging validation, with low coupling, high validation early is recommended, possible lower verification [3-4 : 2-4] P6, P3, P5 Key representing challenging validation, with intermediate coupling, early and high validation recommended, but also high verification. [4-5 : 4-5] P5 Key indicating tough validation and high coupling, early and high validation is recommended.
Based on prior investigations and the request from a collaborative research partner, UIQ Technolo... more Based on prior investigations and the request from a collaborative research partner, UIQ Technology, an investigation to develop an improved and more informative fault classification scheme was launched. The study investigates the level of agreement, a prerequisite for using a fault classification, between classifiers in an industrial setting. The method used is an experimental approach performed in an industrial setting for determining the agreement among classifiers facilitating for example Kappa statistics for determining the agreement. From the study it is concluded that the agreement within the industrial setting is higher than obtained in a previous study within an academic setting, but it is still in need of improvement. This leads to the conclusion that the experience within industry as well as the improved information structure in relation to the previous study aids agreement, but to reach a higher level of agreement, additional education is believed to be needed at the company.
Proceedings. 2004 International Symposium on Empirical Software Engineering, 2004. ISESE '04., 2004
The research presented is motivated by the demand for process improvement for companies active wi... more The research presented is motivated by the demand for process improvement for companies active within software development. High demands on software quality are a reality. At the same time, short development time and low effort consumption are required. This stresses the necessity for process improvement. Empirical research methods and close cooperation with the industry partner addressed the research challenge. The research presented in this thesis shows how the analysis of faults through fault classification can be used to determine suitable and required process improvements. Two alternatives are investigated. First, a lightweight approach, and second a fault classification approach targeting all faults. The suitability of the fault classification is stressed as well as the importance of assigning the correct fault class. The latter is determined by classifier agreement calculations. Additionally, the research proposes that the appropriate occasion for a correct fault classificati...
This compendium was produced in a Ph.D. course on Quality attributes and trade-offs. The 11 Ph.... more This compendium was produced in a Ph.D. course on Quality attributes and trade-offs. The 11 Ph.D. students that followed the course all worked in the same research project: BESQ (Blekinge Engineering Software Qualities), see http://www.bth.se/besq. The goal of the course is ...
IEEE Software, 2012
m a r c h /a p r I l 2 0 12 | I E E E S o f t wa r E 67 Feature: Technology Transfer // Collabora... more m a r c h /a p r I l 2 0 12 | I E E E S o f t wa r E 67 Feature: Technology Transfer // Collaboration between industry and academia supports improvement and innovation in industry and helps to ensure industrial relevance in academic research. This article presents an exploratory study of the factors for successful collaboration between industry and academia in software research. // SOFTWARE DEVELOPMENT OR-GANIZATIONS are always seeking new technologies and processes to ensure global competiveness-Ericsson, for example, devotes 80 percent of its R&D budget to software. 1 To address challenges related to competitiveness, organizations often look beyond industry partners to academic collaborators for innovation. 2 However, successful collaboration doesn't just happen; it must be carefully planned and nurtured. It's therefore important to fully understand what makes such collaboration a success.
Proceedings of the 3rd European Conference of Software Engineering Education
Background: Software project management courses are becoming popular for teaching software engine... more Background: Software project management courses are becoming popular for teaching software engineering process models and methods. However, in order to be effective, this approach should be properly aligned to the learning outcomes. Common misalignments are caused by using a correct degree of realism or an appropriate instruction level. Objective: To foster students to acquire knowledge (theoretical and practical) that enables them solving similar challenges to the ones they will face in real-world software projects. Methods: We prototype and validate a legacy game that simulates the software development process. Students are required to plan and manage a software project according to its specification provided by the teachers. Teachers act as both customers and moderators, presenting the challenges and guiding the students' teamwork. Results: Both students' and teachers' perception suggest that the proposed game has potential to motivate the knowledge acquisition through problem-solving. The feedback also suggests that some measures must be taken to ensure the pedagogical alignment and a fair game. Conclusion: The lessons learned provide suggestions for adopting this or similar games in the context of project courses. As further work, we plan to describe and extend the game rules based on the results of this application.
The research presented is motivated by the demand for process improvement for companies active wi... more The research presented is motivated by the demand for process improvement for companies active within software development. High demands on software quality are a reality. At the same time, short development time and low effort consumption are required. This stresses the necessity for process improvement. Empirical research methods and close cooperation with the industry partner addressed the research challenge. The research presented in this thesis shows how the analysis of faults through fault classification can be used to determine suitable and required process improvements. Two alternatives are investigated. First, a lightweight approach, and second a fault classification approach targeting all faults. The suitability of the fault classification is stressed as well as the importance of assigning the correct fault class. The latter is determined by classifier agreement calculations. Additionally, the research proposes that the appropriate occasion for a correct fault classificati...
It is next to impossible to let a day go by without coming into contact with a computer system in... more It is next to impossible to let a day go by without coming into contact with a computer system in some way, either by direct usage, or making a telephone call that is directed by computer systems. Due to the importance of computer systems we are all concerned with their quality, directly or indirectly, a malfunctioning system will disturb our lives in more or less drastic ways. Each stakeholder promotes his qualities and priorities for the system, and this will eventually lead to conflict, depending on relations between qualities. There is no simple solution to the problem of relating and conflicting quality attributes. But by making an informed decision it is possible to soften the effects of the trade-offs and gain a higher level of total software quality. The way to make an informed decision is to have knowledge about the relations between quality attributes along with insights of the consequences of the decision. This report gives a short introduction to the problem, and surveys...
Web and software engineering are not only about technical solutions. It is to a large extent also... more Web and software engineering are not only about technical solutions. It is to a large extent also concerned with organisational issues, project management and human behaviour. For disciplines like Web and software engineering, empirical methods are crucial, since they allow for incorporating human behaviour into the research approach taken. Empirical methods are common practice in many other disciplines. This chapter
2009 ICSE Workshop on Software Quality, 2009
In recent years, quality attributes have received increased attention as being critical for a sof... more In recent years, quality attributes have received increased attention as being critical for a software system's success or failure. Different classifications of quality attributes frequently mention many relations both positive and negative between quality attributes. However, the classifications and the quality attribute relations are often presented in such a way that they are not easily compared with each other, which
Web Engineering
Web and software engineering are not only about technical solutions. It is to a large extent also... more Web and software engineering are not only about technical solutions. It is to a large extent also concerned with organisational issues, project management and human behaviour. For disciplines like Web and software engineering, empirical methods are crucial, since they allow for incorporating human behaviour into the research approach taken. Empirical methods are common practice in many other disciplines. This chapter provides a motivation for the use of empirical methods in Web and software engineering research. The main motivation is that it is needed from an engineering perspective to allow for informed and well-grounded decision. The chapter continues with a brief introduction to four research methods: controlled experiments, case studies, surveys and post-mortem analyses. These methods are then put into an improvement context. The four methods are presented with the objective to introduce the reader to the methods to a level that it is possible to select the most suitable method at a specific instance. The methods have in common that they all are concerned with quantitative data. However, several of them are also suitable for qualitative data. Finally, it is concluded that the methods are not competing. On the contrary, the different research methods can preferably be used together to obtain more sources of information that hopefully lead to more informed engineering decisions in Web and software engineering.
IEEE Software, 2012
GANIZATIONS are always seeking new technologies and processes to ensure global competiveness-Eric... more GANIZATIONS are always seeking new technologies and processes to ensure global competiveness-Ericsson, for example, devotes 80 percent of its R&D budget to software. 1 To address challenges related to competitiveness, organizations often look beyond industry partners to academic collaborators for innovation. 2 However, successful collaboration doesn't just happen; it must be carefully planned and nurtured. It's therefore important to fully understand what makes such collaboration a success. Previous research has focused on technology transfer projects-for example, Ana Bernardos Barbolla and José Casar Corredare interviewed 30 researchers from different areas, analyzing the actual projects and experiences to determine what made them successful or not. 3 The researchers uncovered a set of important factors for collaboration covering areas such as project, people, industrial organization, coordination, and trust. Tina Barnes and her colleagues identifi ed factors that would increase the probability of successful collaboration between industry and academia. 2 The result was a good practice model for effective management of collaborative R&D projects that covered areas such
Software quality is a complex concept containing a large number of quality attributes. These attr... more Software quality is a complex concept containing a large number of quality attributes. These attributes often have different meaning for different people and different attributes are not of equal importance. Moreover, the actual relations between the attributes are mostly poorly understood. Companies have to cope with these relations in their daily software development. On the one hand, companies take management decisions based on experience. On the other hand, researchers address software quality too. However, the two views are not necessarily the same. To increase the understanding of software quality attributes and their relations, two surveys have been conducted. The first survey focuses on the research literature and the second is an interview survey with people from industry. From these surveys, it is concluded that there is an agreement, in qualitative terms, that quality attributes are dependent. However, different opinions exist about the actual relations. No quantitative relations have been found. The main conclusion is that there is a gap between research literature that poses mostly generic relations between quality attributes and the tacit knowledge in industry. The tacit knowledge within industry is largely focused on system specific relations between quality attributes. The result from these surveys provides a compilation of relations between quality attributes that illustrates the gap between the views in industry and academia respectively. The understanding of the gap is the first step towards bringing the two views closer to each other.
Web and software engineering are not only about technical solutions. It is to a large extent also... more Web and software engineering are not only about technical solutions. It is to a large extent also concerned with organisational issues, project management and human behaviour. For disciplines like Web and software engineering, empirical methods are crucial, since they allow for incorporating human behaviour into the research approach taken. Empirical methods are common practice in many other disciplines. This chapter provides a motivation for the use of empirical methods in Web and software engineering research. The main motivation is that it is needed from an engineering perspective to allow for informed and well-grounded decision. The chapter continues with a brief introduction to four research methods: controlled experiments, case studies, surveys and post-mortem analyses. These methods are then put into an improvement context. The four methods are presented with the objective to introduce the reader to the methods to a level that it is possible to select the most suitable method at a specific instance. The methods have in common that they all are concerned with quantitative data. However, several of them are also suitable for qualitative data. Finally, it is concluded that the methods are not competing. On the contrary, the different research methods can preferably be used together to obtain more sources of information that hopefully lead to more informed engineering decisions in Web and software engineering.
Proceedings of the 20th IEEE Instrumentation Technology Conference (Cat No 03CH37412) EURMIC-03, 2003
Process improvement is of high importance and with crucial impact on business and prosperity for ... more Process improvement is of high importance and with crucial impact on business and prosperity for software developing companies. The requirements on software are that it needs to be produced faster, cheaper and with higher quality. A recent trend in software development is the use of agile methods. The general idea of more lightweight approaches can also be applied to process
Lecture Notes in Computer Science, 2005
Within industry the demand for short lead-time and reduced effort consumption is in focus. For an... more Within industry the demand for short lead-time and reduced effort consumption is in focus. For an associated industry partner the lead-time and effort focus has meant turning the interest towards the Verification and Validation (V&V) process. The industry cooperation motivating this study aims at providing a tailored and applicable V&V process, where the order of verification and validation may be changed as well as the amount of V&V activities conducted. Through the industry cooperation as well as industrial and academic experience, a method has been formulated that address how to select a suitable V&V process depending on the functionality being developed. The method describes how a suitable process is created and selected, where the appropriate process is identified based on functionality and coupling between the system entities being developed. It is concluded that the method provides support, structure and clarification to address the possibilities to a trade-off between verification and validation. Key range Processes Motivation [1-2 : 1-3] P4, P3, P2, P8 Key representing easy internal validation, with low coupling, possibility to go for low V&V, or focusing on finalizing the product through high verification. [1-2 : 3-5] P1, P2 Key representing easy internal validation, with high coupling, high verification is recommended. [3-4 : 1-2] P6, P3 Key representing challenging validation, with low coupling, high validation early is recommended, possible lower verification [3-4 : 2-4] P6, P3, P5 Key representing challenging validation, with intermediate coupling, early and high validation recommended, but also high verification. [4-5 : 4-5] P5 Key indicating tough validation and high coupling, early and high validation is recommended.
Based on prior investigations and the request from a collaborative research partner, UIQ Technolo... more Based on prior investigations and the request from a collaborative research partner, UIQ Technology, an investigation to develop an improved and more informative fault classification scheme was launched. The study investigates the level of agreement, a prerequisite for using a fault classification, between classifiers in an industrial setting. The method used is an experimental approach performed in an industrial setting for determining the agreement among classifiers facilitating for example Kappa statistics for determining the agreement. From the study it is concluded that the agreement within the industrial setting is higher than obtained in a previous study within an academic setting, but it is still in need of improvement. This leads to the conclusion that the experience within industry as well as the improved information structure in relation to the previous study aids agreement, but to reach a higher level of agreement, additional education is believed to be needed at the company.
Proceedings. 2004 International Symposium on Empirical Software Engineering, 2004. ISESE '04., 2004
The research presented is motivated by the demand for process improvement for companies active wi... more The research presented is motivated by the demand for process improvement for companies active within software development. High demands on software quality are a reality. At the same time, short development time and low effort consumption are required. This stresses the necessity for process improvement. Empirical research methods and close cooperation with the industry partner addressed the research challenge. The research presented in this thesis shows how the analysis of faults through fault classification can be used to determine suitable and required process improvements. Two alternatives are investigated. First, a lightweight approach, and second a fault classification approach targeting all faults. The suitability of the fault classification is stressed as well as the importance of assigning the correct fault class. The latter is determined by classifier agreement calculations. Additionally, the research proposes that the appropriate occasion for a correct fault classificati...
This compendium was produced in a Ph.D. course on Quality attributes and trade-offs. The 11 Ph.... more This compendium was produced in a Ph.D. course on Quality attributes and trade-offs. The 11 Ph.D. students that followed the course all worked in the same research project: BESQ (Blekinge Engineering Software Qualities), see http://www.bth.se/besq. The goal of the course is ...
IEEE Software, 2012
m a r c h /a p r I l 2 0 12 | I E E E S o f t wa r E 67 Feature: Technology Transfer // Collabora... more m a r c h /a p r I l 2 0 12 | I E E E S o f t wa r E 67 Feature: Technology Transfer // Collaboration between industry and academia supports improvement and innovation in industry and helps to ensure industrial relevance in academic research. This article presents an exploratory study of the factors for successful collaboration between industry and academia in software research. // SOFTWARE DEVELOPMENT OR-GANIZATIONS are always seeking new technologies and processes to ensure global competiveness-Ericsson, for example, devotes 80 percent of its R&D budget to software. 1 To address challenges related to competitiveness, organizations often look beyond industry partners to academic collaborators for innovation. 2 However, successful collaboration doesn't just happen; it must be carefully planned and nurtured. It's therefore important to fully understand what makes such collaboration a success.