热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在计划/估算游戏中形成“峰值”?-Howdo“spikes”figureintheschedule/estimationgame?

Mightbesubjectiveandordiscussion..butheregoes.可能是主观和或讨论..但是这里。Ivebeenaskedtoestimat

Might be subjective and/or discussion.. but here goes.

可能是主观和/或讨论..但是这里。

I've been asked to estimate a feature for the next big thing at work. I break it down.. use story points come up with a estimate. The feature however calls for interfacing with GoDiagrams a third party diagramming component in addition to various other company initiatives.. (a whole set of 2008_Limited_Edition frameworks/services:). I've been tracking myself using a burn-up chart and I find that I'm unable to sustain my pace primarily due to "spikes".. Definition

我被要求估计下一个重要工作的功能。我把它分解了......使用故事点得出估计值。然而,除了各种其他公司计划之外,该功能还要求与GoDiagrams连接第三方图表组件。(一整套2008_Limited_Edition框架/服务:)。我一直在跟踪自己使用燃尽图表,我发现我无法维持我的节奏主要是由于“尖峰”。定义

I estimate for 2 points a week and then I find myself working weekends (well trying to.. end up neither here nor there) because I can't figure out where to hook in so that I can preview user-actions, show a context menu, etc. In the end I spend time making spikes that throw my schedule off-track... and decreases its value.. doesn't give the right picture.

我估计每周2点,然后我发现自己在周末工作(很好地试图......最终在这里也没有),因为我无法弄清楚在哪里挂钩以便我可以预览用户操作,显示上下文菜单等等。最后,我花时间制作尖峰,使我的日程安排偏离轨道......并降低其价值..但没有给出正确的图片。

Spikes are needed to drive nails through the planks of ignorance. But how are they factored into the estimation equation? Doing all required spikes before the feature seems wrong.. (might turn out to be YAGNI) Doing it in between disrupts my flow. Right now it's during pre-iteration planning.. but this is pushing the touchline out on a weekly basis.

需要钉子才能将钉子钉在无知的木板上。但它们如何计入估算方程?在功能看起来错误之前做所有必需的峰值..(可能会变成YAGNI)在中间执行它会扰乱我的流量。现在正是在预迭代规划期间..但这是每周推出界线。

4 个解决方案

#1


6  

I guess you are constantly underestimating

我猜你一直在低估

  • what you do already know about the 3rd party component
  • 您已经了解的第三方组件

  • how long it takes you to create usable/helpful spikes for unknown areas
  • 你需要多长时间才能为未知区域创建可用/有用的尖峰

1. Get better at estimating those two things.

1.更好地估计这两件事。

So, it's all about experience. No matter what methodology you use, they will help you to use your experience better, not replace it.

所以,这都是关于经验的。无论您使用何种方法,它们都将帮助您更好地使用您的体验,而不是替换它。

2. Try not to get lose track when working on those spikes.

2.在使用这些尖峰时,尽量不要失去踪迹。

They should be short, time boxed sessions. They are not about playing around with all the possible features listed on the marketing slides. Give them focus, two or three options to explore. Expect them to deliver one concrete result.

它们应该是简短的,有时间限制的会议。他们不是在玩营销幻灯片中列出的所有可能功能。给他们集中注意力,两个或三个选项来探索。期望他们提供一个具体的结果。

Update(Gishu): To summarize

更新(Gishu):总结一下

  • Spikes need to be explicit tasks defined in the iteration planning step.
  • 尖峰需要是迭代计划步骤中定义的显式任务。

  • If spikes exceed the timebox period, stop working on it. Shelve the associated task. Complete the other tasks in the current iteration bucket. Return to the shelved task or add a more elaborate/broken down spike to the next iteration along with the associated task. Tag a more conservative estimate to the generation 1 spike the next time.
  • 如果尖峰超过时间段,则停止工作。搁置相关任务。完成当前迭代存储桶中的其他任务。返回搁置任务或向下一次迭代添加更复杂/细分的尖峰以及相关任务。下一次将更保守的估计标记为第1代尖峰。

#2


2  

