了解盛安德(上)——关于盛安德服务的What和Why

盛安德服务是什么

( What )

团队成员在自我管理下独立解决问题,不是完成上级(项目经理)指派的工作任务,这是盛安德服务的特征之一。盛安德服务要求团队建立一个新的工作模式,这个模式对团队里的初、中级程序员而言难度更大。独立解决问题的过程,让初、中级程序员经验不足的情况完全暴露出来。所以一般的做法(旧模式),是让项目经理(高级程序员)负责解决方案,初、中级程序员去实施,这样保证团队整体的工作产出。

盛安德一直把诚实、透明的原则作为贯穿整个公司内部管理和外部业务的重要价值观。我们要求每个人把自己的真实的综合能力,从一开始就展示给客户。

所以,高级程序员适应盛安德服务容易些,他们有能力面对和解决业务问题。在盛安德,大部分高级程序员在上一份工作中,就已经是团队的负责人(项目经理),只负责出方案,自己甚至不用写代码。他们适应盛安德服务容易些,但他们并不愿意改变。

在我们服务的描述里,程序员的能力应该都是高级的,事实上,达到这个能力的程序员在盛安德恐怕不超过20%,其余的80%初、中级程序员怎么办?

旧的模式里,项目经理(高级程序员)带几个初、中级程序员,他负责和客户沟通,搞清楚需求并提供大概的方案或设计,初、中级程序员完成编码。这样,初、中级程序员的工作才有可能在一定时间内,让客户看起来有高级程序员一样的成果。这么做有个两个问题,第一,项目经理累得喘不过气来,但还是会成为瓶颈;第二,客户会发现我们的“高级程序员”经常犯一些低级错误,而项目经理似乎也改变不了什么,即使若干年后也依然如此。

80%能力达不到盛安德服务描述的程序员,只能把自己的能力如实展示出来,不是让Team Lead帮他掩盖住。经过一段难熬的时间,程序员和Team Lead对新的工作模式逐步适应,个人工作成效(非技术能力)和团队整体效率会有大幅提升。这段难熬的时间怎么熬过去,我会在后面怎样做(How)的话题里谈到。

盛安德服务中Team Lead通常都要同时做开发工作,很少有客户会接受一个全职的Team Lead,这导致我们Team Lead的工作量/压力比团队里普通程序员大很多。如果Team Lead把自己的工作简单理解为项目经理(PM)的工作,可能是有问题的。我们的服务里,Team Lead的工作量应该非常少,每个人自我管理,独立完成工作,Team Lead只要汇总计划和报告就好,确保团队内部的信息对客户清晰可见。同时,也让客户的信息对团队也完全透明。问题来了:Team Lead对团队的价值会不会下降?

团队负责人放手让每个程序员自己去解决问题,一开始会出很多状况,甚至会有丢掉客户的风险,但熬过那段时间,Team Lead自然会发现自己新的价值,更大的好处是不累了,自己的时间被解放出来。帮助团队成员变得独立,不依赖自己,本身就有巨大的价值,还能让自己变得轻松。

为什么让程序员去解决问题,不是写程序?写程序需要比较完整的需求;要解决的问题只有一、两句话,根据我们对业务的理解,把正确的需求开发出来,再写代码。如果我们开发的需求错了,代码就完全没有价值。让程序员自己开发需求,项目经理恐怕很难接受。一般需求都是客户给,项目经理补充,程序员只要“准确理解需求”就好,所以我发现有很多程序员做了好几年的项目,都不知道自己开发的软件是什么人在用,用来干什么。这样的工作很难有进步,也容易厌倦。

程序员了解业务,清楚自己工作的意义,靠解决业务问题,来实现自己的价值。每一位团队成员都可以调动客户、Team Lead、乃至公司层面各种资源来解决业务问题,每天在面对挑战中进步;Team Lead不再是核心,他帮助每位团队成员独立工作,并保证团队和客户信息相互透明。这就是盛安德服务呈现给客户的样子。

由此可见,要做好盛安德服务,程序员对自己的要求要高很多,Team Lead要求则更高。为什么要做这样的改变(Why)?

为什么要转向盛安德服务

