10

我有一些软件开发人员在为我的项目工作,我想为他们提供一种方法来记录他们在实际开发中花费的时间。

注册开发时间是善意的,没有强制力,但我们尽量避免使用excel表格注册等技术,因为这太不舒服了。

我可以跟踪 svn 提交,但这是不可靠的。开发人员还可以在白天帮助支持不同的项目,因此假设他们一整天都在处理一个项目是不正确的。

我看到实用程序每小时都会弹出一条消息以确认您正在处理的项目,但这很烦人。

某种活动窗口标题分析器可能会有所帮助(在 Visual Studio 的情况下,您可以从那里获得解决方案名称),但我没有这种想法的经验。

如果你有任何程序员/设计师工作时间注册的经验,请与我分享。谢谢

4

11 回答 11

10

这是一个很好的问题,衡量开发项目所花费时间的最佳方法是根本不衡量所花费的时间。

你说注册时间是好的意愿,但我有疑问。实际上,从开发人员的角度来看,过多的时间管理会分散大多数人的注意力(也许是地球上所有的开发人员)。

我可以理解为什么 ODesk 上的时间测量如此之多。这是有充分理由的,因为项目时间由客户预先支付给 ODesk,并且开发人员需要向 ODesk 证明工作时间。付款也有保证,而且它不太可能在现实生活中遇到 oDesk 提供商和开发人员,因此没有信任。

由于您不太可能预先支付开发人员费用,而且您更有可能建立更好的信任,因此您可能需要将注意力从笨拙和烦人的管理策略转移到更有用的方式上。

是的,女士们,先生们,我说的是 Scrum。把你的开发人员每小时的标签放在窗外的任何想法(他们会喜欢你的)。而是将 Scrum 管理引入到场景中。

为您的产品开发创建一些冲刺(里程碑),并在其中列出迭代(批量可交付成果),尝试将您的迭代减少到每周一次。创建一个产品待办事项,并确保你知道谁在做什么。在团队中找人代表您担任 Scrum Master,或自己承担此责任。确保你有每天的反馈会议,保持简短和集中,以确定可能妨碍交付成果的任何风险。让开发人员或多或少地推动时序过程,并获得对任务的现实估计。

读一两本关于 scrum 的书,让其他人和团队成员参与学习曲线。调整基本的 scrum 方法以最适合您特定的管理风格,我向您保证,您将拥有一个非常快乐的团队。

以工日为单位衡量您的时间,并尽量避免让开发人员在每小时的进度中落后......

于 2009-10-15T15:23:32.343 回答
3

您可能已经从谷歌搜索中看到了各种时间跟踪软件工具。但老实说,您要求的是时间跟踪的圣杯。例如,您是否认为开发人员盯着她的代码并认为是开发时间?她可能会盯着屏幕看 1 小时,而只打字 10 分钟。在这种情况下,当他们真正工作了 1 小时 10 分钟时,他们看起来并没有工作太多。我并不是说你所要求的不是一件有效的事情,只是想要它似乎是那些没有完美解决方案的问题之一。

祝你好运。

于 2009-10-15T15:20:35.890 回答
2

我认为您问错了问题,并且正走向滑坡。开发中有很多与实际编码无关的内容。

我认为,如果您对跟踪某事一无所知,那么更好的解决方案是跟踪花费在与开发无关的活动上的时间。当然也有一些灰色地带。例如,讨论用户需求的会议可能应该计入开发,即使不会完成任何编码。

于 2009-10-15T15:32:28.053 回答
1

你需要像这个仪表板这样的东西来测量任务时间。了解真正的软件开发人员时间的唯一方法是跟踪它。这样,当他们切换任务时,他们可以停止时钟。我认为最难的事情是让开发人员使用它来衡量他们在某个项目甚至代码模块上工作的时间等。如果你可以使用这些指标来减少分心和其他时间的浪费,你可能会在至少能够得到一个像样的东西,比如他们花多少时间编码、电子邮件和与其他开发人员交谈等。

于 2009-10-15T16:12:34.680 回答
1

如果您尝试衡量开发人员作为其活动窗口的内容,则必须假设善意,因为如果您试图拧紧他们的螺丝,任何体面的开发人员都可以偷偷摸摸。例如,我在 Firefox 中花费了大约三分之一的“开发时间”来查看参考资料。

