You are on page 1of 13

Re-Engineering IRBM Self-Assessment Legacy System into

Web-Based System Using Agile Development Process


Nurul Asyikin Norham Prof. Ts. Dr. Hajah Anitawati Mohd Lokman Dr Rozianawaty Osman
Faculty of Computer and Mathematical Sciences, Universiti Teknologi MARA, 40450 Shah Alam, Selangor, Malaysia
ekinorham@gmail.com anita.uitm@gmail.com roziana@tmsk.uitm.edu.my

Abstract— Agile development process are widely in use in most project. It is an adaptive approach to take care of the
dynamic development environments. This research decide using agile development process in re-engineering legacy
system into web-based systems. Legacy system that use waterfall methods were lacking this adaptability and readiness
towards the rapid change in requirements. Legacy have disadvantage such as lack of up-to-date documentation,
skilled man power, resources of legacy applications, difficult to integrate with other application and high maintenance
costs. The objectives of this research is to identify the requirement specifications, to design the IRBM Web-based Self-
Assessment System based on the requirement specification and to develop Web-based IRBM Self-Assessment System
using Agile Development Process. It is necessary to analysing the current legacy system for better understanding the
business logic and its functionalities. This is part of IRBM’s initiatives to bring the best capabilities of IRBM tax
activities. Thematic analysis was used to analyse data collected from interview. In conclusion, Evolutionary
Development Approach is implemented as it is the combination of re-engineering and agile development process
method. Regardless, future work also could continue to explore the suitable framework to re-engineer legacy system
as to fulfil efficiency of Self-Assessment System and improves system performance.

Keywords— Agile, Re-Engineering, Legacy System, Evolutionary Development Approach, Performance

I. INTRODUCTION
Nowadays, software system development has become a core practice in the software industry. The legacy systems
have been one of the company technologies deployed in most of the enterprise over the past two decades. The legacy
systems have been built based on technology such as mainframes, SAP etc. that continue to provide a company with core
services [1]. The software entropy law states that most legacy systems continue to be slowly reduced in quality over time,
unless there are preserves [2].
Legacy system is a computerized system or system software that has been built on outdated technology ever since.
Thus according to McDavitt, Jug and Vanderburg [3] the legacy system remains used because of the costs of replacing or
redesigning it, and also given its low performance, failure to meet evolving market needs and incompatibility with new
equivalents. Legacy systems also find it difficult to upgrade to the new technologies [4]. The assumption is that the
structure is massive, monolithic, and hard to modify, implement, and maintain. According to Wilson [5], Legacy Systems
needs to migrate into web-based systems because web-based systems allow for easier integration with other systems to
run the business more efficiently and effectively. Hence, new functionality can be integrated with the web-based.
Therefore, reengineering into web-based capable of handling these integrations in an exceedingly manner that does not
disrupt the current process. In addition, by migrating legacy systems to web-based systems, the performance and
efficiency of the current system can be improved. This will help to load a heavy report in future use.
Re-engineering the current legacy system can save time and optimize the business processes. In addition, there is no
need to hire and training new staff to sustain the existing systems. Thus can save the money. This is because, the current
legacy system is re-engineering with the new technologies used is easier to be learn with low code development
platforms. Since, the low code development platforms has drag and drop abilities. Re-engineering the legacy system into
web-based provides the latest and well-established UX experience and meet specific guidelines for user behaviour. It is
simple and easy to use. In addition, there is a reason to migrate to the web-based because of increased data security [6].
Therefore, no security treatments against the latest malware. Inspired by the use of Agile Development Process and its
suitability to reengineer legacy system, this project attempts to re-engineer Self-Assessment System in a The Inland
Revenue Board of Malaysia (IRBM), which is a legacy system, into a web-based system.

II. LITERATURE REVIEW


A. What is Legacy System?
Ali, Hussain, Ashraf, & Paracha, [7] noted that the Legacy System is described as a software system that was
implemented many years ago using old technology, rules and methods, but these systems are still part of our business. In
other words, Legacy Systems known as obsolete and relates to outdated hardware and software. According to Seacord,
Plakosh, & Lewis [8], the system is becoming legacy systems as they begin to resist change and evolution. Nowadays,
many companies still run Legacy Systems and find it difficult to upgrade and maintain these types of applications.
Neumann [9] said that a legacy program typically operates on mainframe computers and reflects several million
dollars and an investment of many decades. These structures are typically not responsive to change and by storing a lot of
essential corporate data have become deeply embedded in the nature of the company itself. The authors also described
that incorporating, utilizing, and integrating existing systems with new technology is a growing challenge for many
American businesses. As of now, corporate re-engineering has become increasingly necessary for many businesses,

