Matt Warren

Productivity of Decision Making

Decisions can be paralyzing when you have to make them.  Even more so when you don’t have the information you need to make an informed decision.

In the day-to-day work of programming we make decisions all the time.  However the decisions we either don’t have answers for of don’t have the power to make ourselves can often block things.  These blocks can easily last hours or days if we need to co-ordinate with other people to make the decision.

Part of the planning stage of a project is to make as many of the decisions up-front before development starts so that the process of writing software doesn’t get blocked waiting for or discussing what to do next.  In an ideal case decisions would be always ahead of the developer needing to work on implementing them.

The output of the planning should be essentially a to do list that can be worked on quickly with enough information so that no further clarification is needed.  This is essentially the key that Kanban – writing tasks down on cards forces you to think through and make decisions so that the coding tasks are directly actionable.

When done right, programming can be extremely productive.  Having a work queue to pull from is a popular design pattern for implementing applications and it works similarly with scheduling programmers work.  When the producers (decision makers) ensure the work queue is full, the readers (programmers) won’t be blocked waiting for work to do.

This is commonly implemented with a Todo list, bug tracking software or Kanban style tools.

Whether it is a small one-person project or it belongs to a large team you should strive to keep everyone engaged by ensuring decisions are made before programmers need to implement them.


Posted

in

by

Tags: