专访周铁人:一个创业家的布道者理想

11月5日,在上地的一间会议室,Techexcel公司CEO周铁人讲述了一个创业家的布道者理想。

    更像科学家的创业者

    周铁人,祖籍浙江嘉兴,1986年赴美就读于美国Kansas州立大学,1992年毕业并获得人工智能专业博士学位。毕业后,怀揣创业梦想的周铁人并没有立即投身创业,而是带着激情和一颗持之以恒的心开始了他的打工生涯。他一边积累着创业所需的资金,一边寻找着自己事业的方向。在这三年里,周铁人做过各种各样的尝试,比如以智能方式管理人们的日常工作安排,以此提高效率等。不断地摸索、尝试和选择让他找到最终的创业方向——过程优化管理软件。

    事实上,在过程优化管理软件成为周铁人最初的创业方向之前,一度人才招聘过程自动化软件才是周铁人想做的。这个想法来源于当时行业发展的特点,IT产业方兴未艾,正是蓬勃发展之际,而专业人才却难以寻觅,人才招聘成为阻碍IT企业发展的瓶颈。回想当年,周铁人依然看好这个领域,但是人才招聘过程自动化软件所需要的资金远远大于开发过程管理软件所需要的资金。而在为IT企业提供咨询的过程中,周铁人也看到企业对软件开发过程管理软件的需求和自己的发展机会。

    周铁人在创业方向上的各种尝试,从管理日程的,到管理招聘的,最后定位在管理开发上,虽然管理内容千差万别,但都归结到一个过程的管理上。于是,从一开始便打定主意要开发成一个真正产品的周铁人,把他在人工智能研究中的经验应用于软件开发,将现实世界中比较复杂的开发过程优化,成为一个量化、概念化、模型化的过程。正如他所说:将这样一个过程运用于机器人优化,很难让机器人变得比人更聪明,但是把这个过程所学到的应用于某个过程,不论是IT开发还是人员招聘,都大有天地可为。

    虽然最初是因为资金问题选择了ALM软件的创业方向,后来的创业过程中周铁人却渐渐发现管理优化过程中的乐趣,以及通过软件将管理过程量化、概念化的价值体现。每个创业者都怀揣不同的梦想,有人一心想把公司做到最大,有人一心追求利润最大。在周铁人看来,自己更像是一个科学家的创业者,在把思想产品化之后,想得更多的是如何将产品无限优化,如何把人的聪明才智做到产品中。“这样,产品就活了。真正的好产品是需要带着感情,把人性的东西做进去。”就这样,周铁人全心投入其中,再也拔不出来。十五年的时间,他在软件开发过程管理领域闯出一番天地。

    平衡规范与灵活的开发方法论

    量化、概念化、模型化——周铁人准确精炼地描述了DevSuite产品系列的特点。但是,管理(包括软件开发过程管理)的特点就是既规范又灵活,特别是国内软件企业的开发过程,因为用户需求的灵活而更加难以把控。我们常常会看到这样的现象:当需求发生变化时开发人员明显的抵触情绪;常常听到这样的抱怨:我加班加点、没日没夜开发得那么辛苦,怎么说变又变了?那么,一个强调量化、概念化和模型化的产品将如何满足对用户对灵活性的需求呢?

    确实产品人员和开发人员之间就是存在这样一种冲突。在周铁人看来:这种冲突在一个开发方法论的指导下才可以更好地化解,更好地产生团队协作的精神。在这样一个开发方法论的框架下,开发人员才能够理解为什么需求总在变,才能够实现整个开发管理过程的量化、概念化和模型化。

    要对软件开发管理过程进行优化,首先要清楚哪些过程需要优化,Techexcel把它分为需求过程、开发过程和质量管理三个过程。这样,从过程的具体内容来看,实现量化是容易的。周铁人进一步解释:“想像一个开发过程,从敏捷开发的角度来看,这就是一个把需求最终变成可执行产品的实现过程。在这个过程中包括多个细小的周期,每个周期都使得产品需求(backlog)成为可执行产品的一个或多个功能,最终让这个可执行产品变得完整。”因此,从过程的入口来看,量化体现在具体的产品需求(backlog)之和,过程出口的量化成果则是一个可执行的软件产品。

    质量管理和需求管理同样围绕这一过程,量化同样是可以明确的。但是,管理如何真正能够做“活”?周铁人深刻理解到:“这就需要一个开发方法论。开发方法论是一种指导思想,本身很难量化。但是有了指导思想以后,包括需求、开发和质量管理具体在内的三个过程就有了灵活的可能性。量化的过程围绕开发方法论来实现,就是规范与灵活的平衡。”

    对于一个公司来说,整个开发管理除了过程优化的具体内容,更上层的东西就是指导思想,即开发方法论。指导思想是用来帮助公司创建他们的开发文化,而开发文化作为指导思想可以指导团队如何无障碍地展开合作。用敏捷开发的话来说,就是我们的需求随时都可以变。

    把自己定位为科学家的周铁人,带着激情发展了自己的开发方法论——Specification Drive Development(需求驱动开发)。

    为了更加容易地理解需求和需求之间的关系,周铁人把需求分成两个层次:一个是Requirement,零碎的、没有正规表达的需求,带有“原始味道”的需求。他举了一个例子,某天,你收到客服部门的多个需求,它们分别是客服1的文档、客服2的图表、客服3的声音、客服4的email,很快,你就总结出这些需求要的是一样的东西——报警功能。但是,他们又有各自不同的侧重,比如客服1认为报警的声音很重要,客服2则要求实时地手机收到报警。所以,这些需求是重复的,但又是重要的。因此,TechExcel引进了另一层次的需求——Spec,即通过规范点来更量化地归纳那些重复的需求,但是又带着不同的个性和定制化,具体的特殊需求用一套更细化的Spec来表达。反过来,围绕Spec集合产生更优化更量化的产品开发任务或测试任务(backlog)。这就是Specification Drive Development(需求驱动开发)。

    一个开发方法论布道者的理想

    谈到自己的开发方法论,周铁人变得滔滔不绝。在他看来,开发方法论对任何一个软件开发组织都是必须的、重要的。随着中国软件工业规模越来越大,国内软件企业是需要有自己的开发方法论的。因此,除了作为TechExcel公司的CEO,他也非常希望作为一个开发方法论的布道者,帮助更多的中国软件开发团队建立符合中国人性格、习惯和文化的开发方法论。