Kontakt
stefan.bente[at]th-koeln.de
+49 2261 8196 6367
Discord Server
Prof. Bente Personal Zoom
Adresse
Steinmüllerallee 4
51643 Gummersbach
Gebäude LC4
Raum 1708 (Wegbeschreibung)
Sprechstunde nach Vereinbarung
Terminanfrage: calendly.com Wenn Sie dieses Tool nicht nutzen wollen, schicken Sie eine Mail und ich weise Ihnen einen Termin zu.

Training Units for Requirements Engineering

Requirements Engineering can be seen as a collection of methods, tools, and good practices, which follow a certain canonical sequence. This page presents a pragmatic process model, and training units for its steps. You can use this model as a guideline for your own RE projects, and adapt it where useful.

Process Model

There is no universally agreed process model for Requirements Engineering (i.e. a framework that proposes a sequence of steps). Therefore, I have proposed the following “pragmatic” model, based on literature research and own practical experience.

Feel free to adapt and customize this model in own projects. It also serves as base for the method training units that we will go through in the RE course. These blocks are explained below.

Process Model

Literature

Abbreviation Full reference
Broadbent (2004) Broadbent, Ellen. The New CIO Leader: Setting the Agenda and Delivering Result. Harvard Business Review Press
Calabria (2004) Calabria, Tina. An introduction to personas and how to create them. Step Two Design http://www.steptwo.com.au/downloads/kmc_personas.pdf
Cockburn (2000) Cockburn, Alistair. Writing Effective Use Cases. Addison Wesley, Boston (ISBN 9780201702255)
Cohn (2004) Cohn, Mike. User Stories Applied: For Agile Software Development. Addison-Wesley Professional
Cooper (1999) Cooper, Alan. The Inmates are Running the Asylum: Why High-tech Products Drive Us Crazy and How to Restore the Sanity. 261 Sams Indianapolis, Ind. (ISBN 9780672316494)
Ebert (2014) Ebert, Christof. Systematisches Requirements Engineering: Anforderungen ermitteln, dokumentieren, analysieren und verwalten. dpunkt.verlag GmbH Heidelberg (ISBN 9783864901393)
Evans (2003) Evans, Eric. Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley Professional, Boston (ISBN 978-0-321-12521-7)
Evans (2015) Evans, Eric. Domain-Driven Design Reference - Definitions and Pattern Summaries. Self-published (under Creative Commons licence), (http://domainlanguage.com/wp-content/uploads/2016/05/DDD_Reference_2015-03.pdf)[http://domainlanguage.com/wp-content/uploads/2016/05/DDD_Reference_2015-03.pdf]
Gürtler & Meyer (2013) Gürtler, Jochen & Meyer, Johannes. 30 Minuten Design Thinking. GABAL Offenbach
Leffingwell (2003) Leffingwell, Dean & Widrig, Don & Yourdon, Ed. Managing Software Requirements: A Use Case Approach. Addison Wesley, Boston (ISBN 9780321122476)
Leffingwell (2010) Leffingwell, Dean. Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise. Addison Wesley, Upper Saddle River, NJ (ISBN 9780321635846)
Meuser & Nagel (2002) Meuser, Michael & Nagel, Ulrike. ExpertInneninterviews - Vielfach erprobt, wenig bedacht. In: A. Bogner, B. Littig, & W. Menz (Eds.), Das Experteninterview: Theorie, Methode, Anwendung, p. 71–93. VS Verlag für Sozialwissenschaften. (https://doi.org/10.1007/978-3-322-93270-9_3)[https://doi.org/10.1007/978-3-322-93270-9_3]
Pohl (2008) Pohl, Klaus. Requirements Engineering: Grundlagen, Prinzipien,Techniken. dpunkt.Verlag Heidelberg, 2., korrigierte Auflage (ISBN 9783898645508).
Pohl & Rupp (2011) Pohl, Klaus & Rupp, Chris. Basiswissen Requirements Engineering: Aus- und Weiterbildung nach IREB-Standard zum Certified Professional for Requirements Engineering Foundation Level. dpunkt.verlag, 3., korrigierte Auflage (ISBN 9783898647717)
Rupp (2014) Rupp, Chris & SOPHISTen, die. Requirements-Engineering und -Management: Aus der Praxis von klassisch bis agil. Carl Hanser Verlag, München, 6., aktualisierte und erweiterte Auflage (ISBN 9783446438934)
Schienmann (2001) Schienmann, Bruno. Kontinuierliches Anforderungsmanagement . Prozesse - Techniken - Werkzeuge. Addison-Wesley, Boston (ISBN 9783827317872)

In addition, there is an “extended cheat sheet” for this course, containing a summary of the most important methods used in each phase. The original has been written a while ago in German. There is an English translation available, translated by AI and not yet post-edited - so please be prepared for some poor automated translation.

Method Trainings

The following sections list five blocks of method trainings.

  • These trainings will be created by the students in the course.
  • Each subteam will take over one block.
  • Content and rough structure is provided as part of the course material (see below).
    • Same goes for some literature to start from.
  • The trainings should focus practical exercises rather than theory. This means:
    • Make sure that the relation between “powerpoint presentation” and “the group works an exercise” is at least 1/3 - 2/3
    • better: 1/4 - 3/4
  • Provide a short cheat sheet for you course mates when preparing the training.
    • Here is the template that you can use.
    • Hard rules: Max. 2 Pages! No change of font size (11 pt) or line height!

Block 1: Context

1) Analysis of stakeholders, system context, and goals

Training: Sponsor & stakeholders
  • Motivation: What do I need this for?
  • Term Definition
  • Guiding questions to find stakeholders
  • Stakeholders vs. stakeholder roles
  • Techniques for prioritizing / classifying stakeholders
  • Necessary data to capture & document
Training: System context
  • Motivation: What do I need this for?
  • Term Definition
  • Difference context / system boundary
  • System context elements, and how to find them
Training: Interview techniques
  • Motivation: What do I need this for?
  • Good practices for preparing and conducting an interview
  • Structuring a questionnaire
  • Documenting and evaluating the results
Training: Goals
  • Motivation: What do I need this for?
  • Term Definition
  • Rules for goal wording
  • Methods for structuring goals (e.g. fishbone diagram)

Block 2: Continuous Activities

2a) Glossary & Domain Model