Page | 1
hence Re-Engineering Legacy System into Web-Based is needed to move to a more robust and updated computing
environment.
Based on the definition from these researchers, Legacy System can be inferred as a computer-based software that is
still in operation but no longer receives support from vendors and does not meet Enterprise Architecture for statistical
output [3]. The legacy system that need to re-engineer in this research is Self-Assessment System. The reasons for re-
engineer Self-Assessment System are primarily to improve the tax collection mechanism and to increase the
effectiveness of the system. Thus, in order to bring this system into a more functional tax process compared to the current
system, the principles of operation must be developed and applied based on the current new technology so that the Self-
Assessment System can be run effectively. Therefore in this project, potential ways for enabling legacy systems into
web-based is by migration as to transfer Self-Assessment System to a new platform using Agile Development Process.

B. Current Legacy System (Self-Assessment System)


The Self-Assessment System was implemented in 2001 [10]. Under this program, companies are expected to require
to furnish estimate of tax, make instalment payment, determine tax payable and file Return Form C Advisory Board
(IRBM). Self-Assessment System is a system to make it easier for the IRBM to collect taxes by giving responsibility to
the taxpayers themselves for tax compliance [11]. The Self-Assessment System is an approach to ensure that taxpayers
comply with the law by reporting taxable income, calculating taxes and submitting tax forms as prescribed. Cornell [12]
defines "Self-Assessment" as "Make Your Own" where taxpayers need to understand, interpret and apply tax legislation
based on their individual circumstances.
The aim of Self-Assessment System was to improve the compliance of taxpayers with statutory tax obligations and to
increase the efficiency of the process of collecting tax revenue. Since the move, the IRBM has been able to devote more
of its resources to improve collection activities and, at the same time, perform tax audits to implement and strengthen
Self-Assessment System enforcement. The purpose of Self-Assessment System is to educate taxpayers and make them
aware of their tax responsibilities [11]. In Self-Assessment System, the taxpayers do not need to send these documents of
income from employment, dividend vouchers and other receipts as evidence of deductions, but they need to retain it as
proof. In addition, the tax authority in the Self-Assessment System relies heavily on the honesty of taxpayers as they
complete the tax return.
There are challenges in current legacy system. For the current process, there is no flexibility and capabilities for
concept matching. Most generally, the search function is the first step in the search for taxpayer’s details. However,
because of lack of this search function, the result will only display exactly based on the keyword inserted. Furthermore,
in current process, there are multiple screen for different payment receipt. Then, user need to prepare stoppage order in
different module for different execution of payment receipt. This will make the process longer to prepare the receipt.
Besides that, there is no integration with Enterprise Taxpayer (ETP) to get the taxpayer details. There will be a mismatch
of data and human error since need to key in manually by officer. In addition, in Self-Assessment System, there is no
audit trail to keep track of each transaction taken. Therefore, difficult to keep in track the transactions systematically.

C. Re-Engineering Legacy System


In the rapid growth of modern technologies, systems built using older technologies and languages have become
obsolete and need replacement. Therefore, re-engineering is often a better choice [13]. The migration of the application
described by Ampatzoglou [13] is a way to move the software from one execution platform to another. The need for the
future of the software industry is to migrate legacy systems to web applications by re-engineering the current legacy
systems. Abbas, Jeberson & Klinsega [14] said that re-engineering is a study of transformation the existing software
systems into a new form. The objective of redesigning the system is to improve system efficiency and system
performance.
Technology therefore needs to adapt to a new hardware architecture, operating system or language. Re-engineering is
not intended to improve functionality, but can be seen as an opportunity to add features to legacy systems. Although the
reasons for the re-engineering of the system may vary, the underlying technological problems are usually quite similar.
Conceptually, re-engineering focuses on understanding the existing system, planning the methodology of re-engineering,
developing and testing the new system, deploying the new system and training users in the new system. According to
Mala H [15], re-engineering is a systematic transformation of the existing system into a new form to improve service
quality, system design, functionality, efficiency or evolution at a reduced cost, schedule or risk to the user. As Legacy
Systems is re-engineering, existing workers' experience can be retained and improved during re-engineering to
incorporate new skills. This can lead to the effective use of existing workers as the language use is not outdated as per
Legacy Systems.
In this research, re-engineering method is chosen to re-engineer legacy system into web-based system. Re-engineering
is a software development process that is performed to enhance a software system's maintainability. Re-engineering is the
analysis and improvement of a system that will reconstitute it in a new way. Re-engineering is a series of activities
undertaken to re-engineer a legacy system to a new system with improved functionalities and comply with the quality
constraint of the hardware and software.

D. Agile Development Process


A relatively recent approach to software development is the Agile Software Development Process. A lot of tech firms
are writing about the agile and its paramount importance to software development. As a result, the agile method has been

