You are on page 1of 56

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/331177608

System Development Methodologies (SDM) - Assignment

Research · February 2017


DOI: 10.13140/RG.2.2.35333.19685

CITATIONS READS

0 1,654

1 author:

Abdurraouf Fathi Sawehli


Asia Pacific University of Technology and Innovation
21 PUBLICATIONS   0 CITATIONS   

SEE PROFILE

All content following this page was uploaded by Abdurraouf Fathi Sawehli on 18 February 2019.

The user has requested enhancement of the downloaded file.


Module Code : CT046-3-2 SDM – SYSTEM DEVELOPMENT METHODS

Title : JOBSEEK ONLINE RECRUITMENT SYSTEM

Intake Code : UC2F1708CS

Lecturer Name : MR. KESAVA PILLAI A/L RAJADORAI @ RAJOO

Hand in Date : 8th JANUARY 2018

Hand Out Date : 12th SEPTEMBER 2017

Student Name Student ID

PREM A/L ARUMUGAM TP038895

VASANDEN A/L JAYAKUMAR TP043932

VANESSA KHOO HAN XIN TP038559

ABDURRAOUF FATHI ALI TP042816


Table of Contents
1.0 Project Planning ................................................................................................................... 1
1.1 Introduction ...................................................................................................................... 1
1.2 Scope, Aim and Objectives .............................................................................................. 2
2.0 Agile Principles and IS Methodologies ............................................................................... 3
2.1 Agile Principles ................................................................................................................ 3
2.2 Methodologies – Compare and Contrast .......................................................................... 5
3.0 System Analysis ................................................................................................................... 7
4.0 System Design.................................................................................................................... 16
4.1 The Conceptual Design .................................................................................................. 16
4.2 Use Case Diagram .......................................................................................................... 17
4.3 Story Board .................................................................................................................... 18
4.4 The Logical Design ........................................................................................................ 18
4.5 Activity Diagram............................................................................................................ 18
4.6 Data Flow Diagram (DFD) ............................................................................................ 19
4.7 The Physical Design....................................................................................................... 19
4.8 Prototype ........................................................................................................................ 19
5.0 Implementation and Deployment .................................................................................. 24
5.1 Construction ................................................................................................................... 24
5.2 Testing ............................................................................................................................ 26
5.3 System Deployment ....................................................................................................... 28
6.0 Individual Component........................................................................................................ 30
6.1 Rational Unified Process (RUP) – PREM A/L ARUMUGAM ..................................... 30
6.2 SCRUM - VASANDEN A/L JAYAKUMAR ............................................................... 32
6.3 Waterfall Model - VANESSA KHOO HAN XIN ........................................................ 38
6.4 Extreme Programming (XP) - ABDURRAOUF FATHI ALI ....................................... 42
7.0 Work Breakdown Structure for Group Components ......................................................... 48
8.0 References .......................................................................................................................... 49
1.0 Project Planning
1.1 Introduction

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.

2. To reduce the unemployment rate of fresh graduates in Malaysia by introducing ‘Zero


Unemployment’.

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:

1. Holding up task updates and conducting brainstorming session daily


Most of the modern project management team includes dashboard status updated.
However, members of this JobSeek development team can become more agile by
adapting the learning culture on what other team members are doing to improve and
enhance the needs of the project. For an instance, a quick 5-minutes of meeting can help
the project management team to sort out the problem faced by them during the
completion of the project. They also can identify what are the needs that can be
accomplished by today, and what are the possible improvement can be done to speed
up the development process or what could be the challenges that will be face by the
team in their upcoming journey of development. As a result, the project management
team will gain some sense of ownership and courageous in developing the project.
2. Priority for customer satisfaction
Project management team should give the highest priority in providing satisfactory
services to the customer through early and continuous delivery of the system. The time
that spell between the requirements stimulation and demonstration of the output will be
shortened, thus it leads to rapid customer feedback. This principle shifts the focus of
the project team from planning one by one to make changes in development. When this
principle is applied at certain organizational level, the project team will gain more
encouragement in building their own actions and outputs to check whether they add

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:

Models Waterfall Rational Spiral Extreme SCRUM


