Project management 组织代码以及如何在编程截止时间内达到截止时间

Project management 组织代码以及如何在编程截止时间内达到截止时间,project-management,Project Management,我知道这可能不完全是一个程序员的问题,但我觉得它仍然与编程有关,因为我相信许多开发人员以前都遇到过这个问题,可能对如何解决这个问题有一些见解,或者有一些建议。不过,实际上还有一个编程问题 我作为开发人员的问题 我在一家小公司工作,大约有15人,其中5人是开发人员,包括我自己,其余是技术支持和管理人员。我遇到的问题是,当我们收到SOW工作说明书时,我们的客户会给我们一个他们所要求的项目的粗略描述,通常是一个1-3页的简要描述,通常包括一个Visio文档,现在作为编程,我负责审阅文件,并传达完成项目

我知道这可能不完全是一个程序员的问题,但我觉得它仍然与编程有关,因为我相信许多开发人员以前都遇到过这个问题,可能对如何解决这个问题有一些见解,或者有一些建议。不过,实际上还有一个编程问题

我作为开发人员的问题

我在一家小公司工作,大约有15人,其中5人是开发人员,包括我自己,其余是技术支持和管理人员。我遇到的问题是,当我们收到SOW工作说明书时,我们的客户会给我们一个他们所要求的项目的粗略描述,通常是一个1-3页的简要描述,通常包括一个Visio文档,现在作为编程,我负责审阅文件,并传达完成项目所需时间的时间表

不幸的是,有很多次,不仅仅是我,我们低估了这个项目,因为在我们真正开发它之前,我们没有完全投入其中,这最终给了我们自己一记耳光,因为我的老板很不高兴,因为他被客户纠缠,而客户现在很不高兴,因为我们错过了承诺的最后期限

我的问题是,当你们需要给出更多概念的最后期限时,你们如何组织基本的项目描述,你们对如何组织它有什么想法吗

我正在考虑去找我的老板,建议我们不要总是把预计的截止日期推给我们的客户,因为他们希望我们能达到这个目标,我们应该写一份详细的文档,更像是一步一步地写下如何开发他们想要的应用程序,这可能需要更多的时间,但至少,如果项目被转移到其他人那里,它是为他们安排的,当我通常在4个月后回到项目中时,我不必再次刷新,我可以按照我写的步骤进行

你们觉得怎么样?思想?或者更好的方法来处理这个问题?

夸大你的项目截止日期。这是大多数程序员应该做的事情,我引用我所在公司的副总裁的话:

这是众所周知的事实 谁在软件行业工作 最后5%的开发时间总是最长的


如果可能的话,试着尽可能多地划分更高级别的任务,这样你就可以得到子任务所需工时的更好近似值

此外,在任务执行中添加隐藏缓冲区有助于覆盖一些看不见的意外情况


干杯

如果您与客户一起模拟balsamiq或其他东西,您将获得更多细节。有了这些细节和一些经验,你的估计会更准确。然后再加倍,先加上4小时、天、周、月,除非你系统地低估,否则你的老板不应该生气。回答客户的问题是他的工作,他应该知道,根据定义,评估不是未来。从统计学上讲,有时你应该提前交付,有时应该晚交付。 就我个人而言,我认为需要多长时间的框架并不完全适合进行讨论。软件开发是一项有风险的业务,变化/惊喜总是发生。一个有帮助的方法是少关注正确的数字,多关注波动性。看一看这个项目,考虑一下你清楚地知道你需要多长时间做这件事并了解它的地方,看看那些你不确定的需求,新技术的地方,然后考虑这些情况会有多糟糕,为什么。这将帮助你得到的不是一个数字,而是界限:你认为合理的,最坏的情况,也许是客户永远不会看到的最好的情况:-并将这些信息传达给你的老板,以便他能够相应地管理。
此外,这将允许您识别项目的危险点,然后您可以相应地原型化-尽早查看不确定性点,以便您可以快速缩短时间线,并为您的老板和客户提供早期警告

如果您将您的开发转换为使用迭代方法(敏捷、XP、Scrum等),那么客户将比您认为必须承诺的任何截止日期更早看到结果—通常每1或2周一次

当他们看到您开发的产品时,我可以保证他们会对最初的需求进行更改,因为他们现在有了产品的视觉表现,而这可能不是他们所想的。他们的一些变化可能非常激进,因此最好尽早获得反馈

在我坚持要我们这样做的所有项目中,客户都很高兴——他们很早就看到了结果,可能会影响项目结果,而且我们达到了他们的最终期限。出乎意料的是,一大堆功能都被抛在了后面,而且——猜猜怎么着——客户在拿到产品时根本不介意 p他们想要的功能,并将项目/产品直接投入生产,因为他们有很多时间来改进它以适应他们的业务,所以他们已经熟悉它了

要让管理层、销售人员、创意人员等都接受迭代风格需要付出大量努力,因此您可能需要在同一时间实施混合解决方案,但以我的经验,这是非常值得的


如果完全转向迭代是不可能的,那么将您的项目划分为有形的里程碑,并交付这些里程碑。正如其他人所说,夸大你的估计。我的前任经理将我的预算翻了一番,销售团队也将他的预算翻了一番。

缩短任务;跟踪您的估计,并从错误中吸取教训……这个问题似乎离题了,因为它超出了Stack Overflow的编程问题范围。是的,我们中的一些人正试图鼓励敏捷,但很多人都陷入了他们的舒适区