As a development manager, I am both interested in making sure that development runs smoothly (via Scrum) and that time is accounted for per project so we know where we are spending our money (Time Tracking).
Therefore, during a sprint team members are asked to update the amount of time remaining on outstanding tasks to compute the burndown chart. It should not take more than a couple of minutes. Since we are using Scrum, the team decides on the tasks and I don't care who is doing what as long as we have a burndown chart.
I also ask them to track their time per project and this is not very detailled. I don't want to track every minute of their time. This information is used to get a feel for how long it takes to release a version or much money goes into developing a product.
Since we are using Scrum time tracking is very simple since all members of a team work on the same project for long period of time.
Scrum is not rigid, its all about adaptability and what suites your needs.
Why don't you estimate stories in hours instead of story points. We too faced the same situation and we started estimating in hours. Everyday against that estimated hours developer log how much time they worked on a story. On daily basis one can see how much more time the story need and in the end one can see the estimate and actual time taken. We used XPlanner to track this and it takes a minute for developer to log time daily. Based on this information you can always measure the velocity which will help in next iteration.
Apart from project related stories we log time lost in other activities, e.g. meetings, environment down, production support, etc. Over a period of time this information gave us lot of information and we managed to reduce that lost time a lot.
The first question is - are you a consulting shop, or an internal IT shop. If the former, then actuals may be necessary to allow them to bill the customers correctly. If the latter, and you all are salaried, then the reasons aren't as clear. I'm always suspect of any manager wanting to know "how much time a programmer spent doing productive work". It's a metric, and one of the key things I tell teams with any form of agile development is that metrics should be captured for clear purposes that the team agrees with.
I would ask what the "question behind the question" is - or what management is really looking for. Why are they concerned about developer productivity? Are they having a hard time explaining to their managers what is going on? Are there team metrics that could be provide that you could generalize?
In short - your manager could be considered a customer of the team, so find out what your customer wants, and figure out the best way - as a team - to provide it.
Scrum, and other agile development methods, work best when there is trust between the people involved on both sides. Management needs to trust that developers work hard and work well. Developers need to trust that management respects their input and asks them to do appropriate work based on business needs. Absent this trust, your process will be dysfunctional. No environment is perfect, but at some point the trust issues may get bad enough that it becomes unworkable.
Having said that, there are any number of things that I, as a developer, have to do "just because." I, for instance, have to do just this sort of thing because that's the way the whole organization works -- developers, included. I can live with that. I would say track your time, but plan from sprints. Record your "unproductive" time meaningfully -- as technology research, office tasks, etc. -- whatever they may be -- so that the business folks understand that you are always productive even when not developing code.
EDIT Oh -- and if the time tracking activity is particularly onerous, like filling out detailed daily logs, make sure you keep track of the amount of time you spend tracking your time very clearly so they know how much the activity is costing.
We have been using Agile/SCRUM for about 2 years now, and we've never recorded actuals.
It seems that every now and then attempts are made to get everyone to record this information. Usually this is as a result of a poor sprint where the blame lies squarely at poor estimation. But it's too easy to forget to mark these down - although I'm sure with enough 'gentle prodding' it would become habit.
The idea that I see again and again - and the one that I agree with - is that your velocity should answer any question you (or the product owners) need to ask regarding progress on tasks.
发布评论
评论(5)
作为一名开发经理,我既希望确保开发顺利进行(通过 Scrum),又希望对每个项目的时间进行统计,以便我们知道我们的钱花在哪里(时间跟踪)。
因此,在冲刺期间,团队成员被要求更新未完成任务的剩余时间以计算燃尽图。 时间不应超过几分钟。 由于我们使用 Scrum,团队决定任务,我不在乎谁在做什么,只要我们有燃尽图即可。
我还要求他们跟踪每个项目的时间,但这不是很详细。 我不想记录他们的每一分钟。 此信息用于了解发布版本需要多长时间或开发产品需要花费多少资金。
由于我们使用 Scrum,时间跟踪非常简单,因为团队的所有成员都在同一个项目上工作很长时间。
As a development manager, I am both interested in making sure that development runs smoothly (via Scrum) and that time is accounted for per project so we know where we are spending our money (Time Tracking).
Therefore, during a sprint team members are asked to update the amount of time remaining on outstanding tasks to compute the burndown chart. It should not take more than a couple of minutes. Since we are using Scrum, the team decides on the tasks and I don't care who is doing what as long as we have a burndown chart.
I also ask them to track their time per project and this is not very detailled. I don't want to track every minute of their time. This information is used to get a feel for how long it takes to release a version or much money goes into developing a product.
Since we are using Scrum time tracking is very simple since all members of a team work on the same project for long period of time.
Scrum 并不死板,它的关键在于适应性和适合您的需求。
为什么不以小时为单位而不是以故事点来估算故事呢? 我们也面临着同样的情况,我们开始以小时为单位进行估算。 开发人员每天根据预计的时间记录他们在一个故事上工作的时间。 每天,人们都可以看到故事还需要多少时间,最后可以看到估计和实际花费的时间。 我们使用 XPlanner 来跟踪这一点,开发人员每天需要一分钟来记录时间。 基于此信息,您始终可以测量速度,这将有助于下一次迭代。
除了与项目相关的故事之外,我们还记录其他活动中损失的时间,例如会议、环境故障、生产支持等。在一段时间内,这些信息为我们提供了大量信息,并且我们设法大大减少了损失的时间。
Scrum is not rigid, its all about adaptability and what suites your needs.
Why don't you estimate stories in hours instead of story points. We too faced the same situation and we started estimating in hours. Everyday against that estimated hours developer log how much time they worked on a story. On daily basis one can see how much more time the story need and in the end one can see the estimate and actual time taken. We used XPlanner to track this and it takes a minute for developer to log time daily. Based on this information you can always measure the velocity which will help in next iteration.
Apart from project related stories we log time lost in other activities, e.g. meetings, environment down, production support, etc. Over a period of time this information gave us lot of information and we managed to reduce that lost time a lot.
第一个问题是——你是一家咨询公司,还是一家内部IT公司。 如果是前者,那么可能需要实际数据才能让他们正确地向客户开具账单。 如果是后者,而且你们都拿薪水,那么原因就不那么清楚了。 我总是怀疑任何经理想知道“程序员花了多少时间做富有成效的工作”。 这是一个指标,我告诉任何形式的敏捷开发团队的关键事情之一是,应该为了团队同意的明确目的而捕获指标。
我会问“问题背后的问题”是什么——或者管理层真正在寻找什么。 他们为什么关心开发人员的生产力? 他们是否很难向他们的经理解释发生了什么? 是否可以提供可以概括的团队指标?
简而言之 - 您的经理可以被视为团队的客户,因此找出您的客户想要什么,并找出最好的方法 - 作为一个团队 - 来提供它。
The first question is - are you a consulting shop, or an internal IT shop. If the former, then actuals may be necessary to allow them to bill the customers correctly. If the latter, and you all are salaried, then the reasons aren't as clear. I'm always suspect of any manager wanting to know "how much time a programmer spent doing productive work". It's a metric, and one of the key things I tell teams with any form of agile development is that metrics should be captured for clear purposes that the team agrees with.
I would ask what the "question behind the question" is - or what management is really looking for. Why are they concerned about developer productivity? Are they having a hard time explaining to their managers what is going on? Are there team metrics that could be provide that you could generalize?
In short - your manager could be considered a customer of the team, so find out what your customer wants, and figure out the best way - as a team - to provide it.
当双方人员之间存在信任时,Scrum 和其他敏捷开发方法才能发挥最佳效果。 管理层需要相信开发人员努力工作并且工作良好。 开发人员需要相信管理层尊重他们的意见,并要求他们根据业务需求做适当的工作。 如果没有这种信任,您的流程将无法正常运转。 没有一个环境是完美的,但在某些时候,信任问题可能会变得非常严重,以至于变得无法运作。
话虽如此,作为一名开发人员,我必须做很多事情,“只是因为”。 例如,我必须做这类事情,因为这是整个组织(包括开发人员)的工作方式。 我可以忍受这一点。 我会说跟踪你的时间,但从冲刺开始计划。 有意义地记录您的“非生产性”时间——例如技术研究、办公室任务等——无论它们是什么——以便业务人员了解即使不开发代码,您也始终保持高效。
编辑哦——如果时间跟踪活动特别繁重,比如填写详细的每日日志,请确保您清楚地记录您花费在跟踪时间上的时间量,以便他们知道有多少时间该活动正在计算成本。
Scrum, and other agile development methods, work best when there is trust between the people involved on both sides. Management needs to trust that developers work hard and work well. Developers need to trust that management respects their input and asks them to do appropriate work based on business needs. Absent this trust, your process will be dysfunctional. No environment is perfect, but at some point the trust issues may get bad enough that it becomes unworkable.
Having said that, there are any number of things that I, as a developer, have to do "just because." I, for instance, have to do just this sort of thing because that's the way the whole organization works -- developers, included. I can live with that. I would say track your time, but plan from sprints. Record your "unproductive" time meaningfully -- as technology research, office tasks, etc. -- whatever they may be -- so that the business folks understand that you are always productive even when not developing code.
EDIT Oh -- and if the time tracking activity is particularly onerous, like filling out detailed daily logs, make sure you keep track of the amount of time you spend tracking your time very clearly so they know how much the activity is costing.
我们使用敏捷/SCRUM 已有大约 2 年了,但我们从未记录过实际情况。
似乎时不时地试图让每个人记录这些信息。 通常这是由于冲刺不力造成的,而责任完全在于错误的估计。 但很容易忘记把这些记下来——尽管我确信只要有足够的“温和的刺激”,它就会成为习惯。
我一次又一次看到的想法 - 并且我同意的想法 - 是您的速度应该回答您(或产品负责人)需要询问的有关任务进度的任何问题。
We have been using Agile/SCRUM for about 2 years now, and we've never recorded actuals.
It seems that every now and then attempts are made to get everyone to record this information. Usually this is as a result of a poor sprint where the blame lies squarely at poor estimation. But it's too easy to forget to mark these down - although I'm sure with enough 'gentle prodding' it would become habit.
The idea that I see again and again - and the one that I agree with - is that your velocity should answer any question you (or the product owners) need to ask regarding progress on tasks.