Model Unified Process Model Programming Model
Criteria (RUP) Model (XP) Model

Type Structured Agile Method Agile Agile Method Agile Method


Method Method

Cost Fixed Fixed Depends Not Fixed Depends on


on Changes
Changes

Size of projects Small Small Large Any Small

Risks High High Low Low High

Flexibility Not Flexible Flexible Flexible Flexible Flexible

Types of Projects Any Software Any large- Software Software


Development scale Development Development
projects

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)

Completion Date Determined Determined at Partially Determined at Determined at


at planning planning stage Variable planning stage planning stage
Stage (fast as possible)

Probability of Low Medium High High High


Success

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.

Data Gathering Methods

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.

Comparison of different data gathering methods

Interview Questionnaire Observation

Speed Slow Fast Moderate

Cost High Low Moderate

Response rate High Low to moderate None

Possibility of High None Low to Moderate


interviewer bias

Length of Long Short None


questionnaire

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.

Diagram 2: Stages of data mining (SearchSqlServer, 2018)

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.

Diagram 3: Example of Bar Chart (SkillsYouNeed, 2018)

Diagram 4: Example of line chart (SkillsYouNeed, 2018)

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.

Steps in conducting an Interview

An interview is conducted by JobSeek Company to collect information such as the functional


and non-functional requirements of the Online Job Recruitment System from targeted users
before the development stage. In order to make sure that the interview is conducted smoothly,
there are five basic steps to be followed, which are:

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.

Step 2: Designing interview questions

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.

Step 3: Preparation of the interview

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.

Step 4: Conducting of the interview

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.

Step 5: Post interview follow up

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.

Sample of interview questions

Below are the sample interview questions that had been asked during the interview.

Who JobSeek Staffs

Where JobSeek Company

When 20th December 2017

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.

5. Database. So that the details of employers and applicants can be stored


in an organized way.

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

1. The system should allow admin to perform maintenance of information.


14
2. The system must not allow admin to change personal information of the applicant or
employer.

3. The system should allow managers to print relevant report.

4. The system should allow employers to advertise vacancies in their companies.

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.

Non- functional Requirements

1. The system should have a search function for applicants to search for desire jobs.

2. The system should be secured from being hacked.

3. The system should provide initial help for the new users of the system.

4. The system should be available in 2 languages.

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).

4.1 The Conceptual Design


The conceptual design process is one of the most significant and confusing process during the
system development. It is the first step in designing our project as it is used to illustrate and
demonstrate the functions and purposes of the new system. It characterizes all processes and
procedures that are involved and its interface for the users. It is basically an abstract of the new
system till the full design is achieved. (Masur and Salustri, 2011). It sometimes called the
problem exploration step as it is used to understand the system design based on the
requirements and its problems that need to be solved to generate some initial solutions. To add
on that, all aspects that have been made in this step can determine the overall discretion of the
project development process and poor or unrealistic choices can lead to dissatisfaction of the
project owner. The method that is used in our project to employ the conceptual design are:

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.

4.4 The Logical Design


The logical design process is the conversion of the business requirements into a system model
that shows only the business requirements. it is the second phase in the system design. It is a
graphical representation of the system by showing its processes and procedures and the date
flow, inputs and outputs of the new system. It is the opposite of the physical design concept
which will be discussed later as the logical design deals with the business requirements without
any technical aspects involved. Suffice it to say, the logical design documents the business
requirements using some models that demonstrates the structures of the data, business process
and data flows. The method that used in our project to employ the conceptual design are:

4.5 Activity Diagram


Activity diagram is a model business workflow that describes how the project’s activities are
matched together to achieve the services. (Felici, 2009). It is a type of UML diagrams and
contains of activities, states and transitions between activities and states to show how these
activities rely on each other. Moreover, Activity diagram helps users of the system to get a
comprehensive understanding of it, so they can accomplish their system with less error and
problems. It is used in our project to present a sequence of actions or flow of control of the
system.

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.7 The Physical Design