Training: Glossary
  • Motivation: role of ubiquitous language according to Evans
  • Method "noun analysis"
  • Governance for maintaining a glossary
Training: Domain Model
  • Motivation: benefits of a domain model
  • Domain Model as simple UML Class Diagram
  • Use of Multiplicities
Training: Entity Status Model
  • Motivation: States of a domain object
  • When to use state model?
  • Modelling states as UML State Diagram

2b) Quality Assurance

Training: Quality assurance methods
  • Motivation: What do I need this for?
  • Quality criteria for requirements
  • Principles of quality assurance
  • Continuous quality assurance (e.g. definition of done)
  • Review methods

Block 3: Informal Requirements

3) Informal Requirements

Training: Requirements capturing methods
  • Motivation: What do I need this for?
  • Four types of requirements capturing methods
  • What to use when?
  • Creativity techniques as workshops
Training: Surveys
  • Motivation: When to use surveys?
  • Empirical aspects
  • Questionnaire design
  • Tools
Training: Personas
  • Motivation: What are personas good for?
  • Persona templates - when to use what
  • Do's and Don'ts
  • Techniques for developing personas
Training: Scenarios
  • Motivation: benefits of scenarios
  • Classification: scenario types - when to use what?
  • Examples for scenario types

Block 4: Formal Requirements

4a) Functional Requirements

Training: Functional Requirements
  • Motivation: What is the benefit of such a 1-sentence form?
  • Difference between goals and functional requirements
  • Potential problems (fuzziness) in functional requirements - how to detect & how to fix them
  • Sentence templates

4b) Non-Functional Requirements

Training: Non-Functional Requirements
  • Motivation: difference between functional and non-functional
  • Classification of non-functional requirements
  • How to obtain non-functional requirements
  • Examples

4c) Priorization & Conflicts

Training: Priorization & Conflict Resolution
  • Motivation: What do we need priorization for?
  • Overview on priorization methods
  • Classification according to effort / what to use when
  • 2-phase priorization
  • Conflicts during priorization
  • Conflict classification and resolution approaches
Training: Kano factors
  • Motivation: Kano as a priorization method
  • Term definitions
  • What requirements collection methods (see 3) work well for what Kano type?
  • Check matrix for determining Kano type

You can use the following Excel templates in your training:

Block 5: Detailed Requirements

5a) Use Cases

Training: Use cases
  • Motivation: benefits of use cases
  • Use case diagrams
  • Coffee break / user happiness test
  • Rules and templates for use case scenarios
  • Derivation of use cases from functional requirements, scenarios, and personas
Training: Activity diagrams as addition / alternative to UC scenarios
  • Motivation: when does it make sense to use a diagram?
  • UML Activity Diagram elements
  • Transformation of textual scenario into activity diagram
  • Swimlane types

5b) Agile backlog

Training: Themes, Epics, User Stories
  • Motivation: why Agile?
  • Principles for an agile backlog
  • Term definition: theme, epic, user story
  • User story template
Training: Agile estimation & user story decomposition
  • Motivation: Why should a user story be small?
  • Agile estimation techniques
  • How large is too large?
  • 10 ways of user story decomposition