也许要求开发人员只保留日志,这样您就知道他们的时间都花在了哪里?虽然这并不理想,但你永远不会做得比这更好。

于 2009-10-15T16:16:04.893 回答
1

如果您试图衡量花在分心和干扰以及其他任务上的时间,那么愿意为您提供这些信息不符合您的开发人员的利益吗?
您在某处说过您正在实施 Scrum。

如果您真的必须在每日例会中接受它,使其成为仪式的一部分,或者在一天结束时添加一个非常短的每日会议。让开发人员猜测一天中有多少时间花在了分心和干扰以及其他任务上。对我来说,考虑到所涉及的困难,这感觉就像任何其他测量方式一样接近“正确”。

因此,与其让开发人员记下时间,不如让 scrummaster 的工作来总结它,并让开发人员尽可能轻松地完成这项工作。确保开发人员也从这样做中获得了一些切实的东西,否则它将很快进入障碍列表。

正如 Dean J 暗示的那样,无论如何您都必须信任开发人员。

于 2009-10-15T16:32:11.953 回答
1

这取决于您的 IDE——如果您使用的是 Eclipse,那么我建议您使用Mylyn插件。您可以衡量花费在每个任务上的时间。可以从每个著名的任务存储库(即Tuleap )中获取任务。详情在这里

用户只需要将任务置于活动模式 - 并在任务完成后停用即可停止计时器。我认为 Mylyn 将支持这样的过程 - 如果任务的状态发生变化,那么这将触发活动模式(如果关闭则停用任务)

有时开发涉及使用浏览器或终端。Eclipse 既可以用作浏览器,也可以用作终端——因此开发人员无需离开 Eclipse——因此几乎可以测量与任务相关的每个活动。

于 2013-08-28T19:42:03.800 回答
0

尝试DotProjectXPlanner

于 2009-10-15T15:12:57.670 回答
0

活动窗口分析器不会为您提供可靠的结果,因为您的开发人员将在程序(Outlook、文件资源管理器、版本控制、互联网浏览器等)之间进行交换。您建议的分析器不会记录该时间,尽管它很可能是开发人员投入项目的开发时间的一部分(软件开发不仅仅是在 VS 中编码)。

于 2009-10-15T15:14:28.960 回答
0

试图衡量开发人员的工作时间是错误的概念。一个适当的问题是程序员的效率是什么。这无法通过编码时间、坐在电脑前的时间等来衡量。

正如 Joel Spolsky 在一篇关于软件工艺的博客中所说的那样,软件开发“……不是制造过程”。

这篇关于侵入式程序员生产力测量工具的 SO 文章中出现了一个相关但有些不同的讨论。

于 2010-06-13T04:42:20.893 回答
0

我绝对不建议您使用任何强制开发人员的时间测量软件。这极大地分散了开发人员的注意力。

相反,可以使用以下简单技术:

电子表格:适用于较小的项目或开发人员团队

没有什么比在线创建和共享电子表格、向其中添加项目任务、将任务分配给开发人员、让开发人员估计他们的任务的时间、让他们更新他们的任务状态更容易的了(非常粗略的值在 0% 之间)和 100%),让他们指定完成任务所需的时间(小时)。

因此,在电子表格中,您可能有以下列:任务名称、分配给、估计小时数、实际小时数、完成 (%)

谷歌云端硬盘电子表格可能是答案。这是一种非常简单且快速的方法,可以最大限度地分散开发人员的注意力。

Scrum:适用于大中型项目或开发人员团队

任务和 Scrum 信息被记录并保存在办公室的板上和/或可以使用特殊的 Scrum 应用程序。一个好的 Web Scrum 应用程序是Pivotal Tracker,我会向任何规模的项目或团队推荐它。

有关 Scrum 的更多信息: http ://en.wikipedia.org/wiki/Scrum_(development )


在这两种情况下,产品负责人(客户或与客户打交道的人)、项目经理和所有开发人员都可以更好更快地:

  • 交流
  • 估计
  • 查看团队和所有相关人员的进展
于 2013-01-23T13:41:42.047 回答