8 research outputs found
Are Delayed Issues Harder to Resolve? Revisiting Cost-to-Fix of Defects throughout the Lifecycle
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
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
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
Recommended from our members
Error Detection and Recovery in Software Development
Software rarely works as intended when it is first written. Software engineering research has long been concerned with assessing why software fails and who is to blame, or why a piece of software is flawed and how to prevent such faults in the future. Errors are examined in the context of bugs, elements of source code that produce undesirable, unexpected and unintended deviations in behaviour. Though error is a prevalent, mature topic within software engineering, error detection and recovery are less well understood. This research uses rich qualitative methods to study error detection and recovery in professional software development practice.
It has considered conceptual representations of error in software engineering research and trade literature. Using ethnographic principles, it has gathered accounts given by professional developers in interviews and in video-recorded paired interaction. Developers performing a range of tasks were observed, and findings were compared to theories of human error formed in psychology and safety science.
Three empirical studies investigated error from the perspective of developers, recon- structing the view they hold when errors arise, to build a catalogue of active encounters with error in conceptual design, at the desk and after the fact. Analyses were structured to consider development holistically over time, rather than in terms of discrete tasks. By placing emphasis on âlocal rationalityâ, analytical focus was redirected from outcomes toward factors that influence performance. The resultant observations are assembled in an account of error handling in software development as personal and situated (in time and the developerâs environment), with implications for the changing nature of expertise
Theorizing about Software Development Practices
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