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.

Requirements Engineering (RE), SS22

Requirements Engineering is the starting activitiy in the software lifecycle. Goal of RE is to create a precise, natural-language-based specification for a software system, plus the maintenance of such a specification. A requirements document is supposed to bridge the “natural gap” between business side (purchaser) and IT side (contractor). Such a documents needs to be easily understandable by both sides, yet precise enough to serve as a base for coding software. RE is a sequel to “Anforderungsmanagement” (AM) in Master Computer Science (Software Engineering) study program, which is the predecessor of the Master of Digital Sciences. Both RE and AM will be taught jointly, until the Master Computer Science will expire.

Study Program and Module Description
Master Digital Sciences (specialization Software Architecture) (see also module description in the study program web site)
Begin/End and Scheduling
01.04.2022 - 08.07.2022. Organized as ca. 8 full-day workshops (Fridays 10:00 - 17:00), specific dates and agenda see below.
Location
Room 1: 0502 (Building LC6, opposite main entrance of Schwalbe Arena), see also detailed directions
Room 2: 1708 (Building LC4 (library building). Room 1708 is our lab office space, with enough room for small workshops. However, the room is only accessible with by transponder. Thereore, please be at the door left of the library entrance (where you see the label "Kriminalkommissariat", since the Gummersbach police criminal investigation unit is our office neighbour :-). I will fetch you there. Call me (+49 176 8072 2689) or a fellow student by mobile phone in case you should run late), see also detailed directions
Room 3: Innovation Hub (Building LC7, the building to the right of the passage to Gummersbach station. The Innovation Hub is not not open to the public. However, the main entrance door is open during office hours. Come up to the second floor and ring the bell there. Please call me (+49 176 8072 2689) or a fellow student by cell phone if no one answers), see also detailed directions
Video conference link: https://th-koeln.zoom.us/j/82586381519?pwd=dVNXb0txeWgvR2tuWEM2UXRKUDdYUT09 (only in exceptional cases and if explicitly communicated in advance for the day)
ILIAS/ILU Course for the Module
https://ilias.th-koeln.de/ilias.php?ref_id=987028&cmdClass=ilrepositorygui&cmdNode=wc&baseClass=ilrepositorygui
Registration for the Module
Please send me a message (email or Discord) if you would like to participate. Deadline is 01.04.2022. Please remember that you must additionally register for the exam via PSSO. The registration deadlines for this can be found on the F10 information pages of the TH Köln.
Discord Server for fast Communication
Discord has been proven as a very effective platform for information sharing, discussions, and consultations. Therefore, please join the ArchiLab Discord Server at https://discord.gg/YYNYb5whU8. Navigate to channel #rollenzuweisung and click on am. Then you automatically get access to the channel(s) relevant for this module.

Learning Outcome

In this module, you learn how to analyse stakeholders, constraints, and goals for a planned IT system. You obtain requirements for an IT system using observations, conversations, and documents; all of which will be based on natural-language, and may contain implicit, potentially incomplete, and contradictory information, structure and formalize these information as requirements in a complete und consistent way. You need to prioritize these requirements for software design and implementation, and document the requirements as a specification for a waterfall or agile project.

As a requirements engineer or a business analyst on Master level I can collect and formalize requirements for a software system,

by me ...

  • knowing, selecting, and applying the appropriate method(s) für requirements engineering, analysis, documentation, testing, and management,
  • consciously deciding which method(s) are applicable in a given context with its stakeholder and boundary conditions,,
  • acting as a multiplicator with regard to requirements engineering methods, and instructing colleagues and teams on their usage,,
  • moderating the requirements engineering process with customers and development teams,,
  • documenting the results as a specification,,
  • and keeping my stakeholders informed by concise presentations,,

so that I can instruct a (potentially external) development team in implementing the software system according to the requirements specification.

Module Structure

The module consists of two parts, which are executed in parallel.

  1. In the method training part, you learn to decide when to use which requirements engineering method in which context. You also reflect on how to recombine and adapt methods for specific situations.
  2. Parallel to the method training, you conduct a case study, where you (in a small sub-team) create a requirements document for a given software system.

