The time it takes to get something done is a combination of two factors
- The time before you can get started on it – call this lead time
- The time it takes to actually do the work – call this task time
If a 1-minute task doesn’t get scheduled for a year, it took a year to get it done. It’s very important to think this way. If you don’t, then you’ll decide that efficiency means “be doing the most work you can every moment”, and once your workload gets above 80%, your lead times on all items will grow rapidly, and once your workload gets to 100%, the lead time for most of your tasks will grow to infinity (and your task list will grow to infinity).
One way to prevent this from happening is to put a hard cap on workload. This has been studied, and for certain kinds of workloads, you can put a number on the workload, like say 80%, that will prevent lead times from growing.
However, this is very hard both politically and practically to do this, to cap workload.
Another way is to cap lead times. An item can’t enter in the system if it would have an excessive lead time. The lead time should be proportional to the task time.
- The lead time for a 1-minute task shouldn’t go higher than 15 minutes.
- The lead time for a 1-hour task shouldn’t go higher than 1 day.
- The lead time for a 1-day task shouldn’t go higher than 1 week.
- The lead time for a 1-week task shouldn’t go higher than 1 month.
- The leed time for a 1-month task shouldn’t go higher than 1 quarter.
If you can’t find time on your schedule for a new task that has an appropriate lead time, then you drop the task.
This applies to all items on your task list, not just for a new task about to be put on the task list. You can’t make any tasks have lead times that exceed these values, so if you have estimation issues, you’ll find that periodically you’ll need to re-evaluate tasks and remove some so you can get back to the maximum allowed lead times. Fortunately, this is self-correcting, if your current tasks take you longer than you thought, you won’t be able to add new tasks to the schedule until you get this under control.
Note that in the current way of doing things, we slot it in somewhere, but in reality we find out that we are dropping tasks, but they are being dropped into limbo. We’ve emulated the halting problem in our schedule
If you do this, you’ll have the painful conversations right up front. People don’t like pain, which is why we have the current system. However, the deferred pain is worse, because it leads to things like losing your job (or everyone in the company losing their jobs).