Pietro Passarelli

Approaching a complex problems


Some notes on my take on how to break down a complex problem, when working on early stage products

Some notes on my take on how to break down a complex problem, when working on early stage products

This approach initially come from an R&D (research and development) approach I was thought while at UCL, then have been tried, tested, and tweaked over time on various project. Most recently on the BBC News Labs 'Crossing Divides' interactive and Narrative Text projects.

It is most suited for the development of early stage products, following a lean / agile approach, where there might be a few uknowns that can slow down development and make product management a bit more uncertain.

Step 1 - Identify Parts

Start by dividing the problem or system into parts

Step 2 - Phases

Divide that into phases that cut across the parts.
Phase one should be the minimum to have an end to end setup. ( Eg includes build tool and deployment) - sometime is MVP sometime is not is before that, more bare.

Step 3 - Crucial Points

  • Identify unknowns for R&D (research and development)
  • Research each problem and issue
  • ADR ( architecture Decision Record) types of notes to capture options are very useful here, for documentation and note taking, but also as a decision making tool.
  • And then do R&D in isolation - define input and output / interfaces of these problems/issues to be able to tackle them in isolation

Step 4 - By Phases: end to end

Once done step 3 can execute the project following the phases of step 2.