Two years ago I bought a tent and got a lot of camping gadgets. Went for camping like… two times that summer.
Now another summer have concluded, the tent was not used once this season.
This is a recurrent thing, we buy a bike, we join the gym, we plan things; but often we lose that initial spark fast.
Why?
There are countless reasons, but one thing we should have in mind is that we love to idealise situations.
When we are planning things, we have absolute control, it is a simulation of the future where we are in control.
This sensation of control is what often make these simulations more satisfying than the real world (even when we include the negative bits) , in the real world we don’t have such control.
When planning for camping, we love choosing the tent and we even buy mosquitoes repellent, we fail to see that we idealise the situation.
As developers, we do the same. When we start with a project (or task), we are full of energy, we deeply enjoy this blank canvas. We easily jump into planning since we love this stage, we think “oh yes! this time I will start things the right way!”
Thing is, eventually we need to move from the planning phase into the execution. And here is where things start to get tricky, we start to fight the real world and we realise we are not in control anymore.
It is in this execution phase where requirement changes, new use cases are discovered and the beautiful new canvas starts to get corrupted by these pesky humans.
Planning is a requirement, it is essential to prevent some future issues and to allow room for our projects to adapt and grow.
What to have in mind:
- planning is a requirement, but is not the goal.
- we are never in full control, things will change
- if we don’t accomplish the goal, we lose, the careful planning becomes irrelevant.
So, let’s stop using planning as an excuse to not move forward.
If you are starting with a project, planning a trip or trying to learn something, pay attention, do not allow this to lose your focus from the main goal.