Publicado en línea: 31 Dec 2018 Páginas: 251 - 280
Resumen
Abstract
Context: Software measurement is crucial to stay competitive and deliver quality software products.
Problem: While much research has been done on measurement in large companies in developed countries, there is limited research on measurement in start-ups. So far there are no studies on whether these results apply to nascent ecosystems, such as those in East Africa.
Goal: The aim of this study is to understand the use and perceived benefits of measurement in software start-ups in East Africa.
Method: We performed a multi-case study on 19 software start-ups in hubs in Uganda and Kenya, through conducting semi-structured interviews. We transcribed and analyzed them using the content analysis technique.
Results: We identified that start-ups are using a number of business and product-oriented metrics. Furthermore, we found no evidence on the use of design-oriented metrics. Nonetheless, start-ups have considerable expectations on the benefits of measuring. Finally, metrics found in this study partially differ from metrics used in start-ups in developed countries.
Conclusion: There is a need to create a more inclusive characterization for measurement as early start-ups in East Africa cannot yet be represented with known models.
Publicado en línea: 31 Dec 2018 Páginas: 281 - 303
Resumen
Abstract
Continuous integration and continuous software deployment depend on the mix of automated and manual activities. The automated build and test processes are often intertwined with manual reviews and bug-fixing activities. In this paper, we set o to study how these manual and automated activities influence the speed of reviews and integration. We conduct a case study of two companies developing embedded software, measure the time required for reviewing and integrating software code (alias speed), and conduct a workshop to identify factors which explain the quantitative results. Our results show that the measurement of speed is a good alias for calendar time and triggers improvements better than using measures for velocity. We have also found that the distribution of code repositories, frequent reminders and team proximity decrease the time needed to deploy the software. Our findings are that there is a difference in the structure of code repositories between the fast and slow integration cases, which contributes to the debate on the pros and cons of different repository structures in modern companies.
Publicado en línea: 31 Dec 2018 Páginas: 305 - 334
Resumen
Abstract
We apply a mixed research method to improve the user stories estimation process in a German company following agile software development. We combine software project data analytics with elicitation of teams’ feedback, identify root causes for wrong estimates and propose an improved version of the estimation process. Three major changes are adopted in the new process: a shorter non numerical scale for story points, an analogy-based estimation process, and retrospectives analyses on the accuracy of previous sprints estimates. The new estimation process is applied on a new project, and an improvement of estimates accuracy from 10% to 45% is observed.
Publicado en línea: 31 Dec 2018 Páginas: 335 - 357
Resumen
Abstract
User satisfaction is an important feature of software quality. However, it was rarely studied in software engineering literature. By enhancing earlier research this paper focuses on predicting user satisfaction with machine learning techniques using software development data from an extended ISBSG dataset. This study involved building, evaluating and comparing a total of 15,600 prediction schemes. Each scheme consists of a different combination of its components: manual feature preselection, handling missing values, outlier elimination, value normalization, automated feature selection, and a classifier. The research procedure involved a 10-fold cross-validation and separate testing, both repeated 10 times, to train and to evaluate each prediction scheme. Achieved level of accuracy for best performing schemes expressed by Matthews correlation coefficient was about 0.5 in the cross-validation and about 0.5–0.6 in the testing stage. The study identified the most accurate settings for components of prediction schemes.
Publicado en línea: 31 Dec 2018 Páginas: 359 - 374
Resumen
Abstract
Software maintainability is one of the most important aspects when evaluating the quality of a software product. It is defined as the ease with which the existing software can be modified. In the literature, several researchers have proposed a large number of models to measure and predict maintainability throughout different phases of the Software Development Life Cycle. However, only a few attempts have been made for conducting a comparative study of the existent proposed prediction models. In this paper, we present a detailed classification and conduct a comparative analysis of Object-Oriented software maintainability prediction models. Furthermore, we considered the aforementioned proposed models from three perspectives, which are architecture, design and code levels. To the best of our knowledge, such an analysis that comprises the three levels has not been conducted in previous research. Moreover, this study hints at certain fundamental basics concerning the way of how measure the maintainability knowing that at each level the maintainability will be measured differently. In addition, we will focus on the strengths and weaknesses of these models. Consequently, the comparative study yields that several statistical and machine learning techniques have been employed for software maintainability prediction at code level during the last decade, and each technique possesses its specific characteristic to develop an accurate prediction model. At the design level, the majority of the prediction models measured maintainability according to the characteristics of the quality models. Whereas at the architectural level, the techniques adopted are still limited and only a few of studies have been conducted in this regard.
Publicado en línea: 31 Dec 2018 Páginas: 375 - 393
Resumen
Abstract
Domain ontologies are valuable knowledge assets with many potential applications, e.g. in software engineering. Their content is often a subject of bi-directional transformations. Unfortunately, a centralized transformation service which can be easily extended with new mappers is not available for ontology users. In consequence, they have to deal with many different translation programs, which have to be installed and learned separately. The paper presents a framework for universal ontology processing, dedicated to ontologies expressed in OWL2. The framework usefulness was verified by a proof-of-concept implementation, for which an existing OWL2 to Groovy translator was adapted. During the integration process, the translator functionality was enhanced with ontology individuals mapping. The exemplary implementation confirmed that the framework with plug-in architecture is flexible and easy for customization. The ontology stakeholders should benefit from the reduced cognitive load and more satisfying transformation process.
Context: Software measurement is crucial to stay competitive and deliver quality software products.
Problem: While much research has been done on measurement in large companies in developed countries, there is limited research on measurement in start-ups. So far there are no studies on whether these results apply to nascent ecosystems, such as those in East Africa.
Goal: The aim of this study is to understand the use and perceived benefits of measurement in software start-ups in East Africa.
Method: We performed a multi-case study on 19 software start-ups in hubs in Uganda and Kenya, through conducting semi-structured interviews. We transcribed and analyzed them using the content analysis technique.
Results: We identified that start-ups are using a number of business and product-oriented metrics. Furthermore, we found no evidence on the use of design-oriented metrics. Nonetheless, start-ups have considerable expectations on the benefits of measuring. Finally, metrics found in this study partially differ from metrics used in start-ups in developed countries.
Conclusion: There is a need to create a more inclusive characterization for measurement as early start-ups in East Africa cannot yet be represented with known models.
Continuous integration and continuous software deployment depend on the mix of automated and manual activities. The automated build and test processes are often intertwined with manual reviews and bug-fixing activities. In this paper, we set o to study how these manual and automated activities influence the speed of reviews and integration. We conduct a case study of two companies developing embedded software, measure the time required for reviewing and integrating software code (alias speed), and conduct a workshop to identify factors which explain the quantitative results. Our results show that the measurement of speed is a good alias for calendar time and triggers improvements better than using measures for velocity. We have also found that the distribution of code repositories, frequent reminders and team proximity decrease the time needed to deploy the software. Our findings are that there is a difference in the structure of code repositories between the fast and slow integration cases, which contributes to the debate on the pros and cons of different repository structures in modern companies.
We apply a mixed research method to improve the user stories estimation process in a German company following agile software development. We combine software project data analytics with elicitation of teams’ feedback, identify root causes for wrong estimates and propose an improved version of the estimation process. Three major changes are adopted in the new process: a shorter non numerical scale for story points, an analogy-based estimation process, and retrospectives analyses on the accuracy of previous sprints estimates. The new estimation process is applied on a new project, and an improvement of estimates accuracy from 10% to 45% is observed.
User satisfaction is an important feature of software quality. However, it was rarely studied in software engineering literature. By enhancing earlier research this paper focuses on predicting user satisfaction with machine learning techniques using software development data from an extended ISBSG dataset. This study involved building, evaluating and comparing a total of 15,600 prediction schemes. Each scheme consists of a different combination of its components: manual feature preselection, handling missing values, outlier elimination, value normalization, automated feature selection, and a classifier. The research procedure involved a 10-fold cross-validation and separate testing, both repeated 10 times, to train and to evaluate each prediction scheme. Achieved level of accuracy for best performing schemes expressed by Matthews correlation coefficient was about 0.5 in the cross-validation and about 0.5–0.6 in the testing stage. The study identified the most accurate settings for components of prediction schemes.
Software maintainability is one of the most important aspects when evaluating the quality of a software product. It is defined as the ease with which the existing software can be modified. In the literature, several researchers have proposed a large number of models to measure and predict maintainability throughout different phases of the Software Development Life Cycle. However, only a few attempts have been made for conducting a comparative study of the existent proposed prediction models. In this paper, we present a detailed classification and conduct a comparative analysis of Object-Oriented software maintainability prediction models. Furthermore, we considered the aforementioned proposed models from three perspectives, which are architecture, design and code levels. To the best of our knowledge, such an analysis that comprises the three levels has not been conducted in previous research. Moreover, this study hints at certain fundamental basics concerning the way of how measure the maintainability knowing that at each level the maintainability will be measured differently. In addition, we will focus on the strengths and weaknesses of these models. Consequently, the comparative study yields that several statistical and machine learning techniques have been employed for software maintainability prediction at code level during the last decade, and each technique possesses its specific characteristic to develop an accurate prediction model. At the design level, the majority of the prediction models measured maintainability according to the characteristics of the quality models. Whereas at the architectural level, the techniques adopted are still limited and only a few of studies have been conducted in this regard.
Domain ontologies are valuable knowledge assets with many potential applications, e.g. in software engineering. Their content is often a subject of bi-directional transformations. Unfortunately, a centralized transformation service which can be easily extended with new mappers is not available for ontology users. In consequence, they have to deal with many different translation programs, which have to be installed and learned separately. The paper presents a framework for universal ontology processing, dedicated to ontologies expressed in OWL2. The framework usefulness was verified by a proof-of-concept implementation, for which an existing OWL2 to Groovy translator was adapted. During the integration process, the translator functionality was enhanced with ontology individuals mapping. The exemplary implementation confirmed that the framework with plug-in architecture is flexible and easy for customization. The ontology stakeholders should benefit from the reduced cognitive load and more satisfying transformation process.