(Why)

我们讲了盛安德服务是什么(What),因为与市场上见到的服务不同,我们就直接命名它为“盛安德服务”。讲为什么(Why),从企业和程序员两个角度,我们为什么要转向做盛安德服务?

从企业发展角度,把盛安德服务放在市场里看,它还处在需求大于供应的阶段,处在蓝海中,而传统的外包服务已成为竞争激烈的红海,这两年经常收到一些印度公司的邮件,说自己的小时单价不到十美金或十几美金。

无论中国或印度企业,要从事盛安德服务,都一样困难,这是个新机会,尤其对后入局者而言。对于企业,确定方向很重要,一旦方向确定了,就心无旁骛,不被短期利益诱惑。企业坚定的信心,对于盛安德服务的建立是个前提。要解决员工Why的问题,全靠企业搭建的环境

为员工(程序员和Team Lead,下面简称TL)建立一个适合盛安德服务的环境,不仅要在市场上寻找突破口(找到客户),还要解决公司内部每个环节/角色的意愿问题,就是为什么要改变?这既是企业的责任,也是其价值所在。

员工是核心,包括程序员和TL,两个角色都有短期收益和长期发展的问题,一共四个问题。

不久前我们有一位TL离职,原因是自己年龄偏大了,不愿继续做编码的工作,希望转向项目管理。我认为背后的原因之一是做项目管理可以看到更多收入的可能;而编程似乎不可能了。盛安德服务里,TL通常要兼作程序员的工作,我们的团队里很少有全职的TL。TL的收益是我们要解决的第一个问题,盛安德服务并不需要PM(项目经理)。

TL的工作是让团队里每一位成员得以发展。独立工作,独立解决问题的能力,最能体现个人价值,也是员工发展的重点。只有独立工作的程序员才有相互合作的基础,相互合作才能创造更大的价值,团队工作可能需要有人协调,不是上面派来的头儿,而是由独立工作的团队成员自己确定的。

所以,TL的工作重心在“人”身上,不是项目;PM的工作重心是项目,成败是关键,个人的发展是副产品,放第二位考虑的。TL并不是对项目成败不负责任,而是让程序员通过项目实现成长,提高效率,来保证项目成功,是更长远一点的策略。

把TL的工作给PM做,PM会担心自己的价值会降低,程序员都可以独立工作,自己的价值在哪里?这是前面提到那位TL离职另一个原因;放手让程序员独立工作项目风险会很大,这也是PM的担心,TL不用担心这个问题,因为让程序员成长,就是他的价值,项目成功不过是个副产品

TL的工作很少有全职的,TL通常还有自己的开发任务,在Scrum团队,和这个角色最接近的是Scrum Master,盛安德服务并不推荐Scrum模式,所以也不用Scrum Master这个叫法。随着程序员越来越独立,TL的工作也会减少。TL应该可以参与新的项目,并帮助新的项目完成程序员的转换。TL不断实现自己的价值,企业有责任将这些看不见的价值转化为TL的收入。长期的看,TL可以成为为企业创造价值的核心力量,成为企业的合伙人

从程序员的角度,短期收益上,企业要为程序员建立一个更稳定,且超出行业平均薪水20%-30%的收入。稳定的意思,是不开除程序员,只要有一线希望,不放弃任何一位程序员,不能让程序员一空闲,自己都不好意思待着。我们会担心这个政策会养懒人,但企业没有不开除程序员的承诺,稳定就谈不上,裁员是企业求自保的最后一步,不能向前提。实际上,员工与企业信任关系的建立,是企业生命力的来源之一,无法建立信任关系也是眼下很多企业寿命非常短的原因

盛安德服务对程序员提出更高的要求,虽然工作时间不会超过8小时,但工作强度大了,要对自己的工作负全部责任,与此对应,企业当然应该提供更好的收入。长期的看,程序员能够顺利完成转换,他就可以成为一个TL,TL是成为合伙人的必经之路。

盛安德服务对程序员和TL都提出更高的要求,作为一个普通员工,为什么要转变?我希望我已经回答了这个问题。

Categories: 
up
0 users have voted.

Add new comment