Physical design is the conversion of system business requirements into a system model that
represents the technical implementation of the business requirements. It is also known as the
technical design and the antonym of physical design is logical design which discussed earlier.
The physical design is the last phase in the system design and it shows the graphical
representation of the system by demonstrating the internal and external aspects and all the data
flow and they are based on the actual data of the system as they will guide in the system
constructions. Physical design discusses more details on how the new system will be working
more than what the system is to ensure the quality and reliability of the system as it focuses on
the technical implementation of the system.

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:

1.The Home Page of JobSeek website:

20
2.The registration form of the jobseeker:

3.The registration form of employee:

21
4. Apply for Job opportunity:

4. Post a job by the employer

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.

Git Version Controller

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.

1. Big Bang Integration Testing


All components and modules are combined and tested in one go. This is convenient for
smaller systems where all modules are finished before the testing but this will cause
problems for bigger systems where the cause of the problem is hard to trace.
2. Top-Down Integration Testing
Testing takes place from top to bottom following the architectural structure. This test is
good because it replicates how the system will be used in the real world.
3. Bottom-Up Integration Testing
Testing is done contrary to the architectural structure but only can be done once the
prototype is done.

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.

Direct Changeover Parallel Changeover Pilot Changeover Phased Changeover

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.

Cost Low High Low Low

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.

Figure 6: RUP Methodology (IBM,2017)

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.

6.2.1 Scrum Framework

Scrum is a feedback-driven framework for product development that incorporates iterative


design, incremental development, self-organizing teams and continuous improvement.
(Morris, 2017)

Figure 6.2.1 : The Scrum Framework (adapted from


https://www.scrum.as/academy)

The Scrum Team

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

There are five events centrals to the Scrum framework:

• 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

There are three core artefacts under this framework:

• Product backlog where it prioritizes the breakdown of the work


required to build a desired product. (Morris, 2017)
• Sprint Backlog is a sub-set of items from the Product Backlog that the
project team agrees to complete in a single Sprint, with Tasks. (Morris,
2017)
• Product Increment is where the product features completed within a
Sprint and built it on top of the product features which is already
released. (Morris, 2017)
33
Scrum Values

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:

• Courage: Team members should use the best suitable frameworks,


tools and integrations.
• Focus: Everyone focuses on the work of the Sprint and the goals of the
Scrum Team.
• Commitment: Team members should commit to achieving the goals
within the deadline.
• Respect: Team members should respect each other and to be capable,
independent people.
• Openness: The team members and the stakeholders should be open
about the progress, work, and challenges with performing the work.

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:

• Scrum methodology enables project’s where the business


requirements documentation is hard to quantify to be successfully
developed. (Belatrix Software Development Blog, 2018)
• It is a fast moving and cutting-edge development series that can be
quickly done in terms of codding and will be tested using this
method, as a mistake can be easily clarified. (Belatrix Software
Development Blog, 2018)
• It is a lightly controlled method which insists more frequent updates
on the progress in work through conducting a regular meeting.
Thus, there will be a clear vision towards the project development.
(Belatrix Software Development Blog, 2018)
• Like any other agile methodology, this is also an iterative in nature.
It requires a continuous feedback from the end users. (Belatrix
Software Development Blog, 2018)

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

1 REQUIREMENT ANALYSIS 29/11/2017 1/12/2017 3d

2 Customer Requirements 29/11/2017 30/11/2017 2d

3 Define Scope 1/12/2017 1/12/2017 1d


Search Engine Optimization(SEO)
4 1/12/2017 1/12/2017 1d
Strategy
5 Keyword List for SEO 1/12/2017 1/12/2017 1d

7 SPECIFICATION PHASE 6/12/2017 12/12/2017 5d

8 Define Site Map 6/12/2017 7/12/2017 2d

9 Define Page Content 6/12/2017 8/12/2017 3d

10 Define Page Layout 11/12/2017 12/12/2017 2d

11 Define Graphics List 12/12/2017 12/12/2017 1d

12

13 WEB DESIGN PHASE 13/12/2017 15/12/2017 3d

14 Develop Mockup Site 13/12/2017 14/12/2017 2d


Getting Approval For
15 15/12/2017 15/12/2017 1d
Development
16

17 DEVELOPMENT PHASE 18/12/2017 29/12/2017 10d

18 Prototype I 18/12/2017 21/12/2017 4d

19 Validation and Testing 22/12/2017 22/12/2017 1d

20 Performance Improvement 29/11/2017 29/11/2017 1d

21 Database Configuration 18/12/2017 19/12/2017 2d

22 Prototype II 25/12/2017 28/12/2017 4d

23 Validation and Testing 29/12/2017 29/12/2017 1d

24 Performance Improvement 29/12/2017 29/12/2017 1d

25

26 QUALITY ASSURANCE 1/1/2018 5/1/2018 5d

27 Usability Testing 1/1/2018 1/1/2018 1d

28 Write a QA test 1/1/2018 1/1/2018 1d

29 Create QA Test Solution 1/1/2018 1/1/2018 1d

30 QA Validation Testing 4/1/2018 5/1/2018 2d

31

32 DEPLOYMENT 8/1/2018 16/1/2018 7d

33 Setup Production 8/1/2018 8/1/2018 1d

34 Test and Tune the Performances 9/1/2018 10/1/2018 2d

35 Run Beta Version Test 11/1/2018 15/1/2018 3d


37
36 Release the Website 15/1/2018 16/1/2018 2d
6.3 Waterfall Model - VANESSA KHOO HAN XIN
The Waterfall Model was the first Process Model that has been introduced in order to endure
the success of software development project. This model is almost similar to the System
Development Life Cycle (SDLC) and can be used for almost all type of projects. The Waterfall
Model can be also known as linear-sequential life cycle model. In this model, each phase must
be completed before the next phase can begin and overlapping of phases is not allow. There
are 6 phases in this model which are requirement analysis, system design, implementation,
testing, deployment and maintenance. The diagram below shows the structure of the Waterfall
Model. Further explanation of each phases will be done below.

Diagram 5: Waterfall Model (Tutorialspoint, 2018)

Phase 1: Requirement Analysis

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.

Phase 2: System Design

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)

eXtreme Programming Variables:

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 Values:

Extreme Programming (XP) is based on five values which are defined as guidelines
while developing any software (Dudziak, 2000).

1. Communication:

it is the first value in XP methodology as communication between customers and


developers is an essential role to accomplish a successful project. Many issues are
happening during projects due to lack of communication either from customers or
developers and both of them should ask clear and right questions and avoid ignoring
any vital requirements that are critical, moreover, all people who are involved in the
project should be informed about any changes. Team members, stakeholders and
customers should have continued communication among each other and a coach is
employed to remark when they do not communicate regularly and try to encourage
them to do so as most of XP practices are relayed on the value of communication. XP
attempts to keep communication flow in different ways and face to face communication
is the most preferred way.

2. Simplicity:

XP makes great efforts to obtain simple systems and methodology as it attempts to


cope with changes and risks. This value basically means “Do The Simplest Thing That
Could Possibly Work”. XP is following this approach which believes on it is smart to
implement a straightforward thing today and pay a little more tomorrow to change it
rather than implementing a complex thing today that might not be used at all. XP is
considered in what is required and asked to do and no other side things and apply them
in small simple steps and can be marinated for a long time with reasonable cost. Finally,

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:

Feedback is a priceless value in XP methodology to deliver an efficient and reliable


running system and to provide correct current states of the system. Changes can be done
smoothly if the system is delivered early to customers, so any feedback or drawback is
taken. Feedback in XP methodology is a driven process which means it is required at
all scales for all people who are involved in the project. Therefore, if there are any
issues in the system, the correction of them is easy as they are small changes. Feedback
ensures that the project is on the right progress, thus, the developers become confident
while doing it and the unit tests will inform them about any feedbacks. Feedback is a
significant value as it is the base for affecting the system work flow.

4. Courage:

Courage is an unclear value in XP methodology as it includes also a certain amount


of aggressiveness. It is extremely required as some rules are in contradiction of the
tradition software developers as well as the customer is much more involved in the
project. Moreover, aggressiveness is the behavior to the execution of the system.
Courage is needed so that feedbacks are accepted and the communication among
developers and customer continues. As the majority of the work is achieved in a team,
courage really helps in focusing on what it requested only and adapt to changes when
they occur, furthermore, it states the reality about the project progress and estimates.

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)

1. The Planning Game:

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

Members Prem A/L Vasanden A/L Abdurraouf Vanessa


Tasks Arumugam Jayakumar Fathi Ali Khoo Han
(TP042816) (TP043932) (TP042816) Xin
(TP038559)
1. Project Planning
1.1. Introduction • • • •
1.2. Scope, Aims and • • • •
Objectives
2. Agile Principles and
IS Methodologies
2.1. Agile Principles •
2.2. Comparison •
Between
Different
Methodologies
3. System analysis
3.1. Data Collection •
and Compilation
for Analysis
3.2. Data Analysis •
Process
3.3. Conclusion •
4. System Design
4.1. UML Diagram •
5. Implementation and
Deployment
5.1. Construction •
5.2. Testing •
5.3. System •
Deployment
Signature of Members:

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). SDLC Waterfall Model. [Online]. 2018. www.tutorialspoint.com. Available


from: https://www.tutorialspoint.com/sdlc/sdlc_waterfall_model.htm. [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].

Anon., n.d. Software Testing Help. [Online]


Available at: http://www.softwaretestinghelp.com/what-is-sdlc-waterfall-model/
[Accessed 30 November 2017].

Available at https://arxiv.org/ftp/arxiv/papers/1409/1409.6604.pdf [Accessed 8 November


2017]

Available at: https://www.agilealliance.org/agile101/ [Accessed 29 12 2017].

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]

Designprinciplesftw.com. (2018). Ten Principles of Simplicity | Design Principles FTW.


[online] Available at: http://www.designprinciplesftw.com/collections/ten-principles-of-
simplicity [Accessed 2 Jan. 2018].

Dudziak, T. (2000). eXtreme Programming An Overview. Methoden und Werkzeuge der


Softwareproduktion WS 1999/2000.Availableat
http://csis.pace.edu/~marchese/CS616/Agile/XP/XP_Overview.pdf [Accessed 8 Novameber
2017]

Felici, M. (2009). Activity Diagrams. 1st ed. Available at


http://www.inf.ed.ac.uk/teaching/courses/seoc/2009_2010/notes/10_notes.pdf [Accessed 1
December 2018]

Help.indigodesigned.com. (2018). Storyboards Overview & Key Concepts. [online] Available


at: http://help.indigodesigned.com/designing-with-storyboards/storyboards-overview-and-
key-concepts [Accessed 2 Jan. 2018].

HRzone, 2017. What does system changeover mean? [Online]


Available at: https://www.hrzone.com/hr-glossary/what-does-system-changeover-mean
[Accessed 28 November 2017].

IGCSEice, 2017. Implementing the new system. [Online]


Available at: https://www.igcseict.info/theory/8/implem/index.html
[Accessed 28 November 2017].

Jones, C. (2017). Software methodologies. Auerbach Publications.

Layton, M. (2015). Scrum For Dummies. Wiley.

Layton, M. and Ostermiller, S. (2017). Agile project management for dummies. Hoboken, N.J.:
John Wiley.

Masur, A. and Salustri, F. (2011). IDEA: AN INTEGRATED METHOD OF DECISION


MAKING IN CONCEPTUAL DESIGN. Proceedings of the Canadian Engineering Education
Association. Available at http://deseng.ryerson.ca/~fil/I/Papers/cden06idea.pdf [Accessed 1
December 2018]

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]

Morris, D. (2017). Scrum. Easy Steps Limited.

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].

Rumpe, B. and Scholz, P. (2003). Scaling The Management Of Extreme Programming


Projects.

Scott Millett., Jerrel Blankenship. and Matthew Bussa. (2011). Pro Agile .NET Development
with Scrum. Apress.

SmallBusiness, 2017. Changeover techniques. [Online]


Available at: smallbusiness.chron.com/changeover-techniques-34890.html
[Accessed 28 November 2017].

Software Testing Fundamentals, 2017. Acceptance Testing. [Online]


Available at: http://softwaretestingfundamentals.com/acceptance-testing/
[Accessed 27 November 2017].

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

View publication stats

You might also like