Method Trainings

The method trainings follow a process model explained on a dedicated page. Each subteam needs to pick a training block, and prepare the training. I will support you doing so.

Case Study

In this course, each team will pick its own idea for a case study. So, your task in your subteam is: Think about an idea for a startup.

You will face the following situation in this course: You, together with a couple of collegues, play the National Lottery together. You never gave that much thought, but now you have actually won a staggering multi-million jackpot! After having bought houses and expensive cars, you jointly decide to invest the remaining 1 Million Euro into a startup that you will found together in your subteam (the teams A … E from 1) above).

You will discuss the ideas for that startup in your subteam, finally agree on one per subteam, and collect some ideas for it. This idea will be turned into a requirements document during this course.

Tool for documenting requirements

We will use Jamstack-based webtool for documenting the various artefacts belonging to a requirement specification.

  • The artefacts will be described in Markdown, with a YAML front matter containing metadata.
  • This is compiled into a website based on static HTML.

Each subteam will be provided with a repository containing the tool, as an empty framework (without content). An example (unfortunately in German) can be found here:

Number of Requirement Artefacts to be Written

When working on the requirements specification for your case study, you (as a subteam) should prepare the following number of artefacts. The numbers are supposed to reflect realistic numbers (within limits). The numbers are my (rough) estimates based on experience. We assume that the software to be written fits in size to a startup (so in the ballpark of 1-2 person years).

Artefact type Min. number per subteam A realistic number would be … How do to compile these artefacts? Available in RE Tool
Stakeholder 4
(each of the customer team should appear in a specific role)
more than that, as many aspects aren’t covered here (e.g. funding) talk to sponsors yes
Stakeholder Role 4 probably more than that (see stakeholders) define role(s) for your stakeholders, then analyse the other data (interview, workshops, survey) yes
System Context Element 8 10-30 Just analyse all data sources (add if something comes up later) yes
Goal 8 not more than 15-20 (“less is more”, as goals should be concise) primary sources are the project description and the sponsor interview, maybe also workshop yes
Interview 1 depends very much what kind of information collection works best; >1 … 10 conduct & evaluate interviews yes
Glossary 16 10 - 30 whenever a business term comes up, define & add it (continuous activity) Mon 9.5.
Domain Model 1 1 base it on your glossary (most important terms defining your domain appearing here) Mon 9.5.
Workshop 1 0 - 10, really depends on the product, and the design approach plan & conduct as per training Mon 16.5.
Survey 1 0 - 1, depends where this makes sense; might be useful e.g. in case of an internal tool, or for a specific user group plan & as per training Mon 16.5.
Scenario 8 20 or more base on the information you have, esp. workshop and interviews Fri 20.5.
Persona 8 10 rule of thumb: create two personas per stakeholder role, based on your information collection Fri 20.5.
Functional Requirement 24 50 - 75 take the essence from your scenarios and the overall information collection, align with goals Fr 03.06.
Nonfunctional Requirement 4 10 - 20 don’t invent stuff - filter what was actually said in your sources Fr 03.06.
Priorisation 1 1 apply to functional requirements Fr 10.06.
Use Case 8 30 - 50 base them on the scenarions and the functional requirements Fr 01.07.
Use Case Diagram 2 ca. 10 cluster the use cases appropriately Fr 01.07.
User Story 16 ca. 100 (assumption 4 developers team, 1 year time) assumption: this the first product backlog, so make UC small, and prioritize! Fr 01.07.
Formal Review 16
(1 per artefact type)
2 - 5, depending on the design approach and the organizational culture; usually, requirements are compiled into one document each customer team makes a formal review of the artefacts (see list above) Fr 01.07.

Note: The numbers above assume a subteam size of 4. We have now subteams who have lost members. In that case, the numbers should be scaled down accordingly. Example: If your team is down to 2 members (from 4), you need to provide only 4 use cases, not 8.

Submission Date

We have agreed in the course that the submission date for the overall specification (in the RE Tool) is 31.07.2022 14.08.2022 (eod). Due to my sick leave, there is a delay in the RE Tool finalization. Therefore, the submission date has been extended by two weeks.

