Staying Real
37Signals的一篇Blog,谈到了在现实项目中的种种问题已经应对措施,给我印象最深的,就是由于实际情况,而将固定长度的迭代变成变长的……例如,将完整的14天(两周)的迭代,变成7个工作日的迭代(第一周4天,第二周3天──因为第一周可能需要有大量的讨论,第二周要部署和进行及时的support)。而且每个迭代都会根据实际情况进行调整──比如某些周假期非常多,那就进行更少的计划等。
对于我这种“纪律就是纪律”的守序主义者而言,这确实有些不可思议。我一贯觉得,在长期的项目开发中,工作的节奏需要保持,这种节奏不应该、或者说应该尽可能少的受到现实情况的干扰。比如,在过去的项目中,为了让每个迭代的交付产物看起来差不多,采取了比如延长迭代时间(比如在假期众多的月份)或者主动进行计划预期降低(比如在特定的月份交付更少的功能)。但“减少有效工作日并将其作为计划的基础”,这个则完全没有考虑过。
除了计划层面的考虑之外──其实这方面仔细想想也不难理解,我另外想到的是,对现实的尊重。老外对自己的个人生活都很看重,假期能享受的,绝不工作,8小时之外绝不多工作;工作之外其他的兴趣也照顾的很周全──奇怪的是,对于37Signals这家公司,这些现实的局限丝毫没有阻碍他们成为一家在现代独树一帜、颠覆并成为新一代商业公司典范──无论从技术上、还是商业上超级成功的公司。
然而这就是现实,一个以现实为基础并造成另外一个现实的现实。他们从根本层面尊重员工──将第二周的工作时间变成3天而不是5天是因为部署和support也需要算到工作时间中而不是通宵或者加班;理解浪费的产生不是太少太慢而是太多太快,因此宁愿将事先的讨论放到工作时间之外并放到计划中;理解精致的东西来自手工因此愿意投入两周甚至一个月的时间仅仅为了实现更好的日期选择方式。
也许37Signals是产品公司,对自己的产品有充分的控制能力,因此可以自如的控制进度;然而现实的产生往往来自于当初的意愿。如今的现实让他们公司愿意,也让他们的客户满意。
那么,我们能看到的项目中有哪些影响进度的真实呢?
- 马上就是假期了
- 随着功能的逐渐堆砌,连有经验的人对现在的工作都失去了兴趣
- 新人比例大,成长慢
- 张三家里需要帮助
- 李四每个周二都会早走1小时,因为他要陪老婆去看打折电影
- 王五抱怨每天上班需要1个多小时
- 每隔一个周末都需要部署,目前采用轮换的方式,来值班
- ……
以每个人的都具备职业素养为前提:即在有效的工作时间里,大多数时间我们都高效的完成了工作。上述的真实情筐里,所有额外产生的工作量,是放入团队自行消化,还是将其看作真实的一部分,让项目所有受众理解并且接受?
我们的西安分公司的胡凯给了这个问题很好的一个答案。在一个新人众多的项目里,这些真实充分的体现到了计划和实际中,得到了客户、团队所有人的认可和尊重。他们不加班,不熬夜、不强调个人英雄主义,最终交付最终成为了一个团队成功、客户成功中所有结果的一小部分。我印象很深刻的是,他们充分考虑到了员工成长需要的空间和时间,在我们每次提出给他们做培训和帮助的时候,当我仍然惴惴不安的这是否会打扰团队的时候,他们似乎比我们还要急切想要分享我们能够提供的。
也许有人会说,只需要做计划的时候留够余量就好了。然而我更相信这个余量就是对现实的尊重程度。没有什么比加班更容易抹杀人的想象力了;没有什么比盲目冲刺更容易产生浪费了;没有什么比个人英雄主义更容易让牛人成为牛了。