There are four controls on any project that someone can change to affect the outcome. They all relate to each other so changing one will affect the others. You might not be able to pull these levers yourself but knowing which ones are available on the projects you’re working on can help you decide what options you have.

Scope

You can remove features or functionality to reduce the scope of a project and make a project quicker or cheaper. Scope tends to expand, especially in the early phases of projects where you’re learning a lot and having ideas. Regularly reviewing and trimming scope helps stop the project from becoming never ending.

Resources

If you need something completed faster then adding some more people can help. There is always a ramp up time so this needs to happen closer to the start of the project than the end to have an effect. You could also decide to use more servers, add another type of database or cache etc. Resources and budget are closely connected!

Time

If you want higher quality then give people more time. There still needs to be some sort of deadline to keep people focussed. In an ideal world people could take however long they needed to get something right. In the real world there is usually a deadline that needs to be hit for the system to have value. If you don’t have the budget and can’t change the scope then taking longer is the only way to get the same amount of work done with less people.

Budget

This is very related to resources. It also covers things like training staff to make them more productive, giving them faster laptops, or paying for a commercial library that does something you want rather than developing it yourself.

What levers can you influence in the projects you’re working on right now?