Phone: +49 (0)89 289 - 18213Technische Universität München
Institut für Informatik I1
85748 Garching bei München
I’m primarily concerned with continuous and empirical software engineering in highly complex problem domains.
Rationale: Even though it anticipates unknowns and change, typical agile development often doesn’t cut it for extremely complex and unpredictable problems.
In such projects it’s indispensable to work with problems instead of requirements, make data-driven decisions and test hypotheses and results in production.
Teams therefore must integrate an empirical research process into their development workflow. This includes analyzing and breaking down problems, formulating hypotheses and testing them,
designing experiments and running them in production if necessary, evaluating results and making decisions.
This requires a perfect handle on continuous software engineering plus advanced workflows, techniques, architectural patterns, infrastructure, etc.
Even though lots of building blocks and trends exist, compared to Scrum & Co. there’s a lack of formalized and proven methodologies for teams for learn and tailor.
Primary fields of research:
- Hypothesis-driven development
- Opportunistic release management
- Continuous experimentation
- Continuous software evolution
- Evolutionary architectures
Underlying techniques and topics:
- Agile and lean development
- Continuous software engineering
- Continuous delivery
- Release management
Available for in-person meetings on Thursdays. Please contact me via email in advance.
Using an evolutionary architecture and hypothesis-driven development, we will gradually build up a system that analyzes and generates textual content, e.g. using machine learning.
Prerequisites: Strong software engineering background and basic familiarity with continuous delivery, distributed systems, and machine learning (esp. natural language processing).