现代企业的最大的财富是人才,企业的核心竞争力往往是由其人力资源决定的。管理好项目资源是十分重要。研发组织的项目资源管理对企业对项目都是十分重要的,涉及的组织以及外部供应商可能会比较多。它往往要经历多次主要反复沟通。在软件研发组织,人才显的更加重要。而在软件研发组织,占据成本最大的部分也是人力资源成本。软件研发组织的人力资源通常是以支撑项目而存在的。特别无论采用什么样的技术和方法,最终都是要达到一种相对的平衡。
01 软件研发组织的资源管理目标是什么
研发组织的资源为项目而存在,资源过剩会给组织带来浪费,资源过少又会影响项目目标的达成。另外,资源在不同的组织间分配不平衡或者资源在时间上分配不平衡也会对项目造成不利的影响。将人员合理的分配的各个开发团队中,在各个开发团队之间进行人员的协调是保证软件项目顺利完工的前提条件,因此研发组织的项目资源管理就是要解决各类资源在不同项目之间的分配与平衡。
02怎么才能做好研发的资源管理
首先,资源管理要在年度项目规划的时候就开始。一年之计在于春,企业往往在年底或者来年的开始就要做资源的规划。需要规划什么样的资源,规划多少资源均是由项目决定。在软件研发组织中,往往在年底就开始进行产品研发的规划。产品规划确定后,如何支撑来年的该项目标,人力资源的规划便是其中一项很重要的环节。
产品经理规划是一个高级别的产品计划,它可以是一年的计划,也可能是多年的计划。在这个计划中要精确的计算出需要多少人力支撑,几乎是不现实的。在这种情况下,我们如何规划人力资源呢?方法之一就是采用以项目为中心的滚动式的项目人力资源计划。滚动式的项目人力资源计划着重要解决资源的类型、资源的数量、资源的获取、资源的利用效率。
首先是项目资源类型问题。软件研发组织的项目人力资源的基本类型是需求分析师、软件设计师、开发工程师、测试工程师以及项目管理者。根据项目的不同,可能还有更多的其他角色,比如视觉设计师、交互设计师、QA等。我们在规划前期就需要将这些资源类型定义清晰,在研发组织内形成统一的认知。避免各项目各自为政,形成许多不同的角色定义,将来不便统一的管理。
其次是解决项目资源数量的问题。项目资源的数量要分解每一个项目每一类型的资源需要的数量。以及要解决在整个软件研发组织需要各类资源的数量以及使用的时间。当然,在项目未正式立项前,项目的工作量是粗略的估算,产品或者项目的计划也是阶段计划,因此项目的资源数量的估算就是粗略估算。这样我们就能简单的得到一个研发组织各类资源在各时间段的需求数量。当然,这个资源的需求数量几乎都要进行优化的。
接着我们要考虑人力资源的获取。研发项目人力资源获取来源通常有通过现有组织获取,招聘获取自己外包获取。
当我们初步完成研发组织整体的项目人力资源需求后,很自然的会将资源需求和现有组织进行匹配。当某类型项目资源过多时,可以采取调岗的方式,当某类资源过少则可采取招聘或者外包等方式。外包通常分人力外包和项目外包。项目外包我们可以较少的关心人力资源数量的问题,人力资源外包则主要关心资源类型,使用时间等诸多问题。
对研发组织自己外包供应商都需要考虑资源的平衡技术。优化的目的是让资源在满足项目的前提下能更加高效和均衡的使用资源。上述问题我们通盘考虑后,接下来就要对各项目的人力资源以及组织整体的人力资源进行优化。这个统筹计划可能要单独多次才能做到相对的均衡。