我有一个挂钩到Rally API网络服务的报告。它列出了用于向外部客户端呈现的用户故事和缺陷。 开发人员在时间表中填写他们在任务上花费的时间,但是当我尝试使用'TaskActualTotal'值时,它总是回到0。
当我在时间表上的内部报告生成这些值时,将确定记录这些值。
我是否需要花费时间使用其他方法?
由于
答案 0 :(得分:1)
您的开发人员是否在Time Tracker模块中输入时间? Actuals和Time Tracker模块之间没有任何关联。实际值也早于Time Tracker。
“实际值”字段旨在用于回顾期间,以提供对错过承诺的根本原因的洞察,而时间跟踪器模块旨在帮助报告开发成本。
我们通常只建议使用新的Scrum或Agile团队的Actuals值,他们仍在努力提供良好的估算。在回顾期间将估计值与实际值进行比较可能很有价值,有助于确定估算中可能出现较大差距的位置。
对于更成熟的团队,我们建议隐藏实际字段,因为这些值似乎可以将重点放在花费在特定功能上的时间或资源上,而不是突出显示团队是否作出承诺。
当然,所有团队在使用过程和开发周期方面都有很大不同。
时间表值的目的更多是捕获和报告计费和资本化的开发成本,而不是用于协助完成或估算图表。然而,实际情况是为了在这方面提供帮助,并且就像“估计”和“待办事项”值所做的那样,在故事层面上进行操作,以便于比较。
您仍然可以在WS API中查询Actuals。例如,我有一个有两个任务的故事,每个任务的Estimate设置为2,Actuals设置为3.如果我按照特定的迭代查询用户故事,这个故事是安排的,我得到TaskEstimateTotal和TaskAcutalTotal,只要我取他们。这是我的疑问:
https://rally1.rallydev.com/slm/webservice/v2.0/hierarchicalrequirement?workspace=https://rally1.rallydev.com/slm/webservice/v2.0/workspace/1111&query=(Iteration.Name = i5)&start=1&pagesize=20&fetch=TaskEstimateTotal,TaskActualTotal
以下是回报的相关部分:
{
"_rallyAPIMajor": "2",
"_rallyAPIMinor": "0",
"_ref": "https://rally1.rallydev.com/slm/webservice/v2.0/hierarchicalrequirement/22222",
"_objectVersion": "9",
"_refObjectName": "my story",
"TaskActualTotal": 6,
"TaskEstimateTotal": 4,
"_type": "HierarchicalRequirement"
}
但是,如果在任务的“详细信息”页面上输入了“估计”和“实际值”,则此查询将仅返回结果,而不是在时间跟踪器中输入。
我们的WS API中有两个与Time Tracker相关的对象: TimeEntryItem和TimeEntryValue。
以下是基于Worproduct.Name的TimeEntryItem查询示例:
https://rally1.rallydev.com/slm/webservice/v2.0/timeentryitem?workspace=https://rally1.rallydev.com/slm/webservice/v2.0/workspace/11111&query=(WorkProduct.Name = us1)&start=1&pagesize=20&fetch=WorkProductDisplayString,TaskDisplayString,Values
以及结果的相关部分:
{
"_rallyAPIMajor": "2",
"_rallyAPIMinor": "0",
"_ref": "https://rally1.rallydev.com/slm/webservice/v2.0/timeentryitem/77777",
"_objectVersion": "3",
"TaskDisplayString": "TA1: ta1",
"Values": {
"_rallyAPIMajor": "2",
"_rallyAPIMinor": "0",
"_ref": "https://rally1.rallydev.com/slm/webservice/v2.0/TimeEntryItem/77777/Values",
"_type": "TimeEntryValue",
"Count": 2
},
"WorkProductDisplayString": "US1: us1",
"_type": "TimeEntryItem"
},