Delegate tasks

A man is holding up a sign with the words "Do you delegate enough???"

Delegate non-vital tasks to other tools and services, you’ll thank me later, now the blog post.

Two years ago, I started delegating non-core tasks to paid services. The goal was to have more time to focus on development, I was sick of occasionally losing an entire day to some dev ops tasks. I was sick of even having to list them in my project management App.

I want to use my limited time to focus on the development, marketing, documentation, and everything else required for my Apps. I’m trying to launch a side business; that’s hard enough to do in your free time with small children, I don’t need “unnecessary” work as well.

Web servers

I used to use Azure to host all my projects and as easy as it is to use as Azure, it gets complicated quickly. When you have multiple Apps, need to manage SSL, CDN, MySQL, Redis and everything else, it starts taking up some serious time.

Eventually I’d had enough. I was also starting to get a little irritated with the price, Azure is not cheap. I contemplated AWS but decided no, I wanted something different. I’ve also read one too many horror stories of people almost going broke when they don’t set the correct spending limits on AWS.

I wanted a simpler life, so I thought ok, I’ll delegate the task and try Laravel Forge, I don’t want to have to manage anything.

All my sites were moved from Azure to Laravel Forge (Linode) in a weekend. I also took the opportunity to move some more of my domain names away from GoDaddy.

I was surprised at how different things were, particularly how quick and easy it was to get each of my Apps running. It only takes a few minutes to commission a server, point to a repo, deploy, and install an SSL certificate, it is incredible. I switched to Laravel Forge and Linode two years ago, I’ve never had a reason to think about switching to anything else.

Status Pages

It is a good idea to have a status page for your Apps, if something isn’t correctly working your customers at least have something to check before reaching out. There are countless ways to create a status page, you can do everything from a page which does a 200 check for each site to full-on integration.

It is easy to create a simple status page, but again, why bother? I searched around for a tool/service and found ‘oh dear.’ Initially I only signed up to create a status page but over time their offering has increased and I’m using all their features.

I don’t need to worry about maintaining my own status page and know when I get an email from oh dear, it means there is an issue I need to look at.

Delegate

This post is not about Laravel Forgeoh dear, Stripe, Freshbooks, TailwindUI or any other service I use personally.

If there are any tasks which you can afford to delegate to another service or tool, go for it.

We all have limited time so use it effectively. Concentrate on the stuff which relates to whatever your goal is, let others worry about the rest.

Curse of the icebox

Ice in fridge

I used to use Pivotal Tracker to manage my development tasks. I had tickets booked for the current integration, my backlog would include everything for the next few iterations and then there was the dreaded icebox.

As a solo developer I tracked everything in one “project” and used epics to separate all my projects. Every couple of weeks, I would go through my backlog and re-order my tasks. The priority of tasks changes over time, there are bugs, user feedback or simply new features you want to add. During these “reviews”, I’d occasionally come across a task that wasn’t as important as the rest. It should be completed at some point but not now or anytime soon. These tasks would get moved into the icebox.

Task priority

I have numerous active projects and deciding which tasks are the most important is difficult. I’ve always found it is easier to decide which tasks aren’t as important, this made the icebox easy to fill.

My backlog was always “full”. I’d work through everything for the iteration and then new work would come in. The churn was surprisingly good. I’d typically have 4-6 iterations of work lined up. The icebox though, it kept growing. There was this light blue list of tasks which kept growing. It just sat there getting bigger and bigger, staring at me, occasionally laughing.

Eventually, I’d had enough. I was looking at the icebox and saw lots of tickets, many years old. The tickets were still relevant, but they just weren’t as important as everything else, hence their consignment to the icebox.

Good-bye icebox

I went through the icebox and transferred anything interesting (most of it) to a text file labelled “future ideas”. I still have the list, but it no longer stares me in the face every single day.

As soon as I had disposed of the icebox, Pivotal Tracker didn’t make much sense. I had two lists, but it was really one list ordered by priority. I decided to ditch Pivotal Tracker and switch to the free tier of Monday.com. Pivotal Tracker is pretty feature rich, I no longer needed labels, epics, or anything else, I just wanted a simple list. At its simplest, Monday.com is a list of tasks which can be grouped, it was perfect.

I only add a ticket to Monday if I think I will get to it within about two weeks. This is complicated with multiple projects as I might not work on a specific project for a couple of months, but the rule still applies. The “two weeks” is based on project time. If by the time I next work on this project, I expect to get to this task with two weeks, it goes on the list.

Everything else goes in the future ideas file. I review my future ideas file every now and again to see if there is anything I need to pull out or anything which can be deleted. I’ve found that often I delete entries from the future ideas text file as I’ve already done them. I’ve created and prioritised tasks because the idea was fresh in my mind, and I fit it in when I had space.

Simpler works

I’ve no idea why it works this way, but I’ve found that this simpler system makes me feel more productive. I really wish I’d switched sooner.

When I’m working on a freelance project for a client or in the preliminary stages of development for a new project, the process changes. The need to focus on one thing means I have less time for everything else. Whilst I focus on one project my inactive projects get more tickets and the “work” for each group grows. Once my time is freer, I try to get back to two weeks of planned work for each project.