Goal Tracking System – is a system for tracking employees’ targets. Each employee: a developer, a project manager, a sales manager or a department manager sets his own tasks for a particular period of time: a month, a quarter, for six months, or for a year. How to track the progress of goals achievement and the approach of the expiry date of the task? This was the purpose of creating GTS by [bvblogic] company developers.
In the system there are three groups of users (according to their roles): administrator with absolute rights, manager, who has the ability to track goals of his team (group of people), and user, who can create and track his own goals. The process of goal creating is very simple: one specifies the name of goal, its description, the start- and the end-date. The goal is then redirected to the Goal List of the user and his manager. A convenient filtering system for goals searching and easy access was developed as well.
Filtering system for goals searching
Goals can be edited and deleted. Each goal may include several steps that are considered to be intermediate tasks on the way of achieving the main goal. Step – is a small goal, it has all properties and functions of a goal. In the system there is a possibility for creating templates, which can be further used by the users and team members for creating goals. The process of creating a template is identical to creating goals.
Goals and steps
The system is also equipped with a function of notifications via e-mail. It helps employees and their managers not to forget about the goals, their implementation process and due date. So, 1 month, 1 week, 1 day before the goal end-time, a message, that the goal is nearing completion, is sent to all related users.
Except for the basic functional of goals, managers also have a list of teams to which they belong, to monitor all subordinate employees. Administrator possibilities include functions of control over the teams and its members and other content.
Team and it’s members
For system implementation Ruby on Rails technology was chosen, which allows fulfilling interesting ideas using minimum resources qualitatively. This technology is widely used by [bvblogic] developers. Now it is rapidly gaining popularity and offers many advantages. You can read more in our article Why Ruby on Rails is Perfect Match for Your New Startup?
The basis of the system was ruby gem ActiveAdmin, which is a powerful framework for creating admin panels for RoR applications. This framework is a handy tool for implementation RESTfull system architecture with powerful filtering and data presentation. Implementation of users rights distribution is fulfilled with the help of gem cancancan. To improve system’s security, it can be entered different ways, depending on how it was configured in the application settings. There are the following ways: through LDAP authentication or basic server authorization BasicAuth, and simplified authorization system in framework ActiveAdmin, to exclude a need to re-enter data. Another interesting aspect of the system is the automatic e-mails sending system, when the goal or step is close to its due-date. For mailing system implementation gem whenever, which allows to perform any CRON tasks with any periodicity was used.
So the system is being successfully used and developed. It is planed to create the goal steps with the possibility to attach another person to assist in achieving the goal, so the step of one user in achieving his goal becomes a task of another user if he permits it. GTS is widely used not only by managers to monitor employees, but also by HR staff for formulation of employees needs and proposals for their future work, education, recreation.
You can read more about GTS and make your own contribution to its development by visiting our profile on GitHub