苏州峻德信息

In this model, developers are "more valuable as they age."

作者: 公众号《敏捷之美》

时间:2021-11-02

传统的软件开发模式无法真正激发程序员的创造力、创新性,也无法培养其为客户解决问题、创造价值的能力,反而使一代又一代程序员随着年龄渐长,陷入“35岁危机”,不得不离开这个行业,另寻出路。

那么这样一个行业现状能不能改?怎么改?一家成立于2001年的软件开发公司,通过其20年的发展摸索,试图找出这一问题的答案。日前,盛安德科技发展有限公司CEO张纪伟接受了中国网财经采访,详细阐述了其“提升和体现程序员价值,推动中国软件业变革”的愿景和思路。

传统软件开发模式下程序员遭遇“35岁瓶颈”

在传统的软件开发模式下,程序员就像一个复杂系统中的齿轮,虽然承担着大量的工作,但并不是整个系统中最有价值的部分。

传统软件开发模式借鉴了工业生产,特别是流水线生产的管理方法,强调流程的可控性,将软件开发拆解成需求分析、设计、代码、测试、维护等独立的环节来进行。“于是程序员‘前面’有架构师、需求分析师、项目经理等等,他们敲定了整个软件的框架和功能,最后剩下大量的代码工作,留给程序员去填。然而‘前面’的环节才是最有价值的。”张纪伟表示。

由于代码的工作量非常大,需要占用诸多人力,一些欧美软件公司在做好了前期的需求、设计、架构之后,将代码“外包”给更具人力成本优势的其他国家的软件公司来做。由此,印度的软件外包行业得以迅速发展,并在相当程度上影响了刚刚起步的中国软件行业。

“在上世纪90年代末到本世纪初的几年里,中国的软件行业其实就是模仿,或者说照搬了印度软件外包模式。”张纪伟回忆,“我们那时候甚至以为‘软件就应该是这么开发的’。”

起初,张纪伟就是因为觉得印度的软件外包模式颇具“钱”景,并且在同样具有人力成本优势的中国可复制,才从供职的杂志社辞职,于2001年8月创立了盛安德。

“但是我们经过好多尝试,最终发现这条路(传统软件开发模式)走不通。”张纪伟称。

诚然,传统软件开发模式有其优越性,它极大地增加了项目的可控性,使成本变得可预测。但是它的不足也很明显:这种比照流水线生产的开发管理,忽略了软件开发是一件需要程序员想象力和创造力的工作。

“有的公司用‘一天做了多少行代码’、‘做了多少个功能’作为程序员的绩效考核标准,但无论是功能还是代码量,程序员很容易就可以做到。在搜索引擎上搜一搜,能找到很多方法实现这个功能。但这个功能在软件当中是不是最好用的,就不一定了。”张纪伟称,“也就是说东西虽然做出来了,但对用户来说,结果并不是很好。而程序员本身,也没有产生他应该产生的价值。”

但这并不是程序员单方面的问题,而是在这种传统软件开发模式下,程序员几乎没有机会与用户直接沟通,只是按照需求分析“照章办事”。而且,在前期需求分析完成后,如果要修改,通常需要比较复杂的流程,因此进入开发阶段后,程序员也很少再有机会听取用户的需求意见。

流水线式的分工,使很多程序员终其职业生涯只做“写代码”一件事,也“只会写代码”。这就导致很多程序员在年龄渐长后,遭遇“中年危机”。

“如果你的开发工作就只有写代码,那35岁以后可能真的会‘往下走’。到时候,体力不如年轻人好,学东西又不如年轻人快。年轻人学一个新技术,可能两三天,看点资料就会了。但是大龄程序员可能就做不到。”张纪伟称,“那种认为‘我的技术强’、‘我凭技术混饭吃’的程序员,到35岁以后尤其会有这样的问题。”

上世纪50年代,“现代管理学之父”彼得·德鲁克在其著作中首次提出“知识工作者”概念。与传统工厂模式下的工人不同,知识工作者从事的不是重复性的工作,而是需要在动态的、变革的环境中充分发挥自己的灵感和创造性。知识工作者是无法被“计件式”考核所督导的,他们的工作动力来自于高度的自主性。

进入到21世纪以来,以知识经济为主体的新经济快速发展壮大,世界正如德鲁克所预言的:知识工作者日渐成为社会劳动的主体。互联网、云计算、大数据、人工智能……一系列新技术和新应用接连涌现并快速迭代。软件作为它们背后的“基础”,其创造性和革新力也被提出了更高的要求,无论是在开发模式上还是在人才培养上。

软件开发作为典型的知识工种,一些业内人士开始主动转型,探寻一种能让程序员实现自身价值提升、能更好地激发其主动性和创造力的新型开发和管理模式。

