View source | View content page | Page history | Printable version   

Projects:Appraisals/Functional Specifications


Employee Appraisal - Functional Specifications



The purpose of this document is to describe the functional specifications for an extension module, to be develop in top of Openbravo ERP 2.50, to support employee appraisal reviews.


The module will provide the following functionality:

Although this module is intended to be realistic and in fact will be used to support an actual performance review cycle, it is not generic and it is primarily intended as an example of how to develop functionality as extensions.

In particular:

Design Considerations


The functionality of this module has been sized so that its development can be achieved in less than 2 days of effort.

Functional Requirements

User roles & profiles

This specification applies to three roles:

Business process definition

The supported appraisal procrss is described in the picture below.


In preparation for the review, the HR Manager assigns a secret password to each employee which will be used to authentice their signature.

Managers can then fill in the appraisal form and share it with the corresponding employee.

Each manager and employee then have a performance review where they discuss the feedback. During this meeting the employee can make comments that ther manager can register in the form, together with the final rating.

At the end of the meeting, employee and managers can signify their signature by entering their respective passwords. At this point, the form can be marked as complete and it is no longer updatable.

The HR Manager can review all complete review and export them to a file for archival purposes.

User stories

Francis is the HR Manager of the California organization of a company called BigBazaar and he is responsible for overseeing the annual performance evaluation of the whole organization, which counts 250 employees and several levels of management.

Francis begins by creating a spreadsheet with all of the employees and by assigning to each of them a secret password, which is an alphanumeric string of up to 20 characters. An example of password is: 7jdMRZJ6.

Francis then sends an email to each employee to explain and kick off the process.

Andrea is a manager at BigBazaar and she is responsible for completing the appraisal of Carlo, one of the employees.

Andrea connects to the system and navigates to the Appraisal module where she creates a new record. The record defaults the following fields:

She then enters the following data for the appraisal:

After reviewing the record, Andrea saves it and changes its status from Draft to Shared and notifies Carlo of the time of the review meeting.

Carlo can login in the application and review the evaluation in status Shared ahead of the meeting but cannot change it.

During the meeting, Andrea and Carlo discuss the review and at the end Andrea summarizes Carlo's comment in the field Employee Comments (with up to 2000 characters of text).

Finally, Andrea enters the overall quantitative evaluation choosing from a drop down list which contains the following values:

At the end of the meeting, both Andrea and Carlo update the record with their passwords to certify its validity and Andrea changes the status to Complete.

Meanwhile, Francis can monitor the progress of the process seeing how many reviews are created, shared and completed.

When all reviews are completed, Francis exports them to a spreasheet, verifies that all the passwords match the ones she sent and archives the file for record keeping purposes.

Functional requirements based on business processes

Appraisal Data Elements and Validations
Num Requirement Importance
1.1 The appraisal is backed to a table that contains the following columns:
  • APPRAISAL_ID VARCHAR(32) NOT NULL - the primary key containing the UUID
  • AD_CLIENT_ID VARCHAR(32) NOT NULL - foreign key to AD_CLIENT
  • AD_ORG_ID VARCHAR(32) NOT NULL - foreign key to AD_ORG
  • IS_ACTIVE CHAR(1) NOT NULL - active flag
  • CREATED TIMESTAMP NOT NULL - creation date
  • CREATED_BY VARCHAR(32) NOT NULL - foreign key to AD_USER
  • UPDATED_BY VARCHAR(32) NOT NULL - foreign key to AD_USER
  • EMPLOYEE_ID VARCHAR(32) NOT NULL - foreign key to C_BPARTNER (restricted to business partners of type employee)
  • MANAGER_ID VARCHAR(32) NOT NULL - foreign key to C_BPARTNER (restricted to business partners of type employee)
  • ACHIEVEMENTS VARCHAR(2000) - overall achievements
  • PB_SOLVING_RTG CHAR(1) - problem solving ratings
  • PB_SOLVING_COMMENT VARCHAR(2000) - problem solving comments
  • MANAGEMENT_RTG CHAR(1) - management ratings
  • MANAGEMENT_COMMENT VARCHAR(2000) - management comments
  • CLIENT_REL_RTG CHAR(1) - client relationship ratings
  • CLIENT_REL_COMMENT VARCHAR(2000) - client relationship comments
  • TEAM_REL_RTG CHAR(1) - team relationship ratings
  • TEAM_REL_COMMENT VARCHAR(2000) - team relationship comments
  • PRODUCT_KH_RTG CHAR(1) - product know how ratings
  • PRODUCT_KH_COMMENT VARCHAR(2000) - product know how comments
  • COMMITMENT_RTG CHAR(1) - commitment ratings
  • COMMITMENT_COMMENT VARCHAR(2000) - commitment comments
  • EMPLOYEE_COMMENT VARCHAR(2000) - employee comments
  • OVERALL_EVALUATION CHAR(2) - evaluation result code
  • EMPLOYEE_PSWD VARCHAR(20) - employee password
  • MANAGER_PSWD VARCHAR(20) - manager password
Must have
1.2 The ratings columns should be validate to accept a value from 1 to 5 Must have
1.3 Appraisal in status Shared should have all the ratings and manager comments filled Nice to have
1.4 Appraisal in status Complete should have the password populated Nice to have
Appraisal Form
Num Requirement Importance
2.1 The Appraisal application should be made with a standard form. Must have
2.2 In Edit Mode, the Appraisal form should present the data in the following groups
  • Top (without separator)
    • Client
    • Organization
    • Manager
    • Employee
  • Manager's Appraisal (with separator)
    • overall achievements
    • problem solving ratings
    • problem solving comments
    • management ratings
    • management comments
    • client relationship ratings
    • client relationship comments
    • team relationship ratings
    • team relationship comments
    • product know how ratings
    • product know how comments
    • commitment ratings
    • commitment comments
  • Employee's Comment (with separator)
    • Employee Comment
  • Conclusion
    • Overall Evaluation
  • Status
    • Status
    • Action button (Share for status Draft and Complete for status Shared)
Must have
2.3 Appraisals in status complete should be read only. Must have
2.4 The Appraisals application in grid mode should allow to export to csv files Must have

2.5 The Appraisals application should allow to search by Employee, Manager and Status Must have

Security and Roles
Num Requirement Importance
3.1 Three roles have to be defined:
  • HR Manager: with the ability to:
    • Define employees as business partners in a given organization
    • View all appraisal records in that organization
  • Manager: with the ability to create new appraisal records and to view and update records where the manager corresponds to the current user.
  • Employee: with the ability to view appraisal records in status Shared or Complete where the employee corresponds to the current user.
Must have

User Interface Mockups

Technical Requirements

Non-Functional Requirements

Open Discussion Items

Closed Discussion Items

Retrieved from ""

This page has been accessed 8,093 times. This page was last modified on 8 June 2012, at 05:26. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.