Saturday 5 February 2022

The Power of Three

The Power of Three

Planning top-down and bottom-up and three levels of abstraction

If you are like most people, you have things to do, or that you want to get done, that cover a range of timescales:

  • You want to retire by a certain age
  • You have a project with a deadline this year
  • You need to decide what to have for dinner tonight

When people talk of planning horizons, this is what they mean. The usual advice is to plan from the longer timescales to the shorter. And that is, in general, good advice. But it's not always the right thing to do. There is another way of looking at this, and that is, if you will pardon the terminology, in terms of levels of abstraction. You will almost certainly be familiar with this concept, it recurs over and over again. Some examples:

Planning a military campaign:

  • What is the Objective of the campaign?
  • What Strategy and Tactics will you adopt to achieve the outcome?
  • What Resources do you need to implement the Tactics?

For a project:

  • What is the overall Outcome’?
  • What Methods will you use to deliver the outcome?
  • What Resources will you need to use those Methods’?

For organizational procedures:

  • What Policies do you want to follow?
  • What Processes will you adopt to meet the Policies?
  • What Activities make up the Processes?

In a company:

  • What is the Corporate goal?
  • What is the Business approach?
  • What has to happen at the Functional level?

Also in a company (looked at in another dimension):

  • What is the Corporate goal?
  • What is the Portfolio of products (or programme of projects)?
  • What Products will you create (or projects will you work on)?

And most relevant to us, for a product or system:

  • What do users need (stakeholder requirements)?
  • What will the system do (system requirements)?
  • What is the system (design and implementation)?

Generalizing, what we have in all these examples is:

  • Purpose -- Why: A definition of the outcome that is desired: the purpose (which might be a problem to be solved) and the context within which it must be delivered
  • Functions -- What: A definition of what must be done to deliver the outcome
  • Artefacts -- How: The detail of what needs to be used and exactly how the outcome will be delivered
Sidenote
The use of the term "Purpose" is quite deliberate. in my experience, asking people "What is the purpose?“ of something they are proposing leads to deeper thought and more meaningful answers than asking seemingly similar questions like "What is it for?“, “What is the Goal?", etc.

Each of these levels of abstraction can include more or less detail, but that's a topic for another time.

A key point here is that describing things as more or less abstract doesn't mean that they are more or less real. Retiring at a certain age is no less real than saving a certain amount of money, which is no less real than setting up a specific type of investment.

So, what does all this mean in practice? For any goal you want to reach, there is a consistent set of steps that you should follow. This is:

  • Define the purpose - the desired outcome (Why)
  • Determine what must be done to deliver the outcome (What)
  • Investigate possible means of doing those things (options for How)
  • Decide on the best means (by whatever measure of "best" is appropriate) (How)
  • Do it!

So going back to our planning horizon discussion at the top, this framework lets you put the planning horizons into context. Of course, there is far more to thinking about how to achieve a goal than that. Other topics I plan to cover in future blogs include:

  • Problem and Solution domains - how does this relate to the three levels of abstraction?
  • Are three layers enough? Surely we need to break them down further?
  • How does modelling fit into this?
  • What about iterative, incremental and agile working?
  • I've heard about Design Thinking, how does this fit in’?

No comments:

Post a Comment