124 research outputs found

    Using the ISO/IEC 9126 product quality model to classify defects : a Controlled Experiment

    Get PDF
    Background: Existing software defect classification schemes support multiple tasks, such as root cause analysis and process improvement guidance. However, existing schemes do not assist in assigning defects to a broad range of high level software goals, such as software quality characteristics like functionality, maintainability, and usability. Aim: We investigate whether a classification based on the ISO/IEC 9126 software product quality model is reliable and useful to link defects to quality aspects impacted. Method: Six different subjects, divided in two groups with respect to their expertise, classified 78 defects from an industrial web application using the ISO/IEC 9126 quality main characteristics and sub-characteristics, and a set of proposed extended guidelines. Results: The ISO/IEC 9126 model is reasonably reliable when used to classify defects, even using incomplete defect reports. Reliability and variability is better for the six high level main characteristics of the model than for the 22 sub- characteristics. Conclusions: The ISO/IEC 9126 software quality model provides a solid foundation for defect classification. We also recommend, based on the follow up qualitative analysis performed, to use more complete defect reports and tailor the quality model to the context of us

    Organizing the Technical Debt Landscape

    Get PDF
    To date, several methods and tools for detecting source code and design anomalies have been developed. While each method focuses on identifying certain classes of source code anomalies that potentially relate to technical debt (TD), the overlaps and gaps among these classes and TD have not been rigorously demonstrated. We propose to construct a seminal technical debt landscape as a way to visualize and organize research on the subjec

    Defect Categorization: Making Use of a Decade of Widely Varying Historical Data

    Get PDF
    This paper describes our experience in aggregating a number of historical datasets containing inspection defect data using different categorizing schemes. Our goal was to make use of the historical data by creating models to guide future development projects. We describe our approach to reconciling the different choices used in the historical datasets to categorize defects, and the challenges we faced. We also present a set of recommendations for others involved in classifying defects

    Understanding automated and human-based technical debt identification approaches-a two-phase study

    Get PDF
    Context: The technical debt (TD) concept inspires the development of useful methods and tools that support TD identification and management. However, there is a lack of evidence on how different TD identification tools could be complementary and, also, how human-based identification compares with them. Objective: To understand how to effectively elicit TD from humans, to investigate several types of tools for TD identification, and to understand the developers’ point of view about TD indicators and items reported by tools. Method: We asked developers to identify TD items from a real software project. We also collected the output of three tools to automatically identify TD and compared the results in terms of their locations in the source code. Then, we collected developers’ opinions on the identification process through a focus group. Results: Aggregation seems to be an appropriate way to combine TD reported by developers. The tools used cannot help in identifying many important TD types, so involving humans is necessary. Developers reported that the tools would help them to identify TD faster or more accurately and that project priorities and current development activities are important to be considered together, along with the values of principal and interest, when deciding to pay off a debt. Conclusion: This work contributes to the TD landscape, which depicts an understanding between different TD types and how they are best discovered

    Perceptions of Task Interdependence in Software Development: An Industrial Case Study

    Full text link
    Context: Task interdependence is a work design factor that expresses the mutual dependency between tasks that compose a whole work. In software development, task interdependencies are created by the technical dependencies between the components of the software system and by how the development tasks are allocated to individuals in a teamwork context. Despite its importance for individual and team effectiveness, we still do not have studies about how software engineers perceive task interdependence in practice. Goal: To understand the perceptions of software engineers about the interdependence in their work and how these perceptions interact with other human and technical factors in the development process. Method: We performed an exploratory qualitative case study of a single software development team in a Brazilian software company that developed solutions for the financial market. We interviewed all 10 team members and used standard coding techniques from qualitative research to code, categorize, and synthesize data. Results: Individuals are consistent in their understanding of task interdependence and how it happens in practice. However, there are asymmetries between the individual perceptions in an interdependence relationship, which seem to exacerbate expressed feelings of anxiety and dissatisfaction. Conclusion: Our results suggest that the perception of task interdependence in software development is often not symmetrical with potential negative effects on emotional states that are related to motivation and satisfaction in the workplace.Comment: 11 page

    Risks and Assets: A Qualitative Study of a Software Ecosystem in the Mining Industry

    Full text link
    Digitalization and servitization are impacting many domains, including the mining industry. As the equipment becomes connected and technical infrastructure evolves, business models and risk management need to adapt. In this paper, we present a study on how changes in asset and risk distribution are evolving for the actors in a software ecosystem (SECO) and system-of-systems (SoS) around a mining operation. We have performed a survey to understand how Service Level Agreements (SLAs) -- a common mechanism for managing risk -- are used in other domains. Furthermore, we have performed a focus group study with companies. There is an overall trend in the mining industry to move the investment cost (CAPEX) from the mining operator to the vendors. Hence, the mining operator instead leases the equipment (as operational expense, OPEX) or even acquires a service. This change in business model impacts operation, as knowledge is moved from the mining operator to the suppliers. Furthermore, as the infrastructure becomes more complex, this implies that the mining operator is more and more reliant on the suppliers for the operation and maintenance. As this change is still in an early stage, there is no formalized risk management, e.g. through SLAs, in place. Rather, at present, the companies in the ecosystem rely more on trust and the incentives created by the promise of mutual future benefits of innovation activities. We believe there is a need to better understand how to manage risk in SECO as it is established and evolves. At the same time, in a SECO, the focus is on cooperation and innovation, the companies do not have incentives to address this unless there is an incident. Therefore, industry need, we believe, help in systematically understanding risk and defining quality aspects such as reliability and performance in the new business environment

    Full Lifecycle Defect Management

    Get PDF
    This viewgraph presentation describes a defect management scheme for projects at various NASA centers

    Fully Employing Software Inspections Data

    Get PDF
    Software inspections provide a proven approach to quality assurance for software products of all kinds, including requirements, design, code, test plans, among others. Common to all inspections is the aim of finding and fixing defects as early as possible, and thereby providing cost savings by minimizing the amount of rework necessary later in the lifecycle. Measurement data, such as the number and type of found defects and the effort spent by the inspection team, provide not only direct feedback about the software product to the project team but are also valuable for process improvement activities. In this paper, we discuss NASA's use of software inspections and the rich set of data that has resulted. In particular, we present results from analysis of inspection data that illustrate the benefits of fully utilizing that data for process improvement at several levels. Examining such data across multiple inspections or projects allows team members to monitor and trigger cross project improvements. Such improvements may focus on the software development processes of the whole organization as well as improvements to the applied inspection process itself

    DETERMINING THE IMPACT OF BUSINESS STRATEGIES USING PRINCIPLES FROM GOAL-ORIENTED MEASUREMENT

    Get PDF
    In practice, the success or failure of business strategies is often determined by management as a gut feeling without taking into account quantitative information. If data is collected, it is often unclear how the data contributes to higher-level goals of the organization. GQM+Strategies® provides mechanisms for explicitly linking measurement goals to higher-level goals, and also to goals and strategies at the level of the entire business. It is based on experiences with software-related organizations, but is intended to be applicable in all kinds of businesses. This article gives an overview of the basic concepts and presents a practical case
    • …
    corecore