Paper Title (use style: paper title)

1 downloads 0 Views 902KB Size Report
Atlassian JIRA, Tuleap, Redmine, Agilefant etc. The insights of these can be directly used to evaluate the employees; however these are not specifically used for ...
Tool Support for Effective Employee Performance Appraisal in Software Engineering Industry Prashanth Prabaharan, Indika Perera Department of Computer Science and Engineering University of Moratuwa, Sri Lanka [email protected], [email protected] Abstract— Employee performance appraisal is vital activity that contributes to the competitiveness of the organization in its business domain. The appraisal criteria often chosen are primarily in qualitative nature, though there can be instances that associate with matric. Latest methods of evaluating employees use rating scale; however, it is incapable of providing real time performance feedback, in particular with software industry. This can lead to biasness in evaluating and the employees may get dissatisfied with the outcomes in which they feel not justifiable enough. Therefore this research is focused on improving qualitative appraisal criteria using quantifiable attributes with the support of a tool. The methodology is to provide an integrated evaluation engine for obtaining work performance comparative index, with the integration of build server, project management tool and attendance record system. The outcome of this improved process is made available to the management through a dashboard indicating per employee and per team performance. System evaluation results and user survey responses suggest unique value the system has brought in. Keywords— Employee Performance Appraisal; Process Management; Team Performance; KPIs

I.

Software

INTRODUCTION

Performance Appraisal (PA), also referred to as performance evaluation or review, is a process for individual employee and line managers, to discuss the employees’ performance and development, in addition to the support they need in their work. It is also used to assess recent performance and focus on future objectives, opportunities and resources needed [1]. PA has become the root for a variety of activities, through which organizations seek to assess employees and develop their competence, enhance performance and distribute rewards. It sometimes becomes a part of a broader approach integrating human resource management strategies, also known as performance management [2]. People are an important factor in software development. There are different types of managerial and non-managerial roles in a software project, where each has unique tasks to perform. The employees who play these roles can also have their personal milestones associated with their work. Herzberg's two-factor theory [3] identified motivators (leads to satisfaction) and hygiene factors, (leads to dissatisfaction). According to the theory of human motivation, employees have unique motivation factors to excel in their job [4]. This research focuses on individual performance evaluation of 978-1-5090-6491-5/17/$31.00 ©2017 IEEE

employees to motivate their work and treat employees impartially. The rating scale is formally used in performance appraisal as a manager rates performance on a predefined range as: excellent, good, average, fair, and poor. The range is mapped numerically, from 1 (poor) to 5 (excellent) [5]. This introduces practical challenges to the review process e.g. unfair predefined ratings. The research identifies the qualitative performance measures that can be converted in to a quantitative and comparative index where both the employee and the evaluator accountable for the performance shown. This also focuses on a timely feedback where employee and employer can take necessary corrections preventing productivity drops. However, there are certain evaluation criteria, which cannot be captured from this process, hence invalidated in this scope. It is identified that inconsistent rating/ranking system causes a good appraisal to be ineffective. The objective of this research is to eliminate the traditional rating method with alternative automated process, quantify the qualitative factors with accurate measures to employee’s performance and efficiency. The objectives of this research are to: 1) Develop a model that maintains the reliability of the performance appraisal within software industry benchmarks. 2) Develop a tool which measures performance and facilitate timely decision making for appraisals. II.

EXISTING PERFORMANCE APPRAISAL PRACTICES

A. AHP and FAHP Analytic Hierarchy Process (AHP) [6] is a quantitative hierarchy method to rank decision alternatives using multiple criteria. It uses a pair-wise comparison based on defined importance scale. E.g. Size of the house with regard to transportation to that house. This would be the global priorities factor calculation. This is commonly expected for any type of selection. Later for each comparative in this case houses will be given local priorities again based on defined importance scale. For each priority vector multiplied by the local priority and the total of all comparative entities will get a value. The highest value will be selected as best option. Fuzzy AHP (FAHP) is an organized approach to alternatives selection and justification. In this method each

