Performance Appraisal (360° feedback) System

Introduction

This system was built on SaaS model. The client wanted to develop a platform which can be given to their customers on subscription basis. As the system was targeting multiple customers than one it had to be configurable by users so they can set it up as per their appraisal process.

Objectives

The project started with these objectives:

  • Allow creation of forms dynamically (by users) to customize the system as per need
  • Set recipients of form to fill up with due date, send reminders for pending action
  • Reporting on feedback
  • Theming of system by administrator of end customer
  • Multiple roles for administrator, HR team, managers, employees
  • Allow defining custom roles by customer admin
  • Dynamic search to search on data within appraisal form
  • Calendar management
  • MIS Reporting
  • Multilingual support for UI as well as dynamic forms
  • Interface for 3rd party software integration

Challenges

The system posed these challenges:

  • Client’s lack of clear vision in terms of system features and functio
  • Generating form UI and data structure dynamically as designed by customer admin
  • Searching within data structure that was not predefined and quite dynamic
  • Complex subscription model
  • Aggregating data for reporting
  • Dynamic authorization requirement
  • Provide web API interface to integrate with customers’ HR systems

Execution

The product was built on Agile (Scrum) development model so each feature can be validated as early as possible and changes can be incorporated based on review and feedback. The project started with creating wireframes of all features and then functionality was plugged in. The project started with sprint duration of four weeks and as the product matured sprint duration went down to two and then one week.

XML was extensively used to store form definitions in database and ease of rendering on browser. Multiple data types were provided so forms can be designed with elements like free text boxes, drop down lists, check boxes and number and date boxes. Facility was also provide to ensure that mandatory information was supplied and in correct format when submitting the forms.

Technology stack

The system was built on these technologies:

  • .Net framework 4.0 with C#
  • ASP.NET Web services
  • Windows services
  • iTextSharp library
  • NPOI .Net library
  • SQL Server 2012