Skip to content

Instantly share code, notes, and snippets.

@andersr
Last active August 29, 2015 14:00
Show Gist options
  • Save andersr/11347725 to your computer and use it in GitHub Desktop.
Save andersr/11347725 to your computer and use it in GitHub Desktop.
HR Onboarding Pseudo Code Example

##The client's description of the problem

A major challenge for us is adding new employees to our HR system, which is connected payroll, benefits, email, and many other internal system. Currently, this is a manaul process, involving the security staff, IT, and HR personnel. It’s very time-consuming and it leads to delays in new employees having access to internal tools. The main goal of the tool is to provide new employees with an Employee ID. After that, we need to use that ID to give them access based on their department, role, and level of seniority. For example, a VP of Engineering will get all kinds of admin-level access to a range of internal systems, while, say, a product manager, would likely only get access to email, the intranet, and a few other services. In order to provide the ID, we have to confirm their identity. This can be done using either the last four of their SSN, valid driver’s license number, or a valid passport number. We use an external service to confirm that this number matches the name they have provided in their job application. Once the ID has been validated, and they are onboarded into the system, they wil be able enter selections relating to health benefits, 401(k), creating a password for their company email address, and more. If there is any discrepancy between the name and number, we’d need to resolve it manually, but this is not common. In addition, we have legacy employeed IDs, from an older system. That is something we also need to check for, but is usually only relevant for new hires who have worked for us in the past.

##How a developer might approach this

  • Break a big problem down into smaller ones.
  • Look for a possible MVP, entry point into the larger problem.
  • Define major entities
  • and much more...

##Break big problem into smaller pieces

  • The system we are building: An Employee Account Management System (Capability)

###Breaking down into smaller pieces (features):

  • Request New Employee ID (Story)
  • Assign Employee ID to New Hire (Story)
  • Automatically Verify User Identity (Story)
  • Manually Verify User Identity (Story)
  • Assign ID to User (Story)

##Possible MVP?

  • Assign Employeed ID to New Hire (Story/Epic)

##Assign Employeed ID to New Hire ###1. Receive Request for New Employee ID (Story) On select of “Request New Employee ID”

  • Display Employee types.
  • Employee Types: New Hire, Legacy Hire, Transfer Hire, Previous Hire
  • User must select one.
  • Only type available for MVP is New Hire.

###Assign Employeed ID to New Hire (Story) On select of New Hire

  • Request ID confirmation credentials
  • Confirmation Credentials options: Driver’s License, Passport, SSN, Picture ID

###Validate user identity via 3rd party verification service (story)

  • TBD
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment