Divide & Impera – or: How to split requirements for a large product into digestible parts
Peter Hruschka, May 2017
In this paper we discuss strategies and techniques for splitting a big problem into smaller problems. This divide and conquer strategy is well known: You want to recursively break down a problem into several subproblems until they are simple enough to be solved. In agile IT-terms this means that you have to continue dividing until the parts are small enough to be implemented within a single iteration.
For such parts we have used many names in the past: we talked about modules, we have called such parts subsystems or components. Then we learned to decompose a system into use cases and with the advent of agile methods terms like themes, epics, features, and user stories became fashionable.
Splitting problems in the large
There are many strategies and tactics you can use to decompose a whole system into parts. Let’s have a more systematic view at criteria that can be applied to split a big problem into smaller chunks.