26,309 research outputs found
A Conceptual Model of Client-driven Agile Requirements Prioritization: Results of a Case Study
ABSTRACT Requirements (re)prioritization is an essential mechanism of agile development approaches to maximize the value for the clients and to accommodate changing requirements. Yet, in the agile Requirements Engineering (RE) literature, very little is known about how agile (re)prioritization happens in practice. Conceptual models about this process are missing, which, in turn, makes it difficult for both practitioners and researchers to reason about requirements decision-making at inter-iteration time. We did a multiple case study on agile requirements prioritization methods to yield a conceptual model for understanding the inter-iteration prioritization process. The model is derived by using interview data from practitioners in 8 development organizations. Such a model makes explicit the concepts that are used tacitly in the agile requirements prioritization practice and can be used for structuring future empirical investigations about this topic, and for analyzing, supporting, and improving the process in real-life projects
Requirements Prioritization Based on Benefit and Cost Prediction: An Agenda for Future Research
In early phases of the software cycle, requirements
prioritization necessarily relies on the specified
requirements and on predictions of benefit and cost of
individual requirements. This paper presents results of
a systematic review of literature, which investigates
how existing methods approach the problem of
requirements prioritization based on benefit and cost.
From this review, it derives a set of under-researched
issues which warrant future efforts and sketches an
agenda for future research in this area
How do software architects consider non-functional requirements: an exploratory study
© 2012 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes,creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.Dealing with non-functional requirements (NFRs) has posed a challenge onto software engineers for many years. Over the years, many methods and techniques have been proposed to improve their elicitation, documentation, and validation. Knowing more about the state of the practice on these topics may benefit both practitioners' and researchers' daily work. A few empirical studies have been conducted in the past, but none under the perspective of software architects, in spite of the great influence that NFRs have on daily architects' practices. This paper presents some of the findings of an empirical study based on 13 interviews with software architects. It addresses questions such as: who decides the NFRs, what types of NFRs matter to architects, how are NFRs documented, and how are NFRs validated. The results are contextualized with existing previous work.Peer ReviewedPostprint (authorâs final draft
Complementing Measurements and Real Options Concepts to Support Inter-iteration Decision-Making in Agile Projects
Agile software projects are characterized by iterative and incremental development, accommodation of changes and active customer participation. The process is driven by creating business value for the client, assuming that the client (i) is aware of it, and (ii) is capable to estimate the business value, associated with the separate features of the system to be implemented. This paper is focused on the complementary use of measurement techniques and concepts of real-option-analysis to assist clients in assessing and comparing alternative sets of requirements. Our overall objective is to provide systematic support to clients for the decision-making process on what to implement in each iteration. The design of our approach is justified by using empirical data, published earlier by other authors
Technical Debt Prioritization: State of the Art. A Systematic Literature Review
Background. Software companies need to manage and refactor Technical Debt
issues. Therefore, it is necessary to understand if and when refactoring
Technical Debt should be prioritized with respect to developing features or
fixing bugs. Objective. The goal of this study is to investigate the existing
body of knowledge in software engineering to understand what Technical Debt
prioritization approaches have been proposed in research and industry. Method.
We conducted a Systematic Literature Review among 384 unique papers published
until 2018, following a consolidated methodology applied in Software
Engineering. We included 38 primary studies. Results. Different approaches have
been proposed for Technical Debt prioritization, all having different goals and
optimizing on different criteria. The proposed measures capture only a small
part of the plethora of factors used to prioritize Technical Debt qualitatively
in practice. We report an impact map of such factors. However, there is a lack
of empirical and validated set of tools. Conclusion. We observed that technical
Debt prioritization research is preliminary and there is no consensus on what
are the important factors and how to measure them. Consequently, we cannot
consider current research conclusive and in this paper, we outline different
directions for necessary future investigations
Video Game Development in a Rush: A Survey of the Global Game Jam Participants
Video game development is a complex endeavor, often involving complex
software, large organizations, and aggressive release deadlines. Several
studies have reported that periods of "crunch time" are prevalent in the video
game industry, but there are few studies on the effects of time pressure. We
conducted a survey with participants of the Global Game Jam (GGJ), a 48-hour
hackathon. Based on 198 responses, the results suggest that: (1) iterative
brainstorming is the most popular method for conceptualizing initial
requirements; (2) continuous integration, minimum viable product, scope
management, version control, and stand-up meetings are frequently applied
development practices; (3) regular communication, internal playtesting, and
dynamic and proactive planning are the most common quality assurance
activities; and (4) familiarity with agile development has a weak correlation
with perception of success in GGJ. We conclude that GGJ teams rely on ad hoc
approaches to development and face-to-face communication, and recommend some
complementary practices with limited overhead. Furthermore, as our findings are
similar to recommendations for software startups, we posit that game jams and
the startup scene share contextual similarities. Finally, we discuss the
drawbacks of systemic "crunch time" and argue that game jam organizers are in a
good position to problematize the phenomenon.Comment: Accepted for publication in IEEE Transactions on Game
- âŠ