performance attribute is assigned to a natural language or a numerical value by the decision maker. FAHP method has two separate levels; 1st level is to have fuzzy weights for the decision criteria and the next level is to have fuzzy weights for the alternatives under each of the decision criteria. Then alternative fuzzy scores along with their sensitivities are obtained. The assessors make a choice for one of the alternatives using these fuzzy scores [7]. B. TOPSIS and Fuzzy TOPSIS Techniques Technique for Order Preference by Similarity to Ideal Solution (TOPSIS) is a method, which solves Multi-Criteria Decision Making (MCDM) problems. It is developed as a simple ranking method in conception and application by Hwang and Yoon in 1981. The implementations of TOPSIS step by step as follows [8]: Step 1: Construct normalized decision matrix; Step 2: Construct the weighted normalized decision matrix; Step 3: Determine the positive and negative ideal solutions; Step 4: Calculate the separation measures for each positive and negative alternative; and Step 5: Calculate the relative closeness to the ideal solution. C. Multi Stage Fuzzy Logic Model Four Fuzzy Inference Systems (FIS) namely FIS1, FIS2, FIS3 and FIS4 are crated in Matlab using Fuzzy Logic Toolbox [9] as shown below in Fig. 1.

Fig. 1. Stagewise Fuzzy Approach

D. A Multi-Granular Linguistic Model A fuzzy linguistic approach (shown in Fig. 2) is used in this model [10, 11]. A linguistic term set is generated where S = {S0, .. , Sg}, S = {S0: N (None); S1: VL (Very Low); S2: L (Low); S3: M (Medium); S4: H (High); S5: VH (Very High); S6: P (Perfect)}.

Fig. 2. A set of seven terms with it semantics

Fuzzy numbers are defined within 0 to 1. This set of linguistic variables is mapped with semantic of fuzzy numbers. E.g. (VL is 0.17). Basic Linguistic Term Set (BLTS) is noted as S ̅. Transformation is taken place for the linguistic information into fuzzy sets by using a transformation function.

Then a computational model can be used to rank the employees. The drawback in this method is transformation of the fuzzy set is customizable by the management team. E. 360 Apraisal System This is an evolvement of 180 appraisal system. Three sixty Appraisal System is conducted by the managers, the peers, the subordinates and self-appraisal. Hamouda in 2009 proposed a model, which comprises of various dimensions and questions that are to be assessed for a certain employee [12, 13]. A proposed weight is given for each appraiser level: as Manager 40%, Peer 30%, Subordinate 20%, Self 10%. The percentage could be based on the management decisions. By using the association of rules algorithm the probability is calculated. This result could aid to recognize the employee contribution and the support they need. F. Existing Performance Appraisal Software PA software is a subset of talent management software that simplifies the employee review cycle. There are many existing Performance Appraisal Software available in the market [14]. E.g. Oracle Taleo Performance Management Cloud Service, SAP SuccessFactors Perform and Reward, EchoSpan 360 Degree Feedback etc. These have more features including costing, budgeting, forecasting and planning. Although there are many interesting features available, the form of appraising employee performance is based on rating scale along with weightage. These software solutions are generally focuses on selected industries such as public, finance, hospitality and healthcare. The employee appraisal is determined based on several business application and services. There are other few contemporary solutions used to analyze the continuous integration and progress of the work and the project. E.g. Atlassian JIRA, Tuleap, Redmine, Agilefant etc. The insights of these can be directly used to evaluate the employees; however these are not specifically used for assessing project team performance. III.

METHODOLOGY

In implementing the Employee Performance Appraisal (EPA) system, there is certain prerequisite software systems need to be configured. Out of many options gone through in the literature review, open source software systems are selected for this research under each category after a careful feasibility study among other options. They are OpenProject (Project Management Tool), PHP Timeclock (Time Clock Software System), GitHub (Source Code Control System), Jenkins (Continuous Integration Tool), and Sonarqube (Code Quality Tool). The EPA analyzes the timely data provided by these software and will go through the integrated evaluation engine for a scoring system. These scores obtained by the employees will be written to the relevant data tables and later those can be retrieved for the appraisal purposes. The visualization of the end results will overcome the problems that software industries currently face on daily basis in conducting a proper evaluation. The major objective of this system is to identify the employee performance index with relevant color codes and in percentage. This also consists of each individual’s performance