敏捷开发模式下 程序员“越老越值钱”

2001年,17位软件工程师在美国共同发表了“敏捷宣言”,敏捷开发模式正式诞生,并被认为“改变了软件世界”。

“敏捷宣言”中提出了敏捷开发的基本原则,即个体和交互胜过过程和工具、能工作的软件胜过详尽的文档、客户合作胜过合同谈判、响应变化胜过遵循计划。

这四项原则突出了敏捷开发以“人”为核心的理念,认为人比流程重要。持续集成、快速迭代、重构等等,是敏捷开发区别于传统开发模式的突出特点。这使得敏捷开发能更快速、更有效地交付有价值的软件,同时实现人的价值提升。

敏捷模式诞生以来,在欧美国家软件行业得到了广泛认可和验证。但在遥远的中国,这一模式既新奇、又小众。

张纪伟和盛安德接触到敏捷模式,是因为一次机缘巧合。彼时的盛安德经历了创业之初找不到客户、借钱发工资的艰难时期,也经历了05、06年软件外包行业蓬勃发展的朝阳时期。但张纪伟仍然在探寻一条能让公司和员工一起稳健成长、长远发展的“对”的路径。

“大概是在2006年,一位英国客户千里迢迢跑到中国,要和我们签一个敏捷合同,之前我们从未听说过敏捷。我们提供六、七个人,客户方也有两、三个人,还派一个人长期在我们办公室和我们一起工作。但项目还是很快就遇到大麻烦,怎么救也没救过来。尽管项目不成功,却让我们认识了敏捷。”张纪伟回忆,“很快我们就发现敏捷是ODC业务(离岸软件开发)的唯一出路。没有敏捷,离岸外包都是没有希望的。”

于是从2006年起,张纪伟开始在整个公司倡导并实践敏捷理念。紧接着2008年的经济危机,使张纪伟进一步验证并坚定了自己的选择。

“2008年金融危机对我们的影响很大,手里的固定价格项目(传统模型下的开发项目)一个个结束,程序员从项目里出来,找不到下一个项目。市场上没有销售线索进来了,连询盘的都没有。我们不得已,裁减了近1/3人员。”张纪伟称,“但当时我们也发现,剩下2/3人员所在的按时间付费项目(敏捷模式下的开发项目),几乎都没受到影响。敏捷项目是和客户‘共建’的,只要客户不垮,我们的业务不会出现大问题。”

敏捷项目与客户的高度黏性、长期性、相对稳定性,使张纪伟坚定了把敏捷模式作为主要发展方向的决心。“2009年以后,我们明确将按时间付费项目作为公司主营业务。”

张纪伟认为,与传统开发模式不同,敏捷更依赖于程序员个人的能力,同时也更能体现和提升程序员的个人价值。

“传统软件开发将解决用户问题的工作都交给设计师、需求分析师、项目经理了,程序员根本不碰客户,程序员只是做代码,这个是有问题的。而敏捷模式,简单来说就是要求程序员去碰客户。你要去了解业务、了解需求、了解客户想要解决的问题是什么,然后你要去解决用户的问题,而不是只写代码。”张纪伟称,“传统模式下程序员开始自己的工作时,第一个问题肯定是‘需求是什么’,敏捷程序员应该问的是‘问题是什么’。”

也就是说,与传统模式下的程序员相比,敏捷程序员会身兼数职,不仅仅是需求分析、设计等等,有时甚至需要熟知客户所在行业的业务特性和行业特征,以便提供更有针对性的服务和解决方案。

这对程序员自身来说,既是考验,也是成长机遇。“不同的客户会有不同的需要解决的问题。我们认为程序员需要去理解这些,并且提高自身解决问题的能力。随着年龄增长、阅历增加,经验增加不断地累积,他解决问题的能力会不断提升。”张纪伟表示,“因此在敏捷模式下,程序员是‘越老越值钱’。”

如何留住敏捷型人才? 盛安德提出“程序员第一”

软件开发公司想要实践敏捷模式,不是易事。这需要在管理制度、企业文化层面大刀阔斧的改革,直到缔造一个适合敏捷模式的氛围和环境。

正如知识工作者的贡献无法在督导中产生,敏捷程序员也不需要“管理者”。

“敏捷项目里,程序员直接与客户对接,公司不会安排人去‘管理’程序员。客户也不会去‘管理’程序员,但是他会在一段时间后进行评估。如果客户不满意,那么程序员就会丢掉项目,也会丢掉收入。”张纪伟称。

