ipconfiger
2016-08-13 14:16:04 +08:00
搭建项目基础架构所需时间, 经验丰富积累深厚的程序员这里花费的时间较少(因为有大量的可复用的脚手架代码和自己积累的各种库), 所以少则 1 天, 多则 N 天, 你得根据对自己的了解来评估 N 是几, 如果你对自己都不了解的话, 就用上一个项目来类比.
然后是功能开发所需的时间, 根据功能的复杂程度分分级别, 用小时作为粒度, 简单的 1 个小时, 中等的 3 个小时, 复杂的 8 个小时, 特别是简单任务, 很多都是劳动力堆集型的, 这类任务再牛逼的程序员也没法比一个刚够用的程序员快多少, 所以一个牛逼的程序员可能把复杂任务从 8 个小时减少到 1 个小时, 但是没法把简单任务从 1 小时缩短到 40 分钟. 所以还是按照标准来预估, 这个时间作为标准工作量预估.
接下来需要评估自己的工作时间, 不要按照每天 8 小时算, 要按照每天你能够实际工作的时候来算, 比如要排除掉发呆,打望, 看美女, 抽烟, 出门买水, 开会等各种干扰后的时间, 实际上在公司上班的程序员应该不足 5 小时.
标准工作量除以每天实际工作时间, 就是项目开发需要的时间了. 在这个基础上每周加上 2 小时的会议沟通时间,再预留下一周的富裕用于意外情况的冗余. 这样子作为内部项目的评估就相对靠谱了.
如果是外包项目的话, 将上述时间乘以 2
如果是外快项目的话, 评估工作时间要用自己的业余时间来估计, 比如每天晚上有 3 个小时, 就按照 1.5 小时来评估, 最后计算的时间再乘以 2 即可.
以上的评估方法只适合没有任何技术挑战的项目. 如果有技术挑战, 那是另外一种算法了, 但是外包一般都没啥技术含量的