18 research outputs found
Innovation Initiatives in Large Software Companies: A Systematic Mapping Study
To keep the competitive advantage and adapt to changes in the market and
technology, companies need to innovate in an organised, purposeful and
systematic manner. However, due to their size and complexity, large companies
tend to focus on maintaining their business, which can potentially lower their
agility to innovate. This study aims to provide an overview of the current
research on innovation initiatives and to identify the challenges of
implementing the initiatives in the context of large software companies. The
investigation was performed using a systematic mapping approach of published
literature on corporate innovation and entrepreneurship. Then it was
complemented with interviews with four experts with rich industry experience.
Our study results suggest that, there is a lack of high quality empirical
studies on innovation initiative in the context of large software companies. A
total of 7 studies are conducted in such context, which reported 5 types of
initiatives: intrapreneurship, bootlegging, internal venture, spin-off and
crowdsourcing. Our study offers three contributions. First, this paper
represents the map of existing literature on innovation initiatives inside
large companies. The second contribution is to provide an innovation initiative
tree. The third contribution is to identify key challenges faced by each
initiative in large software companies. At the strategic and tactical levels,
there is no difference between large software companies and other companies. At
the operational level, large software companies are highly influenced by the
advancement of Internet technology. Large software companies use open
innovation paradigm as part of their innovation initiatives. We envision a
future work is to further empirically evaluate the innovation initiative tree
in large software companies, which involves more practitioners from different
companies
Improving Students With Rubric-Based Self-Assessment and Oral Feedback
Rubrics and oral feedback are approaches to help students improve performance
and meet learning outcomes. However, their effect on the actual improvement
achieved is inconclusive. This paper evaluates the effect of rubrics and oral
feedback on student learning outcomes. An experiment was conducted in a
software engineering course on requirements engineering, using the two
approaches in course assignments. Both approaches led to statistically
significant improvements, though no material improvement (i.e., a change by
more than one grade) was achieved. The rubrics led to a significant decrease in
the number of complaints and questions regarding grades
Test Automation with Grad-CAM Heatmaps -- A Future Pipe Segment in MLOps for Vision AI?
Machine Learning (ML) is a fundamental part of modern perception systems. In
the last decade, the performance of computer vision using trained deep neural
networks has outperformed previous approaches based on careful feature
engineering. However, the opaqueness of large ML models is a substantial
impediment for critical applications such as in the automotive context. As a
remedy, Gradient-weighted Class Activation Mapping (Grad-CAM) has been proposed
to provide visual explanations of model internals. In this paper, we
demonstrate how Grad-CAM heatmaps can be used to increase the explainability of
an image recognition model trained for a pedestrian underpass. We argue how the
heatmaps support compliance to the EU's seven key requirements for Trustworthy
AI. Finally, we propose adding automated heatmap analysis as a pipe segment in
an MLOps pipeline. We believe that such a building block can be used to
automatically detect if a trained ML-model is activated based on invalid pixels
in test images, suggesting biased models.Comment: Accepted for publication in the Proc. of the 1st International
Workshop on DevOps Testing for Cyber-Physical System
Understanding the Impact on Software Quality for Evolving Systems in Distributed Development Environments
Context: The existing body of knowledge falls short of providing comprehensive
empirical evidence on the impact that global software development (GSD)
strategies have on software quality during software evolution. The realization
of expected benefits of such GSD strategies, e.g. reduced costs, should not be
taken for granted. Challenges faced can negatively impact quality, which can
consequently inhibit the realization of the potential benefits.
Objective: This licentiate thesis provides empirical evidence pertaining to the
effect on quality for evolving systems in distributed development environments.
The aim is to provide empirical evidence that can be useful input in the
decision-making process for future GSD projects that are executed in
distributed development environments.
Method: The findings presented in this licentiate thesis are obtained from
three empirical studies and one extensive systematic literature review. The
empirical studies were conducted at two large multinational corporations.
Meanwhile, the purpose of the systematic review was to obtain empirical
information that was used to successfully execute one of the empirical studies.
All empirical work was done using both quantitative data (e.g., defect data,
features per release, source code measures, release history) and qualitative
data (e.g., interviews, focus group meetings, questionnaires, and analysis of
company documentations).
Result: Transfers have a potentially negative impact on quality and efficiency.
Observations that were made on quantitative data in all three empirical studies
were triangulated with subjective opinions that were obtained from
practitioners. When studying the quality of a large software system, a
significant decrease in quality was identified; similarly in a study focusing
on maintenance work efficiency two studied large software products showed a
noticeable decrease. Meanwhile, there was no discernible impact on quality for
two products, as a result of distributed development and the handover of
responsibilities between involved sites. Transfer critical factors, which can
impact quality, as well as transfer enabling factors, which can alleviate
transfer-related issues, were also identified from these empirical studies.
Conclusions: Companies that engage in software transfers should expect a
decline in quality during and immediately after a transfer. There are
practices, such as, engaging in distributed development, and the gradual
handover of responsibilities, that can alleviate transfer-related issues. The
findings in this licentiate thesis can be a valuable input in the
decision-making process for companies engaging in transfers in GSD contexts,
and thus help in making informed decisions in current or future transfers.
Moreover, this licentiate thesis shows that analyzing the evolution of size and
complexity properties of a product’s source code, and defect data, can also
provide useful objective data to support decision-making during similar
projects
Software Quality Evaluation for Evolving Systems in Distributed Development Environments
Context: There is an overwhelming prevalence of companies developing software
in global software development (GSD) contexts. The existing body of knowledge,
however, falls short of providing comprehensive empirical evidence on the
implication of GSD contexts on software quality for evolving software systems.
Therefore there is limited evidence to support practitioners that need to make
informed decisions about ongoing or future GSD projects.
Objective: This thesis work seeks to explore changes in quality, as well as to
gather confounding factors that influence quality, for software systems that
evolve in GSD contexts.
Method: The research work in this thesis includes empirical work that was
performed through exploratory case studies. This involved analysis of
quantitative data consisting of defects as an indicator for quality, and
measures that capture software evolution, and qualitative data from company
documentations, interviews, focus group meetings, and questionnaires. An
extensive literature review was also performed to gather information that was
used to support the empirical investigations.
Results: Offshoring software development work, to a location that has employees
with limited or no prior experience with the software product, as observed in
software transfers, can have a negative impact on quality. Engaging in long
periods of distributed development with an offshore site and eventually handing
over all responsibilities to the offshore site can be an alternative to
software transfers. This approach can alleviate a negative effect on quality.
Finally, the studies highlight the importance of taking into account the GSD
context when investigating quality for software that is developed in globally
distributed environments. This helps with making valid inferences about the
development settings in GSD projects in relation to quality.
Conclusion: The empirical work presented in this thesis can be useful input for
practitioners that are planning to develop software in globally distributed
environments. For example, the insights on confounding factors or mitigation
practices that are linked to quality in the empirical studies can be used as
input to support decision-making processes when planning similar GSD projects.
Consequently, lessons learned from the empirical investigations were used to
formulate a method, GSD-QuID, for investigating quality using defects for
evolving systems. The method is expected to help researchers avoid making
incorrect inferences about the implications of GSD contexts on quality for
evolving software systems, when using defects as a quality indicator. This in
turn will benefit practitioners that need the information to make informed
decisions for software that is developed in similar circumstances
Distributed software development in an offshore outsourcing project: A case study of source code evolution and quality
Context: Offshore outsourcing collaborations can result in distributed development, which has been linked to quality-related concerns. However, there are few studies that focus on the implication of distributed development on quality, and they report inconsistent findings using different proxies for quality. Thus, there is a need for more studies, as well as to identify useful proxies for certain distributed contexts. The presented empirical study was performed in a context that involved offshore outsourcing vendors in a multisite distributed development setting. Objective: The aim of the study is to investigate how quality changes during evolution in a distributed development environment that incurs organizational changes in terms of number of companies involved. Method: A case study approach is followed in the investigation. Only post-release defects are used as a proxy for external quality due to unreliable defect data found pre-release such as those reported during integration. Focus group meetings were also held with practitioners. Results: The results suggest that practices that can be grouped into product, people, and process categories can help ensure post-release quality. However, post-release defects are insufficient for showing a conclusive impact on quality of the development setting. This is because the development teams worked independently as isolated distributed teams, and integration defects would help to better reflect on the impact on quality of the development setting. Conclusions: The mitigation practices identified can be useful information to practitioners that are planning to engage in similar globally distributed development projects. Finally, it is important to take into consideration the arrangement of distributed development teams in global projects, and to use the context to identify appropriate proxies for quality in order to draw correct conclusions about the implications of the context. This would help with providing practitioners with well-founded findings about the impact on quality of globally distributed development settings.Partially supported by the Swedish Knowledge Foundation in Sweden under the grant 20120200 (2013-2016) and Ericsson Software Researc
Global Software Development Challenges and Mitigation Strategies : A Systematic Review and Survey Results
Context: Software development in a setting in which the development sites are dispersed across geographical areas, either close proximity or globally, is fast becoming a widespread trend. This software development arrangement is also known as Global Software Development (GSD) or Distributed Software Development (DSD) or Global Software Engineering (GSE). Projects executed by a dispersed team have been noted as a more risky and challenging venture than projects run with teams under the same roof. Therefore the knowledge of the potential challenges and the probable mitigation strategies for GSD is vital for running a successful project. Objectives: The study entails the identification of GSD related challenges as well as their mitigation strategies. The collected challenges and mitigation strategies are later compiled into checklists. The developed checklists can be incorporated into risk management process particularly risk identification and risk mitigation planning. Methods: This research extends an existing systematic literature study conducted on empirical research on GSD, which was based on a review of publications from 2000 to 2007. The previous research is incorporated in this research and, in addition, papers between 2007 and 2009 are reviewed. In contrast to the previous research was aimed at gathering empirical evidence in GSD, however in this research the focus is specifically on challenges associated with GSD projects as well as the mitigation strategies that can be employed. An industrial survey was also conducted to validate the checklists and determine if the identified challenges and mitigation strategies were pervasive in industry. Furthermore interviews were also conducted to further validate the usefulness and usability of the developed checklists. Result: As a result, from the systematic literature review for publications between 2000 and 2009, a total of 48 challenges and 42 mitigation strategies were identified and placed in two separate categorized checklists. These challenges and mitigation strategies are elaborated in this paper. From the survey result, no additional challenges and 4 strategies were identified in the survey. Meanwhile from the interviews, all interviewees reported that the checklists are useful and easy to use. Conclusion: The absence of new challenges being identified from the study did not merit a conclusion that all possible challenges in GSD have been revealed. Therefore we conclude that more empirical research still needs to be done on identifying the challenges and mitigation strategies associated with GSD settings. Furthermore the checklists can be useful and valuable in identifying challenges and the potential mitigation strategies for communication, control and coordination mechanisms in distributed software development projects
An Exploratory Study of Software Evolution and Quality: Before, During and After a Transfer
In the light of globalization it is not uncommon that different teams from
different locations get involved in the development of a software product
during its evolution. However, empirical evidence that demonstrates the effect
of changing team members on software quality is scarce. In this paper, we
investigate quality of a software product, across subsequent software releases,
that was first developed in one location of Ericsson, a large multinational
corporation, then jointly with an offshore location of the same company, and
finally transferred offshore. To get a better understanding multiple data
sources are used in the analysis: qualitative data, consisting of interviews
and documentation, and quantitative data, consisting of release history and
defect statistics. Our findings confirm an initial decline in efficiency and
quality after a transfer, and highlight the areas of concern for companies that
are considering transferring their product development from experienced teams
to those having limited or no previous engagement with the product
Global Software Development Challenges and Mitigation Strategies : A Systematic Review and Survey Results
Context: Software development in a setting in which the development sites are dispersed across geographical areas, either close proximity or globally, is fast becoming a widespread trend. This software development arrangement is also known as Global Software Development (GSD) or Distributed Software Development (DSD) or Global Software Engineering (GSE). Projects executed by a dispersed team have been noted as a more risky and challenging venture than projects run with teams under the same roof. Therefore the knowledge of the potential challenges and the probable mitigation strategies for GSD is vital for running a successful project. Objectives: The study entails the identification of GSD related challenges as well as their mitigation strategies. The collected challenges and mitigation strategies are later compiled into checklists. The developed checklists can be incorporated into risk management process particularly risk identification and risk mitigation planning. Methods: This research extends an existing systematic literature study conducted on empirical research on GSD, which was based on a review of publications from 2000 to 2007. The previous research is incorporated in this research and, in addition, papers between 2007 and 2009 are reviewed. In contrast to the previous research was aimed at gathering empirical evidence in GSD, however in this research the focus is specifically on challenges associated with GSD projects as well as the mitigation strategies that can be employed. An industrial survey was also conducted to validate the checklists and determine if the identified challenges and mitigation strategies were pervasive in industry. Furthermore interviews were also conducted to further validate the usefulness and usability of the developed checklists. Result: As a result, from the systematic literature review for publications between 2000 and 2009, a total of 48 challenges and 42 mitigation strategies were identified and placed in two separate categorized checklists. These challenges and mitigation strategies are elaborated in this paper. From the survey result, no additional challenges and 4 strategies were identified in the survey. Meanwhile from the interviews, all interviewees reported that the checklists are useful and easy to use. Conclusion: The absence of new challenges being identified from the study did not merit a conclusion that all possible challenges in GSD have been revealed. Therefore we conclude that more empirical research still needs to be done on identifying the challenges and mitigation strategies associated with GSD settings. Furthermore the checklists can be useful and valuable in identifying challenges and the potential mitigation strategies for communication, control and coordination mechanisms in distributed software development projects
SIoT Framework: Towards an Approach for Early Identification of Security Requirements for Internet-of-things Applications
Background: Security has become more of a concern with the wide deployment of Internet-of-things (IoT) devices. The importance of addressing security risks early in the development lifecycle before pushing to market cannot be over emphasized. Aim: To this end, we propose a conceptual framework to help with identifying security concerns early in the product development lifecycle for Internet-of-things, that we refer to as SIoT (Security for Internet-of-Things). Method: The framework adopts well known security engineering approaches and best practices, and systematically builds on existing research work on IoT architecture. Results: Practitioners at a Norwegian start-up company evaluated the framework and found it useful as a foundation for addressing critical security concerns for IoT applications early in the development lifecycle. The output from using the framework can be a checklist that can be used as input during security requirements engineering activities for IoT applications. Conclusions: However, security is a multi-faced concept; therefore, users of the SIoT framework should not view the framework as a panacea to all security threats. The framework may need to be refined in the future, particularly to improve its completeness to cover various IoT contexts