也就是说,敏捷程序员的收入直接与客户满意度挂钩。“程序员为客户解决问题的能力体现了他的价值,他的价值又通过小时单价被反映出来,小时单价越高,工资就越高。”张纪伟介绍,“这样的话程序员就会很清楚:我的工作、收入不取决于我的上级,不取决于任何人,只跟我创造的价值有观。只要我能解决用户的问题,我的收入就有保障。”

这种情况下,程序员个人与客户之间基于长久合作的信任,存在“强”联系,而公司方面与客户只有“弱”联系。那么,如何留住程序员人才,对软件公司的发展至关重要。

“我们很早就知道程序员的重要性,为了留住人才想了种种办法,包括尝试不同的薪酬激励和组织形式。”张纪伟表示。

盛安德总部建立了一种“60%个人账户”制度,即每一单客户付费的60%,会直接支付给程序员个人。这就对员工形成正向激励。

此外,目前盛安德已经颇具规模的“分公司”模式,在最初实行时,也只是为了留住一名骨干成员。

“2005年时,盛安德大概只有五、六十人规模。我们当时一个项目组的负责人,想回重庆工作,以便照顾父母,就提出离职。我们觉得很可惜,琢磨在重庆工作,也许并不会影响项目,在重庆建一个分公司怎么样?这个想法在公司里反复沟通了几轮,都觉得风险太大,当时的公司规模支撑建立一个外地分公司难度还比较大。但是最后还是下决心建。没想到一年之后,重庆公司从一个人发展到八、九个人,以后每年以十几个人的速度增长,成为盛安德第一个、也是最大的分公司。”张纪伟称。

包括盛安德最初在海外建立分支机构,也是因为有一个骨干成员全家移民,为了留住这名员工,索性让他建立了盛安德第一个海外办事处。

而每个分公司经理拥有分公司20%的股份,这使得这些留下来的核心成员从“雇员”变身为“合伙人”,从“给别人打工”变为“做自己的生意”。这极大地调动了他们的积极性。

目前盛安德已经在上海,天津,苏州,石家庄,西安,青岛,武汉,成都,重庆,大连,沈阳,郑州,威海,无锡等多个城市拥有分公司,在澳大利亚、英国、美国、加拿大等多个国家拥有海外分支机构。

今年是盛安德成立20周年。回顾过去20年的发展,很多“大动作”都不是张纪伟自上而下去规划、去布置,而是在“以人为核心”的理念下被推着,自然而然往前走。

“我们从来不会制定年度目标或者五年目标,而是更相信如果我们把事情做‘对’的话,好的结果自然会呈现。”张纪伟表示。

“对”的事情,就是盛安德一直以来的目标和愿景:成为最适合程序员工作和发展的公司。

“成立20年以来,我们一直致力于企业管理理念的创新,以提供自由宽松、开放合作的环境让程序员有机会去成长和改变。”他表示,“我们的价值观,就是以程序员的发展作为企业发展的基石,就是‘程序员第一’。”

今年是盛安德成立20周年,也是“敏捷宣言”发表20周年。展望未来,张纪伟表示,盛安德“为程序员创造更大的价值”的核心理念,是不会变的。

上一篇:搞砸软件外包的十个常见错误 下一篇:好的企业文化通过对员工的塑造实现企业的发展

In this model, developers are "more valuable as they age."

In this model, developers are "more valuable as they age."

传统的软件开发模式无法真正激发程序员的创造力、创新性,也无法培养其为客户解决问题、创造价值的能力,反而使一代又一代程序员随着年龄渐长,陷入“35岁危机”,不得不离开这个行业,另寻出路。

那么这样一个行业现状能不能改?怎么改?一家成立于2001年的软件开发公司,通过其20年的发展摸索,试图找出这一问题的答案。日前,盛安德科技发展有限公司CEO张纪伟接受了中国网财经采访,详细阐述了其“提升和体现程序员价值,推动中国软件业变革”的愿景和思路。

传统软件开发模式下程序员遭遇“35岁瓶颈”

在传统的软件开发模式下,程序员就像一个复杂系统中的齿轮,虽然承担着大量的工作,但并不是整个系统中最有价值的部分。

传统软件开发模式借鉴了工业生产,特别是流水线生产的管理方法,强调流程的可控性,将软件开发拆解成需求分析、设计、代码、测试、维护等独立的环节来进行。“于是程序员‘前面’有架构师、需求分析师、项目经理等等,他们敲定了整个软件的框架和功能,最后剩下大量的代码工作,留给程序员去填。然而‘前面’的环节才是最有价值的。”张纪伟表示。

由于代码的工作量非常大,需要占用诸多人力,一些欧美软件公司在做好了前期的需求、设计、架构之后,将代码“外包”给更具人力成本优势的其他国家的软件公司来做。由此,印度的软件外包行业得以迅速发展,并在相当程度上影响了刚刚起步的中国软件行业。

