根据经验估计项目持续时间

发布于 2024-10-03 22:03:53 字数 1455 浏览 0 评论 0原文

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

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

发布评论

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

评论(5

翻了热茶 2024-10-10 22:03:53

Do yourself a favor and pick up Steve McConnell's Software Estimation: Demystifying the Black Art. If you have access to past estimates and actuals this can greatly aid in producing a useful estimate. Otherwise I recommend this book and identifying a strategy from it most applicable to your situation.

回忆追雨的时光 2024-10-10 22:03:53

仅期望利用开发人员 70% 的时间。另外30%将用于开会、回复邮件、乘电梯等。例如,如果他们每天工作8小时,那么他们每天只能编码5.6到6.5小时。如果他们在人们使用电话的嘈杂环境中工作,请减少此数字。

在开发人员向项目经理提供的任何估算的基础上加上 20%。

代码行数作为评估项目的指标是没有用的。

成功或失败取决于客户的简洁要求。如果要求不完整,客户可能会对成品不满意。

请相信,并非所有要求都由客户决定。整个项目的要求将会有所修改。

Only expect to utilize 70% of your developers time. The other 30% will be spent in meetings, answering email, taking the elevator, etc. For example if they work 8hrs a day, they will only be able to code for 5.6 to 6.5 hours a day. Reduce this number if they work in a noisy environment where people are using the telephone.

Add 20% to any estimate a developer gives the project manager.

Lines of code is useless as a metric in estimating a project.

Success or failure depends on concise requirements from the customer. If the requirements aren't complete, count on the customer being not happy with the finished product.

Count on the fact that not all of the requirements will be dictated by the customer. There will be revisions to the requirements throughout the project.

涙—继续流 2024-10-10 22:03:53

步骤 1. 创建一个尽可能细化的计划。
第 2 步:询问相关人员他们的功能需要多长时间。
步骤 3. 创建一个 Excel 电子表格,将预测映射到实际时间。
步骤 4. 对所有新项目重复步骤 1-3。利用步骤 3 的先前实例的聚合映射将开发人员的估计转换为实际估计。

请注意,有一些工具可以为您执行此操作。

另请参阅
基于证据的调度

Step 1. Create a schedule that is as granulated as is reasonably possible.
Step 2. Ask the people involved how long their features will take.
Step 3. Create an Excel spreadsheet which maps predictions to actual times.
Step 4. Repeat steps 1-3 for all new projects. Make use of an aggregated mapping from previous instances of step 3 to translate developer estimates to actual estimates.

Note that there are tools which can do this for you.

See also
Evidence-based-scheduling.

ゃ懵逼小萝莉 2024-10-10 22:03:53

这个项目不会便宜...

开发人员数量已知且固定,
大多数开发人员都高于平均水平
的专业知识,但是一些学习
关于特定领域的问题可能是
必填。

这是一件好事。您不想让大量的开发人员涌入该项目。不过,如果人数超过 10 人左右,请务必将每 2 人算作 1 人,因为其余的人会增加开销。除非你可以将任务分成可以由两个完全独立的团队处理的任务。那么你就有机会获得一些关注。

已知且固定的最大。应用程序数量
用户。

这意味着您可以更确定地尽早确定您的架构,因为您可以估计必须投入多少精力来扩展您的解决方案。这是一件好事。确保您在这些限制内工作,并且永远不要自欺欺人地认为“它已经足够快了”。如果您怀疑它可能太慢,那几乎永远不会......

要使用的技术堆栈是
相当多样化(最多 4 个不同的
语言和多达 6 种不同的
平台)。

这并不重要,重要的是您的员工是否了解这组语言/一组语言?如果涉及任何学习,如果您不预先进行概念验证来学习该技术,则将估计提高 2 倍或 3 倍。或者更好的是,承受痛苦并进行一些训练。如果实现的语言或要使用的技术未知,那么您很可能会滥用该技术并做出一些会搞砸的事情。

确保该技术经过验证,否则您最终会被它咬住。

  • 工具/技术的来源是否可用?
  • 你得到支持吗?
  • 您了解该产品并且/或之前使用过它吗?
  • 客户以前用过吗?

如果这些问题中有太多答案为“否”,请在总和中添加一些(或大量)额外时间。

与最多三个旧版接口
预计系统。

这确实是一个踢球者。对于遗留集成,问问自己:

  • 还有其他人与他们集成吗?
  • 您是否可以接触到了解这些系统的人员?
  • 他们打算与您分享这些知识吗?
  • 您是否必须等待在这些系统中创建更改?
  • 有测试系统可供您使用吗?
  • 有开发系统可供您使用吗?

再说一遍,如果太多的问题都是“不”,那就要害怕。您还应该知道,实际的集成时间比您实际想象的时间大约长 3-5 倍。

这不是一个我会给出抢桌估算的项目。为你自己和你的客户一个忙,按小时做这件事。如果没有,随着时间的推移,您将开始偷工减料,以掩盖您缺乏进展/低估的情况……您和您的客户都会遭受损失。

This project is not going to be cheap...

Number of devs is known and fixed,
most devs are above average in terms
of know-how, however some learning
about domain-specific issues might be
required.

This is a good thing. You don't want to flood the number of developers into the project. Though if you go above around 10 people, do count every 2 as only 1, as the rest will go up in overhead. Unless you can split the task into something that can be handled by two totally separate teams. Then you could have a chance of getting some traction.

Known and fixed max. number of app
users.

This means that you can with more certainty land your architecture early on, as you can estimate how much effort you must put into scaling your solution. This is a good thing. Make sure that you work within these limits and never ever fool yourself into thinking "it's fast enough". It almost never is if you doubt that it could be too slow...

Technology stack to be used is
reasonably diverse (up to 4 different
languages and up to 6 various
platforms).

This isn't as important as to do your people know this stack/set of languages? If there are any learning involved, raise the estimate x2 or x3 if you don't perform a proof of concept up front to learn the technology. Or even better, take the pain and get some coursing. If the language for implementation or technology to be used is unknown, then it is quite likely that you will misuse the technology and do things that will screw stuff up.

Make sure that the technology is proven or you'll end up getting bitten by it.

  • Are the source available for the tools/technology?
  • Do you get support?
  • Do you understand the product and or used it before?
  • Have the customer used it before?

If too many of these questions get a no, add some (or a lot of) additional time to the sum.

Interfacing to up to three legacy
systems is expected.

This is really a kicker. For legacy integration ask yourself:

  • Has anyone else integrated with them?
  • Do you have access to people with knowledge of these systems?
  • Do they intend to share this knowledge with you?
  • Do you have to wait for changes being created in these systems?
  • Are there test systems available for you to use?
  • Are there development systems available for you to use?

Again, if too many of these questions has a "no" on them, then be afraid. You should also know that actual integration takes about 3-5 times longer than you actually think.

This isn't a project that I would have given a table grabbing estimate for. Do yourself and your customer a favor and do this by the hour. If not, you will as times go by start cutting corners to cover up your lack of progress/underestimation... And both you and your customer will suffer.

凝望流年 2024-10-10 22:03:53

有很多成本估算软件工具可以大大减轻成本估算的痛苦,我们使用ProjectCodeMeter。我知道这些工具并不完美,但它们确实通过指向正确的方向来节省入门时间。

尝试一下 Wikipedia 上的估算工具列表

There are many cost estimation software tools that can greatly ease the pain of cost estimation, we use ProjectCodeMeter. I know these tools are not perfect, but they do save time getting started by pointing towards the right direction.

Try this list of estimation tools on Wikipedia.

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