管中窥豹,深入总部调研苏宁易购研发
转自:http://bbs.paidai.com/topic/103642
深入总部调研苏宁易购研发
笔者有机会近距离长时间接触苏宁易购 ,所见所想与大家分享,希望对各方与苏宁易购合作的或是将要合作的人或是组织有所帮助。同时也愿本文对国内软件发展状况分析提供参考。同时需要声明本人目前与苏宁易购、以及其合作伙伴,乃至竞争对手等无任何利害关系,用美国人话说就是no common interests,只希望此文信息客观公允,如有偏颇,还请见谅。
霸气的人事、考勤管理
与很多外企宽松的环境不同,苏宁上下班要严格打卡的。工作时间是早九晚六点半,中午两小时午休。很多人都抱怨易购的考勤BT。原因一般是这样,早上九点零一分到就算做迟到了,两次以上的迟到就会被扣工资。如果早上九点半之前还无法到达,建议上午就不要来了,因为来了也是白来,会被算做上午半天的矿工。我知道很多外企都有10天以上乃至20天多的带薪假期,根据工龄有的老员工能连休月余,而且是全薪的。易购这里据了解普通员工是没有一天带薪年假的,月底拿工资发现少了的常有。顺便提下,易购在09年到12年间的员工流动率还是非常明显的。我没有确切的数据,不过有一点提供参考,就是易购的code base中大部分员工名是无法在现在系统中找到人的。粗略估计在50%以上,当然不排除因为与IBM合作的关系,很多早期合作的员工因为不堪重负等等原因都申请转调其他项目。早期的易购据说时常12点以后甚至几天通宵,不过这纯属道听途说,无从考证。现在的易购强调加班文化这点是毋庸置疑的,晚上几乎没有人六点半下班,据说易购员工要求至少八点半,事实所见也确实如此,不是有些员工不舒服或是有突发事件,否则九点左右才开始大规模的员工下班。如果恰逢Release之前呢,一般都要做到十点、十一点以后的。据说易购特意准备了员工公寓,以备不时之需。如果因家远等原因无法加班到很晚的,公寓为你解决后顾之忧。听说有些大Release之前也经常有通宵到凌晨4、5点然后去员工公寓小睡的,当然第二天一般10点之前是要来公司的。笔者所在期间并没有亲眼见识,不过时常有人加班到11、2点确实不虚。如果没有Release呢,其实说实话这种场景很少见,一般两、三个月都会有个大Release,也就是说最多“清闲”一个月就要加夜班了。话说这难得的“清闲”得来并不易,除了要没有Release,还要你做的项目刚好比较"lucky"。苏宁的经理、主任以上原则上每升一级就要晚下班一小时。这种“身先士卒”的规定已经成为企业文化的一部分,即使没有主任、经理职衔的为了更好的表现和获得升职的机会往往也会和老总一起加班很晚。以此类推到下面的开发人员。这样一来,苏宁绝大部分人都会10点后才走的,即使没有Release。
那没有Release加班儿做什么呢?这就不用“操心”了,苏宁易购晚上都会有各种会议和培训、考试,保证了你一天工作的“充实”。尤其是到了晚上,很多老总都有和下面人开会的习惯(有的得说是“癖好”了)。像很多国企一样,苏宁易购的会议也脱不了俗套:会议没有主题,一开就几个小时,会上讨论很多问题但大都没有决策,喜欢小问题或是无关的问题也把大家都拉上,等等。所以经常开好了会就10点了。外部的顾问自然也逃不了。再有,因为苏宁易购绝大部分员工都是刚毕业的那种,很年轻有朝气。同时,女员工比例几乎能达到1:1,在IT公司是很高的。他们安排了周全的培训计划,甚至包括html, 单元测试等都被安排在内。有些培训后会有考试,比如html。考试分数会影响员工的升迁。培训、考试一般安排在晚7:30-9:30。少数易购的老员工对此不满,因为培训、考试是走大锅饭路线,无论经验长短,男女老少都不能豁免。而且据说题目弱智,无法和SCJP等考试相提并论,多数要背书的。这么看来,即使项目空闲期6:30pm下班也是种奢侈。
如果要请半天假期的话,早上必须工作到下午两点以后才可以刷卡离开,否则会被记为一天的假扣一天工资。另外,每日晚上要填写工作日志,如没有即时填写严重的可被算做矿工扣工资,合作方员工具体参考不同合作方的规定,但基本上那天合作公司收不到苏宁的人头费。工作日志的填写也有严格的时间规定。不可以在工作时间内填写,也就是只有早9点前或是晚6:30后才可以,否则被算作违例。好像足球、篮球比赛一样,违例会被累计,几次之后就会扣工资甚至更严重的惩罚等等。无论任何原因,两天以上的均需要经理、主任、总经理/副总的层层审核。如果是外部IBM顾问等人员,还须组织的相应人员同步审核。当然,如果IBM的顾问,无论几天假期,你都需要额外的很多流程,除了苏宁的审核,IBM内部有HRMS, CATS,OTR以及Lotus邮件等也需要同步处理。
复古的研发管理
再说说苏宁的研发管理。易购内部大约分为电子商务产品中心,金融产品中心,物流产品中心,终端产品中心,ERP产品中心等部门,每个部门都有总部下派的副总管理,比如任总,黄总等等。就电子商务产品中心又细分为前台,会员中心,搜索,性能优化等等团队。据个人了解,上述各部门都没有使用到任何正规的软件开发流程。不排除某下属团队在某时期使用某种方法,如agile等。但就研发管理成熟度评估的角度来说,苏宁易购恐怕属于CMM Level 1,初始级(initial)。无法进入CMM Level 2 Repeatable级别的原因是,苏宁易购的大部分的项目以及Release都是以一种特殊的管理形式完成的,而不是某种可重复的流程。此外,苏宁易购有相当的工作量都是用于处理危机。比如今年3、4月常发生的Database时常当机重起,导致用户无法交易。另外,从人员的流动率角度说也具备不可预测性。最乐观估计,也无法达到CMM2。就笔者看来,这与苏宁用人的特点有关,苏宁忌讳从市场招聘专业化的优秀人才,反而偏好使用有亲属关系或亲密朋友关系的人选,据说CTO就属于亲属派。当然,这点在国内民营企业中屡见不鲜,所谓“任人唯亲”,与欧美“任人唯贤”形成对比。比如盛大网络也是聘用没有太好学历和造诣的陈大年(陈天桥的弟弟)担任研发部门的一把手。这种特殊的人员构成导致了易购的中心集权,产品功能,需求分析,设计架构,发布时间等等重要决策一定要通过黄、纪、任、庄等副总拍板。虽说是“总”,可这几位都年级轻轻,CTO刚过33虚岁。即是此种人员构成,研发管理中的“随意”就特别明显。虽说也有文档,但懂行的内部人事都知道,没有文档只要有老总拍板就行,反之有完备的文档老总临时变卦项目就会流产。临时变卦或是临时增加新的需求和想法在这里也非常正常,这不像Scrum所提的Velocity以及Sprint概念,在这里一切“以人为本”。上线前几天忽然要求改需求或是"人为"原因忘记部分需求,记错需求临时恶补,这些情况笔者都亲身看到过。这时候员工宿舍就要派上用场了。而且有些经验之谈就是不管项目开发过程中是不是按照进度,甚至超前进度,基本上预备好release前两周每天工作到十二点后就对了。原因两方面,一是做的快的会被安排救援其它项目。二是会有意的为做的快的增加新需求。毕竟按前面提到的,哪些是"新"需求哪些"旧"都是人说的。
苏宁有文档吗?有的,而且很多。文档包括需求、项目计划、架构、设计、开发、测试等等。可是,有没有文档与文档是否做为开发流程管理的重要依据是两回事。具体细节可参考cmm, 或敏捷等参考。据说(据调查,应该是靠谱的),易购和IBM已经就开发工具以及研发管理方案上达成一致,易购斥资购买IBM旗舰产品Jazz(RTC)(根据服务规模不同,价格应在几百万刀到千万刀),并提供二次开发服务。所谓二次开发这点与很多国内使用sap等财物至软件雷同,都是出于一些"特别"的制度原因。有传言现在的很多改动已经超越了RTC的极限而更像为易购打造新系统。就现在的开发模式,苏宁易购是狠心的回到了三十年前!
苏宁易购、IBM相濡以沫的技术
苏宁易购的技术架构大体上是这样的。从前端开始使用IBM Webshere Commerce产品(细节会在后面展开),前台界面以及业务逻辑由ibm gdc与易购员工公同实现。应用服务器自然是IBM WebSphere,当然包括了一系列其产品线如MQ等。数据库服务器是个单机没有partition的DB2。服务器及操作系统是IBM AIX系列及IBM JDK.开发工具使用IBM RAD, Jazz等,通信用IBM Lotus系列。具体IBM的报价我并不清楚,不过可以很负责任的说应该在至少几千万人民币的规模,还不包括gdc,gbs,cdl的服务费用。服务费用也分为一些类别,主要是人天的费用。人天是按照员工的日工资乘三倍算。其它跟据所属部门不同不同,一般不外乎差旅费等,band8等以上员工可能还有额外费用。所有这些费用的回报呢就主要是现在大家都可使用的suning.com。有人说回报率极低,我不做评说。苏宁易购是迄今为止国内购买IBM WCS并使用其服务的第一家公司。个人认为这其间原因如下:
1)WCS架构是基于传统EJB以及严格耦合WebSpere应用服务器。换句话说,购买WCS意味着对IBM一系列软硬件的购买,WebSphere, DB2, IBM MQ, IBM JDK, IBM Unix等等。
2)WCS的技术相对落后。WCS第一版大约在98、99年上市。到今天的版本,期间几乎没有架构级别的更新。深入WCS核心代码你根本看不到Spring IOC,HIbernate O/R Mapping, Annotation, In memory cache, Apache等等。甚至几乎没有单元测试。关键还是所使用的缓存系统相比Hibernate,MemCache等性能明显落后,此外与Moden Cache system的差距还在很多技术指标上体现,如被动、主动式,分布式支持,L1/L2,分段索引系统,反向索引等。具体技术细节可参考相关分布式缓存系统文章。缓存系统落后直接导致数据库系统的承载压力,所以今年3、4月的数据库系统崩溃等与此也有直接原因。当然,有些用户提到的系统响应时间过长也源于此。另外,WCS也没有现今分布式系统常用的O/R Mapping等技术,用到最多的还是早期的EJB和MQ技术,这也导致了系统的额外开销,如大量远程序列化、JNDI Lookup、部署等。另外,WCS持久层依然采用单DB2 Instance结构,而没有Horizontal, Vertical Scaling,读写分离。淘宝等架构已在几年前实现数据库的集群,分表等大数据处理的高端技术。国际上先进的如eBay、Amazon等早于上世纪就使用了数据库集群技术、读写分离技术,并在本世纪早期03、04年左右实现了Database Sharding,也就是我们说的Vertical Scaling和分表技术。可以说在关键的数据处理技术上苏宁易购是落后10年以上的。电子商务的技术核心其实就在数据处理,而落后的数据处理一般会导致:1)系统响应时间过慢。2)高峰时段可能造成数据处理错误,比如已经付款的因后台数据处理的问题导致没有记录或是错误记录,从而造成用户的损失。
3)先进的硬件系统。与技术落后相对应的是其先进的硬件系统。易购的数据库和应用服务器使用IBM的64块CPU Cluster的超级服务器。据说报价在百万美金之上。为什么这么落后的软件系统搭配了如此先进的硬件系统?与一些易购内部人士的攀谈以及个人的分析:其一,IBM在大陆地区非常缺乏电子商务人才。更缺乏对大型电子商务架构的资深架构师。其二,大型e-Commerce也是IBM全球在企业应用服务上的短板,IBM缺乏相应的高端产品支持以及相关技术的把握。现今国内外大型知名的电子商务或互联网公司几乎都极少使用IBM的关键软件技术(WebSpherec除外),如Amazon, eBay, Facebook, Groupon, Taobao等。其三,相比之下,落后的软件系统以及先进的硬件系统可获得更为可观的综合报价以及后续的长期服务费用。IBM拥有全球非常聪明的产品组合和报价系统是毋庸置疑的,从苏宁易购项目就可以看出。
4)关于未来的苏宁易购技术。目前苏宁易购已经计划抛弃IBM WCS或部分抛弃而采用开源设计的基于Spring,Structs, JQuery, iBatis, Freemarker,Radis Cache的新架构。据了解此新架构尚在设计与搭建的初级阶段,到用户最终能够体验恐怕要到明年。到底是去IBM化还是被IBM绑架,众说纷纭。个人以为,这已经超出了技术架构的范畴,更多体现了苏宁、IBM之间若即若离的微妙关系。从历史经验来看,一旦买了IBM的某些产品的企业,基本注定是被绑架的命运,想脱离谈何容易。不过,苏宁易购由几年前的IBM一方独霸,已发展成群雄逐鹿。Infosys等多家企业已正式入住苏宁易购。包括易购自身员工的发展战略,今后是三国鼎立还是三分归晋就拭目以待了。
苏宁易购神一样的办公环境
苏宁易购位处南京玄武区徐庄软件园,距仙鹤门地铁约3公里路程。很多人以为是玄武所以订了市中心的酒店,其实这里是很靠近栖霞区,附近有酒店Novotel,整体还不错。易购的研发区在软件园的动漫走廊。整体形容下用句常来的快递员的话:这里很像厂房或是临时改装的办公楼的感觉。记得我第一天办公五个人一起围坐个小圆桌,每个人刚好放下电脑的大小,行李只好放地上,有人说这里更像网吧,而且是二三线城市的那种。几乎没有隔栏,基本上很多人一起在个长桌子上工作。印象很深的是第一天上厕所,没想到要排队,好不容易挤上了发现是要蹲的那种。另外,不像很多北京上海的办公室都有pantry什么的,这边只有个简漏的茶水间,没有纯净水,是在那种像是锅炉一样的东西打水,水有点儿味儿,头几天还真不适应。因为人员的急速扩张,动漫走廊的十几栋“厂房”已经都被苏宁易购承包下来了,很多“厂房”都刚刚装修好还在散味儿,不过激进的苏宁易购已经安排员工纷纷入住办公,有员工说有味儿也有说闻不到,不过不管能否闻到,按照国际标准,因为装修过程中所产生的苯系化合物等,刚装修好的办公室应在这些化学物在空气中的比重降低到一定范围之内才可入住。那么,苏宁的新装修办公楼是否还残留这些化学物呢?他们对员工会有危害么?
本人不是化学专家,不过查阅了相关资料:1)原则上苯系化合物任何浓度下对人体都有致癌的作用,并且有潜伏期,所以没有任何症状不意味着你不是其受害者。2)此类化合物正常需要1年才可完全消除,民间有装修放味三个月的说法,原因是此类化学物前三个月的释放速度最快,并能降低到一定范围之内。3)据说易购动漫走廊的某些新办公室装修后一个月就已经有员工入住。置于是否对员工有害,可能需要有关方面的检验数据为准。
本文转自http://aggasuning.iteye.com/blog/1562133
简短点评:中小电商拼差异化的长板,规模电商拼短板。苏宁易购能够说出很多优势来,比如家电3C的采购优势,分布全国各地的仓储物流优势,当然还有几十年积淀的品牌优势。当然做电商这些都不可或缺,问题在于电商基于互联网平台,技术要素也是最为重要的,否则优势则不能发挥。看了两遍,这技术问题不是一般的大,估摸着苏宁不仅会在技术上付出不菲的学费,因此浪费的时间成本,导致差的用户体验代价,更不可用金钱计量了。
这仅仅是管中窥豹,运营部门呢?技术部门作为独立尚且如此,需要部门协调的采购仓储物流运营客服等等又表现如何?