There's never enough time: Doing requirements under resource constraints, and what requirements engineering can learn from agile development

Author(s):  
Bernd Waldmann
Author(s):  
Vanita Yadav

Getting requirements right is considered the most important and difficult part of the software development process. As organizations and stakeholders become more globally distributed, getting requirements right will pose a greater challenge. Today, organizations are offered a sophisticated array of multimedia meeting systems with video, audio and computer support for remotely specifying requirements. In the context of present day’s global workforce scenario, distributed requirements engineering is now being explored by researchers as well as industry to build an understanding of the dynamics of this highly interactive phase in a globally distributed context. Accordingly, this paper addresses the timely need of reviewing the literature on globally distributed requirements engineering. Findings highlight paucity of literature in this area. Additionally, the paper presents an innovative approach to globally distributed requirements engineering by reviewing the literature on the applicability of agile development approach in a globally distributed setting. Contributing to academic and practitioner literature, the author discusses emerging directions for future research in this area.


Author(s):  
Stefan Wagner ◽  
Daniel Méndez Fernández ◽  
Michael Felderer ◽  
Marcos Kalinowski

Requirements engineering (RE) is considerably different in agile development than in traditional processes. Yet, there is little empirical knowledge on the state of the practice and contemporary problems in agile RE. As part of a bigger survey initiative (Naming the Pain in Requirements Engineering), we build an empirical basis on such aspects of agile RE. Based on the responses from 92 people representing 92 organizations, we found that agile RE concentrates on free-text documentation of requirements elicited with a variety of techniques. Many manage explicit traces between requirements and code. Furthermore, the continuous improvement of RE is done because of intrinsic motivation. Important experienced problems include unclear requirements and communication flaws. Hence, agile RE is in several aspects not so different from RE in other development processes. We plan to investigate specific techniques, such as acceptance-test-driven development, in a future survey to better capture what is special in agile RE.


2018 ◽  
Vol 21 (1) ◽  
Author(s):  
Stefan Wagner ◽  
Daniel Méndez Fernández ◽  
Marcos Kalinowski ◽  
Michael Felderer

Requirements Engineering (RE) is being treated differently in agile development when compared to more traditional development processes. Yet, there is little empirical knowledge on the state of the practice and contemporary problems in agile RE. As part of a bigger survey initiative (Naming the Pain in Requirements Engineering), the main goal of this paper is to build an empirical basis on such aspects of agile RE, based on the responses of representatives from 92 different organisations. Our survey data analyses revealed that agile RE concentrates on free-text documentation of requirements elicited with a variety of techniques. The backlog is the central means to deal with changing requirements. Commonly traces between requirements and code are explicitly managed and testing and RE are typically aligned. Furthermore, continuous improvement of RE is performed due to intrinsic motivation and RE standards are commonly practiced. Among the main problems, we highlight incomplete requirements, communication flaws and moving targets. Those problems were reported to happen commonly in agile projects and to have critical consequences, including project failure. Overall, our findings show that most organisations conduct RE in a way we would expect and that agile RE is in several aspects not so different from RE in other development processes.


Author(s):  
Camilo Camilo Almendra ◽  
Flavia Barros ◽  
Carla Silva

Context: Certification of safety-critical systems (SCS) demands thorough documentation that demonstrates why a system shall be considered safe. Assurance Case Development (ACD) is an approach for discussing, analyzing and assessing the safety properties of systems. Software requirements of a SCS are an essential information included in assurance cases, alongside system design and safety analysis information. Lack of integrated analysis of requirements and safety concerns may lead to safety issues in the development of critical systems. One of the challenges for the agile development of SCS is to address both Requirements Engineering (RE) and ACD in an integrated way throughout the development life cycle. Objective: This research proposes a framework to integrate the Assurance Case Development and Agile RE in the development of SCS. Method: This research is organized in three main phases. First, a systematic mapping study is performed to understand how incremental ACD is addressed by current approaches, and a survey with experts is carried out to understand the development of ACs during Agile RE activities in practice. Second, the framework and its supporting tools and documentation will be designed and developed. Finally, a series of empirical studies will evaluate aspects of the framework in a multi-perspective manner and as long as it is developed. Conclusions: We expect that this approach contributes to leverage the development of ACs earlier and integrated with RE activities in agile development of SCS.


Author(s):  
Asif Qumer Gill ◽  
Deborah Bunker

The emergence of Software as a Service (SaaS) has made it possible to develop dynamic and complex business processes as eServices. The development of business processes as eServices (SaaS) can be assisted by the means of adaptive or agile development processes. The development of business processes in terms of SaaS require to perform SaaS requirements engineering (RE), which is an important phase of a software development process for the success of any project. The challenge here is how best to do SaaS RE (e.g. mapping business process to eServices) and select agile development practices for developing business processes in terms of SaaS. In order to address this challenge, an integrated agile RE model for SaaS project development environments is outlined within this chapter. The purpose of the proposed RE model is to aid in iteratively determining SaaS requirements in short iterations as opposed to the “only first and onetime upfront” phase of a development process. Each identified SaaS requirement or a set of requirements for a given iteration is linked to a single or set of specific agile practices for implementation in short iterations. This model can be used as a guideline by organisations wishing to understand the challenging task of mapping business processes to SaaS and its implementation by using agile software development processes or practices.


Author(s):  
Chung-Yeung Pang

The combination of software engineering and agile development process can bring great benefits to the development and maintenance of enterprise applications. This chapter introduces the engineering of requirements in an agile Scrum development process. In Scrum, requirements are usually defined as user stories in a product backlog. Since many enterprise applications do not have intensive user actions, stories cannot be linked to users. Topics such as user and enabler stories, non-functional requirements, considerations of architecture and business components, business workflow, and breakdown of user stories are addressed. The requirements engineering of PBIs is illustrated by practical examples. Using UML use cases and collaboration models is recommended to transform the stories in the product backlog into formal requirements specifications. The proposed approach can be part of the agile development framework for flexible software products that are easy to customize and maintain.


2011 ◽  
Vol 2 (1) ◽  
pp. 1-11 ◽  
Author(s):  
Vanita Yadav

Getting requirements right is considered the most important and difficult part of the software development process. As organizations and stakeholders become more globally distributed, getting requirements right will pose a greater challenge. Today, organizations are offered a sophisticated array of multimedia meeting systems with video, audio and computer support for remotely specifying requirements. In the context of present day’s global workforce scenario, distributed requirements engineering is now being explored by researchers as well as industry to build an understanding of the dynamics of this highly interactive phase in a globally distributed context. Accordingly, this paper addresses the timely need of reviewing the literature on globally distributed requirements engineering. Findings highlight paucity of literature in this area. Additionally, the paper presents an innovative approach to globally distributed requirements engineering by reviewing the literature on the applicability of agile development approach in a globally distributed setting. Contributing to academic and practitioner literature, the author discusses emerging directions for future research in this area.


Sign in / Sign up

Export Citation Format

Share Document