07-05-2019
Keeping up appearances
For the last 3-4 years, I have worked in 2 companies. Both times I have been working as a sole front end developer. This has been a great experience in learning how to handle my time effectively to deliver results across multiple teams. This blog post is a selection of tips for managing time & expectations.
Tracking
The first point is to have an approximation of how long a piece of work takes to complete. I know this is hard and sometimes borderline impossible, but if you have something to compare it against you may be able to estimate it a bit better.
If you do not have any idea how long any of your tasks will take you should start tracking them so you can build up estimations for the future. For this, I use Toggl. Toggl lets you track time against projects and tasks. Usually, I create a group of projects I am working on, for example, My website and Business dashboard. Once I have these I can start working on a task and time how long it takes and put it under a category. This builds up over time and you can look at past tasks to gain a rough idea of how long something might take up front.
Managing expectations
You need to know when to say no. This point is hard because most companies always want people to say yes and then to deliver. Don't be a yes man all the time. A yes man is someone who accepts every incoming piece of work and says it will be fine and that they can manage it.
Hats off to you if you deliver every time, I couldn’t. Most of the time a 'yes man' will end up with a large backlog of work which is constantly being delayed by all the other promises which have been made. A business would much rather you say I will do A but not B yet and get a result. Much better than accepting both and being delayed.
Visibility
What's the point in managing time and accepting work if you have no visibility of it all. Every company I have worked in has a board of work that needs to be completed. Usually on a service such as Trello, Jira, VSTS and many, many more. This is good but being in multiple teams at the same time this gets confusing.
For this reason, I use one service, Trello. Every time a piece of work is asked of me or assigned to me, I add it to my own board. This way regardless of how many tasks/projects I am in I have complete visibility of what I have to do. This can be a double edge sword. It helps me with visibility however usually it means updating in two places, my personal board and a business board. I usually add either a card to the Trello board which holds all the links to the services my tickets are stored for the business. Or sometimes I link each ticket. This adds an extra step but I have found it tends to save me time in general.
Prioritise
This one is important. You need to be able to form an order for which you are going to do the work. I usually box off around 5-7 tasks and say this is my current focus and then order them hardest to easiest. I do it this way because the harder ones are the ones I know are more likely to have snags. It's better to hit that wall first rather than get stuck at the end of the pipeline when the deadline is looming. I have found saving the harder tasks until last usually end up with them being towards the back end of your deadline and then rushed in. Causing problems later down the line.
Know when you are most effective
This is one that it took me at least 2 years to realise. I used to get into work at 9 am and crack on with the day and my work speed would peter off towards the afternoon. I changed my hours to start at 8 am just so I could leave work at an earlier time. This turned out to be great, the office had only about 4-5 people in at this time. I found the quieter distraction-free environment meant I could really squeeze a lot of work out of that hour earlier start. Now I come in between 6:30 - 7:30. I know this might not be for most people however finding that time when you are most effective and boxing it off can be really handy.
A good way of finding this for me personally was using WakaTime. This integrates into your IDE and shows the times you are actively typing on your keyboard and what file and project. This was really good to see. In the days where I started work earlier I tended to spend around 20% more time typing that I did in the afternoon. Obviously, this does not show that the time I spent typing was high-quality code, you need to factor this one in yourself.
Box off the junk
If work distractions are not high enough already with office chit chat and water cooler conversations now we have to factor in social media conversations and slack messages. Slack is the productivity killer for me personally. Being in a slack group is like being in an all-day meeting that breaks up your workflow 30 times a day.
To combat this I read all my emails at set times. Usually when I first get in and before lunch.
The other thing I do is completely mute slack. I check slack more often because of the nature of direct messages I may have received a few messages. But I do not check it when I am midway through a task and I am focused because it breaks me right out of the flow. If it is something truly urgent the individual will come directly to me (working in a single office environment). Understandably if you are contracting, freelancing or working remotely you would need to find that balance of how often you need to check the messages and whether it is actually possible to have that mute time.
Multitasking
This one is simple. Stop doing it. Multitasking just breaks your flow up. I'm not going to write this section up just check out this article.
MVP
What is the smallest amount of work you need to do to achieve the minimum viable product? Don't build a huge task out for no reason. If you can identify that a task can be achieved using less code/process put that forward and push for it. For example, there's no point in adding 5 steps to a contact form where 2 would do fine. Obviously with this one you may need to run it by management or your product owner so it doesn't come back to bite you.
Conclusion
Using these tips you should start being able to better manage your time and start managing the expectation of others. Obviously, it's not a one size fits all solution to your time management. This is what works for me. Tweak it adapt it and make it your own.
Hit me up on twitter if you found this useful!