Page | 2
implemented as a popular method in the software development community. The process of development becomes easier
and simpler with agility. Most experts believe that agile takes easy steps and is much simpler than traditional methods
[16]. According to Kumar & Bhatia [17], Agile has applied an iterative approach to software development in which the
software has been progressively developed from the start of the project, rather than fully developed at the end. Iterations
generally not longer than 4-6 weeks [18] [19].
Agile methodologies have a number of advantages, since they have been widely accepted by most organizations. Agile
adoption offers optimum time and cost constraints. In addition, there is no need for specifics, as not all of the
specifications need to be finalized in order to start the development process. Development and testing can then begin
early as the initial high-level requirements exist. The agile approach gives the user an early insight into how the end
product could look and feel. It allows them to finalize the needs of the user. Before implement all the features requires in
the system, therefore user may use and test the features in the prototype environment.
The advantages of agile project management include reduced costs, increased efficiency, and improved quality and
enhanced business satisfaction [20]. As per summarized by Chakravorty, Chakraborty, and Jigeesh [21], the benefits of
agile project management include prioritizing customer-specific features, early customer interaction, incremental and
iterative sprints, and agile development processes with less documentation and complexity management.
One of the improvements that agile project management strategies provide is the division of a large potentially
impossible task into small workable tasks, enabling the team to achieve additive performance. Misra, Kumar, and Kumar
[22] indicated that it is necessary for the success of the team to scale down the requirements and to divide them into
smaller tasks. With this, software development teams will introduce services that provide their customers with a
sufficient level of high functionality, offering minimally functioning solutions. The team is continuing to iterate through
smaller projects until the project hits its scale. Software teams consider that this approach is effective in reducing overall
development time [21].
Agile methods place greater focus on providing face-to - face contact between the customer and the project team to
ensure there is no space left for any kind of confusion in interpreting specifications and inputs. As the project is using the
agile framework the final product will be delivered to the user as soon as possible. It saves costs for both user and
developer, as less time is spent on resources. Since less time is spent on resources, therefore saves cost for both user and
developer.

E. Re-Engineering Legacy System Using Agile Development Process


The advantage of combining re-engineering and agile are can avoid from having to scrap the work that have been done.
This is because the system is well tested thoroughly. Once the feature has been recognized and meet the requirement then
able to leap into the newly prioritized feature right away. Besides that, the whole team can do the new requirements. This
can be devoted to the ones best prepared to use on the new feature. The team interacts regularly and adding more
engineers to a story is dynamic and not disruptive. Therefore, agile provides an alternative to re-engineering. Agile
expects to refactor the design and incorporate changing understanding as start develop the system, not after the fact. The
combination of this both method can be done with Evolutionary Development Approach.
Evolutionary Development Approach is a combination of iterative and incremental model of software development
life cycle [23]. The Evolutionary Development Approach splits the development process into smaller, incremental
waterfall models where at the end of each process users can get access to the system. Feedback on the system is received
by the users for the next cycle's planning stage and the development team reacts, often by improving the system, strategy
or process. So the result of the program evolves with time.
The key benefit is that the trust of the user increases as he continuously obtains quantifiable system to verify and
validate his requirements from the start of the project. The model allows for changing requirements as well as breaking
all work into maintainable pieces of work. It is used in large projects where incremental implementation modules can be
easily found. Evolutionary model is typically used when the user needs to start using the core functionality, rather than
waiting for the full version of the system. In evolutionary development approach, a user is given the opportunity to
experiment with partially developed system. It reduces the error, because the core modules are thoroughly checked.

III. METHODOLOGY
There are two key factors in the life cycle of software development, which are to emphasize the process and the other
is the quality of the software and the process itself. Agile software processes are an iterative and incremental
development, where specifications can be modified according to customer requirements. In this research, will discuss on
the agile process and its methodology. Agile method is an iterative approach in which customer satisfaction is at highest
priority because the customer is directly involved in the product evaluation.
The agile process follows the life cycle of software development, which includes requirements for gathering,
designing, coding, testing, delivering partially implemented software, and waiting for customer feedback. Customer
satisfaction is the highest priority in the entire process, with faster development time. The following Figure 1 below
shows the life cycle of the Agile Process involves in the software development process.

Page | 3
Fig. 1 Phases of Agile Process

Iteration phase take place during agile development process. Therefore, after delivery of partially incremented web-
based this project need to get feedback from IRBM Officer to check on the functionality and integration of the system
that have been done to be check first by the IRBM Officer. Then, the process will start from the beginning again to
continue to the next phase until system launch and live. Evaluation paths introduced by the iterative agile model are
shown in the Figure 2 below.

Fig. 2 Iterative Agile Model

