Session

[WORKSHOP] Designing software with volatility based decomposition Vol 2.0

Problem decomposition - often, requirements come as an explanation of how to get to some result. We will discuss how to approach them so that the team can break down more complex problems into combinable components/services. Topics to be covered include:
- Divide and conquer
- Volatility-based decomposition (based on frequency or potential for change of the component)
- Devil's advocate approach to challenging design decisions

# Goals
- Learn how to identify areas of volatility and how to design to contain them.
- Highlight how different perspectives affect the solution to the same problem and how to take advantage of it.
- Define a common framework for clearing out requirements and identify solutions hiding behind the label "requirement."

# Process
The group will be split into teams of 2-3 people who will work with a customer to extract requirements based on a loose definition of a project. Each unit is time-boxed to complete specific objectives and present them to the other teams, where the entire group will digest and challenge the different solutions.

# Prerequisites
- Whiteboards
- Flipcharts
- Pens and paper

# Preparation for the participants
No prerequisites for the participants.

Martin Chaov

Lead Software Architect @ DraftKings

Sofia, Bulgaria

View Speaker Profile