“在上世纪90年代末到本世纪初的几年里,中国的软件行业其实就是模仿,或者说照搬了印度软件外包模式。”张纪伟回忆,“我们那时候甚至以为‘软件就应该是这么开发的’。”

起初,张纪伟就是因为觉得印度的软件外包模式颇具“钱”景,并且在同样具有人力成本优势的中国可复制,才从供职的杂志社辞职,于2001年8月创立了盛安德。

“但是我们经过好多尝试,最终发现这条路(传统软件开发模式)走不通。”张纪伟称。

诚然,传统软件开发模式有其优越性,它极大地增加了项目的可控性,使成本变得可预测。但是它的不足也很明显:这种比照流水线生产的开发管理,忽略了软件开发是一件需要程序员想象力和创造力的工作。

“有的公司用‘一天做了多少行代码’、‘做了多少个功能’作为程序员的绩效考核标准,但无论是功能还是代码量,程序员很容易就可以做到。在搜索引擎上搜一搜,能找到很多方法实现这个功能。但这个功能在软件当中是不是最好用的,就不一定了。”张纪伟称,“也就是说东西虽然做出来了,但对用户来说,结果并不是很好。而程序员本身,也没有产生他应该产生的价值。”

但这并不是程序员单方面的问题,而是在这种传统软件开发模式下,程序员几乎没有机会与用户直接沟通,只是按照需求分析“照章办事”。而且,在前期需求分析完成后,如果要修改,通常需要比较复杂的流程,因此进入开发阶段后,程序员也很少再有机会听取用户的需求意见。

流水线式的分工,使很多程序员终其职业生涯只做“写代码”一件事,也“只会写代码”。这就导致很多程序员在年龄渐长后,遭遇“中年危机”。

“如果你的开发工作就只有写代码,那35岁以后可能真的会‘往下走’。到时候,体力不如年轻人好,学东西又不如年轻人快。年轻人学一个新技术,可能两三天,看点资料就会了。但是大龄程序员可能就做不到。”张纪伟称,“那种认为‘我的技术强’、‘我凭技术混饭吃’的程序员,到35岁以后尤其会有这样的问题。”

上世纪50年代,“现代管理学之父”彼得·德鲁克在其著作中首次提出“知识工作者”概念。与传统工厂模式下的工人不同,知识工作者从事的不是重复性的工作,而是需要在动态的、变革的环境中充分发挥自己的灵感和创造性。知识工作者是无法被“计件式”考核所督导的,他们的工作动力来自于高度的自主性。

进入到21世纪以来,以知识经济为主体的新经济快速发展壮大,世界正如德鲁克所预言的:知识工作者日渐成为社会劳动的主体。互联网、云计算、大数据、人工智能……一系列新技术和新应用接连涌现并快速迭代。软件作为它们背后的“基础”,其创造性和革新力也被提出了更高的要求,无论是在开发模式上还是在人才培养上。

软件开发作为典型的知识工种,一些业内人士开始主动转型,探寻一种能让程序员实现自身价值提升、能更好地激发其主动性和创造力的新型开发和管理模式。

敏捷开发模式下 程序员“越老越值钱”

2001年,17位软件工程师在美国共同发表了“敏捷宣言”,敏捷开发模式正式诞生,并被认为“改变了软件世界”。

“敏捷宣言”中提出了敏捷开发的基本原则,即个体和交互胜过过程和工具、能工作的软件胜过详尽的文档、客户合作胜过合同谈判、响应变化胜过遵循计划。

这四项原则突出了敏捷开发以“人”为核心的理念,认为人比流程重要。持续集成、快速迭代、重构等等,是敏捷开发区别于传统开发模式的突出特点。这使得敏捷开发能更快速、更有效地交付有价值的软件,同时实现人的价值提升。

敏捷模式诞生以来,在欧美国家软件行业得到了广泛认可和验证。但在遥远的中国,这一模式既新奇、又小众。

张纪伟和盛安德接触到敏捷模式,是因为一次机缘巧合。彼时的盛安德经历了创业之初找不到客户、借钱发工资的艰难时期,也经历了05、06年软件外包行业蓬勃发展的朝阳时期。但张纪伟仍然在探寻一条能让公司和员工一起稳健成长、长远发展的“对”的路径。

“大概是在2006年,一位英国客户千里迢迢跑到中国,要和我们签一个敏捷合同,之前我们从未听说过敏捷。我们提供六、七个人,客户方也有两、三个人,还派一个人长期在我们办公室和我们一起工作。但项目还是很快就遇到大麻烦,怎么救也没救过来。尽管项目不成功,却让我们认识了敏捷。”张纪伟回忆,“很快我们就发现敏捷是ODC业务(离岸软件开发)的唯一出路。没有敏捷,离岸外包都是没有希望的。”