The list of prioritized requirements is discussed with the development team, and they begin working on the first
requirement in the iteration. Increasing iteration takes about one to three weeks to complete. The requirement is analysed,
designed, developed, tested and presented to the user for their feedback during that time frame. In the next step, if the
user has no problems, they will continue to work on the second requirement, and the software will have incremental
builds. If the user has requested any improvements or suggestions, the first requirement is updated or enhanced when the
second requirement is take place. In addition, the user can add more requirements to the list if they wish to.
The second requirement is analysed, designed, developed, tested and presented to the user for their feedback during
the iteration two. The process continues until the final system has all the user requirements. The agile method is
incremental and iterative throughout the software development.
This research was carried out through an interview that is the first approach to collect data with a total number of five
staffs including Director (1), Module Leader (1), Users (1) and developers (3) at The Inland Revenue Board of Malaysia.
The interview questions are:
1. Who is the target audience for this project?
2. Do you practically document design decisions? How often do you practise it?
3. What are the main language or platform used for design the web-based?

Page | 4
4. What me through the design process. What steps do you take and how involved should your user expect to be?
5. What are the language use in current legacy systems?
6. Do you document system design in development?
7. Do you think design decision is important in agile development?
8. Do you practise or observe structure and architectures practised in agile development?
9. What milestone do you recommend for this project?
10. Why agile? What are the main business requirements or inadequacies of waterfall that are causing you to
consider agile?
11. Does the adoption of current methods (waterfall methods) face challenges?
12. What are the critical success factors in integrating agile and waterfall?
13. What are the reasons for adopting agile methods in this project?
14. It is important to have a web based system using agile development process to re-engineering current system

The second approach to collect data is by analyse the document. Document analysis is one of a type qualitative
research in which the previous document of current legacy system is reviewed to gather data about the requirement,
current process and design specifications for re-engineering development. The documentation are Software Requirement
System (SRS), User Requirement Study (URS) and User Manual Access (UMA) is reviewed. Software and hardware
system requirement, Use Case Diagram and Entity Relationship Diagram (ERD) is illustrated in analysis and findings.

IV. ANALYSIS AND FINDINGS


A. Requirement Gathering
In this project, the interview session was performed during the requirement planning phase to identify the current
problem as mentioned in methodology. The details of the interview questions are explained. Self-Assessment System is
important for user to declare their tax. Besides that, to register the payments received at the counters of the Kuala
Lumpur Payment Centre, Kuching Payment Centre and Kota Kinabalu Payment Centre. Failed to register the receipt well
can affect the tax performance. Through interview questions, current system is using mainframe. Therefore difficult to be
maintained by new staff and no enhancement can be applied as the mainframe has a limitation and incompatible to adapt
to new technology. Interviewee find hard to keep track the record since there is no proper database architecture.

B. Thematic Analysis Result


Braun & Clarke [24] provide six-phase guide that is a useful for conducting Thematic Analysis.
1) Step 1 (Become familiar with the data): Transcribing data, reading and re-reading and taking initial notes down
the questions and answer and generally looking through the data to get familiar with it is important to get a
thorough overview of all the data collected from the interview session before start analysing individual items. In
this research, eight times taken to read the transcription to get familiar with the data.

2) Step 2 (Generate initial codes): Next up, code the data. Coding means highlighting sections of text – usually
phrases or sentences – and coming up with shorthand labels or “codes” to describe their content. The data was
organized using Affinity Diagram Method and generated codes will help to break the information into sections to
get the meaning of the sentences.

3) Step 3 (Search for themes): Next, look through the codes that have created, recognize trends within them, and start
the themes. Themes are wider than codes, in general. Most of the time merge multiple codes into one single theme.
A theme is the capture of a pattern that gives meaning to something important or significant about the data that
may be relevant to research questions or objectives. Themes can be classified by word of meaning. The data can
overlap between the defined codes during step and the themes search step.

TABLE I
INITIAL THEMES USING AFFINITY DIAGRAM
1. Teams 2. Limitations 3. Technology Usage 4. Sustainability
IRBM Officer Using mainframes Important aspect of Prepared document
design is UX
Meet user demand GEN Studio used to Scrum method Updated on regular basis
developed and maintain the
system
Increase team productivity Inability to accommodate Agile is important Trace the progress easily
changes
Gantt Chart to keep Deadline are short
track project ongoing
Modern way Previous problem can be
eradicate
Agile success factors System can run well-organized

Page | 5
5. Efficiency 6. Value 7. Organizations
Fast delivery Design is important Organizations seek
efficiency
Develop software better, Design efforts
faster and cheaper

4) Step 4 (Review themes): In this steps, themes is reviewed, modified and preliminary theme are established during
this phase. It is useful to collect all the relevant data for each theme at this stage. Then, consideration is required
to see if the themes work for the whole collection of data. Table II shows the initial themes identified in Step 3.

TABLE II
INITIAL THEMES IDENTIFIED
1. Teams 2. Limitations 3. Technology Usage 4. Sustainability
5. Efficiency 6. Value 7. Organizations

5) Step 5 (Define themes): In step five the themes will be define based on the research. Defining themes typically
requires for each theme means, so can understand the data. The concepts have been formally named and can be
easily understood. In this steps, teams and organization is combine as it related to each other.