Grading

The grade for this module will is composed in the following way:

  • 25%: Method training
  • 55%: Contribution to case study / requirements document
  • 20%: Expert talk at the end of the module, about the module content and the case study

Expert Talks

The expert talk will be scheduled on Mon 25.07.2022. Expert talk is 10-15 min, each student for her/hisself. You can safely assume that I will ask …

  • at least one question about the area you yourself provided a training in,
  • at least one in-depth question about one artifact you have written in your case study, maybe followed up by
    questions about other areas of your case study (not necessarily written by yourself),
  • at least one question about other RE artifacts and methods (something you should have picked up upon by participating in the trainings)

You should know all artifacts in your subteam’s case study well, but you don’t need to know to the other case studies. There is no need to learn things by heart, you can look them up during the expert talk. There is limited time, though, so you better keep your material organized.

The expert talks will happen remotely (Zoom).

Workshops

Fri 01.04.2022, 10:00 - 14:00: RE kickoff

In this workshop, I will provide you with a motivation for RE. We will sort out all organisational details in order to get the module going. You can read about the content in this slideset.

Workshop Location

Video conference link: https://th-koeln.zoom.us/j/82586381519?pwd=dVNXb0txeWgvR2tuWEM2UXRKUDdYUT09 .

Goal of the day

You are ready to start.

Agenda

  • 10:00 - 10:30:  Motivation - why Requirements Engineering?
  • 10:30 - 11:30:  Organizational details, subteam setup, responsibility for trainings
  • 11:30 - 12:30:  Defining startup concept
  • 12:30 - 13:30:  Lunch break
  • 13:30 - 14:00:  Todos & next steps

Fri 08.04.2022, 10:00 - 17:00: Context (block 1)

Trainings and todo definition for block 1 (Stakeholders, System Context, Goals). You can read about the content in this slideset.

Workshop Location

Video conference link: https://th-koeln.zoom.us/j/82586381519?pwd=dVNXb0txeWgvR2tuWEM2UXRKUDdYUT09 .

Goal of the day

You know how to analyze the context of a planned software system, and the todos for your team in the RE case study have been clarified.

Agenda

  • 10:00 - 10:30:  Introduction - Terminology
    • Introduction to terminology of the early phase in large software systems
  • 10:30 - 11:00:  Write a brief summary of your startup's business idea
  • 11:00 - 12:00:  Stakeholders
  • 12:00 - 13:00:  Lunch break
  • 13:00 - 14:00:  System Context
    • Definition system context
    • Group exercise, define system context for the startups
    • Breakout sessions, go as a team to Context Miroboard
  • 14:00 - 15:30:  Goals
    • Definition "goal"
    • 10 Rules for goals
    • Group exercise, ASSUME what goals the system could have, as a preparation for the sponsor interview
    • Breakout sessions, go as a team to Context Miroboard
  • 15:30 - 17:00:  Interviews
    • How to conduct an interview (with sponsor or stakeholders)
    • Purpose, preparation, do's and don'ts
    • Group exercise, prepare interview questionnaire for sponsor interview
    • Breakout sessions, go as a team to Context Miroboard

Task until next workshop

Post-process and document today's results

  • Finalize the interview questionnaire
  • Make an appointment with your startup founders, send questionnaire beforehand
  • Conduct and record the interview
  • Document the system context elements
  • Make a list of relevant stakeholders
  • Document your stakeholder roles, and assign stakeholders to them
  • Collect and complete the relevant goals, as far as they are known
  • Plan, conduct, and document your stakeholder interview
  • Revise the goals you assumed, with reference to the interview

Fri 29.04.2022, 10:00 - 17:00: Continuous activity (block 2)

The training for Block 2 deals with continuous activities, like glossary, domain model, status model, and quality assurance.

Workshop Location

Room: 0502 (Building LC6, opposite main entrance of Schwalbe Arena), see also detailed directions.

Goal of the day

You know which artefacts you need to collect throughout the RE process (as an ongoing activity), and which methods and tools to use.

