dwyl / hq

:red_circle: All things in the dwyl organisation
https://github.com/dwyl/hq/issues
GNU General Public License v2.0
28 stars 1 forks source link

Capturing full time dwylers' time allocation in the short term #363

Open iteles opened 7 years ago

iteles commented 7 years ago

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?

SimonLab commented 7 years ago

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.

Cleop commented 7 years ago

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.

ghost commented 7 years ago

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.

Cleop commented 7 years ago

@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.

ghost commented 7 years ago

@cleop @SimonLab can you share the links to your spreadsheets here please? Would be good to see how you both approach this already.

Cleop commented 7 years ago

https://docs.google.com/spreadsheets/d/1UT5y8l1dU_BYl2HLoEsKvmBXXGMq4jomH2CcLk8_8lo/edit?usp=sharing

iteles commented 7 years ago

A note on current allocation of people to 'all the things':

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?

ghost commented 7 years ago

@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

ghost commented 7 years ago

https://docs.google.com/spreadsheets/d/1fnQYQj4GCd3JCDZI-aW0omPeC6QXRDGMJTFY3sCZmLc/edit?ts=594a8eb9#gid=0

ghost commented 7 years ago

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?

ghost commented 7 years ago

@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?

naazy commented 7 years ago

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.

Cleop commented 7 years ago

@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!

ghost commented 7 years ago

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

ghost commented 7 years ago

@iteles how accurate do you want this to be? To the nearest minute? Nearest hour?

Cleop commented 7 years ago

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.

ghost commented 7 years ago

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

iteles commented 7 years ago

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.

ghost commented 7 years ago

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

iteles commented 7 years ago

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.

ghost commented 7 years ago

@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

iteles commented 7 years ago

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.

Cleop commented 7 years ago

I'm back on the case as of today @markwilliamfirth 👍

ghost commented 7 years ago

@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

iteles commented 7 years ago

@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

ghost commented 7 years ago

@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)

iteles commented 7 years ago

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.

ghost commented 7 years ago

@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?

iteles commented 7 years ago

@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.

ghost commented 7 years ago

@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

iteles commented 7 years ago

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.

Internal projects is the main one, as per the description of this issue. However, as you know, there are various cases where we have done some additional time on client projects at no additional cost, for example:

So the days on the invoices that we send clients do not always correspond to the full amount of days a dwyler has put in. They also have no costs associated to them, just prices so we still need to work out what the costs have been. For a freelancers, this should be covered in #383 , but this issue is specifically about full time dwylers and the costs associated with their time across projects.

ghost commented 6 years ago

@iteles do you want people to record this themselves or it to be maintained by you / myself?

iteles commented 6 years ago

If it's recorded by either of us @markwilliamfirth, we just become the middlemen, having to check in with people for an accurate picture. That seems like duplicated effort to me.

ghost commented 6 years ago

@iteles in that case sharing the company calendar with everyone seems like the solution here - does this work for you?

iteles commented 6 years ago

That works for tracking time for now @markwilliamfirth , but again, as per https://github.com/dwyl/hq/issues/363#issuecomment-327199809 the key thing in this issue is to find a way to do it so that it can easily be fed into our accounts. Whilst having one place where everyone can update their time is a step in the right direction, it's still just as manual to get it into our accounts.

ghost commented 6 years ago

@iteles can you clarify what you mean by "fed into our accounts"? Do you want the actual time somehow recorded within Xero? Or do you mean a separate accounting spreadsheet that takes the total time? Do you have some acceptance criteria for this?

iteles commented 6 years ago

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.

I've just been trying to use different wording to convey this ☝️

The task was to find the most effective way of capturing the time spent (and therefore the cost of said time) in a format that we could use in the most efficient way possible to understand how much we're spending on all projects for full time dwylers, for whom we don't have clear invoices in Xero from (we already know what needs to be done for freelancers more or less, see point 1 here: https://github.com/dwyl/hq/issues/383#issue-255092218).
Aside: Then as with all our tasks, to form it into a repeatable process that can be documented and carried out easily by future dwylers.

The acceptance criteria is simply the desired outcome ("visibility of time spent on each project by full time dwylers in such a way that we know what the contribution to overheads is for each project" - referencing #373 as per https://github.com/dwyl/hq/issues/363#issuecomment-323724416) because this is a task that requires thought and consideration of options to reach said outcome, no more detail is really available until there is something to evaluate.

The way I would personally go about this is to allocate 2 hours to thinking about and writing out the various options and their pros & cons (is there a way of getting it into Xero? If we do it as a spreadsheet, are we going to spend a bunch of time copying data around? etc etc).

The effect of your comment above, is to push that thinking back onto my to-do list when in actual fact, that's exactly what I'm trying to delegate with the creation of this issue, so that it gets done faster than I could (so I can dedicate my 'thinking time' to other subjects)! 😊

Overall, this issue has now probably taken up more than 2 hours of my time anyway, just in trying to explain what is required. So it would be good @markwilliamfirth if you could please add a comment rewriting the user story and explanation for this issue in your own words so that I can learn how I can best communicate this kind of thing from here on out to avoid friction and wasting your time 👍

ghost commented 6 years ago

@iteles it's difficult to understand as there isn't clear acceptance criteria here

If this is the acceptance criteria:

This time is already in the spreadsheet - if the above is true, as I understand all you want is these time blocks to be counted and multiplied by the day rate of the respective full-timer?

iteles commented 6 years ago

In essence, yes.

This issue was also about thinking how to do this most effectively but we can iterate from what you have.

ghost commented 6 years ago

@iteles as per https://github.com/dwyl/hq/issues/312#issuecomment-339699141 are you suggesting we should change the accuracy to 1 hour as opposed to a half day?

iteles commented 6 years ago

@markwilliamfirth It seems like our needs from the current solution (the spreadsheet you implemented) have changed as per the issue you reference.

This means there are two options to consider here as far as I can see:

rub1e commented 6 years ago

Calculating a dwyler's daily cost

Obviously not putting up figures, but this is easily achieved by:

Adding on cost of admin

Take the total rate of all employees responsible for admin, turn it into a daily rate as above

Then divide by the number of employees in non-admin roles and add to their daily costs.

rub1e commented 6 years ago

@iteles Anything more needed on this or can it be closed for now?

iteles commented 6 years ago

@rub1e We now have the costs, which is amazing (a lot more than we had this time last year and super useful).

What we don't yet have is a great way of determining how this is split across multiple projects and fits into https://github.com/dwyl/hq/issues/373. Pulling this down in priority until that issue is done 👍