于是从2006年起,张纪伟开始在整个公司倡导并实践敏捷理念。紧接着2008年的经济危机,使张纪伟进一步验证并坚定了自己的选择。

“2008年金融危机对我们的影响很大,手里的固定价格项目(传统模型下的开发项目)一个个结束,程序员从项目里出来,找不到下一个项目。市场上没有销售线索进来了,连询盘的都没有。我们不得已,裁减了近1/3人员。”张纪伟称,“但当时我们也发现,剩下2/3人员所在的按时间付费项目(敏捷模式下的开发项目),几乎都没受到影响。敏捷项目是和客户‘共建’的,只要客户不垮,我们的业务不会出现大问题。”

敏捷项目与客户的高度黏性、长期性、相对稳定性,使张纪伟坚定了把敏捷模式作为主要发展方向的决心。“2009年以后,我们明确将按时间付费项目作为公司主营业务。”

张纪伟认为,与传统开发模式不同,敏捷更依赖于程序员个人的能力,同时也更能体现和提升程序员的个人价值。

“传统软件开发将解决用户问题的工作都交给设计师、需求分析师、项目经理了,程序员根本不碰客户,程序员只是做代码,这个是有问题的。而敏捷模式,简单来说就是要求程序员去碰客户。你要去了解业务、了解需求、了解客户想要解决的问题是什么,然后你要去解决用户的问题,而不是只写代码。”张纪伟称,“传统模式下程序员开始自己的工作时,第一个问题肯定是‘需求是什么’,敏捷程序员应该问的是‘问题是什么’。”

也就是说,与传统模式下的程序员相比,敏捷程序员会身兼数职,不仅仅是需求分析、设计等等,有时甚至需要熟知客户所在行业的业务特性和行业特征,以便提供更有针对性的服务和解决方案。

这对程序员自身来说,既是考验,也是成长机遇。“不同的客户会有不同的需要解决的问题。我们认为程序员需要去理解这些,并且提高自身解决问题的能力。随着年龄增长、阅历增加,经验增加不断地累积,他解决问题的能力会不断提升。”张纪伟表示,“因此在敏捷模式下,程序员是‘越老越值钱’。”

如何留住敏捷型人才? 盛安德提出“程序员第一”

软件开发公司想要实践敏捷模式,不是易事。这需要在管理制度、企业文化层面大刀阔斧的改革,直到缔造一个适合敏捷模式的氛围和环境。

正如知识工作者的贡献无法在督导中产生,敏捷程序员也不需要“管理者”。

“敏捷项目里,程序员直接与客户对接,公司不会安排人去‘管理’程序员。客户也不会去‘管理’程序员,但是他会在一段时间后进行评估。如果客户不满意,那么程序员就会丢掉项目,也会丢掉收入。”张纪伟称。

也就是说,敏捷程序员的收入直接与客户满意度挂钩。“程序员为客户解决问题的能力体现了他的价值,他的价值又通过小时单价被反映出来,小时单价越高,工资就越高。”张纪伟介绍,“这样的话程序员就会很清楚:我的工作、收入不取决于我的上级,不取决于任何人,只跟我创造的价值有观。只要我能解决用户的问题,我的收入就有保障。”

这种情况下,程序员个人与客户之间基于长久合作的信任,存在“强”联系,而公司方面与客户只有“弱”联系。那么,如何留住程序员人才,对软件公司的发展至关重要。

“我们很早就知道程序员的重要性,为了留住人才想了种种办法,包括尝试不同的薪酬激励和组织形式。”张纪伟表示。

盛安德总部建立了一种“60%个人账户”制度,即每一单客户付费的60%,会直接支付给程序员个人。这就对员工形成正向激励。

此外,目前盛安德已经颇具规模的“分公司”模式,在最初实行时,也只是为了留住一名骨干成员。

“2005年时,盛安德大概只有五、六十人规模。我们当时一个项目组的负责人,想回重庆工作,以便照顾父母,就提出离职。我们觉得很可惜,琢磨在重庆工作,也许并不会影响项目,在重庆建一个分公司怎么样?这个想法在公司里反复沟通了几轮,都觉得风险太大,当时的公司规模支撑建立一个外地分公司难度还比较大。但是最后还是下决心建。没想到一年之后,重庆公司从一个人发展到八、九个人,以后每年以十几个人的速度增长,成为盛安德第一个、也是最大的分公司。”张纪伟称。

