views:

384

answers:

6

I work in a large outsourcing company based in India. I am in the US and have a team of 3 developers and we are using scrum practices and have had great success with our approach.

My problem is that our company requires us to estimate time on activities monthly whereas we work on weekly iterations. The system provides a list of 45 activities. To give an example of how granular it gets, we have activities like Coding, Coding Review, Coding Rework.

Now everyday we are supposed to enter actual time aginst these activies. And to make things worse the system for time tracking is very poorly designed and is very slow.

The rationale the management has behind this process is that they want to use this time logged to forcast future work. But the problem is that there are no processes in place to ensure that we enter correct time. So we end up putting any numbers and the end of the day.

This is affecting productivity and morale of the team and defeating the whole purpose.

What are you thoughts on Time tracking in an Agile projects?

A: 

Sounds like the time tracking is probably a bit too granular, or too rigid in its entry. What if, instead of having you enter time for each category at the end of the day, they instead asked you to keep a log that you could fill out with what you were currently doing during the day - so you'd get something like this:

8:30am - 9:45am: Coding 9:45am - 10:00am: Coding Review

et cetera.

Amber
I think that's a good suggestion but it would work on a personal level, to improve personal efficiency. The log can't be used ny the management for planning. Thanks !
Logs can be aggregated *once the project is complete* (or by someone not working on the project). That way, you can get totals for the team while not interrupting regular work significantly.
Amber
Thanks Dav. that button bar that paul suggests takes this idea further and provides me a solution that we can implement.
+1  A: 

What are you thoughts on Time tracking in an Agile projects?

100% waste: when asking you to do this, your managers are actually keeping you from working on code which is the only thing that really adds value to the product (not even to mention that the application you have to use is slow, poorly designed so this looks actually closer to 200% waste). This really sounds like outdated command and control to me. This should be handled by the ScrumMaster as an impediment.

Pascal Thivent
Thanks Pascal. Like I said above the scrum master is our client and as a vendor bringing this up with our client will only make us look inefficient.
So the ScrumMaster can't remove impediments created by your managers because they are not visible? And the ScrumMaster actually can't shield the team from external interferences? Sounds strange, not sure that your implementation of Scrum is optimal if I may.
Pascal Thivent
I agree but that is a reality of our project given the client vendor relationship. Time tracking is related billing which is a sensitive issue. Many a times people work in a lot of activities that are no billable to the client but they have to somehow 'manage' what's logged in the system.
@user176687 *Time tracking is related billing which is a sensitive issue.* Oh? My initial understanding was that this was used by your management to forecast things in a suboptimal CCM way. Aren't you working full time on that project? you didn't mention it if that's true. Anyway, you asked for some thoughts (not solutions), you got mine :)
Pascal Thivent
Yes the idea is to forecast and plan. And I am on the project full time. Just that sometimes I am required to perform tasks that are not related to my project. Like conduct interviews, write proposals, audit other projects. At such times we don't report the actual time to the client. Although we more than make up for it sometime in the future.By the way, your thoughts are much valued. Thanks so much.
+2  A: 

Make sure and bring this up as and impendement to your scrum master, also bring it up in your retrospective.

Because you may have to live with it let me suggest two approaches:

  1. Be as accurate as possible and give an estimate at the end of the day.
  2. Write a front end to the clunky reporting system. Figure out and easy to use and time saving interface, write it, then have it feed the clunky old system.
Paul Hildebrandt
Well, the scrum master is our client and as a vendor bringing this up with our client will only make us look inefficient. Besides this will be frowned upon by our management. I have no choce but to agree with point 1 that you put :). And in a company of 10000 people, I have no say on creating a better UI for the time management system. Thanks for your suggestions Paul!
You are in a tough situation.I would go with the second suggestion. We are forced to use a SAP interface to enter data at work. One of our programmers wrote a Python program that that automated entering all the data. Now we all use it and love it. For your situation I imagine a button bar with all the statuses on it. Clicking a status will start a timer for that type of work. This will all be logged to a file. At the end of the day run another program that parses that file and uploads it into the clunky system.
Paul Hildebrandt
Paul a button bar is an excellent idea. It will be great to track time a little less painfully.
Thinking about the button bar, one interesting challenge would be to track time when people work on more than one machine or a virtual machines. But thats another discussion :). Thanks for your suggestions!
+1  A: 

Unless you work in a ROWE, chances are time should be recorded somewhere so that whoever is paying the salary knows where the money was spent. How useful this is and how much it can be used can be debated forever. Evidence-based Scheduling may be the idea that your management has, which has the potential to work and the potential to backfire terribly.

I'd be tempted to see if management would agree to some inbetween timeline here so that the iterations and planning align. The problem with trying to plan 3-4 weeks down the road is that what happens in the next 1-2 weeks can dramatically impact that. My suggestion would be to see if a 2-week timeline could be agreed so that almost a half-month is planned at a time. It is a bit of a compromise but assumes that whatever system the monthly data goes into would accept something biweekly. An alternative would be to do monthly iterations though that may cause some upheaval I'd imagine.

Time tracking can be useful if there is trust, honesty, and most everyone is respectful about the information. This can be asking a lot as I'd imagine many have been burned by such systems. Does management know of the slowness and poor design of the time tracking? For example, if it is taking an hour a day to log all the time and you can explain why that really is the case, there may be an opportunity to get a better system. A key point here is to know what specifically are the problems, why they are problems and what kinds of suggestions could be made as while I'd say that time should be tracked, one could use spread sheets for a relatively low-tech way that may not be great for management, but part of this is accepting trade-offs, IMO.

JB King
Thanks. You hit a key point related to attempting planning for 3-4 weeks. We should probably do it on a weekly basis. One trade-off that I plan to suggest is to track only actual hours 5-6 major groups like coding, architecture, testing, org activities int he system mandated by the organization and we can plan, estimate user stories in a another tool that we are using (Rally)
A: 

Better have a talk with that concern and speak about the tracking problems, as you people can't indulge in it being in a different field.

Staff Time Management

A: 

This is a tough one. The problem is that the time used will NOT forecast future work. That's very well documented and a dangerous trap many fall into. Velocity can help to forecast future work but it obscures the hours by design.

The problem with the approach is this: Not all hours are alike. Capturing hours turns work into "ideal" time. Future work is the estimated not by the team that is doing the work (and no 2 teams are alike), but by management that has used those hours to come up with some algorithm. Sound familiar? It's not Scrum or Agile. Management neither understands the process of Scrum nor has bought into it.

Having that confusion is not good. Clients believe you are providing something you are not, team members work under false assumptions, and management is not there to provide the support you truly need.

So, it really won't matter what you put down for hours... very likely the process will fall back into a non-agile approach which will be statistically as accurate as just making up hours and reporting them randomly. At the risk of sounding ridiculous, you might as well save your time and just make up hours.

Now, if time is used to see how much you spend doing interviews, that's easy to gauge without a tracking system.

If the time is used for billing, that's a different story. That's not Scrum-related, but a part of business process.

Angelok