您如何处理程序员的日程安排/截止日期?

发布于 2024-07-09 20:58:40 字数 1449 浏览 7 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

酒几许 2024-07-16 20:58:40

首先,您需要区分截止日期和估算。

  • 截止日期来自外部来源,例如“功能 X 需要为贸易展做好准备”。
  • 估计来自内部来源,例如“功能 X 将需要 N 周才能完成”。

一般来说,程序员应该创建估算,而销售/营销人员将创建最后期限。

当两者无法解决时,如果最后期限比预计的时间更近,就会出现问题。

对开发人员(领导)的有用提示:

  • 让负责工作的人创建估算。
  • 确保估算基于微小任务,每个任务不超过一两天。
  • 使用反馈循环让开发人员提高他们的估算技能。
  • 准确的估计技能可以让您更加努力地满足最后期限的要求。

对营销人员/截止日期创建者的有用提示:

  • 不要用截止日期推翻估计。
  • 如果截止日期与估算相冲突,唯一真正的选择是(a)开发人员加班,(b)削减截止日期的要求,或(c)错过截止日期。
  • 解释为什么截止日期很重要,以及功能截止日期的目的是什么(“客户 X 将签署一份六位数的合同”)。
  • 要明白,那些觉得自己无法在紧迫的期限内完成任务的人不会有动力。

Firstly, you need to distinguish between deadlines and estimates.

  • Deadlines come from external sources, eg, "Feature X needs to be ready for the trade show".
  • Estimates come from internal sources, eg, "Feature X will take N weeks to complete".

Generally, programmers should create estimates, and sales/marketing will create deadlines.

Problems occur when the two cannot be resolved - if the deadline is closer than the estimate.

Helpful hints for dev (leads):

  • Let the person doing the work create the estimate.
  • Ensure estimates are based on tiny tasks, each no longer than a day or two.
  • Use a feedback loop to let developers improve their estimation skills.
  • Accurate estimation skills lets you push harder against deadline demands.

Helpful hints for marketers / deadline creators:

  • Don't override an estimate with a deadline.
  • If a deadline conflicts with an estimate, the only real options are (a) developers work overtime, (b) the requirements for the deadline are trimmed, or (c) the deadline is missed.
  • Explain why the deadline is important, and what the purpose of the feature deadline is ("customer X will sign a six-figure contract").
  • Understand that people who feel they cannot meet aggressive deadlines will not be motivated.
自由范儿 2024-07-16 20:58:40

程序员讨厌截止日期是有充分理由的!

在完成一段代码之前,几乎不可能准确估计它需要多长时间来设计、编写和调试。

根据我个人的经验,我花了一个多星期的时间才让一个“简单”的 shell 脚本运行起来,我估计大约需要一个小时。 另一方面,花了大约一周的时间为 COBOL 数据定义编写解析器(包括所有奇怪的 COMP COMP-3 OCCURS 重新定义 SYNC 和松弛字节的东西),我估计大约需要两个月的时间。

另一个大问题是,面对紧迫的期限,程序员会跳过最佳实践并开始黑客攻击。 因此节省了大约 50% 的编码时间,但增加了 300% 的测试和调试时间。

Programmers HATE deadlines for very good reasons!

It's almost impossible to accurately estimate how long a piece of code will take to design, write and debug until you have done it.

From my personal experience I have spent over a week getting a "simple" shell script to work which I would have estimated at about an hour. On the other hand took about a week to write a parser for COBOL data definitions (including all the weird COMP COMP-3 OCCURS redefines SYNC and slack bytes stuff) which I had estimated at about two months.

The other big problem is that faced with a tight deadlines programmers skip best practice and start hacking. Thus saving about 50% of the coding time but adding 300% to the test and debug time.

挽清梦 2024-07-16 20:58:40

传统上,您只能调整质量、功能或时间,最后一个是截止日期。 您真的不想乱搞的品质。 因此,只要您使用的流程允许您校准功能以达到最后期限,我就可以。

Traditionally you can only adjust quality, features or time, the last being the deadline. Quality you really don't want to mess around with. So as long as the process you're using allows you to calibrate features to reach deadlines, I'm ok.

吻泪 2024-07-16 20:58:40

