In creating our Startup Manual, one of the first processes that we felt needed some improvements at import was the way we were organizing our time and managing tasks. As CTO – and head of the dev team – my visibility over what people were spending their time on was somewhat limited. So when we occasionally missed deadlines for feature development or a release, it was often difficult to work out why.
When the company was young and there were only a few of us, we didn’t really need a formal system of time tracking and task management because I could personally keep on top of it. As the team grew, we tried various different ways of monitoring our employees’ time and helping them manage their tasks to be more efficient. But, since there was no company wide policy, the adoption was a bit haphazard and it was hard to asses the results. We wound up in a situation where there were at least 3 or 4 different time tracking programs being used throughout the organization and no good way to combine them.
At the end of last year, with the team at nearly 20 full time employees, David and I decided that we needed to standardize the process across the whole organization. Here’s how we did it:
The Overall Strategy
Long before anyone can begin planning their work load for the week, we – the management team – have to sit down and come up with the overall company goals. This formal goal setting strategy, known as OKR planning, is a relatively new thing for us at import. David did a more in depth blog post on this and Google Ventures has a really great video explaining how to define your OKRs, so I won’t go into too much detail.
Planning our OKRs at the company offsite
Basically what happens is that a few days before we break for Christmas, David and I go on a mini-offsite and define the high-level company goals we want to achieve by the middle of next year. Then, at the company off-site in January, each department comes up with individual quarterly objectives which they believe will help us to reach those goals. Each of the objectives is then broken down into a measurable set of key results. These end up in our task management system, Asana, as projects. Projects are then broken down even further into a list of tasks and often sub-projects with yet more tasks. Those tasks can then be added to our Business as Usual tasks, and from there we can finally start planning our week.
Weekly Planning
In the dev team we try to adhere to a pretty rigorous system of weekly planning. On Friday, each member of the dev team is responsible for planning their work load for the following week in Google Calendar. This consists of blocking off time to work on different tasks – which correspond to projects in Asana. Each project or objective is assigned a hashtag – which is put in the GCal entry name. Using this hashtag system, I can generate weekly or monthly reports on who is spending time on what using a program called GTimeReport.
Planning your week in Google Calendar
As they work through their week, each team member is responsible for updating their calendar to reflect how much time they actually spent on a project. This is a really useful exercise because it allows us to see the expected vs. the actual work time, and helps us get better at estimating the time each task will take. It also means that we don’t waste our energy tracking time in multiple applications.
Planning Tasks in Asana
Deep vs. Shallow work
When planning out our week, we generally try to leave the morning from 9:15 – 1 (lunch!) for what we call deep work – anything that requires a huge amount of brain power or for you to focus on one thing for an extended period of time. Deep work in the morning is also something we have tried to implement throughout the office because it gives everyone a nice long stretch of quiet time where they know they won’t be disturbed by meetings or other distractions and can get a lot done.
Then, from 2pm until the end of the day, they can schedule in any meetings or calls and work on more shallow tasks that require less intense focus and can be interrupted (by IM or similar), without it becoming too disruptive. I also tell them to leave the time from 3:30 – 4:30 blank each day to give themselves a little bit of wiggle room in case something takes longer than expected or someone calls an impromptu meeting.
Keeping the Team on the Same Page
The other great thing about tracking our time in Google Calendar is that it is public for everyone to see. Anyone from the company can pull up your calendar and see what you are working on for the week. This helps the office to stay better informed about what the dev team is doing and keeps us honest about not spending all their time working on the “fun stuff” while ignoring business as usual.
We also have dev standup every day at 9am around the Features & Deliverables board. This is how we track the progress we are making on the release – which is also public for the company to see. The board allows us to track our progress overall and lets everyone else in the company know the status of the features currently in development, as well as which ones are upcoming.
The Results
We’ve only been using this new system of time management for a few weeks, but I think it has made a huge difference. Being able to see exactly what each member of the team is doing is essential in planning our company roadmap because it allows us to see who has extra time for feature development, as well as highlights where the hangups are.
I’ll be honest, it hasn’t been easy getting everyone to work the same way. Inevitably there was some initial push-back from a few people when we asked them to change the way they were working. Overall though, the use of Asana and Calendar planning has made a huge difference in the team’s productivity and increased the efficiency with which different teams work together. I would encourage young startups to implement a system, like this one, sooner rather than later. Building good task and time management skills in your team early will help you to grow quicker and work better – all things that will benefit you in the long run!