Prioritising Many Projects
Posted on
I've got this nifty little system of organising a large number of different projects, that all have to be done, into a particular order depending on what benefit I'm trying to achieve through the projects or my constraints at the time, and it uses alphabetical ordering to organise it so it can happen in a spreadsheet (instead of putting a number in front of a word so it appears at the top of the list when you order the column, instead of half way down it) - It's not anything new but I've found this minor frustration with all the tools I've used to organise things, so I instead opted to do what all nerds do, and made a spreadsheet that did it for me in the way I needed.
Disclaimer: Whilst I actively use this in a professional setting, I may have made a severe logical error somewhere, which is mostly why I'm writing this up here. If you spot a mistake, an improvement, can think of a funky name for this, or preferably point me at someone who has done this already and better than I have here so I can just use their system instead... let me know!
If you only want to read about this organisational spreadsheet thingy, skip ahead to the Prioritising Many Projects section. If you just want to see an example spreadsheet, here's a demo .ODS file (works with LibreOffice Calc and probably Excel?). Otherwise keep reading to see how I organise planned and unplanned work, why I needed something a little different, and how it came to be.
How I Prioritise and Organise Planned and Unplanned Work
I feel like I need to start at the beginning here and outline how I already prioritised my workload so you can better understand why I needed something else, later.
I use a couple of different methods of prioritising and managing workload in the day job. That work comes in several different forms; It could mean reactive work tasks which are typically unpredictable, individual, isolated problems that are blocking or slowing a task and need fixing fairly quickly - think things like support ticket escalations - or proactive work, which include planning a project, executing a project, doing routine upgrades, etc. The individual tasks within this proactive work are generally one step in a larger project which, when most-if-not-all are completed, achieves a goal. Think "migrate service" or "upgrade component" or "launch application" as the goal, with all the steps between now and the goal being achieved as tasks. Pretty typical stuff found almost everywhere in tech and project-oriented work.
For myself, a projects tasks are managed with a Kanban board. I generally, though not always, structure these boards with six or seven columns. Within the columns are the individual tasks, prioritised top to bottom with, essentially, most important or pressing at the top of the column, moving down to least important (or tasks I can't do until other tasks are done.) Okay okay, fine, I'll go into more detail: These columns, for me, are typically something like the following:
- Needs - This project, or the organisation, needs these things to succeed
- Wants - This project, or the org, would in some way benefit from these things being done but they don't need to be done
- Blocked - This is work that is in progress but is blocked by something out of my control (like, waiting for a part to be delivered, data from a third party, etc)
- In Progress - This is what I'm actively working on right now, limited to one or two things because you can't literally do more than one thing at a time. Well, I can't multitask (effectively) anyway
- Cooling off - This task may be complete but perhaps the change is rolling out, or the task has been worked on but is in trial/testing phase and I'm waiting for feedback. Maybe a change is being scream tested and just needs to be parked somewhere that isn't In Progress or Blocked.
- Needs Review - This task is complete in my opinion but needs to be, or should be, reviewed before being designated as Done. Not all tasks go here, some skip over to Done, but many do because maybe I messed up somewhere! Documentation updates, config changes, etc. Anything that should have a change control process around it is double-checked
- Done - These are all the things I've completed (and have been signed off) so far
Pretty typical, really. I do change it up occasionally, depending on personal preference, for a project I own. Sometimes I don't use both the Cooling off or Needs Review columns, it really depends on the project. Rather than using swimlanes for projects, I spin up a new kanban board. Sometimes I'll swap out the Needs and Wants columns for a single Backlog column. This structure has served me well for the planned work stuff, including the day to day sysadmin type things I get up to.
For the unplanned stuff that lands on the todo list, but isn't a task that's part of a larger project (think emails I need to action, or break-fix support ticket escalations) I use the classic Eisenhower Matrix. Each item (ticket, job, walk-in, email, etc) is recorded and given one of four states:
- Do - This stuff needs to happen now and is more important than the below categories
- Decide - This stuff needs to happen, but not now if there's a 'Do' item. Decide when it needs to happen by, and schedule it (or do it right away.) This may form a task or may spawn a whole project.
- Delegate - This stuff, whilst not important, should happen. But someone else could or should do it
- Drop - This isn't important or urgent, so it shouldn't take up any energy. Drop it unless there's nothing else going on. (spoiler: there's always something else going on)
Again, pretty typical.
These work management 'templates' are both simple and easy to maintain and used widely, so anyone stepping into my shoes can easily see where I'm at and where I'm going. Taking the time to manage these lists and make sure they're all organised and well written and prioritised in a suitable order within the columns/groups they reside in allows me to direct energy at the things that matter the most - solving actual problems in an order that benefits others the most. I have been way more effective since finding my way into these methods and wherever I can I encourage others to find the system(s) that works for them.
The Project Tsunami
But what if you need to prioritise a whole load of entire projects? Recently, due to a few different events at work occurring at around the same time (primarily a slight shift in direction by C-Levels combined with various government guidance and regulation documents coming down the chain) I found myself with a pretty big list of projects to do. Once I had parsed the documentation (which is a government-issued document and essentially to be interpreted as law now) I found myself with hundreds of individual projects. Literally talking about over 600 projects here. Now, some of these are very small (write a document) with plenty of overlap between the projects, and others are likely formed of multiple related but individual projects which on their own are likely to span a year of effort.
I watched this list grow as I pulled out the key takeaways from the guidance and began to feel a sense of trepidation. For some of this work, I'll be going solo. For most, it'll be me and one colleague, and for the small remaining tasks it can be spread across three to four others, depending on requirements. I'll have help here and there, but... this kind of work should have a large team behind it to pull it off in a sensible timeframe.
Such a team will not magic itself into existence, so I had to wrap my head around how to organise this work and complete it in the most effective way. How could I deliver the important projects? How could I even decide what was more important in such a huge list of projects?
I plugged the projects into my existing system, and whilst they worked to some extent they couldn't quite show me what I wanted. They would allow me to see the most critical tasks or the ones I could probably forget about (for a couple of years) but... not which ones would be cost effective, or which ones would take the longest, or which ones would have the most positive impact, be cheap (or free, financially) and not take much time at all. I tried a bunch of different methods, even resorting to an LLM to tell me about any other projects prioritisation systems I didn't know about... but couldn't find anything that fit well enough to my liking. So I got thinking... What if I took it all back to basics, used the Eisenhower Matrix and customised it a little?
This is nothing special or revolutionary! The Eisenhower Matrix is simple exactly so that it can be customised. I sat on it for a few days, thought about it, played with some ideas and was finally hit with the inspiration I needed. The next day I marched into the office with a plan and put together the following.
Prioritising Many Projects with... uhh... CDPQSW? IUECP? Or whatever it'll be called when either 1) I can think of something clever, or more likely 2) when someone tells me this exists already and everyone knew about it how did you not know about this wow how do you even manage to survive a day
Here's a demo .ODS file you can take a look at! It's made with LibreOffice Calc but I think it should work in Excel too. The formula absolutely works in Google Sheets, though I haven't attempted to import this particular spreadsheet to verify it remains sensible.
By organising your list of projects in the following way, you'll be able to highlight which ones are the most critical and cheapest and easiest, highlight if there are any quick wins, and all in a way that makes them stupidly easy to sort and rearrange.
We start with an empty spreadsheet - in column A, put Project
as the header in row 1, then in row 2, 3, etc write down your many projects in any order you like. In columns B to E we rate each one on the Importance, the Urgency, the Effort and the Cost. Put those four categories as headers in row 1 of each column, then use Data Validation (as per Google Sheets parlance) to create a dropdown box for every cell in that column (except for the heading) with the following options:
- Importance - How much of a positive impact will this have when complete?
- Zero
- Small
- Medium
- Large
- Urgency - How much of a negative impact will this have if you don't do it?
- Zero
- Small
- Medium
- Large
- Duty
(A Duty is something that you absolutely must do - perhaps it's a meeting with HR or a legal requirement like PCI-DSS. You might want to skip it, it might not be useful, it might not even have any negative impact if you skip it, but tough. Ya gotta do it.)
- Effort - How much effort (time) will this take to complete?
- Zero
- Small
- Medium
- Large
- Cost - How much money is needed to get this complete? Licensing, parts, contractors. Not employee wages for me, but maybe you should consider that.
- Zero
- Small
- Medium
- Large
In column F, put Priority
as the heading. Make the data a filter or a table, then in cell F2
paste the following formula (tested on Google Sheets & LibreOffice Calc):
=if(AND(B2="Large",C2="Large"),"Critical", if(AND(C2="Duty"),"Duty", if(AND(C2="Large"),"Pressing", if(AND(OR(D2="Zero",D2="Small"),E2="Zero",OR(B2="Medium",B2="Large")),"Quick Win", if(AND(OR(B2="Small",B2="Zero"),OR(C2="Small",C2="Zero")),"Withhold","Schedule")))))
This simple but pretty lengthy formula is a basic series of IF statements that determine the priority of a project for you. What's especially neat about the words used in the B-E columns (zero, small, medium, large, duty) and the words generated via this formula in column F (critical, duty, pressing, quick win, schedule, withhold) is that their alphabetical order is also the order of priority. No mucking about with complex formula or adding 1-
, 2-
to each phrase, they're entirely human readable and descriptive and instructive!
- Critical - Negative consequences if not done, positive consequences if done. This is essentially a disaster and requires immediate attention - think: production systems offline, threat to life/health,
- Duty - You are obligated to complete this ASAP (eg: meetings, legal requirement, etc) regardless of positive or negative consequences
- Pressing - Negative consequences if not done
- Quick win - Easy and free tasks that you can smash out quickly that have a positive consequence. This could be condensed into the
Schedule
priority but I liked having it separate and clearly defined to easily pluck them out in the gaps between other bigger more stressful projects - Schedule - Positive consequences if done, these should be organised for the future in a flexible way
- Withhold - Low or no consequences whether done or not, probably not worth considering yet
You'll need to then drag that formula down to populate each cell in the F column, for each row you have a project in. Then the magic happens - you can now sort the spreadsheet in a couple of different ways to order the projects how you wish to tackle them. Here are some examples - whilst it's a bit awkward to sort things ascending and then another column descending or whatever (depending on what you want) it comes naturally once it clicks:
1) Highest priority, 2) easiest, 3) cheapest
I use this personally - doing the highest priority jobs first, with the least time consuming options first, descending in financial cost order within those effort bands. Sort them like this:
Cost
, Z-A (Descending)Effort
, Z-A (Descending)Priority
, A-Z (Ascending)
1) Highest priority, 2) cheapest, 3) least effort
Subtly different, but sometimes you may want to get the highest priority, least expensive jobs out of the way first even if they require more effort. Just sort it like so:
Effort
, Z-A (Descending)Cost
, Z-A (Descending)Priority
, A-Z (Ascending)
1) Biggest positive outcome, 2) cheapest
Sort your projects by the ones that have the biggest positive outcomes, doing the cheapest ones within each Impact band first.
Cost
, Z-A (Descending)Impact
, A-Z (Ascending)
1) Most time consuming 2) Most expensive
These will probably be the most difficult projects, you might want to do those first, regardless of the impact or urgency:
Cost
, A-Z (Ascending)Effort
, A-Z (Ascending)
And many more...
You can play about with the sorting across the columns in a few ways to generate the order you want to make use of, then just start at the top and work down. When you sort things, just figure out how you want them to be ordered, then sort the columns in the apprpriate ascending/descending way in reverse order.
It's simple and nothing new, but I am real pleased with the whole "alphabetical precedence" of it. I also like how I can easily plug things in to this format. Even tasks within a project can be prioritised this way (though I prefer my kanban boards still) as it scales down to the task level pretty well.
If you find yourself with a massive workload and you have no idea where to begin, there are many systems out there that'll help you figure out which order to tackle the work in. Alternatively, if you're feeling brave, give this one a whirl!