ddd-demo icon indicating copy to clipboard operation
ddd-demo copied to clipboard

帮助人事经理史小锋找到合适的同事

Open abruzzi opened this issue 8 years ago • 0 comments

帮助人事经理史小锋找到合适的同事

某专业服务公司需要一个灵活的,高效的工具来帮助公司做人事管理。这个工具需要至少满足两方面的诉求: 一方面,可以快速找到适合项目的员工,让已经签订合同的项目进入交付阶段;另一方面,系统还需要满足人员的发展和成长诉求,比如为有Mobile开发意向的人找到移动开发的项目等。

在和技术专家交流的过程中,人事经理_史小锋_描述了这样一些背景知识:

  • 各地的销售会不定期地向人事经理要人,在要人时会提供项目的背景(业务,技术栈,客户信息,项目的预估时间,需要多少人,角色,地点等)
  • 有了新的项目之后,史小锋需要找到合适的PS同事,和PS沟通并确认之后,他将PS暂时锁定到该项目上
  • 当项目确定了之后(商务流程已经走完),项目就开始了,员工会在项目上工作一段的时间(未必是完整的项目周期)
  • 财务会定期的查看每个项目的资源利用率(实际工作时间/收费工作时间)

另外,史小锋在和专业服务同事沟通的时候,还发现了一些特点:

  • 有些同事希望在自己之前不是很熟悉的技能上有所提升
  • 有些同事长时间做某种角色,想要转岗
  • 有些同事不能做某些类型的项目(如离岸交付/本地交付)

业务需求

  • 人事经理史小锋想要看看哪些人现在没有在项目上,这样他就可以从中挑选可用的人(在和销售开会时可以比较从容应对)
  • 销售告诉人事经理史小锋现在有一个新的项目,需要5个PS,技术栈是Ruby,史小锋想要知道现在有没有可用的人
  • 开发人员王晓峰觉得Java技术栈太无聊了,想要换一个Python的项目
  • 开发人员王晓峰为了扩大自己被选中的可能性,想要更新自己的技能列表
  • 财务张久坤想要知道项目Coco的资源利用率

找到可以被Assign的人

  1. 在Beach上的员工
  2. 不在任何项目上的员工
  3. 属于Professional Service

按照项目技能要求查找

  1. 首先需要找到可以被Assign的人
  2. 需要技能匹配的候选

按照技术找项目

  1. 列出所有符合条件的项目
  2. 如果项目没有符合的OpenRole,则不予显示

利用率

  1. 项目上有4个人
  2. A在周一请了1天假
  3. B在周三请了1天假
  4. 项目在本周的利用率为:4_5_8 - 1_8 - 1_8 = 144, 144/160 = 0.9 = 90%

Notes

  • 项目的资源利用率是项目上所有工作的人的资源利用率之和
  • 个人的资源利用率是指(billable时长/期望billable时长),比如王晓峰每周期望收费工作40小时,但是他请了两天假,这样实际收费时间为24小时,那么这周王晓峰的资源利用率为24/40*100% = 60%

abruzzi avatar Oct 07 '16 13:10 abruzzi