Professional Documents
Culture Documents
net/publication/331177608
CITATIONS READS
0 1,654
1 author:
SEE PROFILE
All content following this page was uploaded by Abdurraouf Fathi Sawehli on 18 February 2019.
The evolution of JobSeek, a recruitment company can be mapped from beginning of 2015
which was operating within the city of Kuala Lumpur. At earlier stage, our company was
operating under a manual working method, which uses telephone calls, emails and walk in
interviews for the job seekers. Due to overwhelming response and support from nationwide,
we tend to pioneer in digital recruiting in 2016, and today we are one of the few online
recruitment providers that could able to serve customers in Malaysia and even abroad. For over
3 years, JobSeek has helped improve people's lives with better jobs, and employers improve
their bottom line with the best talent. According to industry experts, since from 2015 to 2017,
which is after the establishment of JobSeek company, over 500 companies that had job
recruitment increased from 29% to 88%. By 2017, over 78% of them were using JobSeek as
medium for online recruitment process.
We continually seek for a strategically ways to expand our offerings to employers and job
seekers, and have ensured that we have the processes, technology and infrastructure to deliver
the highest level of service and support to our customers. To deliver on this, we will continue
evolving our product and service offerings to a better facilitate matching of jobseekers to
employers.
1
1.2 Scope, Aim and Objectives
Scope
1. Employers can advertise vacancies online directly without going to the office by filling up a
standard online ‘Job Offer’ form through the employer’s web portal in the new system.
2. Job seeker can register an account with JobSeek and submit e-resume (CV) by filling up an
online form in the new system.
3. The new system will automatically match the employer’s vacancy ads with the appropriate
CV of the applicants.
4. The new system will have a payment system to deal with the payment made by both the
employers and applicants.
5. The new system will be available in 2 languages which are English and Chinese to meet the
needs of foreign applicants.
Aim
The aim of this research is to analyse the problems faced by Jobseek’s current business
processes and find a suitable solution for them which will further enhance their productivity
and profits. An online job recruitment system will be implemented for the company which will
aid the high demand of jobseekers and employer demands. The system built from this research
is also aimed to assist the expansion of JobSeek from nationwide to international.
Objectives
1. To investigate the current business process by investigating the task involved around the
company.
3. To ensures our jobseekers always have success in their reach by providing the fastest and
convenient way of searching their dream jobs.
4. To give a complete information to job seekers about his/her job application by various report
generated from database.
2
2.0 Agile Principles and IS Methodologies
2.1 Agile Principles
The Agile Manifestos and the values provide a basis for the development and application of
the principle of Agile. On the other side, The Agile Manifestos represents a big shift in focus
on how projects are being conceived, conducted and managed. (Unhelkar, 2016) (Layton and
Ostermiller, 2017) It encourage the additivity of planning, inspires teamwork, self-organization
and liability, a set of best practices to permit for quick developments of high quality software,
and a business tactic that supports improvement along with customer needs and company goals.
(Alliance, 2015)
In conjunction with this, a set of 12 guiding concepts (known as The Agile Principles) that
support agile project teams are being implemented as an agile technique into the development
of JobSeek’s web-based system. To make the project more agile, a few of those principles are
listed below:
3
value to the customer or end user. Any tasks that does not add value to the customers
or end users need to be corrected or replaced time to time.
3. Revise the project, cancel or create plans as needed according to current scenarios
Project planning typically takes place at the beginning of the project. However, project
planning should refer to an ongoing reevaluation of plans because 64% of features that
are developed under a waterfall model are rarely utilized. The project team don’t plan
anything less than the waterfall criteria but they plan as much or more than that. Thus,
the project management team should focus more on sticking to the initial plan
meanwhile the project managers can do improvisation towards agility by continually
tracking down the changes in the project’s original plan, which is practically help the
team to improve their creativity, mitigate risk and identify more efficient ways to
accomplish a project.
4. Working on a system over comprehensive documentation
To ensure the project should be more agile, the only way to ensure that the project team
truly finished with their system requirement is by understand the role of documentation
and produce an accurate accountability throughout the course of a project. However it
is, the changes throughout the course of a project should be tracking down in consistent
to support documentation. The project manager should work along with project team to
improve documentation skill sets in which will help to drive agility in upcoming
ventures.
5. Simplicity in design
It is always a win-win situation when people likes something that is simple,
uncomplicated, elegant, not overworked, or a number of other near-synonyms but it can
rarely articulate why something is simple. Hence, this Agile principle proves that a
complex system are never designed or developed as complex systems from the outset.
Even the most complex system needs to start with basic constructs. A proper working
system with great interface can be accomplished even with simple design and thus it
reduces too much emphasis on task completion at high expenses because simplicity is
inherently subjective and achieving it is pretty tricky.
4
2.2 Methodologies – Compare and Contrast
Software development methodologies are created to solve problems, are put into production,
and after a period of usage, will either expand into the mainstream or drop out of service.
(Jones, 2017) The following methodologies are chosen based on the aims and goal that are to
be achieved by the developers of the projects. According to Capers Jones in his Software
Methodologies book, a life expectancy for a typical software development methodology from
that day of its release until use starts to decline or reaches a steady state seems to be in the 5-7
calendar year range. In conjunction of that, we have listed and compared few software
development methodologies that can be used to develop JobSeek’s Online Job Recruitment
System. All the results are tabulated below based on some criteria:
5
Changes in Difficult to Difficult to Easy to Easy to make Easy to make
management make make changes make changes changes
changes changes (Depends on
the experience
of members in
this model)
6
3.0 System Analysis
System analysis is a problem-solving technique that breaks a system down into its component
pieces in order to study how well the components work and interact with each other to
accomplish their purpose. In this phase, a variety of suggestions, opinions and facts will be
gathered by using different types of data collection and data analysis methods in order to
analyze the problems in the current system and create an online job recruitment system that
fulfil the requirements and needs of JobSeek Company.
i. Interview
Interview is defined as a formal face-to-face meeting or a conversation with a
specific purpose. Interviews can be conducted in many ways such as telephone
interview, face-to-face interview, group interview and many more. According to
(Anon, 2018) there are several types of interview which includes structured
interview, unstructured interview and stress interview. Structured interview is the
most common interview type used by public. A structured interview is a formal and
organized interview, which sometimes may include more than one interviewers. By
using structured interview, researchers have fully control to the topics and the
format of questions that are being used. Therefore, it is easier for the researchers to
compare and analyze the data that has been collected.
ii. Questionnaires
A questionnaire is a set of questions with a variety choices of answers in order to
gather data related to the study that has been carried out. By using questionnaire,
system analysts able to study behavior, attitudes, beliefs and characteristics of
several key people in the organization who is affected by the current and proposed
system. Attitudes are the requirements that the users want in a new system, beliefs
are what the people think which is actually true, behavior are what the people in the
organization do and characteristics are properties of people or things (Anon, 2018).
The advantage of using questionnaire is system analysts can collect a large sample
of system users without using a large amount of time and through the data collected,
7
system analysts can sense the problems in current system or raise up important
issues before the interview is scheduled.
iii. Observation
Observation is defined as a fact-finding method that gathers information through
observing the business and current system. In this method, researchers can obtain
more facts and requirements that are not mentioned in interviews as they have gone
through the current system themselves instead of relying on words of the users.
There are two types of observation which can be carried out by researchers, which
are overt observation and covert observation. Covert observation is more popular
compared to overt observation in most of the situation. This is because people are
conscious that they are being observed in overt observation and thus there is a high
possibility that they are faking their behavior. When people start faking their
behavior, this will lead to inaccuracy of the data collected. While in covert
observation, people do not know that they are being observed and thus they will
behave like the days that they are not being observed.
8
Data Analysis Methods
Besides data gathering methods, data analysis methods are also used in this project. The
purpose of using data analysis methods is to organize the data and retrieve useful information
for the organization from the pile of data collected. There are many types of data analysis
methods which can be used during the project.
Data Mining
Data mining is defined as the process of analyzing hidden patterns of data depending on
different perspectives for categorization and turns the data into useful information for the
organizations. Data mining is highly recommended as a data analysis method as it helps
organizations to predict future trends. There are many types of data mining techniques such as
correlation, aggregation, regression and many more. The following diagram shows the stages
of data mining.
9
Statistical Analysis
Statistical analysis is a process of collecting, exploring and presenting large amounts of data in
order to discover underlying trends and patterns (Anon, 2018). Statistical analysis is used in
different sectors such as research, government, industry and the list goes on. The data gained
from statistical analysis can be presented in different ways such as pie chart, line chart and bar
chart. The most common technique for summarizing data is using bar chart, which shows every
data point accordingly or histograms, which bar charts are grouped into broader categories
(SkillsYouNeed, 2018). The following diagram are an example of a bar chart and a line chart.
10
Most suitable data collection and data analysis method
Interview
After considering from different aspects, researchers had decided that interview is the most
suitable method for compiling, analyzing and presenting the data gathered. The reason of why
interview has been chosen is researchers can collect the most original, comprehensive and
primary information from the interviewees. For example, JobSeek company can get the
information directly from the targeted users of the system, instead of waiting the response of
the respondents if questionnaire is used. Researchers can get a more detailed view of what are
the thoughts of the interviewees towards the new system through interview and researchers can
ask the interviewees to clarify or elaborate some of the information or problems on the spot.
This allows the researchers to get what the users really want at first place without wasting the
time on thinking what does the users really want for the Online Job Recruitment System.
Furthermore, interviewers from JobSeek Company can observe the body language of
interviewees through interview sessions. Non-verbal communication can show a lot about the
interviewees, for example interviewers from JobSeek Company will know if an interviewee is
serious of what he or she told by observing the way that particular person speaks. This allows
the researchers to collect more accurate information from the interviewees as words can be
faked but actions cannot.
1. Selecting interviewees
2. Designing interview questions
3. Preparation for the interview
4. Conducting of the interview
5. Post-interview follows up
11
Step 1: Selecting interviewees
In this step, the interviewers need to determine who are they going to interview in order to get
the most accurate information. In this project, the interviewers decided to interview the targeted
users of Online Job Recruitment System and some existing clients who are using the current
system in order to understand what are the problems in the current system and how the users
want JobSeek Company to improve it.
Once the interviewee list has been confirmed, the researchers will to think what questions that
they are going to ask during the interview. There are three types of questions that can be asked
during the interview, which are open-ended questions, close-ended questions and probes.
Open-ended questions are the questions that allows interviewees to elaborate more on the topic.
These questions usually provide interviewers with additional information or problems that a
user does not really like to talk about. Close-ended questions are the questions that enable the
researchers to control the interview and obtain the information they need. The answers of close-
ended questions are usually short answers, for example yes and no or true and false. Probes are
the follow-up questions in response to one of the above questions when the researcher is
confused or unsure with the answer. The researchers had designed a set of questions for the
interviewees from JobSeek Company, sample questions are included at the end of this section.
In this step, the researchers of the Online Job Recruitment System will contact each of the
interviewees personally to inform them about the location, time and date of the interview via
phone calls. The researchers will call the interviewees one day before the interview to confirm
the attendance of the interviewees and also as a reminder to them.
During the interview session, the researchers will introduce themselves to the interviewees and
will brief them about the objectives of the interview. Researchers will then start asking question
which had been set in step 2 and each answers given by the interviewee is recorded down for
12
future reference. After the interview, the researchers will summarize all the answers provided
by the interviewee and seek for conformation while giving the interviewee a chance to add on
or correct the information.
After all the interviews had done, the response of each interviewee will be documented. A
follow-up interview is needed when there are problems that has been found while writing
interview report. Researchers need to clarify the problems with the interviewee and thus a
follow-up interview is required. A follow-up interview can be made through phone calls,
emails or any other suitable mechanisms.
Below are the sample interview questions that had been asked during the interview.
Why 1. To find out the problems faced by users in the current system
2. To provide suggested solution for the problem
3. To understand the advantages and disadvantage of the current
system
Sample question 1. What current problems are you facing in this current system
using by JobSeek Company and how does the problems have
affected you?
2. In your opinion, do you think that JobSeek Company should
change their current management method (paper based system)
to online job recruitment system?
13
3. If yes, why do you think JobSeek Company should change to
online job recruitment system?
4. Do you think the current system is convenient to use?
5. What features do you want the Online Job Recruitment System
to have?
6. Do you feel comfortable to use the new system which is Online
Job Recruitment System?
7. With the scale of 1 to 10, 1 is the lowest and 10 is the highest.
-How would you rate the current system (paper based system)?
-How high is your expectation in changing to the new system
which is Online Job Recruitment System?
Answer: 1. I have to match the jobs with the qualification of candidates manually
which is time consuming and not efficient.
2. Yes.
3. So that the business process is more efficient and smoother while the
employees have more time to focus on important tasks.
4. No.
6. Yes.
7. - 4
-8
From the information collected from the interviewees, the researchers of JobSeek Company
have come up with the functional and non-functional requirements of the Online Job
Recruitment System.
Functional Requirements
5. The system should let applicants to create their CVs and apply for available vacancies.
6. The system must notify successful applicant for an interview with the employer.
7. The system should have a database to store details of employers and applicants.
1. The system should have a search function for applicants to search for desire jobs.
3. The system should provide initial help for the new users of the system.
Data Mining
Data mining is the most suitable way for data analysis in JobSeek Company. By using data
mining, the system will predict who is the suitable candidate for the vacancies and which
applicants has met the requirements of the vacancies. Data mining will automatically go
through the predictive information in the database of the system of JobSeek Company. The
information of the applicants allows the system to match a vacancy offered by a company with
the profession of the applicants.
15
4.0 System Design
System design is the method that defines the components of our system for example, the
architecture, modules and components, the different interfaces of those parts and the
information that dives through that system. It is done to achieve particular needs and
prerequisites of the JobSeek’s business. In order to fulfill the project requirements, our group
was required to propose a design for the new system as it really aid in the development process.
System design is an essential role in the system development process as it involves all the
practical aspects of security and effectiveness as well as the flexibility. It considers all the
applicable factors and the required points that will create the system which relays on the
technical and development skills. Further, it is used to prototype the business requirements that
we collected from the project stakeholders.
There are three types of system design models followed in our project to accomplish this phase.
They are basically used to define and analyze the required information to aid the business
processes in the organization. It starts with the conceptual Design then the logical design and
finally the physical design (Whitten, Bentley and Dittman, 2004).
16
4.2 Use Case Diagram
Use case diagram is a graphical representation of the interconnections between the system
components. It is a type of Unified Modelling Language which is a modelling language that
enables developers to select, envisage, build and document the software system. There are two
main components in use case diagram which are the actors and use cases. Actors are basically
the clients or users who are involved in the system. Use cases are used to demonstrate the
activities in the system. This type of model can be understood easily by all people who are
involved in the project and it really helps in defining the functional requirements.
17
4.3 Story Board
Storyboard is a flow diagram that demonstrates some pictures and texts in a sequence way to
get a high level of interaction of our system. (Help.indigodesigned.com, 2018). It mainly shows
stories and a brief description about the project and people who are involved with or in other
words, it is done to show the human interaction with our system. Storyboard can be an
additional thing in the system design phase, however, it is beneficial to have it as it allows users
to understand the system and it functions easily.
18
4.6 Data Flow Diagram (DFD)
DFD is used to demonstrate the relationships between the different component in our project
and system. It an important technique in system design phase as it shows in an extensive detail
how the input data is changed to output results by a series of functional transformations. DFDs
contains of four main components which are entities, processes, data stores, and data flows.
Further, DFD aids to produce a steady program that is flexible and not hard to maintenance.
4.8 Prototype
Prototype is a model or simulation of the system which is under analysis in which a first
addition of the system where not all the project requirements are fulfilled, and the system is
still a trial version and error might be occur as it is not the final one. It usually used as a mini
version of the system, so the developers and users are involved to find the errors, so they can
be fixed before the last release of the system. Further, there is a relevant type of prototype the
same thing called Simulation. It is used to test the code and find its logical errors by the
developers only.
19
Prototype samples:
20
2.The registration form of the jobseeker:
21
4. Apply for Job opportunity:
22
6. Payment:
The methodology that we recommend for this project is Structured Systems Analysis and
Design Method (SSADM). SSADM is a popular methodology which has been developed the
late of 80s in Britain. It uses logical data modeling, entity event modeling and data flow
modeling in a six-step stages to govern how a system is developed or updated. There are many
advantages to use SSADM for designing our system. The most important one is that SSADM
is a good practice and method for projects with database design. It was highlighted in the
requirements that the methodology for the system design phase should consider that the
JobSeek system is web-based with database. Besides that, SSADM is a rigid approach that
controls over every aspect of the development process, therefore, it minimizes the number of
errors while the system creation. Moreover, SSADM decreases the level of misunderstanding
among the project members as the deep analysis of the system. Further, it has a comprehensive
design phase. and has strategies to align business needs with system development.
23
5.0 Implementation and Deployment
5.1 Construction
The construction phase is where the entire system is built using several software platforms,
programming languages on a dedicated operation system platform. The construction process
starts after getting approval from the owners of JobSeek on the proposes prototype. The
development team prepares resources such as the software development tools, database
creation tools and the interface generating tools. The JobSeek Online Recruitment System is a
web-based system, therefore is developed to work on most internet browsing applications such
as Chrome, Safari, Microsoft Edge and Mozilla Firefox. Furthermore, with more and more
people browsing more using their phones, this website should also support mobile web
browsing.
Below are the programming languages and software tools used for website development:
HTML 5
HTML 5 is chosen and used as the main programming language since it is the standard
language used for web development. This is used to create the front-end design for the online
recruitment system where users will interact with the system. HTML 5 is also compatible for
creating resizable, mobile-friendly webpages and supports several web browsers which would
be a great advantage.
CSS 3
CSS 3 is a language that specifies style formatting for websites, such as colour, font size, and
layout. It is usually used together with HTML webpages and here it used to style the webpage
of JobSeek Online Recruitment System.
PHP
For server-side programming, PHP is used to develop codes for the servers to operate which
hold most of the database of the system. PHP is usually used for back-end programming and
supports a wide range of database applications.
JavaScript
JavaScript is used to create text fields on the webpages where users can input their data and
can be used to calculate values and perform actions accordingly.
24
MySQL
MySQL is a standard language used for data storing, manipulating and retrieval from a
database. MySQL has been used for JobSeek Online Recruitment System to store applicant
and employer data which will later be used to match up them appropriately.
To handle modification or updates on codes Git Version Controller has been used. This version
controller records changes of the files over a period which helps developers know where a
certain modification is made and can easily record them.
GitHub Cloud
GitHub Cloud is used as a backup cloud storage for this online recruitment system as it is a
cheaper and efficient way to store compared to conventional ways. GitHub also allows
developers to work together using the cloud service which saves time and money. This cloud
service also provides protection against malware and viruses which may corrupt or hack the
system.
SSL Certification
The JobSeek website will have SSL certification to ensure that customer’s confidential
information is protected. JobSeek will have a web URL with HTTPS which shows customers
that it is safe to input their information in the system.
25
5.2 Testing
The process of testing is done to ensure that the system complies with the requirements
gathered from the stakeholders. For JobSeek Online Recruitment System we will be using
dynamic testing method which consists of Unit Testing, System Testing and Integration
Testing.
Unit Testing
All the units and modules within the system are tested using this method for example functional
buttons on screen, input text fields, password fields, keyboard and mouse functionalities and
validation and constraints. Each part of the system is isolated and tested in this method. This
test is usually done throughout the development process to save time and money.
Integration Testing
Integration testing verifies the interfaces between components against software design. It works
to expose defects in the interfaces and interaction between integrated components. Software
project consists of multiple software system, coded by different programmers. Therefore,
integration testing is done to ensure all the module can work together seamlessly. There are 3
main types of integration testing namely Big Bang Integration Testing, Top-Down Integration
Testing and Bottom-Up Integration Testing.
26
System Testing
System testing is usually the final test done on the overall system to ensure that it works as
intended and meets all the requirements before it is delivered. There are several types of System
testing namely Usability Testing, Recovery Testing and Functional Testing.
Usability Testing checks the various usability aspects of the system which ensures the
consistency of the design throughout the system. All possible design defects, spelling errors,
grammatical errors are checked. This is also known as the User Experience Testing. Recovery
Testing is done to ensure the reliability of the system and the ability of recovering in the event
of a possible system crash. Functional Testing is also known as Component Testing where each
component of the system is tested for errors. For example, the buttons, links and input fields.
Compatibility Testing
This test is done by testing the website over several different web browser applications, through
personal computers and mobile devices. This ensures the website works perfectly in common
browsers such Google Chrome, Microsoft Edge, Mozilla Firefox and Apple Safari.
Performance Testing
Performance testing is conducted to test load handling and balancing of the system. This to
know the limit of the system ensure it does not crash due to overloading users or data traffic.
Database Testing
This test is to check queries to ensure the data is created, read, updated and deleted properly in
the database. Testing the security of the database for any information leakage in terms of
encrypting data and checking non-authorized access to secured pages.
27
5.3 System Deployment
As an organization progresses and it needs better systems to operate on. Once the new system
is already developed, it must be deployed. System deployment is concerned with the smooth
transition between the old system and the new system and how its users will adapt to the
change. It is important to choose the most suitable changeover method for the organization as
it will ensure the employees and organization members can get to the system faster and
effectively.
Method The old system is New system and old New system is first New system is
completely removed system are run introduced to one introduced
and substituted by paralleled at the same of the department, gradually and is
the new system. time. depending on the implemented one
effects, it then will phase at a time.
be introduced to
other departments.
Risks High risk of failure The risk is low Low risk taken Low risk because if
since users are because if any error because it is tested any problems arise,
forced to get used to occurs in the new in a small they are limited in
the new system with system, users can still department first scope and therefore
very less learning switch back to the old before being non-critical to the
time. system. implemented fully. organization.
Changeover Long, users need to Medium, users can get Short, the system Longest, the
Period study and learn how use to new system already tested in process takes a long
to use the system faster but might take one department and time to complete
from scratch. Short up more times to the experience because phases
time spent if the completely removed users can guide need to be
users are informed old system because new users on how implemented
and trained prior to they are used to rely to use the new separately.
change. on both systems. system.
28
As for JobSeek, they are transitioning from a paper-based system to a web-based system. This
means a lot of time is needed for the employees to learn the new system and adapt to it.
Therefore, phased changeover method is chosen as the deployment method for JobSeek.
Firstly, all the records on paper should be first typed or scanned and uploaded to the system
database, from that they will have a platform to gradually work on in learning about the system.
Next, all employees should be thought on how to operate the system, the easiest way to do this
would be to provide user manuals and a mentor should be assigned to further facilitate the
process. The first component that can be moved to the new system is the user registration while
other components can be still on paper. Once the user registrations are fully moved to the new
system, the uploading of resumes and vacancies can be deployed. Thirdly, the manual matching
system can be changed to the automatic job-matching system after about 2-4 weeks of
uploading of resumes and vacancies are deployed. Each deployment phase will take around 2-
4 weeks. However, scheduled maintenance will be carried out after deployment to identify
possible threats and errors.
29
6.0 Individual Component
6.1 Rational Unified Process (RUP) – PREM A/L ARUMUGAM
RUP is an iterative software development methodology created by Rational Software, a
division of IBM Corporation. There are four main phases in this methodology which are
Inception, Elaboration, Construction and Transition. RUP is an agile methodology used in large
scale, long -term projects, which are usually carried out by enterprises. RUP has a medium-to-
high complexity which is suitable for JobSeek.
Iterations
Iterations help the development team to manages the changes made in the system by the user
and detect problems earlier. It is a development loop of an executable product, a partially
functional part from the final product, which incrementally grows to a fully finished product.
Through the iterations, the development team can learn the possible problems and produce a
better overall quality online recruitment system.
Inception Phase
Inception phase is first and foremost phase in the development process, this phase also serves
as the foundation for the project. During this phase, information gathering is conducted such
as project scope, business requirements, aims and objectives by doing a survey or interviewing
the stakeholders. The functional requirements of JobSeek is to allow the registration of
customers and employers. This information is recorded in a vision document which will assist
the developing team towards the final product. A use-case model is drafted to show the all the
functions involved in the system. The possible risks during development is also identified.
30
Elaboration Phase
In this phase, the project architecture and resources are evaluated. This is done to ensure the
stability of the project during the construction phase. Based on the all the information gathered
by the team, they will build an executable architecture prototype and construct the finalised
use-case model. At the end of elaboration phase, the team will provide a use-case model,
executable architecture, business case, risks list of the project and development plan (IBM,
2017).
Construction Phase
During construction is where, the project is built and completed. The system is designed, the
program codes are written and tested for errors. The development team performs three main
type of tests namely Unit testing, Integration testing and System testing to ensure the system is
error-free. A user manual is created by the team to facilitate the transition phase.
Transition Phase
After making final updates and adjustments, the system is released to the public. Based on
feedbacks given by end user, the development team does the required updates in the future. A
system review is done to discuss whether the system has met its business requirements.
Furthermore, user training is provided to the employers of JobSeek to ensure they adapt well
to the new system.
31
GANTT CHART - RUP
Gantt Chart
3 Sep 2017 10 Sep 2017 17 Sep 2017 24 Sep 2017 1 Oct 2017 8 Oct 2017 15 Oct 2017 22 Oct 2017 29 Oct 2017 5 Nov 2017 12 Nov 2017 19 Nov 2017 26 Nov 2017
ID Task Name Start Finish Duration
31 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
1 Inception 1/9/2017 17/9/2017 17d
2 Project Planning 1/9/2017 3/9/2017 3d
3 Business Modelling 4/9/2017 6/9/2017 3d
4 Requirement Gathering 7/9/2017 11/9/2017 5d
5 Analysis and Design 12/9/2017 13/9/2017 2d
Implementation and
6 13/9/2017 15/9/2017 3d
Testing
7 Deployment 16/9/2017 17/9/2017 2d
8 Elaboration 18/9/2017 8/10/2017 21d
9 Project Planning 18/9/2017 20/9/2017 3d
10 Business Modelling 21/9/2017 25/9/2017 5d
11 Requirement Gathering 26/9/2017 30/9/2017 5d
12 Analysis and Design 1/10/2017 2/10/2017 2d
Implementation and
13 3/10/2017 5/10/2017 3d
Testing
14 Deployment 6/10/2017 8/10/2017 3d
15 Construction 9/10/2017 4/11/2017 27d
16 Project Planning 9/10/2017 12/10/2017 4d
17 Business Modelling 13/10/2017 15/10/2017 3d
18 Requirement Gathering 16/10/2017 22/10/2017 7d
19 Analysis and Design 23/10/2017 25/10/2017 3d
Implementation and
20 26/10/2017 1/11/2017 7d
Testing
21 Deployment 2/11/2017 4/11/2017 3d
22 Transition 5/11/2017 30/11/2017 26d
23 Project Planning 5/11/2017 8/11/2017 4d
24 Business Modelling 9/11/2017 15/11/2017 7d
25 Requirement Gathering 16/11/2017 18/11/2017 3d
26 Analysis and Design 19/11/2017 23/11/2017 5d
Implementation and
27 24/11/2017 28/11/2017 5d
Testing
28 Deployment 29/11/2017 30/11/2017 2d
1
6.2 SCRUM - VASANDEN A/L JAYAKUMAR
Scrum is an iterative approach to software development that is tightly aligned with agile
principles and the Agile Manifestos. (Scott Millett., Jerrel Blankenship. and Matthew Bussa.,
2011) The term ‘Scrum’ was derived from rough and tumble game of rugby. (Layton, 2015)
Scrum was originally formalized for software development projects but a good thing about this
methodology is its applicability to consecutively all projects that can be productively placed
within the scrum framework. Basically, this excellent development is suitable for JobSeek
web-based system development project that are constantly altering or extremely developing
requirements.
There are three major key role plays within the scrum team:
• Product Owner that responsible for the business value of the product,
selecting whichever should get it done and ready to give explanation on
why. (Morris, 2017)
32
• Delivery Team where the programmers, testers, analysts and etc who
self-organize the team and decide on how the works can be get done and
execute it. (Morris, 2017)
• Scrum Master who is responsible in keeping up the project team
motivated, productive and following their working agreement. (Morris,
2017)
Events in Scrum
• Sprint where the block of time within which all works and events below
take place – most often two weeks. (Morris, 2017)
• Sprint Planning in which the team agrees with the Product Owner
regarding with the functionality that has to be develop in a Sprint, and
then plan the work neatly in order to deliver it. (Morris, 2017)
• Daily Scrum in which the team will look at their progress, the remaining
tasks or any impediments and re-plan it as required. (Morris, 2017)
• Sprint Review in which the team shares their progress with their
respective stakeholders and get their feedback. (Morris, 2017)
• Sprint Retrospective in which the team consider on how well the
progress went over Sprint and agree all the possible improvement
actions. (Morris, 2017)
Artefacts of Scrum
Scrum is underpinned by a set of values that act as a foundation on how a project team supposed
to work and interact among each other:
6.2.2 Advantages
The Scrum methodology actually helps the company in terms of saving time and money. There
are few advantages that can be proved that Scrum is a perfect methodology in completing an
innovative project:
34
• Due to short sprints and constant feedback, this methodology will
becomes easier to adapt with the changes. (Belatrix Software
Development Blog, 2018)
• Daily meetings make it possible to measure an individual’s
productivity and progress. Hence, this leads to the improvement in
the productivity of each of the project team members. (Belatrix
Software Development Blog, 2018)
• Issues are identified well in advance through conduction of daily
meetings and the resolution for a problem can be done speedily.
• It is easier to deliver a quality product in a scheduled time without
procrastinating in any circumstances. (Belatrix Software
Development Blog, 2018)
• Agile Scrum can adapt in working with any technology or
programming language but it is particularly suitable for fast
moving web or new media projects. (Belatrix Software Development
Blog, 2018)
• The overhead cost in terms of process and management is minimal.
Thus, it leads to a quicker and cheaper result. (Belatrix Software
Development Blog, 2018)
6.2.3 Disadvantages
Just like any other framework, Scrum also has few disadvantages:
• Agile Scrum is one of the leading causes of scoop creep due to lack
of definite end-date. Hence, the project management stakeholders
will tend to keep demanding that new functionality to be delivered.
(Belatrix Software Development Blog, 2018)
• If a task is not well defined, estimating project cost and time will
never be accurate. In such scenarios, the task can be spread over
several sprints and as a result, the chances of a project getting
failure is very high if individuals are not very cooperative. (Belatrix
Software Development Blog, 2018)
• It is good for small and fast-moving projects as it works well only
with small team. (Belatrix Software Development Blog, 2018)
35
• This methodology and framework can only be successful if there is
an experienced team members because it is a matter of time to be
completed and the team cannot be consisting of people who are
novices. (Belatrix Software Development Blog, 2018)
• Scrum works well for project management when the Scrum Master
trusts their team. If they practice too much of over control or strict,
the team members can be extremely frustrating and this could lead
towards demoralization and as a result it will bring down the failure
of the project. (Belatrix Software Development Blog, 2018)
• If any team member leaves the project in the middle, it has a huge
negative impact on the project development. (Belatrix Software
Development Blog, 2018)
• Project quality manager is hard to implement and quantify unless
if the test team are able to conduct aggressive testing after each
sprint. (Belatrix Software Development Blog, 2018)
6.2.4 Summary
Needless to say, Scrum will eventually transform the way you do business. A proper planning
and smart decision making can help the project get rid from all these disadvantages that has
been listed under 2.4.3 Disdavantage of Scrum. Besides that, it keeps everybody informed
about the progress on the daily meetings, involvement of the team on a task and the stake
holders with a well knowledge of the progress so that it can manage the expectations so that
there is no compromise on quality and no excuse for failures.
36
GANTT CHART - SCRUM
Dec 2017 Jan 2018
ID Task Name Start Finish Duration
29 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
12
25
31
In this phase, researchers are mostly focus on understanding the business process, finding out
the problem of current system and gathering the users’ requirements. After gathering the
requirements, a feasibility test will be carried out to ensure that all the requirements are testable.
All the requirements gathered will be documented in a specific document which is System
Requirement Specification (SRS) as so that researchers can always refer back to the document
while developing the system. The SRS must contain what the system should do instead of how
the system should perform the requirements stated. For example, before the developers can
start developing the new system, system analysts hired by JobSeek Company will understand
38
the business process of JobSeek. After understanding what and how the business works, the
system analysts will analyze and find out the problems occur in the current system. System
analysts will then gather the users’ requirements by interviewing the staffs in JobSeek
company. After gathering the requirements, the system analysts will then document the
requirements into SRS and lastly the system analysts will have a meeting with the CEO of
JobSeek Company to make sure that all the requirements are correct and get the approval to go
on to the next phase.
All the requirements documented in SRS will be studied in this phase and the system design of
the Online Job Recruitment System will be prepared. This system design determines the
hardware and system requirements of the new system and also helps in defining the overall
system architecture. All the inputs, processes and outputs are identified in order to let the
system owner, which is the CEO of JobSeek Company understands how the new Online Job
Recruitment System works and how the user interface looks like. There are two types of system
designs, which are logical design and physical design is done in this phase. Logical design is
the abstract of the new system which is usually presented in diagrams such as Data Flow
Diagram (DFD) in order to show how the data flows in the Online Job Recruitment System.
Physical design is the revised presentation of the design, which is usually the graphical
presentation of the product. Physical design is presented as input-output of the system for users
through graphic user interface or input-process-output for developers. In this case, the physical
design of Online Job Recruitment System is the prototype of the new online system so that the
users can have an overview of how the system looks like and how it works.
Phase 3: Implementation
In this phase, the developers will start to develop the Online Job Recruitment System by doing
the coding of the system. The coding is done based on the logical design and physical design
done in phase 2. HTML5 and JavaScript were used in developing the Online Job Recruitment
System as these languages are the most suitable programming language based on the
requirements. The system is first developed in small program which is known as units and
these units will be integrated in the next phase. Each unit such as Login function, user
39
registration function is tested for the functionality and this procedure is known as Unit Testing.
The purpose of Unit Testing is to make sure all units perform their functions without any error.
Phase 4: Testing
All the units developed in phase 3 are combined into a system after all the units are tested.
Once every unit is integrated, System Testing will be carried out to make sure all the
functionality works together without any errors. The Online Job Recruitment System is
expected to perform all the functions smoothly. Acceptance testing is also carried out in this
phase. The purpose of acceptance testing is to determine if a system is ready to be deployed.
In this case, the users of the new Online Job Recruitment System which is the staff of JobSeek
will test the system. If any errors is detected during the test, the users will report to the
developers and thus correction will be made. When the system passed the acceptance testing,
the Online Job Recruitment System will be delivered to JobSeek for official deployment.
Phase 5: Deployment
Once the functional and non-functional testing is done, the Online Job Recruitment System
will be uploaded onto the Web Server with a Web Hosting. Trainings are provided to JobSeek
staffs so that they are able to manage the system independently. User manual is created for the
users so that they can refer back if there is any problem occur after the trainings.
Phase 6: Maintenance
Maintenance is usually provided after the system is in full operation. Maintenance such as
system upgrades, repairs and fixes of system if there is any error with the system is included in
this phase. For example, when the users cannot login into the system, researchers will provide
help or give instruction to the IT staff in JobSeek to resolve the issue.
40
GANTT CHART – WATERFALL
41
6.4 Extreme Programming (XP) - ABDURRAOUF FATHI ALI
XP is a methodology or a software development process that is used to provides standers or
method that helps to produce an effective and predicable software in a flexible and low risk
way. XP is tailored methodology and can react to changes without any difficulties as the
developer can change any point in the project to fulfil any specific needs. XP is considered as
an agile software development as it has higher priority on adaptability than on predictability
and has the ability to respond to changes. Some scientist defined XP as a Crystal Methodology
which means it has high productivity and tolerance as well as most of the communication is
done in informal way and it does not define many roles and activities to accomplish the
projects. XP is formulated by Kent Beck, Ward Cunningham and Ron Jeffries and some other
contributors such as Robert Martin and Martin Fowler in 1999. Over the years, many projects
were successful by using XP methodology as it really reduces costs, ease to gain high customer
satisfaction as it is responsive to customer’s changing requirements and it is a rapid
development. (Dudziak, 2000)
XP defines four control variables regards a software development project which are (Dudziak,
2000):
1- Cost: this variable defines how much money will be spent to accomplish the project
and the number of developers who are needed for it.
42
2- Time: it is the core variable in XP as it defines how long will the project take to be
done and releasing the new system.
3- Quality: it determines how good is the new system based on its outputs and the
customer accuracy.
4- Scope: it describes what functionality will be implemented in the project and how much
will be included.
Extreme Programming (XP) is based on five values which are defined as guidelines
while developing any software (Dudziak, 2000).
1. Communication:
2. Simplicity:
43
it is important for Simplicity value to support the communication value as the more
communication becomes clearer, it is easy to demonstrate the requirements and needs.
3. Feedback:
4. Courage:
5. Respect:
XP methodology considers respect value as a significant thing. All people who
are involved on the project need to respect and enthuse each other as well as
customers should have a higher respect from the developers. However, developers
have the right to not accept any responsibility which they are not able to do it.
44
eXtreme Programming Practices:
XP methodology follows 12 core practices that will be implemented in our project to develop
the software. (Rumpe and Scholz, 2003)
There are different scales in the planning game that happen to produce the maximum
business goal as soon as possible. However, the basic rules that are involved are same.
- A list of the wanted features for the system is done by the customers to be
implemented in the software. Each feature is written on 4x6 cards as A User Story
which has the feature name and what are the requirements on the system.
- The development team should estimate the effort and time needed to finish the
project for each story card.
- After all cards are prepared, customers need to choose which story will be
implemented first and how as well as the estimated time of releasing the system.
2. Small Releases: A running, and tested software is released by the development team to
the customer, so they try it for any purpose such as evaluation or release it to the end
users. these releases are done often when new features are added on the system.
3. Simple Design: XP methodology uses the simplest design for the projects to get them
done easily. It satisfies only today’s requirements as they can they can be changed if
the requirements are changed in the future.
4. Metaphor: it is used in XP methodology to give a common view of the system and
description of how it works.
5. Continuous Testing: there are two types of tests in XP methodology which are Unit
Test and Functional Test. Functional tests involve customers to check the software
requirement expectations unlike the first one. Test programs for the new features are
written firstly by developers, so they can code the correct requirements that reflected in
the tests.
6. Refactoring: this practice is used to refactor all duplicated code that are written during
the software’s development and it is simple as the automated test cases are used to do
that.
7. Pair Programming: Two programmers write the same code on one machine together.
This ensures that the software is reviewed step by step once the code is written to get
perfect implantation of the project.
45
8. Collective Code Ownership: there is no specific programmer for a specific module in
XP methodology. all developers on the project are involved in coding the software and
they need to be able to work on any part of it at any time.
9. Continuous Integration: it is an important practice in XP mythology as rare
integration might cause many issues on the software. Any change is made on the
software must be integrated regularly to ensure that the code is working perfectly before
and after the integration.
10. 40-Hour Work Week: developers should work in only the working hours and overtime
is acceptable in sometimes, however, if the programmers are working for more than
two weeks of overtime, it means that there is something incorrect with the process or
the schedule of the project that need to be consider.
11. On-site Customer: customers and the programmers should have a constant access to
each other and in situation that there are big number of customers, a customer
reprehensive need to be selected for development team access.
12. Coding Standards: all programmers team on the project must follow the same standard
in coding to make it looks familiar in help of cooperative ownership.
46
Gantt Chart - XP
47
7.0 Work Breakdown Structure for Group Components
48
8.0 References
Alliance, A., 2015. What is agile software development? [Online]
Anon (2018). Cite a Website - Cite This For Me. [Online]. 2018. Computing.surrey.ac.uk.
Available from:
http://www.computing.surrey.ac.uk/personal/st/J.Clark/teaching/sad/lectures/lec3.pdf.
[Accessed: 8 January 2018].
Anon (2018). Cite a Website - Cite This For Me. [Online]. 2018. Misprivate.boun.edu.tr.
Available from:
http://misprivate.boun.edu.tr/bozanta/MIS321/AnalysisOfSystemRequirements.pdf.
[Accessed: 8 January 2018].
Anon (2018). Data Collection Techniques | CYFAR. [Online]. 2018. Cyfar.org. Available
from: https://cyfar.org/data-collection-techniques. [Accessed: 8 January 2018].
Anon (2018). Maintenance Phase in SDLC | Study.com. [Online]. 2018. Study.com. Available
from: https://study.com/academy/lesson/maintenance-phase-in-sdlc.html. [Accessed: 8
January 2018].
Anon (2018). Observations: Overt Vs. Covert. [Online]. 2018. Psychology Blog. Available
from: https://tasminrl.wordpress.com/2011/10/13/observations-overt-vs-covert/. [Accessed: 8
January 2018].
Anon (2018). Statistical Analysis - What is it?. [Online]. 2018. Sas.com. Available from:
https://www.sas.com/en_us/insights/analytics/statistical-analysis.html#. [Accessed: 8 January
2018].
Anon (2018). Types of Interviews - Steinbright Career Development Center. [Online]. 2018.
Steinbright Career Development Center. Available from: http://drexel.edu/scdc/professional-
pointers/interviewing/interview-types/. [Accessed: 5 January 2018].
Anon (2018). What is Data Mining? - Definition from Techopedia. [Online]. 2018.
Techopedia.com. Available from: https://www.techopedia.com/definition/1181/data-mining.
[Accessed: 8 January 2018].
49
Anon (2018). What is data mining? - Definition from WhatIs.com. [Online]. 2018.
SearchSQLServer. Available from: http://searchsqlserver.techtarget.com/definition/data-
mining. [Accessed: 8 January 2018].
Anon (2018). What is SDLC Waterfall Model? — Software Testing Help. [Online]. 2018.
Softwaretestinghelp.com. Available from: http://www.softwaretestinghelp.com/what-is-sdlc-
waterfall-model/. [Accessed: 8 January 2018].
Anon (2018). What is Systems Analysis? - Definition from Techopedia. [Online]. 2018.
Techopedia.com. Available from: https://www.techopedia.com/definition/9611/systems-
analysis. [Accessed: 8 January 2018].
Belatrix Software Development Blog. (2018). Benefits and Pitfalls of using Scrum Software
Development Methodology. [online] Available at: http://www.belatrixsf.com/blog/benefits-
pitfalls-of-using-scrum-software-development-methodology/ [Accessed 4 Jan. 2018].
blogs, V. (2018). 12 Best Software Development Methodologies with Pros & Cons. [online]
Web Solutions Blog. Available at: http://acodez.in/12-best-software-development-
methodologies-pros-cons/#12_Scrum_Development_Methodology [Accessed 4 Jan. 2018].
Clarity Ventures, 2012. Benefits of CSS3, Using CSS3, CSS3 Web Design. [Online]
Available at: https://www.clarity-ventures.com/articles/benefits-of-css3-using-css3-css3-web-
design-company-austin-clarity-ventures
[Accessed 30 November 2017].
Collins, J. (2018). How to Develop A More Agile Project Team. [online] Ims-web.com.
Available at: https://www.ims-web.com/blog/how-to-develop-a-more-agile-project-team
[Accessed 2 Jan. 2018]
Cox, P., 2011. Top 10 Reasons to Use HTML5 Right Now. [Online]
Available at: https://tympanus.net/codrops/2011/11/24/top-10-reasons-to-use-html5-right-
50
now/
[Accessed 30 November 2017]
Layton, M. and Ostermiller, S. (2017). Agile project management for dummies. Hoboken, N.J.:
John Wiley.
51
MITRE, 2010. System Design and Development. [Online]
Available at: https://www.mitre.org/publications/systems-engineering-guide/se-lifecycle-
building-blocks/system-design-and-development
[Accessed 28 Novemeber 2017]
Plan A Projects. (2018). Agile projects - Plan A Projects methodology and approach. [online]
Available at: https://planaprojects.com/en/agile-projects/ [Accessed 2 Jan. 2018].
Powell-Morse, A. (2018). Waterfall Model: What Is It and When Should You Use It?. [Online].
2018. Airbrake Blog. Available from: https://airbrake.io/blog/sdlc/waterfall-model. [Accessed:
8 January 2018].
Scott Millett., Jerrel Blankenship. and Matthew Bussa. (2011). Pro Agile .NET Development
with Scrum. Apress.
Unhelkar, B. (2016). The Art of Agile Practice. Boca Raton: CRC Press, p.36.
Whitten, J., Bentley, L. and Dittman, K. (2004). Systems analysis and design methods. Boston:
McGraw-Hill. Available at
http://opac.vimaru.edu.vn/edata/EBook/Systems_Anaylysis_Dessign-Methods.pdf [Accessed
1 December 2018]
52