Match!

Refinement and resolution of just-in-time requirements in open source software and a closer look into non-functional requirements

Published on Mar 1, 2018in Journal of Industrial Information Integration
· DOI :10.1016/j.jii.2018.03.001
Tanmay Bhowmik6
Estimated H-index: 6
(MSU: Mississippi State University),
Anh Quoc Do2
Estimated H-index: 2
(MSU: Mississippi State University)
Cite
Abstract
Abstract Just-in-time (JIT) requirements are characterized as not following the traditional requirement engineering approach, instead focusing on elaboration when the implementation begins. In this experience report, which is an invited extension of a recently published work [1], we first analyze both functional and non-functional JIT requirements from three successful open source software (OSS) projects, including Firefox, Lucene, and Mylyn, to explore the common activities that shaped those requirements. We identify a novel refinement and resolution process that all studied requirements followed from their inception to complete realization and subsequent release. Noticing some interesting phenomena more specific to non-functional requirements (NFRs), we conduct a second study examining 50 NFRs from the aforementioned three subject systems. This study reveals a slightly different process followed in the refinement and resolution of NFRs. It also provides further evidence that NFR refinement and resolution activities focus more on implementation refinement rather than requirement elaboration in the studied systems. Our research provides new insights into how OSS project teams create quality features from simple initial descriptions of JIT requirements, uncovers activities more particular to JIT requirements engineering (RE) for NFRs, and opens new avenues for further research in the emerging JIT RE field.
  • References (31)
  • Citations (2)