Agenda

  • 10:00 - 10:30:  Organizational details
    • Some introductory details to be clarified (Prof. Bente)
  • 10:30 - 12:00:  Text analysis and glossary compilation
    • Presentation
    • Application to own case study, in subteams on Miro board
  • 12:00 - 13:00:  Lunchbreak
  • 13:00 - 14:30:  Domain model as UML class diagram
    • Presentation
    • Application to own case study in subteams on Miro board
  • 14:30 - 15:15:  State Diagram
  • 15:15 - 16:15:  Quality Assurance
    • Presentation
    • Application to own case study in subteams on Miro board

Task until next workshop

Apply today's results to own case study. Document the artefacts in your own RE Tool.

  • Enter the glossary in the RE Tool
  • Finish the domain model, based on your glossary, and document it in the RE Tool

Fri 06.05.2022, 10:00 - 17:00: Workshops & Surveys as a tool for Requirement Capturing (block 3, part 1)

Informal requirements (block 3) comprise artefacts like scenarios and personas, which are not very highly formalized, and techniques to collect data for them. In this workshop, we start looking at workshops and surveys as a way of gathering information.

Workshop Location

Room: 1708 (Building LC4 (library building). Room 1708 is our lab office space, with enough room for small workshops. However, the room is only accessible with by transponder. Thereore, please be at the door left of the library entrance (where you see the label "Kriminalkommissariat", since the Gummersbach police criminal investigation unit is our office neighbour :-). I will fetch you there. Call me (+49 176 8072 2689) or a fellow student by mobile phone in case you should run late), see also detailed directions.

Goal of the day

You can plan for your workshop(s) and survey(s), as you have an overview on the different types and their respective benefits.

Agenda

  • 10:00 - 10:30:  Artefact list for the case study
    • In this table the artefacts to be created for the case study have been defined.
    • We will go through this list, and discuss it.
    • You can define these artefacts in your training during the workshops, and complete them afterwards.
  • 10:30 - 12:30:  Requirements capturing methods
    • Brainstorming
    • Brainstorming Paradox
    • Mind Mapping
    • 6-3-5 Method
    • Walt-Disney Method
    • Six Thinking Hats
    • Subteam exercise - which workshop technique is best suited to be conducted with your customer?
  • 12:30 - 13:30:  Lunch Break
  • 13:30 - 16:00:  Surveys
    • Introduction to surveys
    • Subteam exercise - define a target group, and design a survey for them to fill information gaps about your customer's product

Fri 20.05.2022, 10:00 - 17:00: Personas and Scenarios as Informal Requirements (block 3, part 2)

Personas are a suitable tool to characterize important stakeholder roles (groups) in in your case study. Scenarios are like short "stories" describing important activities. Both are informal (and therefore light-weight) ways of describing a software system's functionality.

Workshop Location

Video conference link: https://th-koeln.zoom.us/j/82586381519?pwd=dVNXb0txeWgvR2tuWEM2UXRKUDdYUT09 .

Goal of the day

You know suitable formats for personas, available types of scenarios, and how to write them based on input from interviews, workshops, and surveys.