6) Step 6 (Write-up the report): The final step in the thematic analysis is to do the writing up. Accordingly, all steps
in thematic analysis were followed to identify the requirement specification to re-engineering legacy system into
web-based system using agile development process.

C. Requirement Analysis
A web based application is any application software that runs in a web browser and is created in a browser-supported
programming language (such as the combination of JavaScript, Hypertext Markup Language (HTML) and Cascading
Style Sheets (CSS)). HTML is the communication standard used by the World Wide Web and a protocol that enables a
web browser to retrieve text, graphics, sound and other information from a web server. CSS is a style sheet language
used for describing the look and formatting of a document written in mark-up language. OutSystem platform is chosen as
a platform since the platform use low code and with no limits. With OutSystems, the applications can easily be expanded
with your own custom code. And, since OutSystems is an open source, standard-based framework with no lock-in, no
proprietary data models or proprietary runtime, you can rely on worry-free, future-proof implementations. OutSystems
was selected because it supports all essential databases like Oracle. OutSystems has multiple security layers for
preventing threats and malicious attacks. It has a readable with easy syntax. OutSystems can be used to build a website of
any kind with a lot of traffic and is easy to deploy.

1) Hardware and Software System Requirement

TABLE III
HARDWARE REQUIREMENT FOR RE-ENGINEERING LEGACY SYSTEM
Hardware Requirement for Re-Engineering Legacy System
Features Software Requirement
Device Dual-core processor
RAM 4GB of RAM
Memory 80GB of free disk

TABLE IV
SOFTWARE REQUIREMENT FOR RE-ENGINEERING LEGACY SYSTEM
Software Requirement for Re-Engineering Legacy System
Features Software Requirement
Operating System Microsoft Windows Server 2019
(Standard Edition or higher)
Application Server Microsoft Internet Information Services
(IIS) 10.0 or higher
Database Oracle 19c
FTP Host File FTP Plugin
Client Side Platform Chrome/ Firefox/ Internet Explorer

2) Use Case Diagram


Figure 3 is the use case diagram for the Receipt Module. Reception Module users need to 'Open counter' first
before performing the payment receipt process. If the counter has not opened the Payment Receipt screen will be

Page | 6
disabled. At noon the counter can be temporarily closed or closed permanently in the evening so that the money or
instruments received can be deposited in the bank.

Fig. 3 Use Case Diagram

TABLE V
USE CASE DIAGRAM DESCRIPTION
Use Case Diagram Description
Use Case Description
View Open Counter The system should display the Open Counter screen
Search Taxpayer The system should display the Taxpayer Search option
View Payment Receipt The system should display the Payment Receipt screen
Insert Payment Receipt The system able to add the detail in the Payment Receipt screen
based on types of payment
Update Payment Receipt The system able to update the detail in the Payment Receipt screen
Delete Payment Receipt The system able to delete the detail in the Payment Receipt screen
View Data Bank Processing The system should display the Data Bank Processing screen
Upload Text File The system able to upload text file in the Data Bank Processing
screen
View Taxpayer Information The system should display the Taxpayer Information after the
Taxpayer Search function requirements are implemented
Print Payment Receipt The system able to print the Payment Receipt
Generate Payment Receipt The system able to generate the Payment Receipt
View Cancel Receipt The system should display the Cancel Receipt screen
Update Cancel Receipt The system able to update the Cancel Receipt
View Non-Applicable Instrument The system should display the Non-Applicable Instrument screen
Update Non-Applicable Instrument The system should be able to update the Non-Applicable Instrument
Print Letter Non-Applicable Instrument The system able to print the Non-Applicable Instrument

3) Entity Relationship Diagram (ERD)


Entity Relationship Diagram is shown in Figure 4 below. The ERD illustrates the entities involved and the
relationship between the entities. The ERD also describes the database and its tables as logical design. This logical
design will be driven as a database during development.

Page | 7
Fig. 4 Entity Relationship Diagram (ERD)

4) Overall Process Flow


Figure 5 below shows the overall process flow of Self-Assessment System. Diagram below that illustrates the
whole system process flow. It also define the scope and boundary between the system and external entities of the
system.
RESITAN OVERVIEW
TAXPAYER COUNTER SYSTEM Module HiTS Integration

Start

Submit Lejar
Payment No. Bil
Majikan Gagal
Remit
ePCB/eDataPCB/ NO User Receipt
HiTS

PCB e-Lejer
eCP39/ByrHasil/ Payment Akruan e-PCB
eWHT/eCKHT
APD Resit e-Data PCB
APD PCB e-CP39
YES Pindah Kredit
Bayaran Balik
Guaman Sivil
FPX? YES

NO

Create MyTax
Online User Verify Receipt &
Banking / Posting
Counter
Taxpayer
API
Bank / POS / Others