If you run out of time in your timeboxed spike, you should still stop and complete your other committed work. You should then add another spike to your next iteration to complete the necessary work you need to complete in order to accurately estimate the task resulting from the spike.

如果你的时间盒峰值时间不足,你仍应停止并完成其他承诺的工作。然后,您应该在下一次迭代中添加另一个尖峰,以完成您需要完成的必要工作,以便准确估计由尖峰产生的任务。

If there is a concern over spiking things for too long and this becoming a problem - this is one reason I like 1 week iterations. :-)

如果长时间关注尖峰事件并且这成为一个问题 - 这就是我喜欢1周迭代的一个原因。 :-)

#3


1  

@pointernil.. It's more of no estimation coupled with a Indy-Jones Head-First approach to tackling a story. I estimate stories by their content.. currently I don't take into account the time required to find the right incantation for the control library to play nice. That sometimes takes more time than my application logic.. So to rephrase the Original question, should spikes be separate tasks in the iteration plan, added on a JIT basis before you start working on a particular story?

@pointernil ..更多的是没有估计加上Indy-Jones Head-First方法来处理故事。我根据他们的内容估计故事..目前我没有考虑到找到正确的咒语所需的时间让控制库发挥得很好。这有时需要比我的应用程序逻辑花费更多的时间。所以,为了重新解释原始问题,spikes应该是迭代计划中的单独任务,在开始处理特定故事之前在JIT基础上添加?

My Spikes are extremely focussed.. I just can't wait to get back to the "real" problems. e.g. 'How do I show a context menu from this control?' I may be guilty of not reading the entire 150+ page manual or code samples.. but then time is scarce. The first solution that solves the problem gets the nod and I move on. But when you're unable to find that elusive event or NIH pattern of notification used by the component, spikes can be time-consuming. How do I timebox something that is unknown? e.g. My timebox has elapsed and I still have no clue for plugging-in my custom context menu. How do I proceed? Keep hacking away?

我的Spikes非常专注。我迫不及待想要回到“真正的”问题。例如'如何从此控件显示上下文菜单?'我可能会因为没有阅读整本150页以上的手册或代码样本而感到内疚。但是时间紧迫。解决问题的第一个解决方案得到了点头,我继续前进。但是当您无法找到组件使用的难以捉摸的事件或NIH通知模式时,峰值可能非常耗时。我如何计时未知的东西?例如我的时间框已经过去了,我仍然无法插入我的自定义上下文菜单。我该怎么办?继续黑客攻击?

Maybe this comes in the "Buffering Uncertainity" scheme of things.. I'll look if I find something useful in Mike Cohn's book.

也许这出现在“缓冲不确定性”方案中。如果我在Mike Cohn的书中找到有用的东西,我会看。

#4


1  

I agree with pointernil. The only issue is that your estimates are incorrect. Which is no big drama, unless you've just blown out a 3 million dollar project of course :-)

我同意pointernil。唯一的问题是您的估算不正确。这不是什么大戏,除非你刚刚吹出一个300万美元的项目当然:-)

If it happens once, its a learning experience. If it happens again and the result is better, then you've got another learning experience under your belt. If you are constantly underestimating and your percentages are getting worse, you need to wisen up a bit. No methodology will get you out of this.

如果它发生一次,它是一种学习经验。如果再次发生并且结果更好,那么您将获得另一种学习体验。如果你经常低估你的百分比越来越差,你需要稍微提高一点。没有任何方法可以让你摆脱这种局面。

Spikes just need to be given the time that they need. The one thing I've seen happen repeatedly in my experience is that people expect to be able to nail a technology within a couple of hours, or a day. That just doesn't happen in real life. The simplest issue, even a bug caused by a typo, can have a developer pulling their hair our for huge chunks of time. Be honest about how competent yourself or your staff really are, and put it in the budget.

尖峰只需要给他们需要的时间。根据我的经验,我所看到的一件事就是人们希望能够在几个小时或一天内完成一项技术。这在现实生活中不会发生。最简单的问题,即使是由错字导致的错误,也可能让开发人员将头发拉到我们的大块时间。要诚实地说明自己或员工的实际能力,并将其纳入预算。


