热门标签 | 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.

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


推荐阅读
  • vue使用
    关键词: ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 本文详细介绍了Android中的坐标系以及与View相关的方法。首先介绍了Android坐标系和视图坐标系的概念,并通过图示进行了解释。接着提到了View的大小可以超过手机屏幕,并且只有在手机屏幕内才能看到。最后,作者表示将在后续文章中继续探讨与View相关的内容。 ... [详细]
  • 本文介绍了使用C++Builder实现获取USB优盘序列号的方法,包括相关的代码和说明。通过该方法,可以获取指定盘符的USB优盘序列号,并将其存放在缓冲中。该方法可以在Windows系统中有效地获取USB优盘序列号,并且适用于C++Builder开发环境。 ... [详细]
  • Summarize function is doing alignment without timezone ?
    Hi.Imtryingtogetsummarizefrom00:00otfirstdayofthismonthametric, ... [详细]
  • 【爬虫】关于企业信用信息公示系统加速乐最新反爬虫机制
    ( ̄▽ ̄)~又得半夜修仙了,作为一个爬虫小白,花了3天时间写好的程序,才跑了一个月目标网站就更新了,是有点悲催,还是要只有一天的时间重构。升级后网站的层次结构并没有太多变化,表面上 ... [详细]
  • 1、PLSQLDeveloper记住登陆密码在使用PLSQLDeveloper时,为了工作方便希望PLSQLDeveloper记住登录Oracle的用户名和密码&#x ... [详细]
  • Forexperiencedcryptoinvestors,thereareseveralsectorsthatseemedpromisingbutdidn’tlive ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • android 触屏处理流程,android触摸事件处理流程 ? FOOKWOOD「建议收藏」
    android触屏处理流程,android触摸事件处理流程?FOOKWOOD「建议收藏」最近在工作中,经常需要处理触摸事件,但是有时候会出现一些奇怪的bug,比如有时候会检测不到A ... [详细]
  • macOS命令行创建Android模拟器
    macOS下不安装AndroidStudio使用VSCode来开发Flutter应用使用命令行创建和管理Android模拟器设备avdmanageravdmanager 是一种命令 ... [详细]
  •  项目地址https:github.comffmydreamWiCar界面做的很难看,美工方面实在不在行。重点是按钮触摸事件的处理,这里搬了RepeatListener项目代码,例 ... [详细]
  • 涉及的知识点-ViewGroup的测量与布局-View的测量与布局-滑动冲突的处理-VelocityTracker滑动速率跟踪-Scroller实现弹性滑动-屏幕宽高的获取等实现步 ... [详细]
  • 关于extjs开发实战pdf的信息
    本文目录一览:1、extjs实用开发指南2、本 ... [详细]
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社区 版权所有