Validation

Payment
information View / Print
(receipt/ Receipt
cancellation)

Update
Cancelation PNMB
receipt status

Fig. 5 Overall Process Flow

Page | 8
D. Result Analysis
Table VI below elaborated the highlighted summaries of transformation from the previous legacy system to web-based
system.

TABLE VI
FEATURES OR FUNCTION TO RE-ENGINEER
Features or Function to Re-Engineer
Description As Is To Be
Search Normal search which only display Implementation of Full Text Search where:
exactly what word has been inserted to Search function provided has a flexibility and
be searched. capabilities as follows:

 Concept matching
 A conceptual understanding of content and ranks
search results by relevance to the user’s query.
 Auto recommend
 With a knowledge base implementation where
system will automatically propose the search
results based on its conceptual understanding of
inserted criteria/ word
Backend Process Manual process for Telegraphic Auto scheduler load from bank statement and post to
Transfer database
Payment Receipt Manual data entry upon receipt for Able to upload textfile format for multiple payment
multiple payment receipt receipt
Use two different  Same record for Instrument Only need to insert in one system for easier
system uploaded into two different system monitoring on Instrument status
(SMART and Sistem Pengurusan
Instrumen)
 No integration on Instrument
status
Status of Approval No listing to view the status of Listing of Approval in the dashboard with the notify
Approval the count of status of Approval
Capability of  List case based on branch only for  List case based on branch only for all status case
Reports listing based status case Menunggu Sokongan, Menunggu Sokongan, Menunggu Kelulusan,
on branches Menunggu Kelulusan and Semak Semak Semula, Lulus and Batal Penyediaan
Semula.  List can be download into excel/ pdf format
 Display list.
Enable online Manual submission to get approver Online submission to get approver from Director of
submission from Director of State State from Self-Assessment System
Audit Trail No audit trail to keep track each System will keep track and record all transaction
transaction taken made from end to end
Integration  No integration to MyTax  Integration to MyTax on Letter
 No integration with ETP  Integration on Maklumat Butiran Harta upon
preparation of submission of Pelepasan
Sementara

E. Testing
The description of functions and feature that will be implemented in the project have been explained in Table VI. In
this section, the functionality of the web system is elaborated and every function will be tested to validate the output that
is produce from the web system.

TABLE VII
FUNCTIONALITY TESTING OF MODULES
Functionality Testing of Modules
Cloud
Functions Database Functionality Testing Results
Function
Module 1: System Login
Login Receiving and  Name and password input will be validated for Success
retrieving data authentication function
 Allow access to authenticates user only
 Retrieve data based on user authentication from
database
Module 2: View, Add, Update and Delete

Page | 9
View list of Retrieve data Allow user to view list of payment and receipt status Success
payment and from database
receipt
Add taxpayer and Receiving and  Receiving input on details Success
payment receipt storing data  Retrieving relevant data based on user
requirement to be displayed
 Retrieving data from database for user view
Update receipt Receiving and  Receiving input from updated fields Success
information and storing data  Storing updated fields information into database
status
Delete row on Receiving input  Received input of item to be deleted Success
table interface and removing  Deleting selected item information from
item from database

database
Module 3: Upload Text File
Upload text file Receiving data  Receiving data from file uploaded in text file In Progress
format
Module 4: Print
Print receipt of Retrieve data  Retrieving data from database Success
payment and print  Display data and enable print function for user
to print out the receipt based on information

F. Documentation
Characteristic of Agile Process is iterative method. In this project, iterative takes place during re-engineer the legacy
system into web-based system. Iterative process begins with a simple implementation of development of systems
requirements and improves the evolving versions iteratively until the complete system is implemented. Design system are
made at each iteration, and new functional capabilities are introduced. The fundamental concept behind this approach is
to build a system through iterative (repeated) cycles and in smaller portions at a time.

Fig. 6 Iterative Method

The iterative method is a technique used by developers and technical lead to constantly improve a system or design.
Developer build and test a prototype, then tweak and test the revised prototype, and continue this process until they come
up with a solution. This method help developer to come out with a successful result. The aim of iteration is to get closer
to solution towards the desired result. Iterative incrementally improving the system development with each cycle or
sprint. The end of one iteration becomes the starting point for the next round.
Sprint is used to document the activities involves, man-days and status of the activities. The purpose of Sprint Backlog
is same as the Product Backlog. The difference is that the Sprint Backlog need to be done during a Sprint. It also includes
a plan to deliver the Product Increment, and to achieve the Sprint Goal. This list helps the team understand the
functionality needed in the next Step, and also offers details about what work is needed to achieve a job completed [25].
The Sprint Backlog defines the list of activities that are expected to achieve to reach the Sprint Goal. In re-engineering
the legacy system, technical lead has provides a list of activities and task for each of the developers. The Sprint Backlog
involves at least one high-priority task, which is determined in the Sprint Retrospective, often to ensure progress during