包括盛安德最初在海外建立分支机构,也是因为有一个骨干成员全家移民,为了留住这名员工,索性让他建立了盛安德第一个海外办事处。

而每个分公司经理拥有分公司20%的股份,这使得这些留下来的核心成员从“雇员”变身为“合伙人”,从“给别人打工”变为“做自己的生意”。这极大地调动了他们的积极性。

目前盛安德已经在上海,天津,苏州,石家庄,西安,青岛,武汉,成都,重庆,大连,沈阳,郑州,威海,无锡等多个城市拥有分公司,在澳大利亚、英国、美国、加拿大等多个国家拥有海外分支机构。

今年是盛安德成立20周年。回顾过去20年的发展,很多“大动作”都不是张纪伟自上而下去规划、去布置,而是在“以人为核心”的理念下被推着,自然而然往前走。

“我们从来不会制定年度目标或者五年目标,而是更相信如果我们把事情做‘对’的话,好的结果自然会呈现。”张纪伟表示。

“对”的事情,就是盛安德一直以来的目标和愿景:成为最适合程序员工作和发展的公司。

“成立20年以来,我们一直致力于企业管理理念的创新,以提供自由宽松、开放合作的环境让程序员有机会去成长和改变。”他表示,“我们的价值观,就是以程序员的发展作为企业发展的基石,就是‘程序员第一’。”

今年是盛安德成立20周年,也是“敏捷宣言”发表20周年。展望未来,张纪伟表示,盛安德“为程序员创造更大的价值”的核心理念,是不会变的。

In this model, developers are "more valuable as they age."

作者: 公众号《敏捷之美》

时间:2021-11-02

传统的软件开发模式无法真正激发程序员的创造力、创新性,也无法培养其为客户解决问题、创造价值的能力,反而使一代又一代程序员随着年龄渐长,陷入“35岁危机”,不得不离开这个行业,另寻出路。

那么这样一个行业现状能不能改?怎么改?一家成立于2001年的软件开发公司,通过其20年的发展摸索,试图找出这一问题的答案。日前,盛安德科技发展有限公司CEO张纪伟接受了中国网财经采访,详细阐述了其“提升和体现程序员价值,推动中国软件业变革”的愿景和思路。

传统软件开发模式下程序员遭遇“35岁瓶颈”

在传统的软件开发模式下,程序员就像一个复杂系统中的齿轮,虽然承担着大量的工作,但并不是整个系统中最有价值的部分。

传统软件开发模式借鉴了工业生产,特别是流水线生产的管理方法,强调流程的可控性,将软件开发拆解成需求分析、设计、代码、测试、维护等独立的环节来进行。“于是程序员‘前面’有架构师、需求分析师、项目经理等等,他们敲定了整个软件的框架和功能,最后剩下大量的代码工作,留给程序员去填。然而‘前面’的环节才是最有价值的。”张纪伟表示。

由于代码的工作量非常大,需要占用诸多人力,一些欧美软件公司在做好了前期的需求、设计、架构之后,将代码“外包”给更具人力成本优势的其他国家的软件公司来做。由此,印度的软件外包行业得以迅速发展,并在相当程度上影响了刚刚起步的中国软件行业。

“在上世纪90年代末到本世纪初的几年里,中国的软件行业其实就是模仿,或者说照搬了印度软件外包模式。”张纪伟回忆,“我们那时候甚至以为‘软件就应该是这么开发的’。”

起初,张纪伟就是因为觉得印度的软件外包模式颇具“钱”景,并且在同样具有人力成本优势的中国可复制,才从供职的杂志社辞职,于2001年8月创立了盛安德。

“但是我们经过好多尝试,最终发现这条路(传统软件开发模式)走不通。”张纪伟称。

诚然,传统软件开发模式有其优越性,它极大地增加了项目的可控性,使成本变得可预测。但是它的不足也很明显:这种比照流水线生产的开发管理,忽略了软件开发是一件需要程序员想象力和创造力的工作。

“有的公司用‘一天做了多少行代码’、‘做了多少个功能’作为程序员的绩效考核标准,但无论是功能还是代码量,程序员很容易就可以做到。在搜索引擎上搜一搜,能找到很多方法实现这个功能。但这个功能在软件当中是不是最好用的,就不一定了。”张纪伟称,“也就是说东西虽然做出来了,但对用户来说,结果并不是很好。而程序员本身,也没有产生他应该产生的价值。”

但这并不是程序员单方面的问题,而是在这种传统软件开发模式下,程序员几乎没有机会与用户直接沟通,只是按照需求分析“照章办事”。而且,在前期需求分析完成后,如果要修改,通常需要比较复杂的流程,因此进入开发阶段后,程序员也很少再有机会听取用户的需求意见。

