A series of tutorials will be held in conjunction with RE'18 to develop skills in and advance awareness of requirements engineering practices.

Monday, Aug 20, 2018
ID Title Presenter(s) Time
T04 DT4RE: Design Thinking for Requirements Engineering Jennifer Hehn,
Falk Uebernickel and Daniel Méndez
Half-Day tutorial - AM

DOWNLOAD
T06 Agile Requirements Engineering with User Stories Fabiano Dalpiaz and
Sjaak Brinkkemper
Half-Day tutorial - AM

DOWNLOAD
T02

Reconciling Requirements and Continuous Integration in an Agile Context
Please Note:
Participants are required to have "Docker" installed (https://docs.docker.com/).

During this tutorial, participants will develop some simple exercises using Java and classical continuous integration tools. We kindly ask potential participants to have a look at the following webpage (https://github.com/mosser/agile-tutorial/blob/master/tutorial/_preparation.md) and prepare their computer. In case of need, do not hesitate to contact us (mosser@i3s.unice.fr).

Sébastien Mosser and
Jean-Michel Bruel
Half-Day tutorial - PM

DOWNLOAD


Tuesday, Aug 21, 2018
ID Title Presenter(s) Time
T01 Writing Good Requirements John Terzakis Full-Day tutorial
T05 Requirements Reuse and Reusability: Product Lines, Cases and Feature‐Similarity Models Hermann Kaindl and
Mike Mannion
Half-Day tutorial - AM

DOWNLOAD
T03 On Tap: Writing Requirements for Molecular Programs Robyn Lutz and
Jack H. Lutz
Half-Day tutorial - PM


 

 

T01 - (Full Day)

Writing Good Requirements

Poor requirements practices are widely recognized as one of the top causes of product defects, project delays, and cost overruns. Yet, 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?”, “When is that detail needed?”, and “What requirements practices are right for my project?”
Writing Good Requirements is based on a popular and successful course taught to tens of thousands of students at Intel. It covers effective 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. It includes small group exercises and discussions to reinforce the content and techniques through the day.


Presenter(s)

John Terzakis is a Systems Engineer for the Intel Communications and Devices Group. He collaborates with product planners, architects, systems engineers, developers and testers to properly formulate requirements for Intel’s next generation modem products. His involvement with requirements engineering practices and processes spans the last sixteen years and includes teaching over one hundred requirements classes during that period. He has presented tutorials at the IEEE Requirements Engineering, Better SW/Agile Development, ICCGI, Project Summit/BA World and ICSE conferences. He is a Fellow with the International Academy, Research, and Industry Association (IARIA). John holds an MS EE from Stanford University and a BS EE from Northeastern University.
John Terzakis
Intel





T02 - (Half Day)

Reconciling Requirements and Continuous Integration in an Agile Context

This tutorial aims at exploring the boundaries between requirements, specifications, stories, scenarios and tests. Revisiting requirements elicitation and bridging the gap between traditional requirements engineering and modern software development (highly based on continuous integration and tests), this tutorial will demonstrate how to operationalize a fully-fledged tool chain going from user stories to automated acceptance testing using open-source tools. This is applicable to industrial practitioners as we will rely on state of the art tools, and link agile requirements to formal requirement engineering methods. We will first focus on the notion of user stories and epics to express user’s requirements, and how to evaluate such requirements based on “definition of ready” and “definition of done” acceptance criteria. We will then demonstrate how such requirements can be tracked in a project management tool, and linked to source code development. At the source code level, we will demonstrate how the stories and the associated acceptance scenarios can be modeled using the Gherkin language, and linked to classical unit tests to automate their validation. Finally, a continuous integration environment will be deployed using Docker to link together the different tools and offer an automated pipeline for software developers, bridging the gap between requirements and code development.


Please Note: Participants are required to have "Docker" installed (https://docs.docker.com/).

Presenter(s)

Sébastien Mosser Sébastien Mosser is Associate Professor in Software Engineering at Université Côte d’Azur, member of the SPARKS team at I3S (joint lab with CNRS). His research interests include software engineering, service-oriented architecture, model-driven engineering and software composition. From a teaching point of view, his teaching interests are focused on (agile) software project development, software engineering, distributed architecture, software testing and service-oriented architecture. He holds a PhD in Computer Science and a MSc in Software Engineering.
Sébastien Mosser (contact)
Université
Côte d'Azur,
CNRS, I3S, France
   

Jean-Michel Bruel Jean-Michel Bruel is head of the SM@RT team of the IRIT CNRS laboratory. His research areas include development of software intensive Cyber-Physical Systems, methods/model/language integration, with a main focus on requirements and Model-Based Systems Engineering. He has defended his “Habilitation à Diriger des Recherches” in December 2006 and obtained in 2008 a full professor position at the University of Toulouse . He has been head of the Computer Science department of the Technical Institute of Blagnac from 2009 to 2012.
Jean-Michel Bruel
Université
Côte d'Azur,
CNRS, I3S, France
   

 

During this tutorial, participants will develop some simple exercises using Java and classical continuous integration tools. We kindly ask potential participants to have a look at the following webpage (https://github.com/mosser/agile-tutorial/blob/master/tutorial/_preparation.md) and prepare their computer. In case of need, do not hesitate to contact us (mosser@i3s.unice.fr).





T03 - (Half Day)

On Tap: Writing Requirements for Molecular Programs

Molecular programming uses the computational power of DNA and other biomolecules to create useful nanoscale systems. Molecular program applications being developed include medical sensors that can be absorbed by the body after use, drug capsules that open only when they find diseased cells, and programmable nanoscale robots.
This tutorial introduces the model-based language commonly used to write the requirements for molecular programs. This high-level modeling language is mathematically simple, very general, and well documented. Importantly, specifications written in it can be automatically compiled into implementable, detailed design descriptions.
Participants will leave knowing how to write the requirements for some small molecular system components, where to go to learn more, and what are some open problems for writing the requirements of large molecular programs.


Presenter(s)

Robin Lutz Robyn Lutz is a professor of computer science at Iowa State University and was also on the technical staff at Jet Propulsion Laboratory. Her research interests include safety-critical systems, product lines, and the specification and verification of DNA nanosystems. She served as program chair of RE'14.
Robyn Lutz
Iowa State University
   

Jack Lutz Jack Lutz is a professor of computer science at Iowa State University, where he has been a faculty member since earning his Ph.D. at the California Institute of Technology. His research interests are in molecular programming and DNA nanotechnology, computational complexity, and algorithmic randomness.
Jack Lutz
Iowa State University
   





T04 - (Half Day)

DT4RE: Design Thinking for Requirements Engineering. A tutorial on human-centered and structured requirements elicitation

This tutorial presents Design Thinking as a promising approach to creatively elicit human-centered requirements for software-intensive systems. Specifically, it contributes to Requirements Engineering practices by structuring the fuzzy process of developing creative and innovative ideas. Addressing academics and practitioners alike, the tutorial provides a 3.5 hour hands-on introduction to Design Thinking and links it with the realm of Requirements Engineering. The tutorial should be seen as a forum for the interchange of experience and learnings from combining both approaches and should raise awareness for the importance of human-centered methods and experimentation in early phases of software engineering. After the tutorial, the participants will have access to all materials, templates, and methods on our website for further usage.


Presenter(s)

Jennifer Hehn Jennifer Hehn is a researcher and PhD student at the University of St.Gallen (HSG). Her research addresses the area of digital innovation with a special focus on the intersection between Design Thinking and Requirements Engineering. Beforehand, from 2012 to 2017, she worked as Executive Director for Design Thinking at the Institute of Information Management at the University of St.Gallen (HSG) and lead the SUGAR program - a global Design Thinking alliance of around 20 universities around the globe with strong focus on Asia, North America, and Europe. In addition, she works as a project manager for ITMP, a spin-off of HSG, where she conducts Design Thinking projects and workshops (often combined with agile software development approaches), e.g., together with E.ON, Allianz SE, Merck, and Deutsche Bank.
Jennifer Hehn
University of St.Gallen,
Switzerland
   

Falk Uebernickel Falk Uebernickel is professor at the University of St.Gallen for Business Administration and Business Innovation as well as founding partner of ITMP AG. He started his professional Design Thinking career with projects at Deutsche Bank in 2008. Furthermore, he teaches Design Thinking at masters level together with Stanford University and conducts executive lectures on Design Thinking. Until now, he worked on over 60 projects for companies like FIFA, Audi, Clariant, SAP, UBS, Deutsche Bank, RBS, Allianz, Merck, Telekom Austria Group, Swisscom, ThyssenKrupp, Airbus and many more.
Falk Uebernickel
University of St.Gallen,
Switzerland
   

Daniel Méndez Daniel Méndez is a senior lecturer for software & systems engineering at TUM (Germany) and director of the interdisciplinary junior research groups at the Centre Digitisation.Bavaria, Germany. His research is on (empirical) software engineering with a particular focus on interdisciplinary, qualitative research in Requirements Engineering and its quality improvement. He regularly contributes to various software engineering venues ranging from IEEE RE over Information and Software Technology to the Empirical Software Engineering journal and serves the software engineering community in various positions. Currently, he is the PC co-chair of the International Symposium on Empirical Software Engineering and Measurement and co-chair of the RE@Next! track. He is further founder of the new IREB working group IREB Research and co-founder of the NaPiRE international RE research initiative.
Daniel Méndez
Technical University of Munich,
Germany
   





T05 - (Half Day)

Requirements Reuse and Reusability: Product Lines, Cases and Feature-Similarity Models

Several socio-economic trends are increasing personalized customer demands. Suppliers are responding with mass customization but the management of large-scale cost-effective software reuse remains a difficult challenge. 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 presents and compares two different requirements-led approaches. The first approach deals with requirements reuse and reusability in the context of product line engineering. 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.


Presenter(s)

Hermann Kaindl Hermann Kaindl joined the Institute of Computer Technology at TU Wien in Vienna, Austria, in early 2003 as a full professor. Prior to moving to academia, he was a senior consultant with the division of program and sys-tems engineering at Siemens Austria. There he has gained more than 24 years of industrial experience in soft-ware development and human-computer interaction. He has published five books and more than 230 papers in refereed journals, books and conference proceedings. He is a Senior Member of the IEEE and a Distinguished Scientist Member of the ACM, and he is on the executive board of the Austrian Society for Artificial Intelligence. He has previously run more than 50 tutorials.
Hermann Kaindl
TU Wien,
Austria
   

Mike Mannion Mike Mannion is Assistant Vice-Principal (Academic) and Professor of Computing at Glasgow Caledonian Uni-versity, Glasgow, Scotland, UK. He has several years’ software engineering industrial experience and his re-search interests include product-line engineering, software engineering and engineering education. He is a Chartered Engineer, a member of IEEE and ACM, and a Fellow of the British Computer Society. He has pub-lished more than 50 papers and delivered more than 25 tutorials.
Mike Mannion
Glasgow Caledonian University,
UK
   





T06 - (Half Day)

Agile Requirements Engineering with User Stories

90% of agile practitioners employ user stories for capturing requirements. Of these, 70% follow a simple template when creating user stories: "As a role, I want to action, so that beneefit". User stories' popularity among practitioners and simple yet strict structure make them ideal candidates for automatic reasoning based on natural language processing. In our research, we have found that circa 50% of real-world user stories contain easily preventable errors that sabotage their potential. To alleviate this problem, the presenters of this tutorial have created methods, theories and tools that support creating better user stories. In this tutorial, you will learn: (1) The basics of creating user stories, and their use in requirements engineering; (2) How to improve user story quality with the Quality User Story Framework and AQUSA tool; and (3) How to generate conceptual models from user stories using the Visual Narrator and the Interactive Narrator tools. Our toolset is demonstrated with results obtained from 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.


Presenter(s)

Fabiano Dalpiaz Fabiano Dalpiaz is an assistant professor in the Department of Information and Computing Sciences, Utrecht University, the Netherlands. His main research interest lies in requirements engineering and socio-technical systems. He has published over 90 papers in international journals, conferences, and workshops. He has organized various international workshops and serves on the program committee of international conferences such as RE, REFSQ, AAMAS, CAiSE, ER, MODELS.
Fabiano Dalpiaz (contact)
Utrecht University,
The Netherlands
   

Sjaak Brinkkemper Sjaak Brinkkemper is full professor of Software Production at the Department of Information and Computing Sciences of Utrecht University, the Netherlands. He leads a group of about twenty-five researchers specialized in product software development and entrepreneurship. The main research themes of the group are methodology of software production, implementation and adoption, and techno-economic aspects of the software industry. Brinkkemper has published about 10 books and over 170 papers.
Sjaak Brinkkemper
Utrecht University,
The Netherlands
   


Tutorials Co-Chairs


Any inquiries regarding the Tutorials can be directed to the Tutorials Co-Chairs:

Gunter Mussbacher

Gunter Mussbacher

Tutorials Co-Chair

McGill University, Canada

Sarah C. Gregory

Sarah C. Gregory

Tutorials Co-Chair

Intel Corporation, USA