分类: 大数据
2017-06-20 17:30:14
人力资源管理系统是用集中的数据将几乎所有的人力资源相关的信息(组织、招聘、薪资、绩效、审批等)统一管理起来,是企业运行必不可少的管理软件。国际上知名的有oracle peoplesoft、sap 和workday hcm,世界500强公司有超过一半都在使用。国内金蝶和用友在ehr领域也有着多年的技术积累。
阿里早在06年就上线oracle peoplesoft hcm 系统,是国内最早一批引进世界先进人力资源管理软件的企业之一。peoplesoft hcm的上线为阿里带来了先进的人力和组织管理能力,支撑阿里业务和人员规模在过去这十年中成倍扩张。
当前,阿里经济体已经成长为涵盖电商、云计算、文娱、体育等数十家公司,数万员工覆盖24个国家和地区,上线十年的peoplesoft hcm在功能模块、用户体验、系统开放集成等方面已经不能满足业务发展要求。再者,从自身信息安全和成本角度来考虑,阿里巴巴这种体量的公司除了自行研发系统之外,也别无选择。
peoplesoft界面
自研系统听起来是美好的,但要真正实施起来面临的挑战是难以想象。
挑战一:去peoplesoft hcm涉及的模块众多,关系错综复杂,依赖紧密,人员信息管理,绩效系统,调薪系统、薪资申报平台,报表中心,权限系统等等,10年历史数据都需要清理和迁移而且不能有一点点差错,否则损失不可挽回。
挑战二:国内外根本无可参考借鉴的去peoplesoft公司,规模大的公司不用oracle就切换到sap或workday,小公司业务深度浅去除后换同类软件就可以了。阿里不但体量大,而且作为互联网科技公司业务场景比传统大企业还要更深,仅功能模块需求就有70多个。
挑战三:阿里经济体在迅速壮大,如优酷、uc等企业不断加入,国际化进程也在加速,自研系统就必须要支持生态化,国际化需求,牵扯业务方更是繁杂。
挑战四:自研系统在成本上还要可控。hcm管理软件是技术和业务高度融合的复杂业务系统,很多世界一流科技公司有技术实力进行研发但缺少业务深度的重要一环,以及后期维护和技术更新带来的变动,投入大量人力物力与换来的价值不匹配。阿里作为一家企业,也需要解决这个问题。
面对挑战,阿里信息平台ehr技术团队采取分阶段,由易到难,逐步迁移的策略。在正式启动去除前,将公司组织、职务体系、员工生命周期等主数据管理率先从peoplesoft hcm中剥离出来,与集团it,财务、行政、采购、安全、廉政等系统打通,实现核心数据备份存储。
项目启动后,分四个阶段由浅入深进行,完成方案设计论证、计算框架开发、核算逻辑开发、并行验证等任务。
方案设计论证阶段。集合了阿里众多资深的薪酬业务和产品专家,开始去peoplesoft薪酬核算的攻坚之路,在2个多月的时间内先后完成了脚本语言(python/groovy)选型,追溯方案设计论证,计算框架设计,云计算任务调度设计,数据加密等。
计算框架开发阶段。为了实现复杂业务易于管理和维护并和计算框架分离,业务代码实现上我们选择使用groovy脚本语言配合阿里云大数据计算服务数加(maxcompute)实现薪酬核算。其中对于脚本语言的选择,主要基于两方面的考虑,其一groovy于java无缝兼容;其二java工程师快速上手groovy开发,相对成熟,学习成本低。而利用阿里云大数据计算服务数加(maxcompute)实现薪酬核算,可以经济高效的分析海量数据,用于阿里数万员工的薪酬核算在数据安全和计算效率上相较于之前都会有很大的升级。
为了让业务方和开发能快速理解整个系统的业务逻辑,以及对代码版本进行控制和管理,我们在项目公式的设计上分为三层结构,第一层是业务能看懂的业务语言,第二层是系统语言,第三层是可执行的groovy脚本语言;当用户在页面编辑保存第一层的业务语言时,相对应的会转换成系统语言和groovy脚本进行保存,计算时只有groovy脚本参与计算。