8 research outputs found

    Are Delayed Issues Harder to Resolve? Revisiting Cost-to-Fix of Defects throughout the Lifecycle

    Full text link
    Many practitioners and academics believe in a delayed issue effect (DIE); i.e. the longer an issue lingers in the system, the more effort it requires to resolve. This belief is often used to justify major investments in new development processes that promise to retire more issues sooner. This paper tests for the delayed issue effect in 171 software projects conducted around the world in the period from 2006--2014. To the best of our knowledge, this is the largest study yet published on this effect. We found no evidence for the delayed issue effect; i.e. the effort to resolve issues in a later phase was not consistently or substantially greater than when issues were resolved soon after their introduction. This paper documents the above study and explores reasons for this mismatch between this common rule of thumb and empirical data. In summary, DIE is not some constant across all projects. Rather, DIE might be an historical relic that occurs intermittently only in certain kinds of projects. This is a significant result since it predicts that new development processes that promise to faster retire more issues will not have a guaranteed return on investment (depending on the context where applied), and that a long-held truth in software engineering should not be considered a global truism.Comment: 31 pages. Accepted with minor revisions to Journal of Empirical Software Engineering. Keywords: software economics, phase delay, cost to fi

    The investigation on the best pracices of extreme programming (XP) quality implementation at UUMIT

    Get PDF
    Software engineering (SE) plays an important role for improving society‘s wellbeing through the use of high quality software. There is noted that most of the software projects are failed, due to missing or poor software development practices in software organizations. Due to this reason, having a good and sound software development methodology is crucial for software organization to satisfy stakeholder‘s requirements. One of the prevalent software development methodologies in SE is Extreme programming (XP) methodology. This methodology is an emerging SE approach, which is able to increase software quality and hence reducing software development time and cost. However, the level of application of this methodology among software developers in UUM IT centre is still unclear. Therefore, this study aims to investigate the application of XP practices in this centre. UUM IT was chosen as a case study because the role of this organization has changed to meet high demand among campus communities. Thus, research that focuses on the 12 XP practices of UUM IT is highly needed. This study was conducted using a semi–structured interview with five (5) experts from the UUM IT, to identify the successful implementation of the XP practices. The findings have shown that, most of the practices are used by UUM IT developers but need to improve. In contrast, some of the practices such as pair programming and test first programming are not used by the UUM IT developers. This is due to the nature and type of software projects involved, also because of the personality, experiences and the education level differences among developers. This study provides qualitative evident that can assist software project managers to guide them in improving software development practices for producing high quality software

    Machine Learning System Development in Information Systems Development Praxis

    Get PDF
    Advancements in hardware and software have propelled machine learning (ML) solutions to become vital components of numerous information systems. This calls for research on the integration and evaluation of ML development practices within software companies. To investigate these issues, we conducted expert interviews with software and ML professionals. We structured the interviews around information systems development (ISD) models, which serve as conceptual frameworks that guide stakeholders throughout software projects. Using practice theory, we analyzed how software professionals perceive ML development within the context of ISD models and identified themes that characterize the transformative impact of ML development on these conceptual models. Our findings show that developer-driven conceptual models, such as DevOps and MLOps, have been embraced as common frameworks for developers and management to understand and guide the ML development processes. We observed ongoing shifts in predefined developer roles, wherein developers are increasingly adopting ML techniques and tools in their professional work. Overall, our findings underscore that ML technologies are becoming increasingly prominent in software projects across industries, and that the incorporation of ML development in ISD models is an ongoing, largely practice-driven, process

    Theorizing about Software Development Practices

    No full text
    The paper focuses on the challenge of generating theoretical support for software development, especially when human software developers are involved in the software development process. We outline a model, “Coat Hanger”, for theorizing about development practices. The model focuses on the intended rationale for the actual realization and resulting impacts of using particular practices in varying contexts. To illustrate the use of the model, we have studied recent practice-oriented articles in the journal Science of Computer Programming. A survey of articles in the journal between 2010 and 2013 showed that out of 371 articles, only four studied software development in professional organizations with actual software practitioners as informants. The Coat Hanger model was then used to identify the theoretical strengths and weaknesses of these four practice descriptions. The analysis is used as the basis to declare the potential of our model as a conceptual aid for more structured theorizing about software development practices. The contribution of the model is the introduction of a concretization of how theorizing can be done through reflection-in-action, instead of regarding research on software practices plainly from the prevailing viewpoint of technical rationality.Validerad; 2015; NivĂ„ 2; 20141201 (andbra)</p
    corecore