This practical course puts you in the role of a software engineer or project lead in a team that starts to practice Inverse Transparency principles. To evaluate this new form of data privacy, we aim to "stab the hornet's nest" by specifically forcing data misuse and profiling that would be forbidden in a normal development environment but might have the potential to improve software quality and developer performance. Our goal is to find out whether these data can actually help at all or whether their use for performance assessment even makes sense in the first place. We develop a framework that, if these data are helpful, would enable sensible data usage while preventing or disincentivizing misusages.
As a developer, you spend your semester developing advanced analysis software and generating usage data. We will use this time to improve your software development and teamwork skills. During development, you will reflect on and deliberate your design and implementation choices. You will have to decide which analyses are meaningful, which might not be sensible, and which should definitely not be used.
As a project lead, you will facilitate your team's work by leading them towards developing great software. Your development effort will be reduced, instead focusing on guiding the team and improving their output. For this, you will use skill management and performance assessment tools.
What is Inverse Transparency?
Employers have significant control over the data of their employees. To protect employees, the workers' councils often completely forbid usage of individual-related data by employers. This is not a perfect solution though. On the one hand, nobody can truly verify that managers adhere to this (more often than not, they probably don't). On the other hand, interesting data usages might be prevented, even if employees are in principle okay with it.
Inverse Transparency is a concept that we think can help overcome these hurdles. It is based on a simple principle: Data can be made accessible, but if they are, their access is made transparent and visible to the data owners. This can make misusage unattractive, as it becomes retraceable. Valuable and interesting data usages on the other hand are enabled in a transparent way.
The practicum aims to teach skills in multiple areas:
- Software engineering
- Implementing software of high quality
- Software peer reviews
- Pair programming
- Software documentation
- Deliberate software design
- Considering the consequences of implementation decisions
- Deliberation and reflection
- Software team management
- Guiding a team of software engineers
- Data-driven people management
- Soft skills
- Communication skills
- Plagiarism of any form (blatant copy-paste, summarizing someone else's ideas/results without reference etc.) will result in immediate expulsion from the course.
- All submissions are mandatory. Each submission must fulfill a certain level of quality. Submissions failing to fulfill this will be graded 5.0.
- Late submissions will invite penalties.
- Non-adherence to the submission guidelines will invite penalties.
- Participation and attendance in all course meetings is mandatory. Students must read the final submissions of their colleagues and participate in the discussions.