Apr 13, 2018 07:20:43 AM by Mohamed O
Hello everyone,
I'm working on an hourly contract - no manual time allowed, on an existing large-codebase project with a non-technical client.
Whenever the client asks me to add a new feature (somewhat similar to an existing feature), I take some time digging the existing feature and reading through the codebase figuring out the ins and outs and learning the code structure in order to follow it in the new feature, and after figuring it all out, I then start the timer and begin working on the new feature.
My question is, should I start the timer when I'm still reading through the codebase?
Note: I don't start the timer when I'm learning something new, even if I'm learning it for this project, but I believe that learning something will increase my own knowledge, so I don't bill the client for that. But reading through the existing codebase is actually a time spent for the client, hence my question.
Solved! Go to Solution.
Apr 13, 2018 03:29:11 PM by Kathy T
@Mohamed O wrote:Hello everyone,
I'm working on an hourly contract - no manual time allowed, on an existing large-codebase project with a non-technical client.
Whenever the client asks me to add a new feature (somewhat similar to an existing feature), I take some time digging the existing feature and reading through the codebase figuring out the ins and outs and learning the code structure in order to follow it in the new feature, and after figuring it all out, I then start the timer and begin working on the new feature.
My question is, should I start the timer when I'm still reading through the codebase?
Note: I don't start the timer when I'm learning something new, even if I'm learning it for this project, but I believe that learning something will increase my own knowledge, so I don't bill the client for that. But reading through the existing codebase is actually a time spent for the client, hence my question.
Well, you can't add manual time to encompass the time spent reading through code because this client has not allowed manual time to be entered. You could use Tracker, but the screen shots it takes will not show that you are actively working on the clients project. And the client can, and most likely will dispute those "non working" screen shots and the hours they show.
So, that leaves communication as your only other option IMO. I think you should talk to this client, and explain to him just like you explained it here. and ask that he allow X amount of manual hours to account for the time spent reading through their code which is part of the job and is required in order to complete the rest of the job. Since this client is a non tech guy, you will need to explain whatever you need to, in non tech terms.
Apr 13, 2018 07:29:14 AM by Kat C
If it's something additional the client wants me to do (let's say...add more content), then I bill for it.
If it's an oopsie on my part, then I don't bill the client.
Apr 13, 2018 10:13:05 AM by Will L
What ever time you spend that is to the benefit of the client and their project, you should be billing for.
If you have to do a lot of research on a subject that is new to you and will be applicable to other projects, the most honest thing might be not to bill the current client for the full time you spend on that. But you should charge them for some of that time spent, because if you didn't do the research, you couldn't give them the best work product.
Apr 13, 2018 03:29:11 PM by Kathy T
@Mohamed O wrote:Hello everyone,
I'm working on an hourly contract - no manual time allowed, on an existing large-codebase project with a non-technical client.
Whenever the client asks me to add a new feature (somewhat similar to an existing feature), I take some time digging the existing feature and reading through the codebase figuring out the ins and outs and learning the code structure in order to follow it in the new feature, and after figuring it all out, I then start the timer and begin working on the new feature.
My question is, should I start the timer when I'm still reading through the codebase?
Note: I don't start the timer when I'm learning something new, even if I'm learning it for this project, but I believe that learning something will increase my own knowledge, so I don't bill the client for that. But reading through the existing codebase is actually a time spent for the client, hence my question.
Well, you can't add manual time to encompass the time spent reading through code because this client has not allowed manual time to be entered. You could use Tracker, but the screen shots it takes will not show that you are actively working on the clients project. And the client can, and most likely will dispute those "non working" screen shots and the hours they show.
So, that leaves communication as your only other option IMO. I think you should talk to this client, and explain to him just like you explained it here. and ask that he allow X amount of manual hours to account for the time spent reading through their code which is part of the job and is required in order to complete the rest of the job. Since this client is a non tech guy, you will need to explain whatever you need to, in non tech terms.
Apr 13, 2018 03:38:49 PM by Preston H
I call this "OPC"
Other People's Code.
And if you want me to jump into somebody else's code base... yeah, that is time-consuming and I'm going to need to be paid for it.
Kudos to the original poster for his thoughtful question.
Apr 13, 2018 07:31:58 PM Edited Apr 16, 2018 10:24:14 AM by John K
Kathy T wrote:Well, you can't add manual time to encompass the time spent reading through code because this client has not allowed manual time to be entered. You could use Tracker, but the screen shots it takes will not show that you are actively working on the clients project. And the client can, and most likely will dispute those "non working" screen shots and the hours they show.
Kathy, you make a good point, although it seems possible to me that reading code would show timetracker activity, if scrolling text counts as activity. Perhaps a moderator *or* a programmer who's attempted to use time tracker while reading external code can comment on this issue.
Apr 13, 2018 07:51:04 PM by Avery O
Hi John,
Scrolling through text counts as activity. The app logs your activity level by counting the number of mouse clicks, scroll actions, and keystrokes you make. It also records to your Work Diary the name of the application you’re using and its active window at the time of the snapshot.
Apr 13, 2018 08:52:27 PM Edited Apr 16, 2018 10:23:54 AM by John K
Avery, thank you for clarifying.