推荐阅读
  • 本文将深入探讨 Unreal Engine 4 (UE4) 中的距离场技术,包括其原理、实现细节以及在渲染中的应用。距离场技术在现代游戏引擎中用于提高光照和阴影的效果,尤其是在处理复杂几何形状时。文章将结合具体代码示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 在Android平台上利用FFmpeg的Swscale组件实现YUV与RGB格式互转
    本文探讨了在Android平台上利用FFmpeg的Swscale组件实现YUV与RGB格式互转的技术细节。通过详细分析Swscale的工作原理和实际应用,展示了如何在Android环境中高效地进行图像格式转换。此外,还介绍了FFmpeg的全平台编译过程,包括x264和fdk-aac的集成,并在Ubuntu系统中配置Nginx和Nginx-RTMP-Module以支持直播推流服务。这些技术的结合为音视频处理提供了强大的支持。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • 小编给大家分享一下Vue3中如何提高开发效率,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获, ... [详细]
  • 如何高效解决Android应用ANR问题?
    本文介绍了ANR(应用程序无响应)的基本概念、常见原因及其解决方案,并提供了实用的工具和技巧帮助开发者快速定位和解决ANR问题,提高应用的用户体验。 ... [详细]
  • JavaScript 实现图片文件转Base64编码的方法
    本文详细介绍了如何使用JavaScript将用户通过文件输入控件选择的图片文件转换为Base64编码字符串,适用于Web前端开发中图片上传前的预处理。 ... [详细]
  • 管理UINavigationController中的手势返回 - Managing Swipe Back Gestures in UINavigationController
    本文介绍了如何在一个简单的闪存卡片应用中实现平滑的手势返回功能,以增强用户体验。 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • Python 序列图分割与可视化编程入门教程
    本文介绍了如何使用 Python 进行序列图的快速分割与可视化。通过一个实际案例,详细展示了从需求分析到代码实现的全过程。具体包括如何读取序列图数据、应用分割算法以及利用可视化库生成直观的图表,帮助非编程背景的用户也能轻松上手。 ... [详细]
  • 本文深入探讨了 `ExpressionChangedAfterItHasBeenCheckedError` 错误的原因及其解决方案。通过分析 Angular 的变更检测机制,详细解释了该错误的发生条件,并提供了多种有效的应对策略,帮助开发者在实际开发中避免这一常见问题。 ... [详细]
  • 深入解析Android中图像资源的内存占用问题及其优化策略
    在Android开发过程中,图像资源的内存占用是一个值得关注的问题。本文将探讨图像内存占用与哪些因素相关,包括设备性能的影响,并提供一系列优化策略,帮助开发者有效管理图像资源,提升应用性能。 ... [详细]
  • 深入掌握 React Hooks,让你的应用开发如虎添翼
    本文首发于政采云前端团队博客,详细探讨了 React Hooks 的核心概念与实用技巧。通过深入解析常见 Hooks 的使用场景和高级用法,帮助开发者在实际项目中更加灵活高效地运用 React Hooks,提升应用开发效率和代码可维护性。无论是初学者还是有经验的开发者,都能从中获得宝贵的知识和实践经验。 ... [详细]
  • 本文详细解析了使用C++实现的键盘输入记录程序的源代码,该程序在Windows应用程序开发中具有很高的实用价值。键盘记录功能不仅在远程控制软件中广泛应用,还为开发者提供了强大的调试和监控工具。通过具体实例,本文深入探讨了C++键盘记录程序的设计与实现,适合需要相关技术的开发者参考。 ... [详细]
  • 本文探讨了如何在社交媒体平台上高效地获取和管理好友列表。通过分析当前流行的社交应用,如微信、Facebook等,提出了一系列实用的方法和技巧,帮助用户优化好友管理流程,提升社交体验。文章还介绍了相关工具和插件,以进一步简化操作步骤,确保用户能够快速、准确地管理和维护好友关系。 ... [详细]
  • react的导出是怎么实现的_22 个让 React 开发更高效更有趣的工具
    英文|https:dev.tojsmanifest22-miraculous-tools-for-react-developers-in-2019-4i46翻译|https:www ... [详细]
author-avatar
天堂寨旅游2013_668
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有