A series of tutorials will be held in conjunction with RE'17 to develop skills in and advance awareness of requirements engineering practices. Tutorials will be held before the main conference on Monday-Tuesday, September 4-5.
Monday, September 04 | ||
---|---|---|
T01 | User Story Best Practices: Requirements in Agile Context (Full-day) | |
T07 | Writing requirements documents with goals: the KAOS/Objectiver approach (Full-day) | |
T10 | Writing Good Requirements (Full-day) |
Tuesday, September 05 | ||
---|---|---|
T02 | Blockchain Requirements Engineering: Research Challenges and Opportunities (Half-day) | |
T03 | From Mining to Planning – Next Generation of Release Decision Making for Software Products (Full-day) | |
T04 | Software Reuse and Reusability based on Requirements: Product Lines, Cases and Feature-Similarity Models (Half-day) | |
T05 | Risk Assessment using Early Requirements Models: A Guided Tour (Half-day) | |
T06 | Evaluating Evolving Requirements Models with URN: Features, Goals, and Scenarios (Full-day) | |
T09 | Eliciting Unstated Requirements (Half-day) |
T01 - User Story Best Practices: Requirements in Agile Context
The widespread adoption of agile methods like Scrum, Kanban and XP has lead to the rise of user stories in industry. Although 45% of practitioners employ user stories for requirements gathering (Kassab, 2015), many still struggle with effectively applying this method in practice. This is signified by the high degree of errors in existing user stories: almost 50% (Lucassen et al.,). Participate in this tutorial to learn about innovative theories, methods and tools based on best practices among 20+ companies to support you in creating better user stories. In this tutorial, you will learn:
- the basics of creating user stories
- effectively embedding user stories in existing agile development processes
- improving user story quality with the Quality User Story Framework and AQUSA tool
- consistency checking with Visual Narrator
- insight in best practices of 20+ software companies employing user stories
At the end of this tutorial you will have the knowledge and resources to start applying user stories in your software development projects. Participants are encouraged to bring existing sets of user stories available from projects they or someone else in their organization participated in. Please contact the tutorial presenters up-front with these materials for entering in the tooling: g.lucassen@uu.nl.
Date
Monday, September 04 (Full-day)Presenters
Utrecht University, The Netherlands
Utrecht University, The Netherlands
T02 - Blockchain Requirements Engineering: Research Challenges and Opportunities
The blockchain is the underlying technology behind Bitcoin and it is finding its way in the development of a variety of new software systems. With its innovative approach to decentralized computation and assets management, the blockchain has not only potential to solve a number of system scalability, reliability, security, and privacy issues, but also to revolutionize software systems development in a way similar to what the Internet did. For example, the integration of the blockchain and the Internet of Things (IoT) provides a promising new research and development direction that has generated significant research funding and venture capital investments. The blockchain is not just a set of tools. The blockchain creates a new way of thinking about problem solutions and system design. In particular, it creates a number of new, very difficult, requirements engineering challenges. In this tutorial, we present the background on the blockchain technology; analysis of the current blockchain research and development trends; discussion of the requirements engineering challenges and opportunities; and a hands-on example that integrates all the presented concepts. The objective of the tutorial is to enable participants to critically analyze applicability of the blockchain, identify the appropriate requirements engineering opportunities, and to envision novel types of solutions using the blockchain.
Date
Tuesday, September 05 (Half-day)Presenter
Masdar Institute of Science and Technology, Abu Dhabi, UAE
T03 - From Mining to Planning – Next Generation of Release Decision Making for Software Products
The rapid growth of app stores and repositories has led to an increasing number of publications in app store analysis through data mining. A big portion of these studies is concerned with analyzing and prioritizing user requirements and planning for app releases. In this tutorial, we provide an overview of the state of the art of release planning and state of the art of app store mining and discuss the opportunities and challenges that researchers face in requirement engineering of mobile apps. Later, within an interactive session, we mine two exclusively new data sets of mobile apps and demonstrate the real implications of the state of the art studies we summarized. This tutorial fits all the students, faculties and practitioners who wish to get familiar with data analytics for release planning and app store mining.
Website
From Mining to Planning – Next Generation of Release Decision Making for Software ProductsDate
Tuesday, September 05 (Full-day)Presenters
University of Calgary, Canada
University of Hamburg, Germany
University of Calgary, Canada
T04 - Software Reuse and Reusability based on Requirements: Product Lines, Cases and Feature-Similarity Models
Software reuse and reusability range from operational, ad-hoc and short-term to strategic, planned and long-term. Often the focus of attention is just on code or low-level design. This tutorial focuses on effective requirements reuse to reduce the effort in developing requirements whilst maintaining the level of precision and quality and risk mitigation that has been worked through on previous projects. It presents and compares two different requirements-led approaches. The first approach deals with requirements reuse and reusability in the context of product line engineering and platform eco-system development. The second approach deals with requirements reuse and reusability in the context of case-based reasoning. Both approaches have different key properties and trade-offs between the costs of making software artefacts reusable and the benefits of reusing them. To aid large-scale development we have proposed a Feature-Similarity Model, which draws on both approaches to facilitate discovering requirements relationships using similarity metrics. A Feature-Similarity Model also helps with the evolution of a product line, since new requirements can be introduced first into a case base and then gradually included into a product line representation. At the end of this tutorial, participants will be able to:
- understand strategic versus operational reuse and reusability;
- debate trade-offs between the costs and benefits of reuse and reusability;
- describe two different approaches to requirements-led strategic requirements reuse and reusability: in software product-line engineering and using case-based reasoning;
- explain a new Feature-Similarity Model, which draws on both approaches to facilitate managing software reuse in very large scale systems with commonality and variability.
Date
Tuesday, September 05 (Half-day)Presenters
TU Wien, Vienna, Austria
Glasgow Caledonian University, Glasgow, UK
T05 - Risk Assessment using Early Requirements Models: A Guided Tour
Risk assessment is decisive in making the right choices at the right moment. As software complexity grows beyond the knowledge boundary of a stakeholder, it is important to handle the uncertainty early, before it starts to bite. Early requirements models, especially goal-oriented and problem oriented ones, are suitable means to document what we know about the stakeholders, the system, and its environment. What is less known is how to relate them quantitatively, despite partial knowledge of the world. In this guided tour, I will present a new outlook of risk assessment from Jackson's Goal Behaviour Models, supported by the latest Risk Explorer tool we developed at the Open University. This tour will not take longer than half a day, but it will take examples from the domains of security, privacy, and mobile app development.
Date
Tuesday, September 05 (Half-day)Presenter
The Open University, Milton Keynes, UK
T06 - Evaluating Evolving Requirements Models with URN: Features, Goals, and Scenarios
The User Requirements Notation (URN), standardized by ITU-T in 2008 with extensive improvements in 2012, offers two complementary views for modeling requirements including features and business processes: GRL (the Goal-oriented Requirement Language) for stakeholder goals, features, and indicators, and UCM (Use Case Maps) for workflows, scenarios, and high-level architectures. This tutorial first gives an introduction to the basic concepts and notations of URN, together with a comprehensive analysis approach to requirements modeling, combining both views. Illustrative examples are demonstrated with jUCMNav, a mature Eclipse-based environment that supports URN and combined goal-scenario analysis capabilities.
The tutorial then focuses on a novel and recent contribution to URN that enables the evaluation of changing URN models over time. Based on the specification of expected changes to URN model elements for concrete date ranges, the URN model may be analyzed for a specific date in the future (or in the past) or for a period of time covering dates of interest. These powerful modeling mechanisms enable advanced and yet concise specification of requirements in a wide range of application domains.
Throughout the tutorial, participants will do exercises to deepen their understanding of URN.
Date
Tuesday, September 05 (Full-day)Presenter
McGill University, Canada
T07 - Writing requirements documents with goals: the KAOS/Objectiver approach
The KAOS approach is nowadays not only one of the most often taught RE approaches in universities and one of the most referred approaches in RE research papers, it has also been used successfully for many years in many industrial cases. The tutorial aims at providing the audience with the background, practice and know-how to write top-quality requirements documents with KAOS/Objectiver.
Date
Monday, September 04 (Full-day)Presenter
Respect-IT, Belgium
T09 - Eliciting Unstated Requirements
Stakeholders often have requirements that they aren’t aware of. Uncovering them can be quite challenging and involves a way of thinking not found in more traditional elicitation approaches. It requires probing interviews and expanded use of context information to break through the confines of what the requirements engineer typically achieves with a specification-driven process. It requires a method that transforms stakeholders’ tacit knowledge into explicit statements so that insightful and innovative requirements can emerge.
The Elicitation of Unstated Requirements at Scale (EURS) research team at the Software Engineering Institute developed and validated a method for determining the unstated needs of the varied stakeholders typical of today’s large, diverse programs (e.g., sociotechnical ecosystems). This method, called “KJ+,” is scalable to address the needs of multiple categories of stakeholders; usable by a diverse, non-collocated team of requirements analysts; and results in a more complete set of requirements as the basis for subsequent system design, implementation, and continued sustainment.
The tutorial will include presentation of the traditional KJ method for eliciting unstated user needs, as well as the extensions made to allow KJ to be used in a virtual environment (KJ+). The results of a KJ+ case study conducted on a real project, will also be presented.
Date
Tuesday, September 05 (Half-day)Presenter
Software Engineering Institute and Carnegie Mellon University, USA
T10 - Writing Good Requirements
Poor requirements practices are widely recognized as one of the top causes of product defects, project delays, and cost overruns. However, a practical solution that balances effective results with the everyday pressures of product development can be hard to find. Teams struggle with questions such as 'How much detail is enough?', 'What is the difference between requirements and design', and 'What requirements practices are right for my project?'. In many cases, requirements specification may be in the hands of engineers or other personnel with deep experience in their primary discipline, but little or no specific training or expertise in authoring good requirements. This one-day tutorial is a quick overview to help fill that gap.
Writing Good Requirements is based on a popular and successful course taught to thousands of students at Intel over the past 17 years. It covers effective foundational best practices for specifying requirements that work even for complex, market-driven products. The techniques presented are scalable and have been employed on projects within both agile and traditional methodologies. Rather than presenting a rigid methodology or process, the emphasis is on best practices that can be tailored to a variety of product and project types.
The tutorial contains examples from actual requirements documents in original and improved formats. Small-group exercises and discussions reinforce the content and techniques through the day.
Date
Monday, September 04 (Full-day)Presenters
Intel Corporation, USA
Intel Corporation, USA