简体   繁体   English

80/20时间管理规则是否适用于开发人员?

[英]Does the 80/20 rule of time management apply to developers?

Jeff's recent article linked to a time management example of the First Fit Decreasing algorithm, which talked about the Pareto principle (or, the 80/20 rule) of time management, that is, that 80% of the work we produce in 20% of our time. Jeff最近的文章First Fit Decreasing算法的时间管理示例相关联,该算法讨论了时间管理Pareto原则 (或80/20规则),即我们80%的工作在20%的我们的时间。

Now we've all heard the programmer quote : 现在我们都听过程序员的

The first 90% of the code accounts for the first 90% of the development time. 前90%的代码占开发时间的前90%。 The remaining 10% of the code accounts for the other 90% of the development time. 其余10%的代码占开发时间的另外90%。

But all jokes aside, it is often as if 20% of your code is to do what you want, and the other 80% is to handle exceptions... so does the 80/20 rule really apply to developers? 但是除了所有的笑话,通常好像20%的代码是你想要的,而另外80%是处理异常......那么80/20规则真的适用于开发人员吗?

Does anyone have any examples of why it does / does not apply to us? 有没有人有任何关于它为什么/不适用于我们的例子?

I think Hofstadter's Law applies. 我认为霍夫施塔特定律适用。

It always takes longer than you expect, even when you take Hofstadter's Law into account. 即使考虑到霍夫施塔特定律,它也总是比你预期的要长。

--Douglas Hofstadter - 道格拉斯霍夫施塔特

On a more serious note, take a look at Critical Chain Project Management . 更严重的是,请看一下关键链项目管理 It recommends that you give two estimates for each step in your project. 它建议您为项目中的每个步骤提供两个估计值。 One is an optimistic estimate that you're about 50% sure you can meet if everything goes right. 一个是乐观的估计,如果一切正常,你大约有50%肯定会遇到。 The other is a more realistic estimate that takes lost time and mistakes into account (my paraphrasing, don't blame the author). 另一种是更现实的估计,将错误的时间和错误考虑在内(我的解释,不要责怪作者)。 Over time and several projects you'll learn which estimate is more accurate, and by how much. 随着时间的推移和几个项目,您将了解哪些估计更准确,以及多少。 It varies by developer, so you need to keep track. 它因开发人员而异,因此您需要跟踪。

absolutely! 绝对! 80% of my time is spent on stackoverflow.com, and 20% actually working. 我80%的时间都花在了stackoverflow.com上,而20%的时间实际上都在工作。

oddly enough, my productivity is the same as it ever was... 奇怪的是,我的生产力与以往一样......

...same as it ever was! ......和以前一样!

;-) ;-)

为您的客户提前2小时编写单元测试和演示功能将为您节省8小时的调试和重写时间。

In my opinion Kozyarchuk gets it right: 在我看来,Kozyarchuk做对了:

The problem isn't so much poor time estimates as it is poor/impossible scope estimates. 问题不在于时间估计不佳,因为范围估计很差/不可能。

Showing the result, or mockups of the results to the customer/manager as early as possible, while testing the codes validity, results in better understanding of the goals/requirements. 在测试代​​码有效性的同时,尽早向客户/经理显示结果或结果模型,从而更好地理解目标/要求。

Remember: A project is a success if it "makes the customers happy" when it is done, not when it meets the requirements known to the analyst, when the project was originally started. 请记住: 如果项目在完成时“让客户满意”,而不是在项目最初启动时满足分析人员已知的要求时,项目就会成功。

Naturally this means that " moving target " is the rule, not a bad thing, and nothing to be afraid of. 当然,这意味着“ 移动目标 ”是规则,而不是坏事,没有什么可担心的。 It also means that I, as project lead/architect, must ensure that cost for the changes in scope can/will be communicated and covered . 这也意味着,作为项目负责人/架构师,我必须确保能够/将会传达和涵盖范围变更的成本

How is this done? 这是怎么做到的?

  • Demo early, demo often (To users and their managers in the same room) 早期演示,经常演示(对同一房间内的用户及其经理)
  • Change Requests Mentality. 变更请求心态。 (So the customer knows what the changes are and what those changes cost, and so the customer can use them to re-scope his project a la carte) (因此,客户知道这些变化是什么以及这些变化的成本是多少,因此客户可以使用它们来重新调整他的项目范围)
  • Be honest, talk to customer and developers .. and make sure they also talk to each other. 说实话,与客户和开发人员交谈......并确保他们也互相交谈。

Does this always work? 这总是有效吗? NO 没有

Why do you even ask about the 80/20 rule? 你为什么甚至问80/20规则? You quoted the 90/90 rule correctly. 您正确引用了90/90规则。 You already know that the 90/90 rules applies to developers. 您已经知道90/90规则适用于开发人员。

(Sorry to respond with facts instead of a joke.) (抱歉用事实回答而不是开个玩笑。)

I spend 20% of my time doing what I want and 80% refactoring it. 我花了20%的时间做我想做的事,80%重构它。

So, yeah, if you consider that it "works" in that first 20%. 所以,是的,如果你认为它在前20%中“有效”。 But, that last 80% makes it reusable, worth maintaining, and a pleasure (instead of a burden) to use in the future. 但是,最后的80%使其可重复使用,值得维护,以及将来使用的乐趣(而不是负担)。

The Pereto Principle applies a lot to Developers. Pereto原则适用于开发人员。 Some say that 80% of the work is done by 20% of the Developers. 有人说,80%的工作是由20%的开发人员完成的。 Also, 80% of the bugs are generated by 20% of the Developers. 此外,80%的错误是由20%的开发人员产生的。 In addition, 80% of the features are used by 20% of the users. 此外,20%的用户使用了80%的功能。 Those are the examples that I've heard of. 这些是我听说过的例子。

I am with Bill the Lizard. 我和比尔蜥蜴在一起。 It ALWAYS takes longer than expected due to very unexpected things or probably things that weren't taken into account. 由于非常意外的事情或者可能没有考虑到的事情,它总是花费比预期更长的时间。

Yes, the 80/20 law applies to developing, but you have to interpret it differently: 是的,80/20法律适用于开发,但您必须以不同的方式解释它:

  • The first 80% of the code is done in 20% of the time. 前80%的代码在20%的时间内完成。
  • The remaining 80% of the time is not enough to do the remaining 20% of the code. 其余80%的时间不足以完成其余20%的代码。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM