Performance Management at Beyond Teaching
Appraisal Management System is a web-based application that will allow team leaders (Management and supervisors) and human resource to track performance and rate their employees. The system will allow employees to login, fill in their targets and self-rate themselves. The team lead will be able to also login to the system, review employee performance and give a rating depending on their performance. Moreover, the team lead will also be able to give their remarks for employee’s performance on a given period.
The HR will be able to login into the system, evaluate overall employee performance, comment and rate the employee. This will enable determination of overall employee performance and allow management to make decisions on every employee’s general performance over a given period of time.
This report aims at providing insight on the activities carried out in developing the project till completion. Some of the challenges strengths and weakness encountered during development and the goals achieved while carrying out this project will be discussed on this report. Notably, before the drafting of the project, all the requirements had been met and the system developed worked as anticipated.
Beyond Teaching was a crowdsourcing platform in the space of education. The platform had over 500 thousand subscribers and over 200 corporate and very high college associations. Beyond Teaching receives jobs from these corporates and institutions and allows members to bid for completion of jobs (Smith, 2018).
Due to the high number of employees he company handles, an online too for timely appraisals is needed so as to keep the staff motivated. Appraisal Management System will be responsible for the timely evaluation and appraisal of employees by Beyond Teaching.
The web-based application will include a login page for employees, lead team and the HR. It also contains a homepage which is first displayed when the user first visits the site. The lead team, the HR and employees will have a common login area but till be taken to their respective pages once the system authenticates them. The three category of users have different views.
For instance, the employees will be able to register their six months or full year performance and rate themselves. A six month performance can be created once per every year, the same as a full year. It is from these that the lead team can draw their rating metrics to the employees.
Similarly, the lead team will be able to view and evaluate employees from the tasks they have filled in. In addition, the lead team will also be able to comment on every performance filled by the employee. They can make changes to their previous ratings.
Appraisal Management System: Introduction
Finally, the HR will be able to view overall employee performance based on all the tasks they have been assigned to. In addition, they will be able to rate the employee and comment on course of action.
The team decided to user PHP, JQuery (JavaScript Library) and MySQL Database for this project. PHP has positioned itself as a popular scripting language in the creation of powerful and dynamic websites (Whitehead & Desamero, 2001). Over five million web sites around the world have been built using PHP (Whitehead & Desamero, 2001). MySQL is a software that comprises of MySQL Server and a number of utility programs that aid in the administration of MySQL databases (Valande, 2007). JQuery is a framework that is built using JavaScript (Franklin, 2013).
Experience
During the development of this project, the team was able to put into practice what they had been taught in class. Different development methodologies draw from experience in class were discussed and software development approaches adopted. As such, the team was able to delegate and collaborate effectively in the project development.
However, the team was met with a number of challenges that are discussed herein. These challenges did not however stop the progress of the project and at the end the team successfully implemented the idea. Below are the experiences that the team encountered during the project development.
The team was able to identify the development tools and time schedules for the project. The team proposition to use PHP and MySQL database was favorable to the group who had prior knowledge to XAMMP environment. Setting up the database for the project, choosing favorable styles and connecting the code to the database went well as planned.
The team was faced by a number of challenges. The team required the hashing of user passwords before saving them to the database and secondly, the team was challenged with comparing user password with the hashed string. The following were the remedies to the problems encountered.
- For hashing passwords, the team decided to carry out some research on hashing passwords using the preferred language they had chosen for the project. The team was able to identify functions that would easily allow for the hashing of the passwords.
- On hashed password comparison with the user password, the team, during a research was able to identify useful functions for the tasks.
At the end of the research, the team was able to solve the two identified challenges and the project progressed as planned.
The real project was conceptualized from the proposal project. As such, the real project mirrored all requirements from the proposal and the team was able to come up with the nearly exact copy of the proposed project. The team followed the proposal to come up with the complete project. The functionalities described on the proposal were successfully met.
Features of Appraisal Management System
The functionalities described in the proposal included login and registration, projects done and rating capabilities for the users (HR, lead team and employees) that were successfully implemented on the final project.
Different functionalities depending on type of user logged in were made available, that is, employees were able to login, fill targets and performances and self-rate themselves, and lead team could login, offer feedback and rate performance as described in the project proposal. Similarly, the HR was able to login, check for consolidated rating for all employees as anticipated on the project proposal.
At the end of the project, the team was able to satisfactorily prove that all the requirements mentioned on the proposal were met as showcased on the real project.
This project provided a valuable experience for all the team members involved. The project required commitment and role playing from each member to ensure its successful completion. Working as a team provided members with a lot of benefits including increased efficiency and mutual support (MIT, 2018). The members agreed to be discussing everyday about the project and each member was assigned a task to complete. After the project proposal discussion, the functions of the project identified were delegated equally among members so as to ensure active participation and speed up project development.
The team members divided themselves into four groups, and the project tasks were delegated as follows:
- Group A was assigned database designed. They came up with the database to be used in the project model.
- Group B was assigned Registration and Login Functionality
- Group C dealt with the Employee module and Home page design
- Group D was assigned to develop the HR and Team lead model
- The whole team was to meet daily for harmonizing functionality and further deliberations.
Task delegation ran into a number of challenges since most of the project components required harmonization so often. For instance, registration, login, HR, Team Lead and Employee sections required database connections. As such, the team had to work together for the design of the database and prior work would continue afterwards. Similarly, the other group members participated on login functionalities so as to commence with the HR, Team Lead and Employee modules.
To ensure that all members understood the logistics of the project, the team conducted internal presentations and discussions on the parts they were actively developing. Explanation on design choice and functionality was made by every group and at the end of the project development, the team actively integrated the whole system to one part and harmonized the theme of the software.
The team learnt a lot from each other. Tasks were easy to complete and members enhanced their presentation skills. Moreover, the team enhanced their team building antics and able to learn the importance of working together. The benefits accrued from the team’s contribution included applying a mix of skills from different members (KnowHow, 2018).
Choice of Technologies and Frameworks
Use Case Diagrams
Use Case diagrams allows for use cases, actors and their relationships to be shown. The use case diagram is used to describe the use case model. The direction of arrow shows the initiation of an activity by the actor (Bittner & S, 2003) . Use Case diagrams are part of UML diagrams and are also known as behavior diagrams (uml-diagrams.com, 2018).
Figure 1: Use Case Diagram
In this section, two use case description will be taken.
- Login Use case
Name |
Register |
||||
Scenario |
Create a HR, Employee or Team Lead account |
||||
Triggering Event |
Employee, HR and Team Lead creating an account for performance management |
||||
Brief Description |
Employee, HR and Team Lead register an account by providing their basic information |
||||
Actors |
Employee, HR, Team Lead |
||||
Stakeholders |
Employee, HR, Team Lead |
||||
Preconditions |
Employee, HR, Team Lead dashboards |
||||
Post Conditions |
Unique email Account information should be saved |
||||
Activities flow |
|
||||
Exception conditions |
Incomplete data in registration form Duplicate email address |
- Add Performance Use Case
Name |
Add Performance |
||||
Scenario |
Create a new performance record |
||||
Triggering Event |
Performance for rating and appraisal required |
||||
Brief Description |
Add performance allows the employee to enter jobs done in a given period for rating and appraisal |
||||
Actors |
Employee |
||||
Stakeholders |
Employee, HR, Team Lead |
||||
Preconditions |
An existing employee account |
||||
Post Conditions |
Unique time frame |
||||
Activities flow |
|
||||
Exception conditions |
Incomplete data in performance form Duplicate time span |
Sequence interaction are shown using a sequence diagram. The involvement of objects and classed is depicted as a sequence of messages that are exchanged in executing the functionality of the objects in the scenario (SmartDraw, 2018). Sequence diagrams are time conscience and aid in visualizing the order in which interactions in the system take place (Visual-Paradigm.com, 2018). The diagram below will focus on the chosen use cases above.
Figure 2: Sequence Diagram for adding performance
Figure 3: Sequence Diagram for Rating Performance
Activity diagrams are flowcharts used to describe the flow of activities (Point, 2018). Activities are representation of an operation by a program. Based on the above use case diagram, the team came up with the following activity diagram
Figure 4: Activity Diagram for performance creation
Figure 5: Activity Diagram for performance creation
Domain Class Diagram are models that show the classes of a system, the relationships between them and the attributes and operations that can be performed on the classes (Agile, 2018). Considering the above use case scenario, the following domain class diagram was constructed
Figure 6: Domain Class Diagram
Figure 7: Domain Class Diagram 2
Figure 8: Complete Domain Class
ER Diagram is a tool used in the analysis of data saved in an application (Bagui & Earp, 2018). Based on the two use cases above, below is the developed ER Diagram.
Figure 9: Entity-Relationship Diagram 1
Figure 10: Entity-Relationship Diagram 2
Figure 11: Complete System ERD
A user interface provides the means by which the user and the computer exchange information (TechTarget, 2018).
- Home Page
Task |
Duration |
Start |
Finish |
Acceptance Criteria |
Title Submission |
1 day |
11/4/2018 |
11/4/2018 |
The proposed project title is submitted for approval for use. |
Proposal development |
3 days |
12/4/2018 |
14/4/2018 |
Members developed the proposal of conceptualized project for submission. |
Proposal Submission |
1 day |
16/4/2018 |
16/4/2018 |
Proposal is submitted for acceptance to the supervisor. The project proposal would be used by the team to come up with the actual project |
Proposal Approval |
2days |
17/4/2018 |
18/4/2018 |
Proposal approval would allow for commencement of the project |
Project Planning |
3 days |
19/4/2018 |
21/4/2018 |
Project planning would allow members to deliberate on deliverables and time frame for development and delegation of tasks regarding project commencement. |
Project Design |
6days |
22/4/2018 |
27/4/2018 |
This phase would allow for the design and development of the actual project. This would include database design, coding and testing of the developed system. |
Project Report |
2days |
1/4/2018 |
2/4/2018 |
A project report detailing the activities of the project were documented. |
Gantt chart is a project management tool that illustrates start and finish dates of projects. They also help in showing dependency between activities (Gantt.com, 2018). Below is the Gantt chart for the project.
Week 1 |
Week 2 |
Week 3 |
Week 4 |
|
Project Proposal |
||||
Project Planning |
||||
Project Design |
||||
Database Design |
||||
Coding |
||||
Testing |
||||
Project Report |
Figure: Gantt chart
Week 1
During the first week, the team was convened with members to work together on this project. Students teamed up for this particular project.
Project Development and Experience
After convening, the team’s initial task was to come up with the project proposal they wished to undertake during the semester. A project proposal is a document prepared detailing the requirements of a project, for supervisors to give a go ahead for the commencement of a project (Dillon, 2018). The Projects title and proposal was prepared and handed over for approval.
Week 2
After project proposal approval, the team embarked on project planning. Project planning involves deliberating how and when a project will be carried out (BCCampus, 2018). During this week, discussion on deliverables, project approaches, language and paradigm selection were discussed. The team deliberated on using PHP and MySQL for the project. The team members came up with four groups and subdivided tasks among members to be completed in the next two weeks.
Week 3
During this week, the team focused on project design. Project design is involved in planning of project’s key features, structures and deliverables (Wrike, 2018). Members met every day after and classes to track progress, achievements and challenges encountered on task delegated. Challenges were discussed and solved, while progress were harmonized to one main project. During this week, the members had identified and designed appropriate database to be used and the login and register pages completed. Modification on the project was made, including the status field in the users table to identify user levels. Consequently, the team was challenged with the password hashing and members embarked on research. Before the week ended, solutions on hashing had been provided and the team was ready to progress on the next stages.
Week 4
During this period of the week, team members worked on the HR, Team Lead and Employee module. With the help of the other team members, group C and group D designed the HR, Team Lead and Employee Module.
On successful logins the employee will be welcomed to a home page with the list of performances they have filled, whether they have been rated or not by the team lead or not. The HR will be welcomed to a home page with overall employee rating and personal details. Team Lead home page will be comprised of list of employees’ performance list and a button to allow them rate the current employee. From the home page, The HR can be able to comment on the employee and rate their overall performance.
At the end of the week the system was completed as anticipated and the whole team participated in harmonizing the whole project into one.
Task Delegation and Team Collaboration
A project report was generated during this period with all team members participating in its drafting. A project report is a document with information about a project (MoneyMatters, 2018). After discussion on the report structure and content, one of the members was selected to type and format it for submission with the project.
The projected was developed using a local host on the team’s computer. The team members actively carried out tests to ascertain the functionality of the whole project. A testing strategy is an outline of testing approaches adopted by the team on a project workability (HNComputing, 2018). The following tests were carried out:
- Register functionality (for Lead Team and Employee): Team members registered different accounts using different data. Errors identified were resolved and at the end of the testing, the module worked as expected.
- Login and logout functionality: different users with different user levels were authenticated. Every user landed on their respective home pages as expected.
- Adding and rating of performance was also tested to ensure that the system correctly added and rated performances using the employee, HR and Team Lead module.
- Finally, unit testing was carried out and the team members ensured that all units worked as anticipated.
The team members ascertained the successful implementation of the project and that all test cases were successful. A project report was successfully written with each member’s participation.
References
Agile, M., 2018. UML 2 Class Diagramming Guidelines. [Online] Available at: https://www.agilemodeling.com/style/classDiagram.htm[Accessed 3 May 2018].
Bagui, S. & Earp, R., 2018. Entity Relationship Diagrams and the Software Engineering Cycle. In: C. Press, ed. Database Design Using Entity-Relationship Diagrams, Second Edition. Florida: CRC Press, p. 6.
BCCampus, 2018. Project Management. [Online] Available at: https://opentextbc.ca/projectmanagement/chapter/chapter-8-overview-of-project-planning-project-management/ [Accessed 2018 May 2018].
Bittner, K. & S, I., 2003. Use Case Diagrams. In: A. Professional, ed. Use Case Modelling. Massachusetts: Addison-Wesley Professional, p. 28.
Dillon, B. L., 2018. Project Proposal Writing. [Online] Available at: https://www.sswm.info/planning-and-programming/implementation/project-design/project-proposal-writing [Accessed 3 May 2018].
Franklin, J., 2013. Beginning JQuery. In: Apress, ed. Introduction. New York: Apress, p. 1. Gantt.com, 2018. What is a Gantt Chart?. [Online]
Available at: https://www.gantt.com/ [Accessed 3 May 2018].
HNComputing, 2018. Testing Strategies. [Online] Available at: https://www.sqa.org.uk/e-learning/SDPL03CD/page_19.htm [Accessed 3 May 2018].
KnowHow, 2018. The importance of teams. [Online] Available at: https://knowhownonprofit.org/people/people-management-skills/teams/about-teams-and-types-of-team/importance [Accessed 3 May 2018].
MIT, 2018. Learning & Development. [Online] Available at: https://hrweb.mit.edu/learning-development/learning-topics/teams/articles/basics
[Accessed 3 May 2018].
MoneyMatters, 2018. Meaning of project report. [Online] Available at: https://accountlearning.com/project-report-meaning-contents-project-report/
[Accessed 3 May 2018].
Point, T., 2018. UML – Activity Diagrams. [Online] Available at: https://www.tutorialspoint.com/uml/uml_activity_diagram.htm[Accessed 3 May 2018].
SmartDraw, 2018. What is a Sequence Diagram. [Online] Available at: https://www.smartdraw.com/sequence-diagram/[Accessed 3 May 2018].
Smith, A., 2018. Beyond Teaching: The World of Jobs in the Education Field. [Online] Available at: https://www.noodle.com/articles/non-teaching-jobs-in-education[Accessed 3 May 2018].
TechTarget, 2018. User Interface (UI). [Online] Available at: https://searchmicroservices.techtarget.com/definition/user-interface-UI[Accessed 3 May 2018].
uml-diagrams.com, 2018. UML Use Case Diagrams. [Online] Available at: https://www.uml-diagrams.org/use-case-diagrams.html[Accessed 3 May 2018].
Valande, J., 2007. How MySQL Works. In: J. W. &. Sons, ed. PHP & MySQL. New Jersey: John Wiley & Sons, p. 14.
Visual-Paradigm.com, 2018. What is Sequence Diagram?. [Online] Available at: https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-sequence-diagram/[Accessed 3 May 2018].
Whitehead, P. & Desamero, J., 2001. Introduction to PHP. In: P. Whitehead & J. Desamero, eds. PHP: Your Visual Blueprint for Creating Open Source, Server-side Content. Chicago: Hungry Minds, p. 1.
Wrike, 2018. What is Project Design in Project Management?. [Online] Available at: https://www.wrike.com/project-management-guide/faq/what-is-project-design-in-project-management/[Accessed 3 May 2018].