Page | 10
each Sprint. Each Sprint has specific man-days. For Sprint 1 and Sprint 3, five man-days is allocated, while in Sprint 2,
ten man-days is allocated, Sprint 4, seven and half man-days and for the rest of Sprint only five man-days is allocated. It
ensures that due to its priority at least one of the activities on the list must be completed after every sprint. The Sprint
Backlog includes enough detail that if changes need to be made in a Sprint, the information about the change in a daily
stand-up is enough for the team to do it.
Development team members will update the list of Sprint if there are new activities or tasks. The developer also need
to update the approximate time of the remaining tasks when an item is completed in the list. This list can only be updated
by them. The Sprint Backlog last as long as the Sprint. Figure 7 below shows the sprint is count based on the man-days
estimated based on the sub-functions. Once the sub-functions is successfully develop, the technical lead will update the
status on each of the row.

Fig. 7 List of Backlogs by Sprint

V. LIMITATIONS
There are two major problems encountered during the research duration. First problem encountered is the migration
from current system to new platform for development environment and the programming language. Second problem
encountered is the timeframe to re-engineering legacy system as during that time, our country, Malaysia has undergone
five phases of Movement Control Order (MCO) with strict prohibition of activities as recommended by the World Health
Organization (WHO) that aimed to break the chain of Covid-19 infections. Therefore, limitations to conduct an interview
to get the requirement details to develop a web-based system.
Moreover, in this project, integration is needed to support the processing of data bank where payments have been
made at the appointed agent banks. The payment will be processed and put into the ledger in real time. In this project, the
status of the receipt need to update based on the data get from the bank. Therefore, there are different text file format
from different types of bank. Then, we need to standardized the format and need further discussion and approval from
their side since the data upload will be uploaded in real time and no human interaction to avoid human error during
uploaded time. Besides that, there is limitation during database migration because the data is large and need proper
handling to migrate. Database migration involve data cleaning to achieve the necessary level of data quality (KPI data
quality) in the destination system. In different systems, the same data is replicated very frequently, with one of the
systems running as master and the others as duplicate. Often, however, special cases can occur where the same data
exists with different coding in multiple systems, and there is no connection between them.

VI. FUTURE WORKS


In this research, future upgrade is required for each web-based system. Alternatively, advance login function may be
viewed as additional features to improve the security features. And logging in and saving vital data would be secure for
the user. In addition, notification system should be implemented to inform the administrator of the modified data. Web-
based system can be updated to the next version which is version 2.0 to enhance and add more features and administrator
page, such as statistical graph, add on static data through web-based and even according to the particular major. In
addition, a list of the static entity page could be added in the web-based to allow the administrator for further review
without checking through database administrator.

Page | 11
VII. CONCLUSIONS
In conclusion, a web-based system using Agile Development Process was developed in this project. Agile
methodologies are latest and advance issues in web-based technology. Agile is ideally suited for addressing requirements
of small projects. The goals of re-engineering legacy system into web-based system was developed with the aim of
developing a core web-based taxation system in the open system infrastructure to be more efficient, flexible, user-
friendly, real time and seamless. This system also aims to combine the two corporate systems of the IRBM to optimize
the use of human resources by reducing the maintenance of duplication functions at Self-Assessment System Company
and Self-Assessment System Non Company as well as the use of Enterprise Service Bus to replace the File Transfer
Protocol.
ACKNOWLEDGMENT
All praise and glory be to Allah S. W. T whose infinite generosity has given me the strength to complete this final
project within the time duration given. My sincere gratitude, thanks and most appreciation goes to Prof Ts. Dr. Hajah
Anitawati Mohd. Lokman as my supervisor, Dr. Rozianawaty Osman as my examiner and Dr. Natrah Abdullah as my
Computing Project lecturer for their guidance, encouragement, comments and references. They are such a great person
who has paved the way for me throughout the overall research project. I would also like to express my grateful thanks to
all my colleagues for their opinion, suggestion and cooperation they gave. Also thanks for their morale support during the
months I spent preparing this final project. To my beloved parents and family, who are always there for me whenever I
need them and million thanks for all the interviewee for their time. All of them is important for me to complete this
research project. Once again, my deepest thanks to all that were involved in the process of making this research study
successful. Thank you and only God can reply all your kindness.

