Requirements Engineering (RE), SS23
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. NOTE: The dates and times of the workshops are work in progress - they are subject to change. Only the date of the first workshop on 31.03. is fixed. All other dates will be announced latest in the first workshop. All workshops will be held on Fridays, 10:00 - 17:00.
- Study Program and Module Description
-
Master Digital Sciences (specialization Software Architecture)
(see also module description in the study program web page)
- Begin/End and Scheduling
-
31.03.2023 - 14.07.2023. Organized as ca. 8 full-day workshops (Fridays 10:00 - 17:00), specific dates and agenda see below.
- Location
-
-
Room:
0502 (Building LC6, opposite main entrance of Schwalbe Arena), see also
detailed directions
-
Video conference link:
https://th-koeln.zoom.us/j/69164118930?pwd=M0hPb0tNaDcrNUZXR2tobkE5V0MvUT09
(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 07.04.2023.
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.
- Miro Board used for documenting your requirements engineering process, open questions, sketches, ideas, etc.
-
During the module, you can
use this Miro Board.
- 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.
Content
- Learning Outcome
- Module Structure
- Method Trainings
- Case Study
- Grading
- Workshops
- Fri 31.03.2023, 10:00 - 15:00: RE kickoff
- Fri 21.04.2023, 10:00 - 17:00: Context (block 1)
- Fri 28.04.2023, 10:00 - 17:00: Continuous activity (block 2)
- Fri 12.05.2023, 10:00 - 17:00: Workshops & Surveys as a tool for Requirement Capturing (block 3, part 1)
- Fri 26.05.2023, 10:00 - 17:00: Personas and Scenarios as Informal Requirements (block 3, part 2)
- Fri 09.06.2023, 10:00 - 17:00: Functional & Non-Functional (Formal requirements, block 4, part 1)
- Fri 16.06.2023, 10:00 - 17:00: Requirements Priorization (block 4, part 2)
- Fri 07.07.2023, 10:00 - 17:00: Use Cases and Agile Backlog - detailed requirements (block 5)
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.
- 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.
- 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, you will work in subteams of 3-4 students. Each subteam will be assigned a real (TH Köln)
startup - this is your customer. You will work on a requirements document for this startup. You
can give preference which startup you want to work with. The startups have created pitch videos, which
you can find https://th-koeln.sciebo.de/s/e4j0VYQZMYc0DIj. The folder is password protected,
and you will receive the password in class.
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 |
07.06. |
Stakeholder Role |
4 |
probably more than that (see stakeholders) |
define role(s) for your stakeholders, then analyse the other data (interview, workshops, survey) |
07.06. |
System Context Element |
8 |
10-30 |
Just analyse all data sources (add if something comes up later) |
07.06. |
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 |
07.06. |
Interview |
1 |
depends very much what kind of information collection works best; >1 … 10 |
conduct & evaluate interviews |
07.06. |
Glossary |
16 |
10 - 30 |
whenever a business term comes up, define & add it (continuous activity) |
07.06. |
Domain Model |
1 |
1 |
base it on your glossary (most important terms defining your domain appearing here) |
01.07. |
Workshop |
1 |
0 - 10, really depends on the product, and the design approach |
plan & conduct as per training |
01.07. |
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 |
01.07. |
Scenario |
8 |
20 or more |
base on the information you have, esp. workshop and interviews |
01.07. |
Persona |
8 |
10 |
rule of thumb: create two personas per stakeholder role, based on your information collection |
01.07. |
Functional Requirement |
24 |
50 - 75 |
take the essence from your scenarios and the overall information collection, align with goals |
05.07. |
Nonfunctional Requirement |
4 |
10 - 20 |
don’t invent stuff - filter what was actually said in your sources |
05.07. |
Priorisation |
1 |
1 |
apply to functional requirements |
05.07. |
Use Case |
8 |
30 - 50 |
base them on the scenarions and the functional requirements |
19.07. |
Use Case Diagram |
2 |
ca. 10 |
cluster the use cases appropriately |
19.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! |
19.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) |
26.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
(to be decided)
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 Thu 27.07.23 (alternative for availability issues, sickness etc. 25.08.23).
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.
I will assess the grading by points (0…3) for each question. The points will be averaged, then included to the
weighted point average from the other parts of the grade.
0 Points |
1 Points |
2 Points |
3 Points |
Question cannot be answered at all, or answer doesn’t address the question, or is fully “off track”. |
Answer is only partially correct, and/or leaves out major aspects, and/or misses the point in relevant aspects. |
Answer is mostly correct, comprehensive, and precise, with tolerable weaknesses. |
Answer is fully correct, comprehensive and precise, and covers all relevant aspects. |
The expert talks will happen remotely (Zoom). The schedule has been sent out via email. Unfortunately, my colleague
who used to be participate as an observer is currently on vacation, so I will have to do the talks alone. I will
ask you to consent to a video recording, in case either you or me will have to double-check something later on.
The video recording will be deleted after the grading is finalized.
Workshops
Fri 31.03.2023, 10:00 - 15: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
Room:
0502 (Building LC6, opposite main entrance of Schwalbe Arena), see also
detailed directions.
In addition, there is a video conference.
Video conference link:
https://th-koeln.zoom.us/j/69164118930?pwd=M0hPb0tNaDcrNUZXR2tobkE5V0MvUT09
Goal of the day
You are ready to start.
Video recording
A video recording is available
here.
(Password: 1fLv^m+&).
Agenda
-
10:00 - 10:30:
Motivation - why Requirements Engineering?
-
10:30 - 11:30:
Structure and organization of this module
-
11:30 - 12:30:
Subteam setup
- Formation of subteams (please join groups Team A ... Team E in ILIAS folder)
- Decide which training block your team wants to take over
- Watch the startup videos and decide on your team's choices
- Enter choices in this excel sheet (please use ONLY web editing, then it will allow collobrative editing)
-
12:30 - 13:30:
Lunch break
-
13:30 - 14:30:
Getting to know your customer
- Discuss with your team the business idea of "your" startup
- Sketch stakeholders and users, and their needs
- Collect questions and open issues, for your customer interview
- Collect this on the RE Miro Board (see top of this page)
-
14:30 - 15:00:
Todos & next steps
Fri 21.04.2023, 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/69164118930?pwd=M0hPb0tNaDcrNUZXR2tobkE5V0MvUT09
.
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:
Introduction - Training 1 (Context)
- Agenda for the training
- Small case study as exercise
-
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 example
- Breakout sessions, go as a team to Context Miroboard
-
14:00 - 15:30:
Goals
- Definition "goal"
- 10 Rules for goals
- Group exercise, find out what goals the example 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.
- Create the interview questionnaire for your "own startup" (for which you do the requirements specification)
- 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 28.04.2023, 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.
Video recording
Agenda
-
10:00 - 10:30:
Organizational issues
-
10:30 - 12:00:
Text analysis and glossary compilation
-
12:00 - 13:00:
Lunchbreak
-
13:00 - 14:15:
Domain model as UML class diagram
-
14:15 - 15:45:
Quality Assurance
-
15:45 - 16:15:
Introduction to RE Tool usage
- We use the RE Tool developed in ArchiLab for writing the case study requirement specs
- I give a little introduction how to use this tool
- The video recording for that intro is here (password i2i?9TMK).
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, based on your interactions with your startup
- Create the domain model, based on your glossary, and document it in the RE Tool
Fri 12.05.2023, 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:
0502 (Building LC6, opposite main entrance of Schwalbe Arena), 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:
Case study status
- In this table the artefacts to be created for the case study have been defined.
- This [#xxx;status table] contains the current state of the case studies.
- We will walk through the teams to look at the status.
-
10:30 - 12:30:
Requirements capturing methods
- Quick overview
- Brainstorming (Paradox)
- 6-3-5 Brain writing
- Mind Mapping
- Walt Disney Method
- Shadowing
- Six Thinking Hats
- Workshop to apply one of the creativity methods to an example
-
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 26.05.2023, 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
Room:
0502 (Building LC6, opposite main entrance of Schwalbe Arena), see also
detailed directions.
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
- Milestones for case study deliveries
- Status of work on the case study
-
11:00 - 14:00:
Personas
- Introduction to personas
- Training
- Wrap-up
- in between - 1h lunch break
-
14:00 - 16:00:
Scenarios
- Introduction to scenarios
- Training
- Wrap-up
- in between - 1h lunch break
Task until next workshop
Apply today's results to own case study. Perform the related activities, and document the results / artefacts in your own RE Tool.
- Interview documented
- Mission / Vision on Start Screen
- Stakeholders
- Stakeholder Roles
- System Context Elements
- Goals
- Glossary
Fri 09.06.2023, 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
Room:
0502 (Building LC6, opposite main entrance of Schwalbe Arena), see also
detailed directions.
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 - 10:30:
Current state of Workshops and Surveys
- What is the status of your workshops and surveys?
- What participant groups do you target, what information do you want to get from them?
-
10:30 - 12:00:
Functional Requirements & Elicitation of Requirements
- Training presentation
- Exercise in subteams
-
12:00 - 13:00:
Lunch Break
-
13:00 - 14:00:
Fuzziness of Functional Requirements / FR and Goal
- Training presentation
- Exercise in subteams
-
14:15 - 15:45:
Non-Functional Requirements
- Training presentation
- Exercise in subteams
-
15:45 - 16:00:
Technical Issues with RE Tool - Q&A
- Whoever has problems with running the RE Tool locally, please bring your laptop to the workshop, and we will try to fix it.
Task until next workshop
Apply today's results to own case study. Perform the related activities, and document the results / artefacts in your own RE Tool.
- Functional Requirements
- Nonfunctional Requirements
Fri 16.06.2023, 10:00 - 17:00: Requirements Priorization (block 4, part 2)
Completing requirement lists, and prioritizing them
Workshop Location
Room:
0502 (Building LC6, opposite main entrance of Schwalbe Arena), see also
detailed directions.
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:30:
Case Study and Organizational Issues
- Status of case study work
- Planning for expert talks
-
10:30 - 11:30:
Prioritization
- Prioritization techniques
- Exercise - Choose suitable prioritization method
- Agile approach
-
11:30 - 11:45:
Conflicts and conflict resolutions
-
11:45 - 12:15:
Exercise - planning poker
-
12:15 - 13:15:
Lunch Break
-
13:15 - 14:45:
Kano Factors
- Kano Model
- Exercise - Kano diagrams
- Exercise - Kano check matrix
-
14:45 - 15:30:
CAF + PMI
- CAF + PMI
- Exercise - CAF+PMI
Task until next workshop
Apply today's results to own case study. Perform the related activities, and document the results / artefacts in your own RE Tool.
Fri 07.07.2023, 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
Room:
0502 (Building LC6, opposite main entrance of Schwalbe Arena), see also
detailed directions.
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
- Oral exams at 27.07.2023
- Finalization of RE case study until then
- Intermediate review of RE artifacts - ongoing
-
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
- Use case templates
- Activity diagrams
-
12:15 - 13:15:
Lunch break
-
13:15 - 14:45:
Agile Backlog
- Motivation & History
- Agile Backlog explained
-
14:45 - 16:00:
Estimation & User Story Decomposition
- User story decomposition
- Exercise in case study
- Agile Estimation & Techniques
- Sizing of a user story
Task until next workshop
Apply today's results to own case study. Perform the related activities, and document the results / artefacts in your own RE Tool.
- Use Cases
- Use Case Diagrams
- User Stories
- Formal Review