Adventure 项目(4)

冬天星期三的下午,下着小雨,空气寒冷无比。Jony 坐在 Adventure IT 部门的会议室里,半天都没有缓过来。Ray 给他带了一杯热咖啡,喝了几口,Jony 感觉好多了。

Ray 把之前和制造部门的谈的内容又向 Jony 介绍了一下:(1) (2) ,“看上去还行对吗?” Ray 笑着说。

Jony 咂了一口咖啡,慢慢的回答“我还不是很明白需要做什么,现在我脑子里面有几个问题呢。”“哦,好,尽管问吧。”

 

Vision

Jony 首先提问:“做这个是为了什么?给制造和IT部门有什么好处?”

Ray 觉得这个很好回答,因为 Excel 处理大量的数据,并对其复杂的关系做分析,无论如何对普通的非专业 IT 用户来说都是痛苦的体验。“因为现在他们用 Excel!而我们的 SharePoint 现在都几乎没人用!”

Jony 听了,点了点儿头,“很好,清楚了。”就像传教士传播他们的信仰一样,推广 SharePoint 的应用、让更多的人使用这个工具也是 Jony 的工作。

 

估算游戏

Ray 很高兴,和专业的人就是容易聊到一起去,能少费很多口舌。“那么,告诉我,你帮我们将这个功能做到 SharePoint 里面,要用多长时间?看,就是一些规则的表格数据,然后加上一点儿求和、平均运算,用最基本的柱图、折线图形显示出来。”

“好吧,终于来了。”Jony 心中默念。这是他经常被问到的问题,而他回答这个问题的方式,在过去12年的工作经历中,也不断变化着。

最开始,Jony 会很兴奋的、以“零风险”的代价说出他认为最快能够完成的时间。

然而几年后,Jony 会开始加入“风险系数”,并且他还总结出了这个行业的一般“风险系数”:3。那是 Jony 工作的第 6 个年头,他收集整理了从当时往前 5 个不同项目的立项计划工期和最后实际交付所用工期之间的比例关系,发现了有趣的事情:

  1. 实际工期与计划工期的比值,在 2.7~3.1 之间变化。
  2. 与实际投入的人员数量几乎没有关系。这个比值始终在 3 附近。
  3. 如果对项目过程中不同类型的活动计算“人·天”(比如计划、设计、开发、测试、部署等),并按照时间轴绘制成折线图,其结果和 RUP(Rational Unified Process)里面的表述非常相似,只不过,在 Jony 当时工作的单位,项目的迭代呈现出“2阶段”的明显特征。
    File:Development-iterative.gif
    上图是 RUP 的阶段一般性模型。Jony 的分析中,设计、开发、测试呈现出明显的“2阶段”特征。

所以,那段时间,Jony 颇为信奉 RUP。

当然,有人觉得比起“3” 这个风险系数,π 似乎看上去更加神秘和高端 Smile

关于这个神秘的“风险系数”,Jony 还有一个小故事。有一次 Jony 带队在客户现场开发,一直做到晚上 7 点,然后,Jony 的队伍就准备撤了。当时,有另外一个项目组也在现场,我们问他们要不要一起走,他们的项目经理说:“再等等吧,我这边半个小时就好了,到时候一起走!”半个小时还可以吧,Jony 想,于是就等他们。结果,正如你们猜测的那样,我们一行人最后是 8 点半才离开的,晚饭通过叫外卖解决。

“风险系数”的玩法,有个问题,就是对手会慢慢猜测出你的“系数”值,然后给你打折扣打掉。有的对手是对半砍,当然,3/2=1.5,仍然比最乐观的估计多了 50% 的余量;有的是 1/3 的砍。

所以,最近几年,Jony 不玩“风险系数”了。

“知之为知之,不知为不知,是知也。”——《论语·为政》

现在,对于不确定的估算,Jony 直接回答:“不知道。”对于可以估计的,这主要是由于有过去历史数据、相似经验支持,Jony 直接给出估计值。

可以想象,如果你说“不知道”,你的对手(客户、经理、anyone)会很诧异并且会刨根问题要求解释。

Jony 的回答是:“我的确是不知道,因为这样的需求我们没有历史数据。但是,我们可以一起找到答案。如果能够把刚才说的 %&%^%56#!@)@#( 当中确定的部分提取出来,则我们先对这个部分进行估计。对于我们不知道的部分,可以做点儿预研,当然,对于预研,我们可以估计一个时间来评估结果。”

当你经验积累,做过的东西越来越多,而未知的部分越来越少,你就越是能减少说“不知道”的机会。

不过,这样做,有几个前提:

  1. 你工作的基础平台是稳定的,这样才有条件积累。今天用 A 技术、明天用 B 技术、后天用 C 平台;然后 C 平台的 2.0 和 1.0 还不兼容。你是难以积累的。
    在这方面,要表扬一下 HTML 和 Javascript。
  2. 团队是稳定的。沟通路径的增减对工期和工时的影响是巨大的。磨合好了团队,更容易在下一次作出准确的估算。

用工期倒逼估算,只能适得其反。这就好比逼着猪爬树一样,猪最后就会把树砍倒,然后,趴在倒了的树上拍照,把照片旋转90度以后发给客户或者经理。

 

结果

Ray 看着 Jony,感觉不可理解“什么,你不知道要多少时间?!”

Jony 平静的说,“是的,我不知道。不过,我们可以在3个月内出第一个可用的原型,然后,我们将基于这个原型来评估下一步的工作。”说这段话的时候,敏捷的箴言在 Jony 脑海中回响。

posted on 2013-06-18 11:30  JonyZhu  阅读(523)  评论(0编辑  收藏  举报