要开发一款通用的人力资源管理软件,从它的需求分析、架构设计、程序编码、测试到正式发布和推出 ,客户购买或者租用后经过项目实施和改造,最终交付给用户使用,其中涉及不同的人群,他们会有不同的思维方式和视野。
一、 软件需求分析、设计和开发人员的视野
软件需求分析师收集不同行业、不同企业的需求,从中抽取共性和可信息化的需求,同时给个性的东西留有出口(解决方案);软件设计师设计数据模型、软件模块/功能和用户界面(UI),软件开发人员。这类人员更多是站在技术的角度思考问题域和解决方案,不大容易站在用户的角度思考问题,如业务流程的连贯性,功能、菜单和页面的逻辑相关性,界面的易用性,界面上的术语要反映业务习惯和前后一致性,等等。
一个需要引起重视的问题是软件产品的继承性,也就是系统推出新版本后用户能自动升级,不需要推倒重来,另起炉灶重新实施。如果新版本是推到重新来过,对软件开发企业来说成本太大,软件的功能也得不到积累和传承。但是现代软件技术和开发工具发展太快,对软件的生命周期带来严重的挑战,但是用新技术和新语言重写老软件的代价和周期有时候成为企业的不能承受之重,这也是一个矛盾。
二、项目实施人员的视野
人力资源管理软件是面向企业的软件,由于人力资源管理业务自身的复杂性,覆盖的业务面也广(参见附件),而且每家企业的人力资源管理制度、政策和方法都会有自己的特点,所以人员资源管理软件不是拿来即用的软件,不论企业购买软件自部署的方案还是租用云平台的SaaS方案,都是如此,所有软件面向特定企业的实施过程不能没有,这是项目实施顾问的工作。
不论是业务顾问还是实施顾问、开发顾问,他们要完成收集和分析特定用户的人力资源管理业务需求,设计面向未来系统的业务流程,结合选择的软件系统进行系统数据模型、模块和用户界面的设计,配置和改造系统,最后导入主数据和业务数据,培训用户,最终系统上线运行,在整个项目过程中都要考虑使系统满足企业不同层面用户的需求和使用 。
他们的主要关注:
1、软件的适用性: 不同国家/地区、行业、规模、发展阶段、所有制形式
2、软件的可配置性: 提供足够的配置选项,可以根据不同的组合条件选用;配置菜单和页面集中,先后吮吸反映配置步骤的先后顺序和逻辑相关性;提供预设置的默认可配置参数,可以直接使用或者作为新配置的模板可以复制修改;尽量不需要进行代码级的增强开发和客户化开发;配置参数和开发的代码可以自动在配置开发系统和生产系统间传输。
3、技术框架简洁,尽量不要使用多种不同的开发技术和语言,这样对实施人员和后期运维带来巨大挑战,一时拥有成本增加,二是人才的获取变得困难。
4、易于增强:系统提供可以配置的 标准解决方案并预留增强开发点,并且提供说明文档和例子程序;
5、提供良好的命名规范,对于不用的对象和配置/增强参数,预留客户的命名和编码范围,保证系统升级或者打补丁时不会出现系统异常,减少升级过程中的手工干预工作量。
三、最终用户的视野
在企业中,人力资源软件系统的用户一般包含以下几个层面:
1、高级管理人员: 各种人力资源分析图表(含关键人力资源KPI)的实时获取,用户界面简单美观,最好的用户干预和交互。
2、HR业务人员: 系统的功能足够支持常规业务处理,同时能满足某些特殊情况的处理;系统的菜单和页面j结构设计反映业务流程和操作的顺序,可以自动前行也可以回退;完成一件人事业务处理最好在最好的步骤和界面完成;
3、直线经理:流程审批和部门级的人力资源分析图表,简单的界面,较少的交互(点击和选择),界面简洁。
4、普通员工: 员工服务,包括申请流程发起和信息查询,该类用户应该可以基本 不需要培训就可以直接使用;提供纯WEB端和移动端的接口,最少用户的输入和点击交互。
如果要求一个同时具有这三种人的业务知识和技术能力,有点强人所难,不大现实。但作为其中的软件需求分析、设计和开发人员,要学会站在其他两类人员的角度去思考问题和设计方案,至少应该了解他们的诉求并时刻铭记在心,才能使设计和推出的软件具有群众基础和生命力。 不然就可能成为闭门造车,最后的结果可想而知,或者吃力不讨好,或者相互指责,最终是劳民伤财。
附件:
人力资源管理有16个模块,包括:
1)人力资源愿景与使命
2)人力资源规划
3)组织设计和发展
4)编制和职位管理
5)招聘管理
6)人事管理
7)薪酬管理
8)福利管理
9)培训管理
10)职业生涯管理
11)员工能力模型管理
12)领导力发展与继任管理
13)绩效管理
14)员工关系和企业文化
15)知识管理
16)人力资源管理信息化
(本文于2017年发布)