Agenda

  • 10:00 - 11:00:  Current state of RE Tool usage
    • It seems that only team A has (to an extent) so far really added content
    • In this block, I will walk you through how to fill the tool with your content
    • I will record the session, so you can watch it later again. This is the link (Passcode DO*X5#Ft).
  • 11:00 - 11:30:  Experiences and current status wrt. workshops and surveys
    • We will walk through each team and compare experiences, difficulties, and the current status
  • 11:30 - 14:30:  Personas
    • Introduction to personas
    • Training
    • Wrap-up
    • in between - 1h lunch break
  • 14:30 - 16:30:  Scenarios
    • Introduction to scenarios
    • Training
    • Wrap-up
    • in between - 1h lunch break

Fri 03.06.2022, 10:00 - 17:00: Functional & Non-Functional (Formal requirements, block 4, part 1)

After the early, "informal" phase of the requirements collection and documentation, requirements need to be formalized and prioritized. Functional and non-functional requirements are basically 1-sentence descriptions of system features or properties. They are an excellent base for later priorization and project planning.

Workshop Location

Video conference link: https://th-koeln.zoom.us/j/82586381519?pwd=dVNXb0txeWgvR2tuWEM2UXRKUDdYUT09 .

Goal of the day

You know how to "condense" your informal requirements into the standard templates for functional requirements. In addition, you know which types of non-functional requirements exist, and how to elicit them.

Agenda

  • 10:00 - 11:00: Exercise: Improve one of your requirement artefacts, based on comments and good examples
    • In this exercise, you select one of your own requirement artefacts - be it a stakeholder role, a goal, a persona, or anything else. You can have a look at good examples from other teams.
    • Some do's and don'ts as takeaway from my "midterm review" of the RE collections
    • We walk through each team to check the state of affairs
  • 11:00 - 11:20:  Functional Requirements & Elicitation of Requirements
    • Training presentation
  • 11:20 - 11:50:  Gather Functional Requirements for your Project
    • We split into subteams in breakout rooms, and apply the methods to our case studies
  • 11:50 - 12:10:  Documentation of Requirements & Ambiguity
    • Training presentation
  • 12:10 - 12:30:  Sentence Template
    • Training presentation
  • 12:30 - 13:30:  Lunch Break
  • 13:30 - 15:00:  Transfer your Requirements to the Sentence Template
    • Exercise in subteams / breakout rooms
  • 15:00 - 15:30:  Non-Functional Requirements, Obtaining & Documentation
    • Training presentation
  • 15:30 - 16:30:  Gather Non-Functional Requirements for your Project
    • We split into subteams in breakout rooms, and apply the methods to our case studies
  • 16:30 - 16:45:  Summary, Wrap-Up, Next steps

Fri 10.06.2022, 10:00 - 17:00: Requirements Priorization (block 4, part 2)

Completing requirement lists, and prioritizing them

Workshop Location

Room: .

Goal of the day

You know the methods to prioritize the functional requirements for your software system, and have applied them to the FRs you specified.

Agenda

  • 10:00 - 10:15:  Warm-Up
  • 10:15 - 10:45:  Intro to Conflicts
  • 10:45 - 11:00:  Exercise - Conflicts Role Play
  • 11:00 - 11:30:  Conflict classification, resolution & documentation
  • 11:30 - 12:00:  Intro to Prioritization & Prioritization techniques
  • 12:00 - 13:00:  Lunch Break
  • 13:00 - 13:15:  Subteam exercise - Prefiltering requirements (Top 8)
  • 13:15 - 13:45:  Intro to Kano Factors
  • 13:45 - 14:45:  Subteam exercise - Kano Factors
    • Determining Kano Factors
    • Prioritizing with Kano Factors
  • 14:45 - 15:00:  Intro to CAF + PMI
  • 15:00 - 16:00:  Subteam exercise - Prioritizing with CAF + PMI

Fri 08.07.2022, 10:00 - 17:00: Use Cases and Agile Backlog - detailed requirements (block 5)

Creating the artifacts that you give to the implementation teams - use cases or, of you plan an agile project, the agile backlog with user stories.

Workshop Location

Video conference link: https://th-koeln.zoom.us/j/82586381519?pwd=dVNXb0txeWgvR2tuWEM2UXRKUDdYUT09 .

Goal of the day

You know the concepts "use case" and "user story", and can apply them to a given system specification.

Agenda

  • 10:00 - 10:30:  Organisational issues
    • Finalization of RE case study - until when? Proposal - mid of August
    • Oral exams also at that date
    • Roadmap for RE Tool
    • Intermediate review of RE artifacts
  • 10:30 - 12:15:  Use Cases
    • Motivation & Use case benefits
    • Use case derivation from functional requirements & testing (coffee break and happiness test)
    • Use case diagrams
    • Case study exercise
    • Use case templates
    • Case study exercise
  • 12:15 - 13:15:  Lunch break
  • 13:15 - 14:45:  Agile Backlog
  • 14:45 - 16:15:  Estimation & User Story Decomposition
    • Agile Estimation & Techniques
    • Sizing of a user story
    • User story decomposition
    • Exercise in case study