Projects:Humancapitalmanagement/Employee Information Management/Functional Specification
Overview
Purpose
The aim of this document is to describe the functional specifications for an Employee information management system. It is part of an extension module that supports Human Capital Management. This funtional specifications will be later on implemented following the Technical documentation.
Scope
This is the core of the module and every other functionality will depend on this. It will provide the functionality of managing the information of the employees. That is, it will provide the ability to add, delete, modify, search and list the employees and the information associated to them.
Design Considerations
Dependencies
Every other future extension of this module will be based on this module. This makes it necessary to design a solid structure that will allow other functionality to be developed in top of it. This module will be dependent on Openbravo core module.
Constraints
Openbravo ERP already provides a mean to manage employees. This module will provide wider managing tool. Still, it will be consistent with the previous approach.
Functional Requirements
User roles & profiles
The following roles are involved:
- HR Manager: the HR professional responsible for running HR related process and activities. They will have access to every employees information within their organization.
- Manager: responsible for giving permission, feedback, etc. to the employee in certain situations.
- Senior managers: concerned about the hierarchy of employees reporting to them. Needs to be able to see their organization as a hierarchy.
- Front line managers: concerned about the employee reporting to them.
- Employee: the individual being managed. Will have access to their own information.
Business process definition
Employee records management:
- Add
- Modification
- Delete
- Search
- List
System setup:
- Default
- Team + Team manager
- Salary Category
- Position + Salary categories for each position
- Contract type
User stories
Mary is the Human Capital Manager of an advertising agency responsible for the coordination of 120 employees with several level of management. The legal structure of the company follows a structure similar to the one shown in the following diagram.
At the same time, the management structure of the organization could be similar to:
System Setup
First of all, Mary does the setup of the system to have it ready for usage.
- The first step consists on setting the default values. To get this done, Mary will navigate to the Human Capital Management folder in the menu. The defaults can be set in the window called default in the setup folder. This window will allow to select a employee category. Every employee entered in the application will have this value set in their employee category field. This field is hidden in the employee window so it is not modifiable from this window. This value matches the business partner group in the business partner window. It must be kept on mind that every employee is a business partner. Also, default values for expense reimbursement can be entered. This defaults could be different for each organization. Note that there must be some business partner category in the system to be able to fill the HCM defaults setup window.
- Next the salary categories available within the company will be entered by inserting new records in the salary category window. This salary categories will have a unique name and a salary range. In the salary category window, there is a child tab called cost, where a cost per some unit of measure can be inserted if the employee is going to perform operational tasks. For example, cost per hour or cost per unit produced could be inserted here in other to use this data in Project and Service Management.
- Afterwords positions will be entered. Position is the concrete name of the job the employee holds in the company. This positions and salary categories will exist under certain organization. Each position will be identified with the name. In the positions window, there is a child tab called salary category. The salary categories available for the present position will be added there. Only the salary categories available for the organization of the position will be available. Each salary category can be related to several positions. The mapping is only valid within the organization selected. The same combination of position - category could exist within different organizations.
- After that, Mary will enter the contract types used in the company.
- Eventually, Mary will want to enter the teams within the company. To enter a team Mary will click in the team window in the setup folder of the menu. The name of the team will be entered. As the employees have not being created yet, the add manager process can not be done. Once the employees that are managers are entered in the system, the HR manager will click the 'add manager' button. A new window will pop up. In this window the managers name and start date/end date can be filled. The information regarding the managers is kept in a child tab in team window. As the teams are part of a tree, Mari can click on the tree icon, and locate the team in the corresponding hierarchical position.
This process is illustrated in the following diagram:
Addition
Whenever there is a new hire in the office, Mary navigates to the Human Capital menu and clicks on employee window. Then clicks on new icon to enter a new register.
- She fills the mandatory and non mandatory information in the header of the register.
- She fills the different tabs if needed:
- Contact: For every contact (telephone, e-mail address, cell phone, etc.) a new register will be entered. In each of the the contact type will be selected and the information fields. It is necessary to set whether it is private or business contact information and whether is the main contact of that type.
- Location: For every address that wants to be kept a record must be filled out. It also has a check to distinguish whether is a business or private address and whether is the main address.
- Bank Information: For every bank account that wants to be kept a register will be entered. At least one and only one will be checked as default.
- Employment Information: In this tab all the information related to the employees activity in the company will be tracked. The team of the employee must be selected. If the chosen department has no manager, an error message will be displayed. Also, the employees position must be selected and automatically, the available salary categories within the organization will be available in the salary category drop down list. The effective date will be today by default but can be changed.Also, the contract type of the employee can be selected. If the employee has a part time contract, the dedication fields will be displayed in the screen. If the salary entered is not in the salary categories range an information message will be displayed. The register will be initially in draft status. Once every information is filled out, complete button must be checked. The data will turn to read only and the register to status complete. If there was a previous register in complete status, it will be turned to historic status.
- Family member: If the contact has any relative whose information wants to be kept a register can be entered for each of this persons. It is compulsory to enter the name and surname and the birth date of this person.
- Operational Resource: In this tab there are two check boxes to set whether the employee is a sales representative and/or an operator. There is a child tab to select a cost salary category. This salary category will be used to calculate costs in project and service management.
Modification
Whenever there is any change in an employee data, Mary can access the system and change the information in the required field. This information update could have different effects in the system. There are some fields that may force some others to be changed.
On the one hand, there are some fields that will not affect anything else. These changes can be done just typing in the correspondent field and saving. The change will be saved and reflected in anywhere is used. For example, modifications in the employee header, such as First Name, Last Name, Nationality, Sex, Marital Status, etc.
On the other hand, some changes will make some other fields to be displayed. For instance, if the field status in the employee header is turned to former employee, the exit date field will be displayed.
However, there are some fields that require a more complex process.
- Manager modification: for example, if an employee is promoted to manager. This modification will be done in the teams window and not in the employee window. In the corresponding team, the add manager button will be clicked and the information entered. This will create a new record in the manager tab, where all the previous managers can be seen.
On the other hand, changes in employment information tab will require a new record to be inserted every time, so track of the changes can be kept. Whenever the new tab is inserted the previous records information will be displayed, so the insertion is easier. Once the information has being inserted, the record will be completed and not modificable anymore.
The following diagram illustrated this process:
This are examples of modifications that would need a new record to be opened in the employment information tab or in the team window:
- Organization modification: for example, if the employee is transferred to another country. This has to be done in the employment information tab but the modification will be accordingly done in the employee header. It could be necessary to change some other fields for the data to be consistent, such as the position, salary category, team, etc. That is, if the previous data is not valid in the new organization, it will need to be changed.
- Position modification: for example, if the employee is promoted to a new position. The salary categories available will change. If possible the previous salary category will be selected.
- Salary Category modification: for example, if the employee is promoted to a new salary category. The position remains unchanged.
- Team modification: for example, if the employee is changed from one team to another. The manager of the new team will be his/her new manager.
- Dedication modification: for example, the employee stops working full time and starts working half time. The dedication field will be changed from full-time to part time and the standard hours and work period fields will be displayed. If the employees dedication is set from full time to part time, the standard hours and work period will not be longer displayed.
Deletion
Whenever an employee leaves the company, Mary will set the status field to 'former employee'. The information related to this employee will be kept in the system for possible future usage. When an employee is the status will be turned to former employee and the exit date will be displayed. The exit date will be today as default.
Search
Whenever Mary wants to search for an employee, she can click on the search icon. This icon will allow her to search by:
List
Whenever Mary want to see the list of employees she can access the records in the grid view or export it into excel, CVS or PDF.
Functional requirements based on business processes
In the following tables the functional requirements are listed. For readability reasons, the requirements have been broken into different tables and some mockups have been added to help in the understanding. The code for the icons in the field lists:
- * read only field
- + mandatory field
- < shown in grid field
Menu
|
Num
| Requirement
| Importance
| Approved
|
Menu_1
| There is going to be a new menu entry named Human Capital Management.
| Must have
|
|
Menu_2
| In this menu there will be a window named employee. This window will allow to add, modify, delete, search and list employees. The registers entered in this window will be visible from the business partner window as well.
| Must have
|
|
Menu_3
| In this menu, there will be also a setup folder containing windows to add, modify, delete, search and list the following items:
| Must have
|
|
Menu_4
| There is no going to be a window to manage countries or nationalities. The list of countries shown in the dropdown named country of citizenship will be set in the usual country window from core.
| Must have
|
|
Setup Windows
Defaults Window
|
Num
| Requirement
| Importance
| Approved
|
DefWin_1
| The defaults window will have the following fields:
|
|
Expense Reimbursement Information:
|
|
|
|
| Must have
|
|
DefWin_2
| Employee category field is a drop down that takes the values of business partner categories. This values are inserted in: Master Data Management > Business Partner Setup > Business Partner Category. To be able to insert records in this defaults setup window, there must be at least one record in Business Partner Category, as employee category is a mandatory field.
| Must have
|
|
DefWin_3
| The employee category is static. Every employee will have the same default value unless it is individually changed from the business partner window. The employee category is a hidden field in the employee header.
| Must have
|
|
DefWin_4
| The parameters set in expense reimbursement fields will be the default values for every new employee created. If they are null, the new employees will have null in those fields. If they are not null, the employee will be set to Vendor = yes and this values copied in their vendor attributes. This parameters will be hidden in the employee tab but could be changed if required from the business partner window.
| Must have
|
|
DefWin_5
| The defaults are NOT set by organization. Every employee will belong to * organization, and every employee will have this same default values.
| Must have
|
|
DefWin_6
| If any of the default values are changed, the new values will be used from them on. No previous records will be modified. The previously entered employees will continue having the previous default values set. They could be modified in the business partner window if required.
| Must have
|
|
DefWin_7
| It will not be possible to delete the business partner category if it is used in the defaults window. A message will be pop-up.
| Must have
|
|
Salary Category Window
|
Num
| Requirement
| Importance
| Approved
|
SalWin_0
| The salary category window will have two tabs: salary category header and cost.
| Must have
|
|
SalWin_1
| The salary category window will have the following fields:
| Must have
|
|
SalWin_2
| The cost tab will have the following fields:
- Client/Org
- Salary Category
|
|
|
| Must have
|
|
SalWin_3
| This window is the same window available in Master Data Management > Business Partner Setup. That is, this window will have two menu entries, the one provided by core (in Master Data Management folder) and the one provided by the module (in the HCM folder).
| Must have
|
|
SalWin_4
| It will not be possible to deactivate a salary category record if there are active employees linked to it.
| Must have
|
|
SalWin_5
| The values of the cost window are used for operational reasons. The cost per cost unit of measurement are not necessarily directly related to the salary range of the salary category.
| Must have
|
|
SalWin_6
| The starting date in the cost tab will be used to decide which cost to apply when the employee is used as an operational resource. Depending on the starting date of the employee in certain salary category, the cost valid in that period will be applied.
| Must have
|
|
SalWin_7
| When the salary is entered in the employment information tab, the currency of the salary category selected will be concatenated in the end. The system will check that the inserted value is a number, but the field will contain strings, as the currency symbol is a string.
| Nice to have
|
|
Position
|
Num
| Requirement
| Importance
| Approved
|
PosWin_1
| The position window will have two tabs: the header, and a child tab called salary category. In the child tab the salary categories available for the selected position can be registered.
| Must have
|
|
PosWin_2
| The header tab will have the following fields:
| Must have
|
|
PosWin_3
| It will not be possible to deactivate a position record if there are active employees linked to them.
| Must have
|
|
PosWin_4
| The child tab salary category will have the following fields:
- Client/Org
- Position
- Salary Category
- Active
| Must have
|
|
PosWin_5
| A position can be related to several salary categories within certain organization. The same position could be linked to different salary categories for different organizations.
| Must have
|
|
PosWin_5
| In the child tab, only the organizations that are children of the selected position will be available.
| Must have
|
|
PosWin_6
| Only the salary categories available within the selected organization will be available.
| Must have
|
|
PosWin_7
| The combination of position and salary category will be only available for the selected and its children.
| Must have
|
|
It is very important to remark that a position can be related to different salary categories for different organizations. At the same time, a slary category can be related to more than one position in different organization. It is a three side relation. This idea is shown in the following image:
Contract type Window
|
Num
| Requirement
| Importance
| Approved
|
ConWin_1
| The contract type window will have the following fields:
| Must have
|
|
ConWin_2
| It will not be possible to deactivate a setup record if there are active employees linked to them.
| Must have
|
|
Team Window
|
Num
| Requirement
| Importance
| Approved
|
TeamWin_1
| The team window will have the following fields:
|
- Current Manager
- Effective from
|
- Assign Manager
- Summary level
|
|
| Must have
|
|
TeamWin_2
| The team will have a read only manager history tab, with the following fields:
|
- Effective from
- Effective to
|
| Must have
|
|
TeamWin_3
| The add manager button a pop up will show up. This popup will have the following fields:
|
- Effective from
- Effective to
|
| Must have
|
|
TeamWin_4
| The data inserted in the popup window will create records in the manager history tab. Which is only read only.
| Must have
|
|
TeamWin_5
| Add Manager is a none mandatory process in the team setup window. But if it is not performed, the system will not allow any employee to be assigned to this team. An error message will be displayed if this happens.
| Must have
|
|
TeamWin_6
| It will not be possible to deactivate a team record if there are active employees linked to them.
| Must have
|
|
TeamWin_7
| Teams follow a tree structure. After inserting a team, clicking on the tree icon in the toolbar, the recently created organization can be located in certain position in the team tree. The summary level check box field must be checked for 'parent' teams, that is, for teams that will have some other team under them.
| Must have
|
|
TeamWin_8
| There is no need for a relation between the team the employee manges and the team the employee belong to.
| Must have
|
|
TeamWin_9
| The same employee could manage more than one team.
| Must have
|
|
Employee Window and Tabs
Employee Window
|
Num
| Requirement
| Importance
| Approved
|
EmpWin_1
| The employee window will have a header main tab and several tabs. Except for the header itself, the rest of the tabs will be pending of this header tab. All of them in the same level, right under the header. The tabs will be the following:
- Employee (header tab)
- Contact
|
- Location
- Bank information
|
- Employment information
- Family Member
|
- Operational Resource
- Other Citizenship
|
| Must have
|
|
EmpWin_2
| The employee search filter will filter by the following fields:
The active check box will be checked by default. The rest of the fields will allow to be left null to mean any.
| Must have
|
|
EmpWin_3
| An employee selector is needed as there amount of employees in the application is large. The filters of the selector will be the following:
| Nice to have
|
|
EmpWin_4
| When the user navigates from the header to the tabs, if the tab is date driven, the form view will be opened with the actual record. If the tab is not date driven, the grid view will be shown. That is, for employment information tab, the actual record will be opened. For the rest, the grid view will the initial view.
| Nice to have
|
|
Employee Tab
|
Num
| Requirement
| Importance
| Approved
|
EmpTab_1
| Fields for the Employee Tab
- Search key + <
- Employee number <
|
- Greeting
- First Name + <
- Middle Name + <
- Last Name + <
|
- Known As + <
- ID / Passport <
- Tax ID <
- Place of Birth <
|
- Date of Birth <
- Country of citizenship <
- Language
- Gender <
|
- Marital status <
- Education Level <
- Personal Notes <
- Status <
|
- Education Degree
- Exit date
|
| Must have
|
|
EmpTab_2
| The organization of the employee will not be defined in the header but in the employment information tab.
| Must have
|
|
EmpTab_3
| When an employee stops working for the company it will be set to former employee in the status field of the header. The exit date field will be automatically displayed to set an ending date. The ending date will be today for default. This exit date will be the end date for the actual employment information record and for the team manager records of the employee, if any.
| Must have
|
|
EmpTab_4
| When a first name, middle name or last name is entered, known as field will be updated to contain the concatenation of those fields. If the previous know as field is different to the previous names' concatenation the known as field will not be updated.
| Must have
|
|
EmpTab_5
| Country of citizenship combo, that is nationality, will be filled with the values of country window (General Setup - Application - Country Region and City - Country).
| Must have
|
|
EmpTab_6
| When a new record is inserted, the employee number will be automatically filled to the next available number (to the max(employeeNumber) + 1). It will only be a suggestion, as it is an editable field. Similar to the sequences for transaction documents.
| Nice to have
|
|
Contact Tab
|
Num
| Requirement
| Importance
| Approved
|
ConTab_1
| Fields in contact tab:
- Employee *
- Contact type +<
|
- Contact +<
- Business Contact <
|
|
|
| Must have
|
|
ConTab_2
| Contact tab contains records for different kind of contacts of the employee. Some contact types will be available at installation (email, cell, phone, URL, etc.) but the list is user modifiable. So, there could be as many contact types as needed.
| Must have
|
|
ConTab_3
| The 'business contact' field is a check box to point out whether the contact is a business contact or private. There can be as many business contacts as needed, even of the same type.
| Must have
|
|
ConTab_4
| There will be a check box to select the default contact. This check box is read only and will be set by clicking the button 'make default'. There could be only one default business and one private default contact for each contact type. The user will be able to set main check-box to different records if they are from different contact type. If a record is set to default, if there was some other default record, it will be unmarked.
| Must have
|
|
Location Tab
|
Num
| Requirement
| Importance
| Approved
|
LocTab_1
| Fields in location tab
|
- Location
- Business Contact
|
|
|
| Must have
|
|
LocTab_2
| There could be as many records set to business contact as needed.
| Must have
|
|
LocTab_3
| There can only be one record set to default business location and one record set to default 'not business' location, that is, default private location.
| Must have
|
|
Bank information tab
|
Num
| Requirement
| Importance
| Approved
|
BankTab_1
| Fields in bank information tab:
|
- Bank Name
- Bank Account Geography
|
|
|
|
| Must have
|
|
BankTab_2
| If the account type is set to domestic only the account number fields will be displayed. The IBAN and SWIFT fields will not be displayed. If the account type is set to international, this last two fields will be displayed as well. Account number will remain visible.
| Must have
|
|
BankTab_3
| Only one record can have default checked.
| Must have
|
|
BankTab_4
| In the business partner bank account tab, show generic or show IBAN must be selected. this two fields are hidden in the specs. If domestic is selected, show generic will be checked, if 'international' is selected, show IBAN will be checked.
| Must have
|
|
Employment information tab
|
Num
| Requirement
| Importance
| Approved
|
EmpInfoTab_1
| Fields in the employment information tab:
- Client/Org/Employee *
- Full/Part time +<
- Salary Category +<
|
- Position +<
- Salary +<
- Contract Type +<
|
- Team +<
- Standard Hours
- Work Period
|
- Bonus %
- Comments
- Effective date +<
|
|
| Must have
|
|
EmpInfoTab_2
| The salary will be introduced manually by the HR manager. It is not being calculated by the system.
| Must have
|
|
EmpInfoTab_3
| If the salary entered is greater than the maximum quantity set by the salary category or smaller than the minimum quantity, an information message will be shown. The information message will read "The current salary is not in the salary range. The salary range for this salary category is between x and y."
| Nice to have
|
|
EmpInfoTab_4
| For default, full/part time field is set to full-time.Standard hours and work period will be hidden fields that will be displayed if the dedication field is set to part-time.
| Must have
|
|
EmpInfoTab_5
| If the full/part time field is changed from part-time to full-time the standard hours and work period field will not be displayed and their values will be set to null.
| Must have
|
|
EmpInfoTab_6
| The organization of the employee is defined in this tab.
| Must have
|
|
EmpInfoTab_7
| Whenever an employees organization is changed in the information tab, the other fields (contract type, team, salary category, etc.) will load the data according to the new organization in the drop-down lists. If possible, the previously selected option will be maintained as selected.
| Must have
|
|
EmpInfoTab_8
| In the positions drop down every position available according to the employees organization will be shown. In the salary category dropdown only the salary categories available for the selected position and organization will be shown.
| Must have
|
|
EmpInfoTab_9
| Whenever an employees position is changed in the information tab, the salary category field will load the data according to this change. If possible, the previous salary-category will be maintained as selected. If this is not possible, the first of the list will be selected.
| Must have
|
|
EmpInfoTab_10
| If the salary category is changed, the positions will not be reloaded. All the positions will be available in the dropdown. Not only the ones matching the salary category.
| Must have
|
|
EmpInfoTab_11
| Time based historic information about the employees employment information must be kept. That is, every information related to the employee activity in the company will be recorded.
| Must have
|
|
EmpInfoTab_12
| Workflow to kept historical data: Open a new tab. the record will be in Draft Status. Fill the fields and once the record has being properly being saved, press complete button. The record will turn to complete status. The record will be in read only from now on and will not be modifiable anymore.
| Must have
|
|
EmpInfoTab_13
| Only one record can be in draft status.
| Must have
|
|
EmpInfoTab_14
| Whenever a record changes it status from draft to complete, the previous record in ready status will turn to historic status. That is, only one record can be in complete status.
| Must have
|
|
EmpInfoTab_15
| The complete button will not be visible when the record is in complete or historic status.
| Must have
|
|
EmpInfoTab_16
| The employment information grid view will be ordered by date.
| Nice to have
|
|
EmpInfoTab_17
| In the employment information tab it would be nice to have a read only field for the manager and another one with the salary range. Another solution could be to show a message whenever the salary category is changed showing the salary range.
| Nice to have
|
|
EmpInfoTab_18
| An employee can only be assigned to a team with a manager assigned. Otherwise a message will pop up.
| Must have
|
|
EmpInfoTab_18
| Employment information tabs can not be deleted. A message will pop up if the delete button is clicked.
| Must have
|
|
EmpInfoTab_19
| Bonus % field will only be visible when a salary category with bonus type set to salary %.
| Must have
|
|
Family member tab
|
Num
| Requirement
| Importance
| Approved
|
FamTab_1
| Field in the family Member tab:
- Client/Org/Employee *
- Relation +<
- First Name
|
- Middle Name
- Last Name
- Know As +<
|
- Date of Birth +<
- Phone
- Employment Status +<
|
- Tax ID
- Country of citizenship
- ID/Passport
|
|
|
| Must have
|
|
FamTab_2
| If spouse is selected in the relation field of the relative tab of employee window and there employee is not set to marital status married a information message will be displayed.
| Nice to have
|
|
Operational Resource tab
|
Num
| Requirement
| Importance
| Approved
|
OpeRes_0
| Operational Resource tab has got a child tab named cost salary category.
| Must have
|
|
OpeRes_1
| Fields in the operational resource tab:
| Must have
|
|
OpeRes_2
| Fields in the cost salary category tab:
- Employee
- Cost Salary Category
|
|
|
| Must have
|
|
OpeRes_3
| The salary category selected here is not necessarily the same salary category as the one selected in the employment information tab. The salary category selected here will be the one used when the employee is used as an operational resource. For instance in project & service management.
| Must have
|
|
OpeRes_4
| The start date in this window is not necessarily related to the start date in the employmen information tab. This start date is used to select which costs will be applied. When costs are defined in the salary category cost tab, a valid from field must be inserted.
| Must have
|
|
Other Citizenship tab
|
Num
| Requirement
| Importance
| Approved
|
CitiTab_1
| Field in the family Member tab:
| Must have
|
|
CitiTab_2
| The main citizenship defined in the employee header will be copied to this tab.
| Nice to have
|
|
Other Functional Requirements
Drop Down Lists
|
Num
| Requirement
| Importance
| Approved
|
DropList_1
| There will be closed drop down lists for:
- Marital status
- Employment status
|
|
|
|
|
| Must have
|
|
DropList_2
| Values for Marital status will be:
| Must have
|
|
DropList_3
|
Values for Gender will be:
|
|
|
|
| Must have
|
|
DropList_4
|
Values for Full/Part time will be:
|
|
|
| Must have
|
|
DropList_5
| Values for Contact type will be:
| Must have
|
|
DropList_6
| Values for Relation will be:
| Must have
|
|
DropList_7
|
Values for Employment status will be:
|
|
|
|
| Must have
|
|
DropList_8
| Values for Work Period will be:
| Must have
|
|
DropList_9
|
Values for Status will be:
|
|
|
| Must have
|
|
DropList_10
| Values for Education Level will be:
- Mandatory schooling
- Vocational school
|
- High school
- University Degree
|
|
| Must have
|
|
DropList_11
| Values for Account Type will be:
| Must have
|
|
DropList_12
| Values for Status' in employment information tab will be:
| Must have
|
|
DropList_13
| Values for Bonus Type' will be:
| Must have
|
|
Other Functional Requirements
|
Num
| Requirement
| Importance
| Approved
|
Other_1
| The user defined entities (team, position, salary category, defaults, etc.) will belong to an organization. Only the ones available for the employee according to the users organization will be shown in each drop-down.
| Must have
|
|
Other_2
| In this first basic approach, only the information related to the employees employment information and management structure will be time based tracked.
| Must have
|
|
Other_3
| Effective Dates: Effective from and effective date will be both visible and both editable.
| Must have
|
|
Other_4
| Current Record will be the one satisfying: effective from > all effective to.
| Must have
|
|
Other_5
| Gaps are allowed but no overlapping.
| Must have
|
|
Other_6
| When a new record is created, the end date of the previous record should be automatically populated based on the start date of the record being inserted. This will only happen if the end date is null. If a previous value exists, it must be validated that there is no overlapping.
| Must have
|
|
Other_7
| When an employees status is set to former employee and the exit date is filled out, the exit date of the last employment information record will be filled with the exit date.
| Must have
|
|
Other_8
| Only the current record can have the end date set to null. The other records must have the end date set. That is, only the record with maximum start date can have the end date set to null.
| Must have
|
|
Other_9
| Organization change should be treated carefully. If the change is to a parent organization there is no problem, but if the change is to a child organization it must be checked that no record will remain inconsistent. If so, the change should not be allowed.
| Must have
|
|
Other_10
| Every employee belong to * organization by default. This fields is hidden. The organization the employee is associated with can be seen in the employment information tab.
| Must have
|
|
In the following table a brief list of nice to have features is shown. At the end of this document there is a list of further feature request.
Nice to have Functional Requirements
|
Num
| Requirement
| Importance
| Approved
|
Nice_1
| There will be a window visible to everyone with public information of every employee.
| Nice to have
|
|
Nice_2
| There will be a window only visible for HR managers and team managers with important information in a single view.
| Nice to have
|
|
Nice_3
| There will be a read only view with the manager list and a tab to show some information about the employees each of them supervises. Info available:
|
- Client/Org/Employee *
- Supervised employees name *
- Supervised employees legal entity *
|
- Supervised employees team *
- Supervised employees start date at position *
- Supervised employees end date at position *
|
- Supervised employees hiring date *
- Supervised employees exit date *
|
| Nice to have
|
|
Nice_4
| In a later stage, a hierarchical view of the managers and the team members could be implemented. It should provide navigation from a manager to its reporting employees and from the employees to their manager. And to their managers manager. And so on.
| Nice to have
|
|
Nice_5
| The employee tab should include a picture field.
| Nice to have
|
|
User Interface Mockups
The images below display some user interface mockups for the employee management system that haven't being displayed in the previous section.
Employee Search Filter
The employee search filter is shown in the following image:
Employee Selector
The employee selector is shown in the following image:
Nice to have windows
In the following images some of the nice to have features mockups are shown. The first one shows a view for the human resources managers and team managers.
As it is only a window intended to show information, every field is set to read only. It will not be available for employees.
This one shows a very basic and simple view available for every employee in the company. It is intended to be a simple way to check the contact info of other employees.
Non-Functional Requirements
Security requirements
|
Num
| Requirement
| Importance
|
1
| There will be different roles with different access levels:
- Human Resource Director: Can see every record within the whole enterprise
- Human Resource Organization Manager: Will have access to every record within the organization they are responsible for.
- Human Resource Team Manager: Will have access to every record within the team they are responsible for.
- Senior Managers: Will have read-only access to all the information about the employees reporting to them.
- Front line managers: Will have read-only access to some information about the employees reporting to them.
- Employees: Will have write access to their own information. Will have read-only access to every employees public information.
| Must have
|
2
| Ex-manager figure should be available. That is, managers should be able to see the records of the employees that where once reporting to them. They should only be able to access the records with the information of their ex-reporting employees in the period they where managed by them.
| Nice to have
|
Open Discussion Items
Closed Discussion Items
- The term Team covers teams, departments and areas.
- The term Manager will be used instead of supervisor.
- The term Position will be used instead of job.
- The term Family Member will be used instead of Relative or Next of kin.
Nice to have Features for Future Extensions
This first approach will provide a basic, but solid, HCM module. There are plenty of good ideas that have being left out of this specifications but will be taken into account for future extensions.
- Historical information: Tracking of every single field. In this first approach only some fields are historically tracked.
- Medical Information of employees
- Window with delete option available for senior managers.
- User tab. In Openbravo ERP, in the business partner window, there is a tab named contact that is linked to AD_user table. The registers entered there created new application users. That is, a application user is created for the business partner. This tab could be added to the employee header as well.
- Resource planning: Central planning board of resources. Scheduling / planning / consumption of the available resource. This implies dealing with the actual resource planning functionality provided in Core.
- Reporting: Some interesting repords will be implemented once the basic structure is working.
- Printable employee card: Displayed in pdf directly. It should contain the following info: company Logo, picture, name, surname, main business address,main business cell number, business phone, business e-mail and current Position. Some layout ideas for this employee card can be taken from:
- Improve banking information. Branch identification field could be added to customize it to Spain.
- Improve usability in regarding the employee hierarchy. Possibility to navigate up and down and see details of each employee.