Stoned's Blog

A startup hacker.

BE ASYNCHRONOUS

上次的团队分享中,跟大家分享了github的异步的工作方式。把大家的建议总结一下,并发起一个倡议。希望大家可以遵守并形成我们自己的异步的工作方式。

异步的工作方式的优点不言而喻,缩短等待(block)的时间,不会打扰其他人的工作。而这两点归根结底,会影响团队的工作效率,而效率,是一个团队,尤其是创业团队的命根子。

所以要想做到异步的工作方式,我们需要做到:

  1. 保障自己的成果输出质量。希望每个人都可以严格要求自己,对自己的输出成果负责。这其中包括
    • 服务端提供给API接口的正确性保障
    • App客户端提供给大家测试版本的基本正确性(减少明显错误的地方)
    • 设计输出给开发的切图的完整性与正确性
  2. 规范交付成果

    以API接口为例,在API接口可测试的同时,需要告诉App开发工程师,接口的url以及接口参数和调用说明。如果非绝对必要,请以异步的方式交付这些东西,比如email或者QQ的方式告诉相关的人员。

  3. 建立安静的工作氛围(强制大家以异步的方式来沟通)

    因为我们的工作环境是一个大开间,这样设计的原因是为了体现大家的平等,没有人应该有办公室,所有人包括天放在内都是平等的(虽然以后可能会改变,但改变不是为了体现特权,而是特殊原因,比如不应该被频繁打扰)。但大开间对工作效率是有害的(我在hackernews上见过类似的控诉),因为会有一些有意无意的打断和干扰,我相信这也是为什么天放设立效率室的原因。所以,为了减少大开间带来的弊端,我希望可以做到:

    • 安静的沟通方式,QQ为主,小声的讨论。如需要讨论激烈的话题,请到会议室讨论。(抱歉,在这一点上我做得非常不好,请大家监督,下不为例)
    • 不打扰带耳机的同事。如果你不希望被打扰,请带上耳机。同样的,你也不应该打扰带耳机的同事,哪怕他就坐在你旁边(你可以用QQ告知)。当然,真正紧急的事情除外。(但你要有能力区分哪些是真正紧急的事情)
    • 有些需要面对面沟通的事情,尽量放在scrum会议以及中午和晚上吃饭的时间附近。

差不多是以上几点。此外有一些技巧可以减少你被阻塞(block)的机会,以及在被阻塞(block)住之后,可以继续进行下去的办法。

  • 花一些时间在跟你的工作有交集的地方,比如App开发组,需要花一些时间在服务端的开发上,和设计的工作方式上,这样可以减少你被block的机会,以API接口为例,如果你真不清楚某个接口的参数,你可以直接去后台代码中查看,这样可以节省很多时间。

  • 培养处理block的能力。还是以App开发组为例,要有能力在没有接口和切图的前提下,去完成App的逻辑。这样在碰到block的地方,可以轻易跳过。

  • 两件事情并行的能力。虽然原则上你要一件件的事情去做,优质地完成一件事情之后,再去做另外一件事情。这样可以减少事情烂尾的风险。但真被block住的事情,希望你能有快速切换到另外一件事情的能力。这就要求你有良好的开发习惯。

    • 合适的commit粒度
    • 每件事情一个branch的开发原则
    • 了解和理解团队和你的优先级

希望和大家一起享受异步的工作方式。

参考资料