流水线式的分工,使很多程序员终其职业生涯只做“写代码”一件事,也“只会写代码”。这就导致很多程序员在年龄渐长后,遭遇“中年危机”。

“如果你的开发工作就只有写代码,那35岁以后可能真的会‘往下走’。到时候,体力不如年轻人好,学东西又不如年轻人快。年轻人学一个新技术,可能两三天,看点资料就会了。但是大龄程序员可能就做不到。”张纪伟称,“那种认为‘我的技术强’、‘我凭技术混饭吃’的程序员,到35岁以后尤其会有这样的问题。”

上世纪50年代,“现代管理学之父”彼得·德鲁克在其著作中首次提出“知识工作者”概念。与传统工厂模式下的工人不同,知识工作者从事的不是重复性的工作,而是需要在动态的、变革的环境中充分发挥自己的灵感和创造性。知识工作者是无法被“计件式”考核所督导的,他们的工作动力来自于高度的自主性。

进入到21世纪以来,以知识经济为主体的新经济快速发展壮大,世界正如德鲁克所预言的:知识工作者日渐成为社会劳动的主体。互联网、云计算、大数据、人工智能……一系列新技术和新应用接连涌现并快速迭代。软件作为它们背后的“基础”,其创造性和革新力也被提出了更高的要求,无论是在开发模式上还是在人才培养上。

软件开发作为典型的知识工种,一些业内人士开始主动转型,探寻一种能让程序员实现自身价值提升、能更好地激发其主动性和创造力的新型开发和管理模式。

敏捷开发模式下 程序员“越老越值钱”

2001年,17位软件工程师在美国共同发表了“敏捷宣言”,敏捷开发模式正式诞生,并被认为“改变了软件世界”。

“敏捷宣言”中提出了敏捷开发的基本原则,即个体和交互胜过过程和工具、能工作的软件胜过详尽的文档、客户合作胜过合同谈判、响应变化胜过遵循计划。

这四项原则突出了敏捷开发以“人”为核心的理念,认为人比流程重要。持续集成、快速迭代、重构等等,是敏捷开发区别于传统开发模式的突出特点。这使得敏捷开发能更快速、更有效地交付有价值的软件,同时实现人的价值提升。

敏捷模式诞生以来,在欧美国家软件行业得到了广泛认可和验证。但在遥远的中国,这一模式既新奇、又小众。

张纪伟和盛安德接触到敏捷模式,是因为一次机缘巧合。彼时的盛安德经历了创业之初找不到客户、借钱发工资的艰难时期,也经历了05、06年软件外包行业蓬勃发展的朝阳时期。但张纪伟仍然在探寻一条能让公司和员工一起稳健成长、长远发展的“对”的路径。

“大概是在2006年,一位英国客户千里迢迢跑到中国,要和我们签一个敏捷合同,之前我们从未听说过敏捷。我们提供六、七个人,客户方也有两、三个人,还派一个人长期在我们办公室和我们一起工作。但项目还是很快就遇到大麻烦,怎么救也没救过来。尽管项目不成功,却让我们认识了敏捷。”张纪伟回忆,“很快我们就发现敏捷是ODC业务(离岸软件开发)的唯一出路。没有敏捷,离岸外包都是没有希望的。”

于是从2006年起,张纪伟开始在整个公司倡导并实践敏捷理念。紧接着2008年的经济危机,使张纪伟进一步验证并坚定了自己的选择。

“2008年金融危机对我们的影响很大,手里的固定价格项目(传统模型下的开发项目)一个个结束,程序员从项目里出来,找不到下一个项目。市场上没有销售线索进来了,连询盘的都没有。我们不得已,裁减了近1/3人员。”张纪伟称,“但当时我们也发现,剩下2/3人员所在的按时间付费项目(敏捷模式下的开发项目),几乎都没受到影响。敏捷项目是和客户‘共建’的,只要客户不垮,我们的业务不会出现大问题。”

敏捷项目与客户的高度黏性、长期性、相对稳定性,使张纪伟坚定了把敏捷模式作为主要发展方向的决心。“2009年以后,我们明确将按时间付费项目作为公司主营业务。”

张纪伟认为,与传统开发模式不同,敏捷更依赖于程序员个人的能力,同时也更能体现和提升程序员的个人价值。

“传统软件开发将解决用户问题的工作都交给设计师、需求分析师、项目经理了,程序员根本不碰客户,程序员只是做代码,这个是有问题的。而敏捷模式,简单来说就是要求程序员去碰客户。你要去了解业务、了解需求、了解客户想要解决的问题是什么,然后你要去解决用户的问题,而不是只写代码。”张纪伟称,“传统模式下程序员开始自己的工作时,第一个问题肯定是‘需求是什么’,敏捷程序员应该问的是‘问题是什么’。”

