【媒体专访】开源人物-禅道社区王春生:让项目管理更便捷
本篇目录
【专栏导语】关于《开源人物》
PowerData作为一个分享开源技术,传播开源文化的社区,我们将不再局限于数据领域的人物故事,而是将视野扩展到整个参与开源事业的人群中,因此决定对本栏目进行一次全新的改版升级,更名为《开源人物》。
从具有深远意义的伟大的GNU计划伊始,开源事业便如同星星之火,以燎原之势在科技领域不断发展壮大。在这一波澜壮阔的发展历程中,其中涌现出了诸多家喻户晓的开源人物,他们宛如璀璨的星辰,各自凭借着精湛独特的自身的技能,坚定不移地推动着开源事业向着更高、更远的方向大步迈进。此外,还有众多如 同繁星般在开源社区中默默耕耘的开发者们,他们有的像是专注于特定领域的专家,精心钻研特定领域的开源项目开发,为这些领域带来了前所未有的创新和突破;有的则像是勤劳的守护者,积极参与开源项目的维护和改进,为开源项目的稳定运行保驾护航。正是这些开源人物们齐心协力,以自己的满腔热血和专业技能,编织了一张紧密而又充满活力的开源之网,持续不断地拓展着开源事业那广袤无垠的边界,让开源事业在人类科技发展的长河中熠熠生辉。
我们希望通过《开源人物》这一栏目,能够搭建一个连接开源爱好者、贡献者和领导者的平台,让更多人了解开源文化,参与开源项目,共同推动开源生态的发展。
本期人物
禅道开源社区创始人——王春生,江湖人称春哥。先后在雅虎、阿里妈妈和淘宝工作。主要负责引擎系统的自动化测试,先后和团队一起开发了BugFree、ESShop等系统,2009年发起禅道项目,成立禅道社区,开发禅道软件至今。“禅道”是一款开源的全生命周期项目管理软件,基于敏捷和CMMI管理理念进行设计,集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,完整地覆盖了项目管理的核心流程。
“禅道”品牌是受《编程之道》和《编程之禅》这两本行业专业书籍的启发。《编程之道》一书出自美国一位资深的程序设计师Geoffrey James之手。他以一种幽默、辛辣的眼光审视着发生在程序设计室里的各种故事,并运用东方的哲学思想进行深层次的思考和理解。《编程之道》一书自发行以来,不断受到来自各方面的青睐和好评,并多次重印。由于《编程之道》一书获得了普遍的认可,Geoffrey James进一步编撰了《编程之禅》一书,对《编程之道》这一经典著作进行补充。
PowerData:春哥,禅道如今作为一款优秀的项目生命周期管理软件被广泛使用,当初您是在什么背景下决定创建禅道这个开源项目的?最初的想法是如何产生的?
春哥:在自己创业之前,我曾在多家互联网公司工作。这些公司中,有初创团队,也有顶尖的互联网公司。无论团队规模大小,在研发项目管理上都有一些普遍问题,主要体现在以下三个方面:
首先是团队缺乏清晰的、标准化的流程。
绝大多数团队做项目管理,更依赖于团队的经验和能力。项目做得很成功,核心因素往往是有一位能力很强的项目经理或者主程。这样的角色离开团队,项目就会出各种问题。日常协作主要通过开会、邮件、IM软件,靠各种沟通来对齐推进。这样不仅仅需要投入大量的时间和精力,也会因为信息需要不断地沟通传递而导致出现各种偏差,最终会带来各种各样的问题。
其次是缺少合格的项目管理从业人员。
大学里面很少开设项目管理方面的课程,即使有,也跟实际的企业项目管理场景严重脱节。一个组织里从事项目管理工作的人,往往是因为他们在技术方面比较突出而被提拔上来做项目管理工作。然而,技术的高手未必是管理高手。很多技术高手兼做管理工作之后,反而会因为沟通能力、情商等方面的问题跟团队成员产生各种矛盾,给团队带来了更多的问题。
最后缺少成熟的项目管理工具。
那时候市面上可选的项目管理工具很少,仅有的几个选择也存在各种各样的问题,比如不够成熟完善、功能有限、缺少本地支持等等。团队还需要在多款软件之间同步数据来完成协作,效率比较低下,操作繁琐,也没有办法做到端到端的全生命周期跟踪。
总结下来,这三个问题分别是流程、人和工具的问题。这三个问题都很重要,但流程和人的问题解决起来比较困难,所以我的策略是先从工具入手。工具是流程的载体,我可以通过工具将业内的推荐实践固化到软件中,这样一个团队在使用工具的过程中,就可以逐渐建立研发项目管理的标准流程,进而推动团队成员学习项目管理的各种知识实践,实现人的能力提升。
于是就有了禅道这样一款项目管理软件。所以说,禅道不仅仅是一款项目管理软件,它更是我们团队这十几年来亲身践行的各种管理框架、标准、模型和方法的总结。
PowerData:随着IT技术的不断发展,禅道也经历了多个版本的迭代,您认为禅道不变的核心功能是什么?它能解决用户什么样的痛点?
春哥:禅道软件自2009年开发上线,至今已有十几年的发展历程。 从整体的时间维度做切分,禅道版本可分为四个大的版本系列:12版本、15版本、18版本和20版本。
12版本系列是从0.01版本到12.5.3版本之间的所有禅道版本的统称,这之间累计发布了166个版本。12版本系列主要打磨了核心的研发过程管理,共内置了四个核心功能,分别是产品管理、项目管理、质量管理和文档管理。同时提供了产品和项目两个核心管理结构。也就是说,我们在禅道中明确把产品和项目这两个概念区分开,通过产品视图和项目视图,为产品经理和项目团队提供了针对不同管理场景的应用支持。产品和项目之间的区别和联系在于:产品定义了“做什么”,而项目定义了“如何实现”。所以,它们天然的关注角度是不一样的。其实有很多的项目管理软件没有明确的产品概念,它们会把一切都笼统地称之为项目。这从管理上来看不够严谨。
此外,我们还内置了四个核心管理对象:需求、任务、Bug和用例。其中,需求最为核心,所有的一切都围绕需求展开。产品经理、项目经理、开发团队和测试团队围绕这四个核心管理对象展开协作,进行产品的全生命周期的管理,这其中包括产品的计划管理、项目的迭代管理、版本测试管理以及发布管理。
这些是禅道一直不变的核心概念和功能。在后续版本中,我们对这些结构、概念和对模型方法的支持又做了扩充:15版本系列,我们内置了对CMMI的支持。18版本,我们内置了看板方法、SAFe、IPD和DevOps的功能,以及各种模型的融合管理。在20版本系列中,我们对系统做了彻底的重构,给后面十年发展打下坚实的基础。
禅道对这些管理结构、核心概念的支持,不需要组合多个工具来使用,也不需要额外的配置,开箱即用,可以有效地帮助研发团队进行高效协作。
PowerData:一款优秀的开源产品的迭代离不开开源社区的支持,在禅道社区的发展中您做出了哪些努力?
春哥:可以说,我们把最核心的资源都投入到了对开源社区的支持上。
无论是研发资源、技术支持,还是文档内容方面,我们都不遗余力地投入,努力地将我们开源社区的版本做好,服务好我们的开源社区的用户。例如,我们的用户如果有了问题,可以通过电话、微信、QQ、官网的问答、论坛找到我们,提问的问题可以在最短的时间里得到回复解答。我甚至还把很多收费版本里面的功能开源出来放到开源版,以至于我们销售同事对我提出了各种抗议。
PowerData:您如何看待开源对于技术创新和共享的重要性?开源项目可能会面临代码被滥用或者商业利用的问题,您是如何应对这种风险的?
春哥:开源对技术创新的重要性毋庸置疑,可以说开源是中国IT高速发展的动力源泉。
至于代码滥用或者商业利用的问题,我觉得最重要的是自身的强大,只有自身强大了,形成了事实上的影响力,这些代码滥用的行为就没有生存的空间。另外,协议非常关键。我们目前是自拟的ZPL协议和AGPL双协议发布,并不见得协议越宽松越好。
PowerData:对于想要创建自己的开源项目的开发者,您有什么建议?
春哥:我的建议是一定要做商业化。
首先从用户角度来看,开源软件的用户需要开发团队能够持续更新软件,这就需要开发团队找到一个能够持续的模式。
当我们把一款软件开源出来,有用户开始使用,或者将其用作内部管理,亦或集成到自己的产品中。从因果角度来看,我们因为发布开源软件这件事情和众多的用户产生了因果,而且是善的因果。所以任何一位能够把自己的代码开源出来的开发者,都是在做善事。
随着用户增多,用户对开源软件的功能更新、Bug修复、技术支持的需求就自然而然地增多,开源软件的维护团队跟用户之间的因果关系也随之发生了变化。开源软件作者最初的兴趣会逐渐转变为更多的责任。在这个阶段,就一定要考虑合理的商业化的模式,来平衡越来越多的用户、越来越重的责任和开发者越来越多的投入、越来越疲惫的状态之间的矛盾。单纯用爱发电,是无法持续的。如果无法找到合理的模式,往往会演变成开发者和用户之间的互相嗔怨。很多优秀的开源软件最终结局就是主创团队无法维系,停止更新,让人惋惜。所以开源软件作者需要寻找到合理的商业模式,产生合理的收入,同时又能满足用户越来越多的需求。这样才是多赢的局面。这是大善,所以不要将开源和商业对立起来。
以我们禅道项目管理软件为例,我是2007年决定要做一款开源的项目管理软件。我用Freemind整理了一个商业计划书,明确了一定要做一款赚钱的开源软件。这十几年走下来,基本上都还是按照2007年的计划在行动。禅道在2009年发布了第一个开源免费版本,在2012年跑通了我们的商业化之路。所以我们团队能够坚持地更新维护禅道软件,为我们的广大用户提供版本更新、问题修复和技术支持,同时众多的用户也给了我们充分的反馈,帮助我们提升改进产品。这就形成了多赢的局面。
其次,从我们团队这十多年跟客户打交道的经验来看,中国的企业非常乐意为高性价比的软件买单。
这一点我是想回答很多开源软件作者的疑问:我的软件能够卖钱吗?很多开源软件的作者都是搞技术出身,更多的关注点是如何将开源软件做好上,对商业化没有概念,羞于谈钱。甚至觉得自己做了个开源软件,谈钱就是一件很羞耻的事情,总会觉得自己的产品不够好、不敢卖。
还是举我们自己的实际例子。我们是从2012年下半年开始销售禅道专业版的。那时候,我们团队无论从哪些方面都是非常不成熟的,产品也不成熟,团队也不成熟。但是还是有很多客户选择相信我们,采购我们的产品或者服务,我们就这样一点点地跑通了商业模式。
最近这些年,企服赛道也一直讨论“在中国做软件、做SaaS为什么这么难”,其中有一种观点会认为中国发展阶段不成熟,企业付费意愿低等等。这一点我是非常不赞同的,中国的企业非常乐意为软件付费买单,但这个软件一定是高性价比的软件。所以在中国做软件,大有可为。不过有一点我需要说明一下,做软件赚大钱比较难,通过开源软件赚大钱更不容易。
最后,做开源商业化也是非常好的提升自己的方法。
做开源商业化,先不管最终能不能跑通,在这个过程中对自己的提升也是非常宝贵的。很多做开源的朋友们,主要的关注点是在技术上。技术其实只是冰山一角。如果开始做商业化,就需要考虑产品定位、商业模式、定价策略、运营策略等各方面的问题,需要学会跟不同的人打交道,需要关注商标、知识产权等法律法规方面的知识,还需要考虑工商和税务等等。这对一个人的锻炼是全方面的,所以做开源的商业化,是一个非常好的提升自己的方法。有过这样的操盘的经历,对自己个人的能力和价值提升是非常有帮助的。后续再加入一个新的团队,就完全可以以更高Level的身份加入,我想这也是一种开源商业化对自己个人的回馈吧。
PowerData:在项目创建过程中,您遇到的最大个人挑战是什么?您是如何克服的?
春哥:对我个人来讲,最大的挑战还是个人的成长和突破。
我也是从一个技术人员的角色逐渐过渡到企业的经营者的角色。在这过程中,我觉得最重要的是要保持开放的心态、保持学习、保持谦逊。除此之外,还有保持心态平和,降低对人和对事的期望值,可以减少很多的烦恼;保持运动,让自己有一个好的状态。
从春哥的个人经历以及他的开源经历我们不难看出,一款优秀的产品一定是立足于实际生产情况而诞生的。针对用户痛点、痒点、爽点有规划的去逐步实现,让用户愿意为高性价比的产品买单。通过开源,开放使用得到用户们的反馈,改进产品,改良后的产品进而反哺开源,不断壮大产品本身。禅道发展至今已有15年,15年中禅道产品愈发完善,功能更加丰富,让我们共同期待它的下个15年。