Cite
References31
Newest
Published on Sep 1, 2017
Eric Knauss16
Estimated H-index: 16
,
Grischa Liebel5
Estimated H-index: 5
+ 2 AuthorsRashidah Kasauli2
Estimated H-index: 2
Just-in-time (JIT) approaches have been suggested for managing non-functional requirements in agile projects. However, many non-functional requirements cannot be raised and met on the spot. In this position paper, we argue that effective JIT engineering of quality requirements depends on a solid foundation of long-term knowledge about all relevant quality requirements. We present two examples from projects related to safety and security and show that not all aspects of these quality requirements...
Published on Sep 1, 2017 in RE (IEEE International Conference on Requirements Engineering)
Zijad Kurtanovic4
Estimated H-index: 4
(UHH: University of Hamburg),
Walid Maalej21
Estimated H-index: 21
(UHH: University of Hamburg)
In this paper, we take up the second RE17 data challenge: the identification of requirements types using the "Quality attributes (NFR)" dataset provided. We studied how accurately we can automatically classify requirements as functional (FR) and non-functional (NFR) in the dataset with supervised machine learning. Furthermore, we assessed how accurately we can identify various types of NFRs, in particular usability, security, operational, and performance requirements. We developed and evaluated ...
Published on Sep 1, 2017
Anh Quoc Do2
Estimated H-index: 2
,
Tanmay Bhowmik6
Estimated H-index: 6
Just-in-time (JIT) requirements are characterized as not following the traditional requirement engineering approach, instead focusing on elaboration when the implementation begins. In this experience report, we analyze both functional and nonfunctional JIT requirements from three successful open source software (OSS) projects, including Firefox, Lucene, and Mylyn, to explore the common activities that shaped those requirements. We identify a novel refinement and resolution process that all studi...
Published on Aug 25, 2015
Petra Heck6
Estimated H-index: 6
,
Andy Zaidman27
Estimated H-index: 27
(TU Delft: Delft University of Technology)
Just-in-time (JIT) requirements drive agile teams in planning and implementing software systems. In this paper, we start with the hypothesis that performing informal verification of JIT requirements is useful. For this purpose we propose a framework for quality criteria for JIT requirements. This framework can be used by JIT teams to define 'just-enough' quality criteria. The framework also includes a time dimension such that quality criteria can be defined as 'just-in-time'. We demonstrate the ...
Published on Aug 25, 2015
Tanmay Bhowmik6
Estimated H-index: 6
(Northwest Missouri State University),
Sandeep Reddivari5
Estimated H-index: 5
(UNF: University of North Florida)
Research in "just-in-time" requirements engineering has recently emerged. Some research has explored the nature of just-in-time requirements analysis in open source software (OSS) systems. Whereas, others have focused on techniques, such as traceability-enabled refactoring and horizontal traceability, in order to help manage just-in-time requirements. Little is known, however, about the resolution trends of just-in-time requirements in OSS development. In this position paper, we analyze the reso...
Published on May 1, 2015in IEEE Software2.94
Jane Cleland-Huang36
Estimated H-index: 36
(DePaul University)
Basic data-mining skills can be useful for processing domain documents early during requirements engineering. An example from the electronic-healthcare-records domain shows how. The Web extra at http://youtu.be/tHvi3pHEP8c is an audio podcast in which author Jane Cleland-Huang provides an audio recording of the Requirements column, in which she discusses how basic data-mining skills can be useful for processing domain documents early during requirements engineering.
Published on Dec 1, 2014in Journal of Software: Evolution and Process1.30
Petra Heck6
Estimated H-index: 6
,
Andy Zaidman27
Estimated H-index: 27
(TU Delft: Delft University of Technology)
Agile projects typically employ just-in-time requirements engineering and record their requirements so-called feature requests in an issue tracker. In open source projects, we observed large networks of feature requests that are linked to each other. Both when trying to understand the current state of the system and to understand how a new feature request should be implemented, it is important to know and understand all these tightly related feature requests. However, we still lack tool support ...
Published on Aug 1, 2014 in RE (IEEE International Conference on Requirements Engineering)
Nan Niu20
Estimated H-index: 20
(UC: University of Cincinnati),
Tanmay Bhowmik6
Estimated H-index: 6
(MSU: Mississippi State University)
+ 1 AuthorsZhendong Niu7
Estimated H-index: 7
(BIT: Beijing Institute of Technology)
Just-in-time requirements management, character- ized by lightweight representation and continuous refinement of requirements, fits many iterative and incremental development projects. Being lightweight and flexible, however, can cause wasteful and procrastinated implementation, leaving certain stakeholder goals not satisfied. This paper proposes traceability- enabled refactoring aimed at fulfilling more requirements fully. We make a novel use of requirements traceability to accurately locate wh...
Published on Dec 1, 2013in Empirical Software Engineering4.46
Abram Hindle22
Estimated H-index: 22
(U of A: University of Alberta),
Neil A. Ernst19
Estimated H-index: 19
(UBC: University of British Columbia)
+ 1 AuthorsJ. Mylopolous74
Estimated H-index: 74
(University of Trento)
Software repositories provide a deluge of software artifacts to analyze. Researchers have attempted to summarize, categorize, and relate these artifacts by using semi-unsupervised machine-learning algorithms, such as Latent Dirichlet Allocation (LDA). LDA is used for concept and topic analysis to suggest candidate word-lists or topics that describe and relate software artifacts. However, these word-lists and topics are difficult to interpret in the absence of meaningful summary labels. Current a...
Published on Aug 19, 2013 in IWPSE (International Workshop on Principles of Software Evolution)
Petra Heck6
Estimated H-index: 6
(Fontys University of Applied Sciences),
Andy Zaidman27
Estimated H-index: 27
(TU Delft: Delft University of Technology)
While requirements for open source projects originate from a variety of sources like e.g. mailing lists or blogs, typically, they eventually end up as feature requests in an issue tracking system. When analyzing how these issue trackers are used for requirements evolution, we witnessed a high percentage of duplicates in a number of high-prole projects. Further investigation of six open source projects and their users led us to a number of important observations and a categorization of the root c...
Cited By2
Newest
Published on Aug 1, 2019in Information & Software Technology2.92
Johan Linåker5
Estimated H-index: 5
(Lund University),
Björn Regnell35
Estimated H-index: 35
(Lund University),
Daniela E. Damian25
Estimated H-index: 25
(UVic: University of Victoria)
Abstract Context: In the Requirements Engineering (RE) process of an Open Source Software (OSS) community, an involved firm is a stakeholder among many. Conflicting agendas may create miss-alignment with the firm’s internal requirements strategy. In communities with meritocratic governance or with aspects thereof, a firm has the opportunity to affect the RE process in line with their own agenda by gaining influence through active and symbiotic engagements. Objective: The focus of this study has ...
Nan Niu (UC: University of Cincinnati), Daniel Méndez Fernández14
Estimated H-index: 14
(TUM: Technische Universität München)
Abstract This special issue tackles specific challenges of requirements engineering (RE) in agile and interconnected settings. Compared to traditional upfront RE, the practices in agile or open-source software projects tend to be just-in-time, characterized by lightweight representation and continuous refinement of requirements. The special issue features six articles, ranging from conceptual views through analytic reasonings to empirical studies. Altogether, the collection offers important and ...