REFERENCES
[1] Srinivas, M., Ramakrishna, G., Rao, K. R., & Babu, E. S. (2016). Analysis of Legacy System in Software
Application Development: A Comparative Survey. International Journal of Electrical and Computer Engineering
(IJECE), 6(1), 292. doi: 10.11591/ijece.v6i1.8367
[2] Rochimah, S., & Sankoh, A. S. (2016). Migration of Existing or Legacy Software Systems into Web Service-based
Architectures (Reengineering Process): A Systematic Literature Review. International Journal of Computer
Applications, 133(3), 43–54. doi: 10.5120/ijca20169078
[3] McDavitt, B., Jug, M., & Vanderburg, T. (2013). Migration from Legacy Systems. Meeting on the Management of
Statistical Information Systems (MSIS 2013).
[4] Rahgozar, M., & Oroumchian, F. (2003). An effective strategy for legacy systems evolution. Journal of Software
Maintenance and Evolution: Research and Practice, 15(5), 325–344. doi: 10.1002/smr.278
[5] Wilson, Alex. “Why Migration of Legacy Applications Is Important.” Codementor, 20 July 2017,
www.codementor.io/@alexwilson/why-migration-of-legacy-applications-is-important-a60w4kpov.
[6] Hughes, A. (2018, October 2). Blog: 5 Reasons to Upgrade your Legacy Systems. Retrieved from
https://www.cleo.com/blog/legacy-systems-modernization
[7] Ali, M. K., Hussain, S. K., Ashraf, M. K., & Paracha, M. K. (2020). Addressing Software Related Issues On Legacy
Systems – A Review. Addressing Software Related Issues On Legacy Systems – A Review, 9(03), 3738–3742.
[8] Seacord, R. C., Plakosh, D., & Lewis, G. A. (2003). Modernizing legacy systems: Software technologies,
engineering processes, and business practices. Boston, United States: Addison-Wesley.
[9] Neumann D. M. (2002), "Evolution process for legacy system transformation," IEEE Technical Applications
Conference. Northcon/96. Conference Record, Seattle, WA, USA, 1996, pp. 57-62.
[10] Singh, A. (2016, October 15). Self-assessment tax system: The next wave. Retrieved August 13, 2020, from
https://www.thestar.com.my/business/business-news/2016/10/15/selfassessment-tax-system-the-next-wave
[11] Palil, M. R., & Mustapha, A. F. (2011). Factors affecting tax compliance behaviour in self assessment system.
African Journal Of Business Management, 5(33). doi:10.5897/ajbm11.17424
[12] Cornell, A. (1996). Self assessment the employers’ burden. Chartered Secretary, ICSA, United Kingdom, July, 12-
13.
[13] Karampaglis, Z., Mentis, A., Rafailidis, F., Tsolakidis, P., & Ampatzoglou, A. (2012). Secure Migration of Legacy
Applications to the Web. Information Technology and Open Source: Applications for Education, Innovation, and
Sustainability Lecture Notes in Computer Science, 229-243. doi:10.1007/978-3-642-54338-8_19
[14] Abbas, A. S., Jeberson W. & Klinsega, V.V. (2012). The Need of Re-engineering in Software Engineering.
International Journal of Engineering and Technology 2049-3444. 2.
[15] Mala H, K. (2015). Reengineering a Legacy System. International Journal of Management (IJM), 6(1), 656-660.
[16] Mansor, Z., Yahya, S. & Arshad, N.H. (2011). Success Determinants in Agile Software Development Methodology.
[17] Kumar, G. & Bhatia, P. (2012). Impact of Agile Methodology on Software Development Process. International
Journal of Computer Technology and Electronics Engineering (IJCTEE). 2. 2249-6343.
[18] Highsmith, J. (2002). Agile software development ecosystems. Boston, MA., Pearson Education.
[19] Schwaber, K and A. Beedle (2002). Agile Software Development with SCRUM. Prentice-Hall, Upper Saddle River,
NJ
[20] Mishra, D., & Mishra, A. (2011). Complex software project development: Agile methods adoption. Journal of
Software Maintenance and Evolution: Research and Practice, 23(8), 549-564. doi: 10.1002/smr.528

Page | 12
[21] Chakravorty, T., Chakraborty, S., & Jigeesh, N. (2014). Analysis of agile testing attributes for faster time to market:
Context of manufacturing sector related IT projects. Procedia Economics and Finance, 11, 536-552.
doi:10.1016/s2212-5671(14)00219-6
[22] Misra, S. C., Kumar, V., & Kumar, U. (2009). Identifying some important success factors in adopting agile
software development practices. Journal of Systems and Software, 82(11), 1869–1890.
doi:10.1016/j.jss.2009.05.052
[23] Larman, C. (2004, January 9). Software Development: Iterative & Evolutionary. Retrieved August 11, 2020,
from https://www.informit.com/articles/article.aspx?p=102256
[24] Braun V and Clarke V (2006) Using thematic analysis in psychology. Qualitative Research in Psychology 3(2): 77-
101.
[25] Schwaber, K. & Sutherland, J. (2017). The Scrum guide - The Definitive Guide to Scrum: The Rules of the Game.
Retrieved 2019-09-25 from. http://Scrumguides.org/

Page | 13

You might also like