开发时间条目有多重要?

时间:2010-01-09 11:02:09

标签: project-management

我的最后一年项目(BSc软件工程)我正在查看软件应用程序的时间条目,以及它们是否准确反映了项目的开发,以及它们是否可以改进或自动化。

为此,我将使用VSPackages为Visual Studio构建一个插件原型,该插件将自动跟踪正在处理的文件,将文件分配给任务和项目。该插件还将跟踪Visual Studio中的不活动时段。

然后通过简单的Web应用程序备份,以便非技术人员从中提取报告,以便可以非常准确地跟踪项目。

我目前在一家小公司(10人)工作,无法获得我需要的大量数据以获得良好的结论。出于这个原因,我问是否有可能讨论下面的主题,如果你有几分钟的时间来填写我的问卷,并将结果通过电子邮件发送到文件中包含的地址:

http://www.mediafire.com/?dmrqmwknmty

干杯, 米格

6 个答案:

答案 0 :(得分:3)

在回答您的问题时,开发时间条目很重要。但是你不能通过一个IDE测量它们,也不能通过任何软件测量它们。开发过程是一个复杂的过程,涉及讨论,围绕白板规划,在纸上勾画的图表,在互联网上研究等等。

阅读杰夫阿特伍德关于laziness的精彩帖子以及他在那里提到的其他帖子。一个优秀的,成功的开发人员花费时间远离IDE,确保他们不会花费90%的工作时间重新发明轮子,或者他们当天50%的时间走错了路线,因为他们没有想到设计。< / p>

答案 1 :(得分:1)

我发现基本的想法很有趣,即使自动时间跟踪存在缺陷,就像测量项目提交的数量和频率一样(例如在ohloh.net上完成)可能是一个关于其活动的非常误导的指标。

然而,现实情况是,工作时间是计费的基础,需要以某种方式进行衡量。不过已经有了解决方案。

看看

(还有很多,但我知道这两个。)

他们独立于我正在使用的工具/ IDE工作,他们可以检测我在计算机上的缺席/存在,并提示我如何提交时间,他们可以做所有必要的报告。添加和管理提交的条目也很容易。

您的Visual Studio插件将实现哪些解决方案尚未提供?

答案 2 :(得分:1)

在IDE中进行开发所花费的时间仅提供了开发人员工作时间的(有时非常)部分度量标准。

我最近一直在使用FogBugz版本7,它有一个功能,允许开发人员估计完成一个案例需要多长时间。然后开发人员可以使用该软件说“我正在研究这个案例”。然后根据开发人员的工作时间表(包括休息日),他们说他们在办公室工作的时间以及他们估计他们正在处理案件的时间百分比,时钟将倒计时直到达到零。 / p>

但作为一名开发人员,我知道我很容易被更重要的案件所牵制。我也知道我花了很多时间使用除IDE以外的工具来处理这些案例 - 例如在MbUnit中进行测试,在线查找错误消息说明,或者向那些问我为什么没有完成工作的人提供状态还有一个bug。而且我也曾经去过那些在典型的一天 - 或者更多 - 在会议上或在实验室中在其他地方的远程机器上工作的地方。当我在我的办公桌前时,我可以使用我的计算机来绘制我正在做的工作的想法,或者只是笔和纸。

所以当你提出这个问题时,有很多变量需要考虑,“坐在那边的那个人真的在做他的工作吗?”您真的需要查看比Visual Studio 2008(devenv.exe)更多运行的应用程序。您可能需要查看与开发人员的测试框架,文本文档,与其他计算机甚至Firefox的远程桌面连接相关联的进程的活动。 (对于某人是否真的在工作,Firefox会是一个巨大的判断!)

作为您对该项目的研究的一部分,我还建议研究一些在整个公司行业中使用的其他时间收集系统,并比较它们的功能。

答案 3 :(得分:0)

有点偏离轨道,但你可以潜在使用这种数据来阐明复杂区域(LOC),易于变化的区域(频繁更新'n'天),等等但是,即使这样,也会受到不同程序员开发方法的影响。

答案 4 :(得分:0)

我们每天按项目跟踪所有时间。我每天花不到五分钟来填写我正在做的工作。这不是可以自动化甚至应该自动化的东西,因为它永远不会接近准确。文件并不总是只与一个项目相关联,而且要花费我更多时间告诉应用程序哪些文件属于哪个项目需要五分钟来填充我的时间表。没有人花一整天打字 - 有会议和电话和思考(你知道你想知道你想要输入什么!),这些都不会在你的自动化系统中被捕获。你所要求的内容不会更准确,也不会要求人们每天填写时间表。

答案 5 :(得分:0)

虽然时间条目很重要,但弄清楚如何组织它是问题出现在图片中的地方。非技术人员如何理解开发的各个阶段以了解数据?我同意其他回复,即IDE跟踪是一个糟糕的想法,特别是如果正在完成的部分工作涉及通过Web浏览器更改数据库,这是我在当前的大型CMS项目中所拥有的,我们可能需要更改模板或创建内容以测试功能是否有效。

这也严重忽视了游戏可能发生的系统理念。如果我在调试中打开IDE会怎么样因为我想要扫描内存或做其他需要打开窗口以实际查看某些内容的内容但我也可能离开我的桌面,除非你以某种方式跟踪我在哪里查看和坐着。