Capturing full time dwylers' time allocation in the short term
As someone in charge of allocation of resources, I would like to understand the contribution to overheads on our internal projects (as well as client projects) so that I can make informed decisions about projects (both internal and external) in future.
Related to #321 .
At the moment, most of our internal project work is being carried out by full time dwylers and without freelance invoices, there is less visibility of time allocated to each project.
Until we have time ready, we need a short term way to have visibility of this at the very least every two weeks.
Deadline: End of June 2017.
@markwilliamfirth What's the best way to MVP this?
At the moment I enter the time I spent on a google sheet. I've started well and describe (too much?) my activity with time. Unfortunately I forgot a few time to add the inforamation. I need a reminder or someone to tell me to enter the data.
Me too, I use a google sheet. At the moment I manually add the dates as time progresses, I think it would be better automated (I think google sheets has a format for this). Also I currently only fill in the time with a project name ie. tachyons-bootstrap, no more detail than that. This originated from my automated invoicing model and is useful for statistical analysis because it means you can count and divide the squares by project name and get statistics for how many days in total per sprint has been spent per project.
The easiest way to do this is to timebox people's work allocation.
e.g. Simon 25% hours on QA 50% hours on dwylbot 25% hours on dwyl-site
e.g. Mark 20% dwylbot 20% dwyl-site 60% operations
e.g. Cleo 50% tachyons-bootstrap 25% dwyl-site 25% dwylbot
e.g. Naaz 100% OA
(these are just examples - not realistic percentage suggestions)
This removes the need for tracking and allows people to devote more time to getting work done. Resourcing can then be adjusted according to requirements.
Timeboxing is more difficult for people that are spread across a number of projects that require attention at unexpected times (such as yourself) - for this I would recommend using a time-tracking application like the one you currently use (or another one such as Toggl) or the spreadsheet system that Simon or Cleo has adopted. Either are good solutions.
@markwilliamfirth, I think (certainly at the moment) I fall into a similar category to @iteles when it comes to jumping between projects. My time allocation is quite fluid according to day to day needs and changes for dwyl. Happy to follow direction for whatever system/ working works best though 👍 just wanted to make you aware of my current working patterns.
@cleop @SimonLab can you share the links to your spreadsheets here please? Would be good to see how you both approach this already.
https://docs.google.com/spreadsheets/d/1UT5y8l1dU_BYl2HLoEsKvmBXXGMq4jomH2CcLk8_8lo/edit?usp=sharing
A note on current allocation of people to 'all the things':
- A list of tasks that need to be carried out forms in my head and in Github issues (either by my hand or by dwylers I ask to do this) - at the moment we have a lot of different and very fluid projects so this is usually a week of tasks, but might only be a couple of days at a time
- Those tasks are estimated
- An understanding is formed of roughly how those estimations work out in the week i.e. which pieces of work will be carried out on which days
- This is maybe the only time the percentages of time spent on each activity could be calculated (we need to estimate and then see what that works out to)
- Project needs change every couple of days or so
- It is often the case that aside from the established dev/QA/scrum master tasks, a dwyler is asked to jump onto another project to support the team, document or test documentation, share knowledge or do any number of tasks
Whichever way we decide to do this, there will always be a need for tracking of time against tasks to check how much time we actually spent on it.
@markwilliamfirth The key for me here is what format of time tracking is easiest for you to extract accurate and frequent management accounts from?
@cleop so what you're actually doing here is a mixture of dynamic time-boxing and time-tracking. With true time-tracking the user starts and ends the timer at the exact start and end points of a task. What you've done is decided to split your week into hours and timebox work on an hourly basis in a dynamic way. It appears that your timeboxing is as a reaction to the work assigned to you, as opposed to being set out and planned in advance. Can you clarify whether you retrospectively estimate how many hours you spend on tasks or whether you plan in advance i.e. today I will do x hours of y and z hours of w?
Let's see how the @SimonLab spreadsheet differs
https://docs.google.com/spreadsheets/d/1fnQYQj4GCd3JCDZI-aW0omPeC6QXRDGMJTFY3sCZmLc/edit?ts=594a8eb9#gid=0
Simon has approached this differently - he's taken more of a time-tracking approach, but with inconsistent rounding (sometimes to the nearest minute, sometimes to the nearest 5/10/15 etc). Simon also works outside of set working hours (flexitime) and tracks time related to tasks as opposed to projects.
@iteles would you be able to share the time-tracking app you use? Are you able to export the data? How does that work?
@naazy I understand your time is 100% on OA - is that right? Do you currently do any time-tracking at all with regards to tasks?
Correct @markwilliamfirth. I don't really time track with small tasks. With the bigger tasks (things that I've estimated will take at least 1 or 2 days), I usually just set a target day (in my head/a stickie) for finishing it and try to update the issue with the correct time estimate if I under/over-estimated. My time tracking is mostly in my head. Sorry - not overly useful!
At my old consultancy job where I worked on a range of different client projects, I had a stickie that I'd update at the end of the day with how I'd split my time. And then every Friday I had to submit my time estimates using the company's time tracking software.
@markwilliamfirth - yes so how I calculate or allocate my hours is a result of rounding (which obviously sometimes won't be 100% accurate). Previously I was working on projects for a full day and then potentially had 1 hour of scrum master time in the morning so this worked. But the last week or so has been more fluid and changing on smaller tasks. So for example in the morning I always go through my notifications, previously that used to be for just one project so it was easy to time allocate, on a morning like today it spans different things and so I have to bare this in mind with my rounding. However, it's that fine line between accuracy and endless admin/ too much tracking.
You're definitely right that I don't tend to know very far in advance/ if at all, what I will be working on. Sometimes what I'm working on is dependent on other people and so can't be predicted (ie. if person A has completed issue X, then you can work on this project Cleo). So I try to fill out my time sheet throughout the day so I don't lose track. In terms of knowing how much time I will work on what, I am led by the time estimates assigned to the issues I am working on but I don't look at the day ahead and say I will work X amount of time on a given project (for the reason before about whether projects are ready for my involvement).
However, as I said before, this totally varies compared to when I'm working more on client projects when it will be a case of working most likely 100% (unless I'm scrum mastering at all, in which case 90%) on a project for a day or two and then switching when that comes to an end.
The other thing is, the 'working hours' on my spreadsheet are fluid, so if I work 9-5pm one day then I won't edit that on the spreadsheet because for the purpose of measuring time division, I don't see it affecting the results of what my time has been spent on.
I hope this helps give you a clearer picture of my working patterns!
I think it's clear that whatever this system is, it needs to be highly adaptable and flexible.
The MVP here is to track time spent on projects (not tasks - this is something Time will do) I think we should start by listing out all of the projects that people are involved in:
dwyl Website dwylbot LDMW tachyons-bootstrap Oxford Abstracts Healthlocker EMF SMG Research Resource Best Evidence Medcheck (Dementia) FREED External Product Development Operations Internal Product Development Operations Coworking Operations Agile and Technical Training Operations External Product Development Business Development Internal Product Development Business Development Coworking Business Development Agile and Technical Training Business Development
If there are any other projects you are involved in @Cleop @SimonLab @iteles please let me know
@iteles how accurate do you want this to be? To the nearest minute? Nearest hour?
From time to time I work on other internal repos like ateam-master-reference (at the moment) but in the past I have also added to learn-daydream-nightmare, learn-tachyons, learn-elixir etc.
This tracking document has been done to a half-day accuracy: https://docs.google.com/spreadsheets/d/1HejQid3ZqaIK2iYzsv4SrD40UGWYa7qm1YSvMdcWfME/edit#gid=1068312920
Still awaiting @iteles input on accurancy https://github.com/dwyl/hq/issues/363#issuecomment-310348854
Half day is fine for development. My experience of non-development tasks is quarter day at least is required so that the process is not hugely onerous.
Hopefully we will solve this problem soon.
The key thing here is that this needs to be fed into our accounts so that we know what expenditure is for each project as mentioned in the description of this issue. I don't believe this portion of the issue is complete yet.
Thanks @iteles
Please could you answer https://github.com/dwyl/hq/issues/363#issuecomment-310172989
and confirm if this is a p1 or p2 as it relates to #321
Actually tracking the time needs to be done continuously for client projects and internal products so that we can allocate our time correctly. This isn't a question of priority, it needs to happen in the background for these projects.
The deadline for having visibility of the time was end of June 2017.
Getting this into our accounting system so that we can understand the expenditure and income on each project both internal and external is part of #321, more specifically #373 - without this understanding, there will be severe gaps in the expenditure counted against each product.
@iteles I think the issue here is that we're still trying to work out the best way of doing this (in terms of an MVP). As you can see from the conversation above, Simon and Cleo have different ways of doing this, although from what I can see neither sheet has been updated since July.
My question to you was if you would you be able to share the time-tracking app you use? Are you able to export the data? How does that work?
The reason I ask is to see how your process differs so we can work out the advantages and disadvantages of each option and decide which route to go down with the MVP
The time tracking app I'm trying at the moment isn't ideal, so I'm looking for the next one to try out: http://angryaztec.com/nowthen.html
I'm happy to provide you with the time I spend on specific client and internal projects in whichever way you prefer, just let me know once you're determined which way you want to trial first to get that info into the accounting system.
I'm back on the case as of today @markwilliamfirth 👍
@iteles it seems like that application is only available on iphone - do you know of any apps that work across different platforms? Please let me know, if not I can research into them
@markwilliamfirth Still looking for the next one to try out. For now, the half day captures work fine for most people but The important thing here is to determine what you need in terms of info and format for the accounting system. Linked to #383
@iteles ok can you confirm if you want half day accuracy or quarter day accuracy for the MVP? (as per your comment https://github.com/dwyl/hq/issues/363#issuecomment-323327856)
Quarter day is preferable, as stated, but that's not a blocker, happy to start from what we already have (half days) and just start and iterate.
@iteles in that case this has already been completed with creation of the company calendar
https://docs.google.com/spreadsheets/d/1HejQid3ZqaIK2iYzsv4SrD40UGWYa7qm1YSvMdcWfME/edit#gid=1068312920
We will record in here to a half day accuracy and the codes can be counted when necessary
Do you want people to record themselves or it to be maintained by you / myself?
@markwilliamfirth The main purpose of this issue is:
As someone in charge of allocation of resources, I would like to understand the contribution to overheads on our internal projects (as well as client projects) so that I can make informed decisions about projects (both internal and external) in future.
As I have mentioned here, here, here and here, the key thing in this issue is to understand how recording this can be added to our accounting system to provide said visibility.
This issue is therefore not complete.
@iteles a bit confused about what you mean here - this information is already in Xero - the number of days employees work on client projects is already recorded in our accounting system on the invoices - are you referencing internal projects? This could be done by generating invoices with no cost associated with them if you just want time recorded in Xero