也就是说,与传统模式下的程序员相比,敏捷程序员会身兼数职,不仅仅是需求分析、设计等等,有时甚至需要熟知客户所在行业的业务特性和行业特征,以便提供更有针对性的服务和解决方案。

这对程序员自身来说,既是考验,也是成长机遇。“不同的客户会有不同的需要解决的问题。我们认为程序员需要去理解这些,并且提高自身解决问题的能力。随着年龄增长、阅历增加,经验增加不断地累积,他解决问题的能力会不断提升。”张纪伟表示,“因此在敏捷模式下,程序员是‘越老越值钱’。”

如何留住敏捷型人才? 盛安德提出“程序员第一”

软件开发公司想要实践敏捷模式,不是易事。这需要在管理制度、企业文化层面大刀阔斧的改革,直到缔造一个适合敏捷模式的氛围和环境。

正如知识工作者的贡献无法在督导中产生,敏捷程序员也不需要“管理者”。

“敏捷项目里,程序员直接与客户对接,公司不会安排人去‘管理’程序员。客户也不会去‘管理’程序员,但是他会在一段时间后进行评估。如果客户不满意,那么程序员就会丢掉项目,也会丢掉收入。”张纪伟称。

也就是说,敏捷程序员的收入直接与客户满意度挂钩。“程序员为客户解决问题的能力体现了他的价值,他的价值又通过小时单价被反映出来,小时单价越高,工资就越高。”张纪伟介绍,“这样的话程序员就会很清楚:我的工作、收入不取决于我的上级,不取决于任何人,只跟我创造的价值有观。只要我能解决用户的问题,我的收入就有保障。”

这种情况下,程序员个人与客户之间基于长久合作的信任,存在“强”联系,而公司方面与客户只有“弱”联系。那么,如何留住程序员人才,对软件公司的发展至关重要。

“我们很早就知道程序员的重要性,为了留住人才想了种种办法,包括尝试不同的薪酬激励和组织形式。”张纪伟表示。

盛安德总部建立了一种“60%个人账户”制度,即每一单客户付费的60%,会直接支付给程序员个人。这就对员工形成正向激励。

此外,目前盛安德已经颇具规模的“分公司”模式,在最初实行时,也只是为了留住一名骨干成员。

“2005年时,盛安德大概只有五、六十人规模。我们当时一个项目组的负责人,想回重庆工作,以便照顾父母,就提出离职。我们觉得很可惜,琢磨在重庆工作,也许并不会影响项目,在重庆建一个分公司怎么样?这个想法在公司里反复沟通了几轮,都觉得风险太大,当时的公司规模支撑建立一个外地分公司难度还比较大。但是最后还是下决心建。没想到一年之后,重庆公司从一个人发展到八、九个人,以后每年以十几个人的速度增长,成为盛安德第一个、也是最大的分公司。”张纪伟称。

包括盛安德最初在海外建立分支机构,也是因为有一个骨干成员全家移民,为了留住这名员工,索性让他建立了盛安德第一个海外办事处。

而每个分公司经理拥有分公司20%的股份,这使得这些留下来的核心成员从“雇员”变身为“合伙人”,从“给别人打工”变为“做自己的生意”。这极大地调动了他们的积极性。

目前盛安德已经在上海,天津,苏州,石家庄,西安,青岛,武汉,成都,重庆,大连,沈阳,郑州,威海,无锡等多个城市拥有分公司,在澳大利亚、英国、美国、加拿大等多个国家拥有海外分支机构。

今年是盛安德成立20周年。回顾过去20年的发展,很多“大动作”都不是张纪伟自上而下去规划、去布置,而是在“以人为核心”的理念下被推着,自然而然往前走。

“我们从来不会制定年度目标或者五年目标,而是更相信如果我们把事情做‘对’的话,好的结果自然会呈现。”张纪伟表示。

“对”的事情,就是盛安德一直以来的目标和愿景:成为最适合程序员工作和发展的公司。

“成立20年以来,我们一直致力于企业管理理念的创新,以提供自由宽松、开放合作的环境让程序员有机会去成长和改变。”他表示,“我们的价值观,就是以程序员的发展作为企业发展的基石,就是‘程序员第一’。”

今年是盛安德成立20周年,也是“敏捷宣言”发表20周年。展望未来,张纪伟表示,盛安德“为程序员创造更大的价值”的核心理念,是不会变的。

上一篇:搞砸软件外包的十个常见错误 下一篇:好的企业文化通过对员工的塑造实现企业的发展