Complexity requires checkpoints

The only justification for a complex solution is a complex problem.

A complex solution can’t be designed or built straight away. Complex problems only reveal themselves as you go. You don’t have the full picture at the beginning.

You therefore need to establish checkpoints along the way to the nebulous end state. This way, you can bank value and change direction now that the view ahead is clearer. You might even fully solve the problem well before the final checkpoint.

If you don’t plan for progressive enhancement, you’ll either end up in the wrong destination or hit a roadblock mid-journey. In either case you’ve banked no value, wasted a huge amount of time and money, and hurt your reputation.

If you’re building a contract database, don’t plan every single crazy data point in advance. Instead, you can sequence your checkpoints and bank value after each, delaying decisions for later when you can see more clearly down the road.

For example:

  1. Gather all documents into one place.
  2. Organise them into agreements (agreements can have more than one document).
  3. Name them properly.
  4. Group into function / department.
  5. Basic data points (e.g. counterparties, commencement date).
  6. Crazy data points.