王先科
6月18日是京东成立的纪念日,京东把这个店庆日发展成为电商的年中购物盛宴,在这一天开展了投入资源最多的促销活动。促销是电子商务的重要组成部分,电商企业利用促销活动,促进销售增长、吸引新用户、提升客单价、提高用户黏性、扩大影响力,以应对日益激烈的行业竞争。整个电商行业及大量线下的零售业态都已经参与到618促销狂潮中,618已经成为整个中国上半年最重要的零售大事件。
对于电商来说,促销绝不仅仅是广告、备货、物流配送,更重要的是背后强有力的技术支撑。因为技术是大型促销面临的最大难题,在瞬时超高流量情况下,要保持系统的高度可用性,如果没有做好充足的准备工作,系统必将被洪水般的流量打垮,无法正常提供服务。因此,在618到来的前三个月,京东各个体系的研发团队就开始筹备618项目的备战工作。项目涉及的研发一级部门近20个,直接参与的研发人员3 000多人,这是一个典型的复杂项目,这样的项目能顺利进行,背后一定采取了卓有成效的项目管理措施。本文从项目管理的角度介绍618项目研发备战的管理经验,借此给广大的电商企业带来有价值的借鉴。
流量、故障、成本三重挑战
京东618项目研发备战工作需要解决三大问题,即流量、故障和成本。这三大问题直接影响项目的顺利进行。
流量:大量涌入
6月18日零时的瞬时流量非常高,从App、PC、微信、手Q、小程序、线下及站外推广等各个渠道聚集的流量大量涌入系统,瞬时峰值是平日流量的十几倍甚至上百倍,在这种超高流量下,任何问题都会被重新定义,即使是简单的问题都会变得极其不简单。更具挑战的是各个系统的流量增长不均衡,有的流量增长是几何级的,有的是指数级的,没有特别明显的规律,且由于每年有大量的新系统、新业务上线,很多系统的流量增长幅度无法准确预估。除了普通用户的流量之外,还要识别并阻止海量的不明来源的恶意流量和黄牛“刷子”对系统的冲击。
618项目备战重要性高、不确定性因素多、相关方多、风险高,项目管理面临着巨大的挑战。从6月1日开始进入618促销活动,所有的系统准备工作必须在此之前完成,无论准备情况怎样,6月18日当天都会出现流量高峰,这个里程碑时间节点是无法更改的。这就要求团队做好风险识别与控制。
故障:瞬时解决
京东618项目从6月1日正式拉开帷幕,6月20日结束,持续时间较长,订单量较平时涨幅较大,且电商行业竞争激烈,受关注程度高,任何的小问题都可能被无限放大,若在促销期间系统出现故障,对用户的体验、销售目标的达成及京东的形象都会产生非常不利的影响。项目发起人要求,万一出现系统故障,直接面对用户的系统必须在一分钟内完成切换,让用户无感知,不能影响用户体验,这是对备战工作极高的要求。
项目的相关方和涉及的部门众多,并且很多团队都是异地办公,沟通成本较高,管理沟通、控制沟通就变得极为重要。项目组成员几千人,这样一个超大规模的团队,对项目相关方的管理和控制挑战巨大。同时,项目需求来源多,内外部的需求来源导致范围变更频繁。基于这种情况,要求人力资源必须做好项目人员的配备工作,项目经理要做好人力资源的管理,保证团队成员的充足可用。
成本:降到最低
应对高流量的冲击,最简单的办法就是增加各类服务器的资源,但服务器价格不断增长,项目组要充分考虑成本、机房和网络展示等问题,并且有些问题也不是简单地堆积服务器就能解决。京东的战略是技术驱动未来的发展,项目组需要在有限的时间内,通过各种技术手段,对架构进行升级,对系统进行优化,对流量进行合理预估,用最经济的方式平稳度过6月18日零时的流量高峰。
这就要求项目经理在设备资源方面要做好管理,尤其是服务器。由于服务器等硬件设备有采购周期,为确保服务器按期到货,需要提前相当长一段时间进行采购,但提前时间越长,采购计划与实际需求可能差距越大,这是个无法绕开的矛盾。不仅如此,项目经理还要做好成本的预算,包括服务器、备战物资等均有预算限制,需要项目经理进行较为准确的成本估算。
由于京东的规模每年都在扩大,系统越来越多,而且越来越复杂,导致备战的难度越来越大。除了以上三个问题,每年618促销项目活动都会遇到新的问题及挑战,给项目经理提出了严峻的考验。总之,项目计划制订、项目计划实施及项目综合变更控制三个过程彼此相互影响,项目经理需要经常在相互冲突的目标或可选择的目标中权衡得失。
采取有效的管理措施
618项目启动之后,研发项目组成员迅速投入备战工作中,数千个新系统要进行压测、演练、扩容及优化工作,需要更新或演练几千个应急预案。6月16—19日,1 000多名核心研发人员搬到作战指挥中心进行集中备战。备战中采取有效的项目管理措施,确保项目成功。
建立項目组织框架
面对严峻的挑战,首先需要建立一个扁平化的项目组织架构,以保证备战计划的执行,信息的上传下达、工作的分解及各部门的协调配合。为此,项目组制定了跨体系的弱矩阵形式的组织架构,如图1所示。
在京东多个职能部门基础上,横向建立几个小组,每个小组分工明确而且相互配合。具体分工如下所述。
备战工作小组:由重要系统负责人和各团队架构师组成,是项目整体工作的技术中坚力量,负责确定备战总体目标、备战里程碑计划、服务器资源分配、应急预案评审及各部门备战的重要事项。
项目管理小组:由主项目经理及多个子项目经理组成,负责项目整体的沟通、组织、协调、推进、协同、跟进等工作。
接口人小组:由各部门接口人或子项目经理组成,是跨体系、跨部门沟通的主要渠道,主要负责各部门内部的备战事项的协调、信息的上传与下达,并组织本部门内部的备战工作。
后勤支持/文化宣传小组:由各部门助理及集团行政人员组成,主要负责备战的后勤保障及研发文化宣传、氛围营造及活动组织等工作。
其中,主项目经理总体上负责协调各个小组以及各体系研发团队有序配合、步调一致地进行备战工作。
全方位风险管控
618项目最关注的就是风险管理,为确保关键时间节点平稳度过,项目组从基础架构、工具、流程、制度四个方面,进行风险识别和风险消除。
首先,建好基础架构。利用“同城多中心”及“异地多活”的部署,实现灵活的流量切换、数据同步、广域分布架构、就近流量接入,显著增强系统的可用性和容灾能力。通过不断优化底层部署架构、网络架构、系统架构、业务逻辑及前端代码等方式全面优化系统,提高资源利用率,降低风险发生的概率。
其次,利用有效工具。利用全链路压测工具解决流量评估的问题。所谓压测,就是模拟线上流量,或者利用真实的流量进行放大,模拟高峰期间的流量,以此来准确评估各系统的流量承载能力,然后根据压测结果进行有针对性的优化或扩容。备战前期,各个部门内部组织单体压测;备战后期,项目经理组织订单全流程涉及的所有重要部门,利用全链路压测工具,进行数次的订单全流程压测,找出系统瓶颈和薄弱环节,有针对性地进行系统优化和精确扩容,避免盲目申请服务器,既满足了业务需要,又不至于浪费服务器资源。
利用全流程演练系统随机制造一些故障,以此检验各团队故障解决的及时性和有效性。618促销前,需要对线上生产系统的健壮性以及异常处理步骤和时间进行检验,除了对数千个应急预案进行常规演练之外,还需通过演练充分验证各系统的故障应急响应方案是否可行,考验各系统能否对所产生的故障及时做出调整,考验各系统的负责人能否及时发现故障、定位问题并迅速找到解决方案。很多故障可以依靠自动化和智能化的手段自动解决,通过演练验证自动化故障解决是否生效。
再次,及时有效沟通。项目经理组织团队在项目日例会及周例会上讨论风险清单、问题清单以及对应的解决方案,并在项目例会、预案评审会、专题会上收集新的风险和问题,每日跟进解决的进度,每日以日报的形式发送相关方。若是突发的严重问题,会在备战的即时通信群组中及时播报信息,待问题解决后,将通过正式邮件的方式把问题的描述、解决方案、解决过程等信息传送至相关方。
最后,严格遵守制度。项目组从制度上规定,任何重大问题都要有责任人、有跟进、有响应、有解决方案、有落实。当问题处理完毕后,项目经理要及时提交问题总结或故障报告,严格按照公司的规章制度办事。
优化项目集管理
618项目备战需要处理的问题特别多,可以分成多个子项目,项目组利用项目集管理的思想,对项目进行分类,把有依赖关系或关联关系的多个子项目整合到一起,按照项目集的方式进行管理,如图2所示。
资源采购与部署、全链路压测、全流程演练、应用扩容等多个子项目之间关联度较大,存在一定的依赖关系,把这几个项目组成一个项目集,由一个项目集经理统一管理,项目集经理不会花费太多的精力关注子项目本身的细节,而更关注如何调节项目之间的依赖性,解决资源冲突与制约,优化进度,并向更高决策层统一汇报,争取最大的支持与帮助。
破解沟通难题
为方便沟通,把原来多对多分层交叉的沟通模型改为星型的沟通链路。所谓星型的沟通链路,是指项目经理在沟通链路的中心,所有重要的问题都尽量跟项目经理沟通,这样就最大限度地减少沟通中信息的漏斗效应及信息的失真,把原来比较杂乱的沟通链路变得极其简洁。但这对项目经理是非常大的挑战,不仅要具备非常好的沟通技巧,还要掌握最及时、最全面的项目信息。同时,关于沟通,我们会对重要紧急程度不同的问题采取不同的沟通手段。项目组通过组织例会、专题会、日报、接口人制度等方式保证信息的及时和准确。
加强团队文化建设
备战的过程很煎熬,对员工的精神和体力都是巨大的考验,项目经理需要持续激发项目团队成员的斗志。同时,备战也是一个非常好的宣传京东文化的机会,项目组采取事前激励、事中鼓励、事后奖励的方式,调动团队成员的积极性,确保项目的顺利完成。而且,后勤支持/文化宣传小组会还组织形式多样的活动,如创意展示、高管慰问、快闪合唱、誓师会等活动,营造备战气氛;并且全力做好备战人员吃、住、行等后勤需求,力求让团队在最舒适的环境中,精神饱满地备战618。6月19日凌晨,项目组组织小型的庆功宴,集团高管来到备战指挥部慰问,对项目组的工作表示认可和感谢。
储备组织过程资产
虽然,每次618促销项目都会遇到不同的问题和挑战,但充分利用以前备战留下的组织过程资产至关重要。项目经理总结备战的经验和教训,编制《京东大促研发备战知识精华手册》,梳理备战主流程及重要事项,提前暴露项目风险或问题,并提前采取应对措施。
6月底召开总结会和庆功会,研发部门提交书面材料,总结经验教训,并纳入公司组织过程资产库。对表现优秀的团队、个人进行表彰和奖励,对于項目过程中涌现出的优秀人才,后续进行重点培养。7月初进行为期两天的大促技术分享,从架构、产品、开发、测试、团队管理及项目管理等角度,邀请各个领域的专家进行演讲和分享。
通过618项目技术备战,不但实现了京东集团的销售目标,保证系统安全、平稳;更重要的是,这个过程为人工智能、机器学习、大数据、弹性云等新技术提供了应用和验证的场景,进一步夯实了系统的基础,留下了极其宝贵的组织过程资产,并且在备战过程中,培养了很多技术一流并符合京东价值观的技术人才。
结语
618项目备战过程中,项目管理团队综合运用项目与项目集管理理论、项目管理工具及项目管理经验,结合京东实际情况,在项目的各个阶段做好沟通、组织、协调和推进工作,做到事前有规划、事中有监控、事后有总结,通过卓有成效的项目管理,完美支撑了618的促销活动。京东618在项目管理方面的工作受到国内外知名项目管理专家的肯定,在2017年的PMI(中国)项目管理年会上,本项目受到了评委专家的一致认可,获得了年度项目管理大奖——杰出项目奖。