as well as team performance over the time period. These are the two major areas focused in this methodology. A. Proposed Solution The identified main problem of the current employee appraisal is the reviewer’s rating system. These ratings are predefined, very rigid and the process takes extra time. This research suggests an easy way for both the employees and the management without any bias. The anticipated solution is given by identifying what is the necessary software application needed in order to collect meaningful data, which can be used to evaluate employee performance accurately. These applications are recommended to be locally installed.

C. Design and Implementation Fig. 4 shows the detailed module level architecture. The Extractor retrieves evaluation data on timely basis and hand over to the evaluator to calculate based on the logics specified. Each criterion is evaluated and a score is given by the evaluator. The given score will be accumulated in the accumulator and stored in the data source. The interpreter is to showcase the data, which are evaluated as well as retrieved data by the accumulator. Various different dashboards will be updated after every completed evaluation time.

Each criterion is assessed based on the data available from various applications as a batch process. Each criterion gets a score if it is assigned to the employee. The score value range would be zero to hundred. The score can be ascending from zero or descending from hundred depending on the criterion. Not only individuals but also project teams will get some criteria to be assessed to recognize how good the team is performing. In general all the teams will get the basic criteria. A team score will also be added as one of the criteria for each employee by default, by assuming that the employee belongs to a team during the evaluation period. The entire criteria weightage accumulate to a score of hundred. Therefore each employee is gauged for the score of hundred. This score can be named as Employee Performance Index. Evaluation time duration is the time duration which the company decides to evaluate employees e.g. Two week sprint. This time can be modified by the company, for the evaluate engine to run in a periodical manner. Then each criterion will extract data from relevant data source, runs the algorithm and generate an evaluation score. Similarly each team evaluation criterion too runs and assigns a score. All criteria scores are multiplied by the weightage accordingly and aggregated. B. Proposed Architecture The architecture consists of basic systems and tools used in software industry as controlling mechanisms. The build tool identifies any built errors and helps to integrate version controlling systems. The version controlling system keeps track of the version changes. The project management tool has the task breakdown, their assignment, time allocated, the start date and last updated date, about the tasks. The daily attendance system, which records the clock in and clock out times of the employees. The proposed architecture is shown in Fig. 3.

Fig. 4. Proposed Module level Architecture

Let us examine an individual criterion for evaluation (Work Efficiency, given in Table 1). This is to assess the time taken in completing the tasks to the scheduled time. Some processes are in place to improve the productivity. The usages of resources are key factors to achieve this effectiveness. TABLE I. Database

openproject

Data table

work_packages

Columns id project_id assigned_to_id estimated_hours status_id updated_at

Data table Columns project_id user_id work_package_id hours updated_on comments

Fig. 3. Proposed High level Architecture

WORK EFFICIENCY RELATED DATA TABLES

Description Work package id, in other words task id The relevant project’s id The employee who is assigned to the relevant task, in open project it’s referred as project member This is the estimated hours entered when the task is been created This is denominated as the current status of the task in a particular project This particular task’s last updated time

Values

13 [CLOSED]

time_entries

Description

Values

The relevant project’s id The member’s id who is logging the hours worked to the system This is the work package’s id, which is the primary key in the above table. The logged time each time the task is been updated The time which the hours is been added to the system The reasons or a comment written when logging the time

Each member who has been assigned for a particular task is been logging the time into the system so that the work_packages, assigned_to_id, and time_entries. user_id would be same. Thus the work status is CLOSED and it is under the estimated hours means the employee is doing work

very effectively. The difference between estimated and actual in hours and suitable scoring will be decided (Table II). More hours indicates efficiency was not that good. Here is an example based on the pre-defined scores. Employee C recognizes as a less efficiency performer (Table III).

TABLE V.

Complete

In Prog.

TABLE II.

WORK EFFICIENCY SCORING SYSTEM

Difference (hours) d = Estimated- Actual

Score Deduction

TEAM WORK COMPLETION SCORE CALCULATION

Project Team A 8 tasks 3 Completion Score 3/8 = 37.5 37.5 3

Project Team B 10 tasks 2 Completion Score 2/10 = 20 20 2

Project Team C 13 tasks 4 Completion Score 30.77 30.77 5

3/ 8 = 37.5

2/10 = 20

38.46

Other Total Score

>0

0

(10)< d< 0

(5)

(20)< d< (10)

(20)

(30)