开发人员需要参与制定最后期限。 如果它们是任意的并且在没有开发人员输入的情况下创建,那么他们有权抱怨。 项目合法地受到业务的时间限制,但必须调整资源和功能来弥补。 如果没有开发人员(更不用说 BA、QA 和运营人员)的投入,这些调整就无法进行。

Developers need to be involved in creating the deadlines. If they are arbitrary and created without input from developers then they have a right to complain. Projects legitimately get time constraints from business, but resources and features must be adjusted to compensate. Those adjustments can't be made without input from developers (not to mention BAs, QA and operations folks).

梦在深巷 2024-07-16 20:58:40

我见过的唯一讨厌截止日期的软件工程师/开发人员有这样的感觉,原因有二:

  1. 他们完全没有组织性,
    并且知道他们不会满足
    截止日期,所以不喜欢他们
    因为当他们错过最后期限时
    这让他们看起来很糟糕。
  2. 他们不
    有截止日期的问题,例如
    只要有人懂得
    涉及的工作是设置
    最后期限。 最糟糕的截止日期是
    由试图出售的经理人制作
    项目并说“3周?不
    问题!”然后告诉他们
    他们有 3 名开发团队
    几周来制作一个工作版本
    MS Office 并重新创建
    首席执行官的小孩子的互联网。

The only software engineers/developers I've met who hate deadlines feel that way for one of two reasons:

  1. They are completely disorganized,
    and know that they won't meet the
    deadline, and so don't like them
    because when they miss the deadline
    it makes them look bad.
  2. They don't
    have a problem with deadlines, as
    long as someone who understands the
    work involved is setting the
    deadline. The worst deadlines are
    made by managers trying to sell a
    project and saying "3 weeks? No
    problem!" and then telling their
    development team that they have 3
    weeks to produce a working version
    of MS Office and recreate the
    internet for the CEO's little kid.
你是年少的欢喜 2024-07-16 20:58:40

我认为这取决于时间表的制定方式。 开发商需要在制定时间表方面发挥重要作用。 不然怎么知道合理不合理呢?

如果高层管理人员只是简单地规定“功能 X 需要由 Y 完成”,而没有很好地了解实际需要多长时间(有些事情实施起来比听起来要复杂得多),那么这是一个糟糕的情况事物。 然而,如果他们与开发人员合作来估计实际所需的工作量,并将其与公司的其他需求进行平衡,那么通常效果会很好。

I think it depends on how the schedules are created. The developer needs to have a significant role in coming up with the schedule. Otherwise how will you know if it's reasonable or not?

If someone in upper management simply dictates that "Feature X needs to be done by Y" without having any good insight in to how long it might actually take (some things are a lot more complicated to implement than they sound like) then that's a Bad Thing. However, if they work with the developers to estimate the amount of effort actually required and balance that with the rest of the company's needs, then it generally works out pretty well.

桃扇骨 2024-07-16 20:58:40

嗯,我对最后期限感到非常满意如果这个最后期限是通过深思熟虑的估算过程确定的,并考虑了经理和工程师的意见以及对什么的要求应在上述截止日期前交付的内容已明确定义。

Well, I'm quite happy with a deadline if that deadline has been determined through well thought-out estimate process with input from both managers and engineers and the requirements for what is supposed to be delivered on said deadline are well defined.

£烟消云散 2024-07-16 20:58:40

定期审查至关重要:

  • 列出主要里程碑和可交付成果
  • 将其分解为较小的部分
  • 创建较小的估计集合
  • 使截止日期合理

您必须有截止日期,但同样这些截止日期必须是现实且可衡量的。 移动规范会惹恼开发人员 - 这可能是不可避免的,但不要害怕移动东西(在讨论之后)。

截止日期和工作估算永远不会特别准确,但基本的项目管理技术应该意味着人们意识到错过了它们 - 以及为什么会发生这种情况。

Regular reviews are crucial:

  • List the major milestones and deliverables
  • Break it up into smaller chunks
  • Create a collection of smaller estimates
  • Make the deadlines reasonable

You must have deadlines, but equally those deadlines must be realistic and measurable. Moving the specification around is going to annoy the developer - it might be unavoidable, but don't be afraid to move things (after discussions).

Deadlines and work estimates are never going to be particularly accurate, but so basic Project Management techniques should mean that people are aware of missing them - and why it happened.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文