Adoption of Code Restructuring to Enhance Full Cycle End-to-End Integrated Financial Management Information System in the Public Sector in Kenya: A Review Paper

: This paper reviewed literature on adoption of Code Restructuring in enhancing adoption of Full Cycle End-To-End Integrated Financial Management Information System (IFMIS) in Kenyan Public Sector. The paper reviewed literature published both in Kenya and in other Nations to establish if Code Restructuring can be used to enhance adoption of Full Cycle End-To-End Integrated Financial Management Information System in the public sector in Kenya. The study established that effective adoption of IFMIS has been hindered by poor Information, Communication and Technology (ICT) infrastructure and structure. The study revealed that Code restructuring can be used to enhance quality of IFMIS outcome. Code restructuring can enhance performance of IFMIS applications and interfaces to levels needed to achieve Full Cycle End-To-End IFMIS. In addition, code restructuring can be used to solve system based problems commonly faced in reengineering of IFMIS to a Full Cycle End-To-End IFMIS. The study also established that other factors such as management support, staff training, integration and communication system and stakeholder acceptance are critical determinants of successful adoption of IFMIS. The study recommends that a survey be done in Kenya to assess whether code restructuring can be used to achieve successful Full Cycle End-To-End IFMIS given the conditions and challenges unique to Kenyan public sector.


Introduction
To enhance management of internal operations and achieve better performance, organizations are increasingly adopting advanced technologies in carrying out the daily business operations. Organizations whether private or public, are increasingly appreciating the need to enhance efficiency, effectiveness and economy in internal operations and so is the growing need to adopt appropriate technology for organizational operations [9].
Incorporation of new technologies into internal business operations has been a way of boosting efficiency and productivity. Majorly, organizations adopt IT to remain competitive [7], to improve productivity and effectiveness in internal operations [3]. The popularly adopted innovative strategies revolve around computer technologies and are majorly adopted in key business functions such as procurement, finance management and customer management [4]. In the public sector, one of the innovative systems that have gained popularity is integrated financial management information systems (IFMIS).
Integrated Financial Management Information System (IFMIS) is an automated system used for public financial management [1]. It interlinks planning, budgeting, expenditure management and control, accounting, audit and reporting. The system is designed to improve systems for financial data recording, tracking and information management. It also enhances reporting, automates procurement process, facilitates revenue collection and facilitates information management. In Kenya, IFMIS has been widely adopted by the Government to enhance public procurement and financial information management. IFMIS applications are large-scale computer software and hardware systems developed to integrate data and processes of an organization into a unified system controlled in a centralized database which is accessed through a secure network.
IFMIS is an automated system developed to enhance efficiency in planning, budgeting, procurement, expenditure management and reporting in the National and County Governments (The Nationally Treasury, Government of Kenya, 2016). IFMIS was first adopted in Kenya following a proposal by The Accountant General's Department in 1996 to address the problems of; poor records management, untimely presentation of financial records, poor accountability, lack of transparency and inefficiency. In the county governments, adoption of IFMIS started in 2014 just after the devolution of government functions [15].
In adoption of innovative strategies such as IFMIS, Information Technology (IT) offers the infrastructure and platform. IT infrastructure is the technology that supports activities involving information such as gathering, processing, storing and presenting data that are critical in use of information systems [19]. IT infrastructure and structure have been identified as the major IT related factors that affect adoption of information systems.

Applications of IFMIS
IFMIS has a number of applications in the public sector. The first application is ledger management. IFMIS records financial transactions and manage financial records. It gives information on assets and liabilities of the government, as well as associated financial flows. Secondly, IFMIS assists in accurate recording of the approved budget and follows up on classification of budgets especially those relating to public procurement [15]. The third function is management of accounts payable. It ensures monitoring and management of payments efficiently to utilize discounts and avoid arrears, interest payments, and penalties. The forth application is management of accounts receivable. It handles all types of inflows that are received by budget units within the government. It also produces bills, processes and records receipts and payments made in the public sector [4].
IFMIS is applied in cash management in the public procurement units. It provides regular update on liquidity position of public procurement units. It collects data from revenue agencies on revenue collections points and debt management system. IFMIS is applied in budget planning and assesses functionality for preparation of annual budgets. FMIS has dedicated interface for evaluation of the budget proposals.
Another key function of IFMIS in public sector is management of procurement and purchasing. IFMIS has dedicated module to generate local payment orders after the necessary checks and balances have been met. It allows for ordering, order management, management of suppliers and supplier information and management of inventory records. Other functions include; human resource management and public project managements [22]. Components and IFMIS system can be presented as discussed by [23].
To enhance suitability for application and adoption of IFMIS, reports have recommended restructuring of the ICT infrastructure and interface. This study intends to explore adoption of code restructuring to enhance full cycle end-to-end IFMIS among county governments in Kenya.

IFMIS Adoption in Kenya
The Government of Kenya first introduced IFMIS in 1996. This followed report by The Accountant General's Department to address problems such as; poor records management, untimely presentation of financial records, poor accountability for financial resources, poor audit, poor transparency and accountability and inefficiency in public organizations operations. The system was first reviewed in 1997. Key recommendations from the review were intended to strengthen Government finance and accounting functions [17].
Despite the initial applications of IFMIS, as at 2000, the report of The Accountant General's Department identified a number of problems in relation to procurement and financial management operations of the government. The problems included; poor accountability and transparency, irregular payments, delayed payments to suppliers, inaccurate procurement and financial information, poor financial inflow and low compliance with procurement and financial management regulations [15].
In 2006, the Government of Kenya developed a strategy to revitalize public financial management. The strategy had six pillars; financial sustainability and budgeting, resource mobilization, budget execution, procurement, oversight and evaluation and cross cutting issues. In 2010, the Kenyan Government developed a master plan for IT shared service across the 42 ministries and 175 local authorities in a bid to enhance successful adoption of IFMIS [14].
IFMIS was first re-engineered in 2011. The following components were emphasized; re-engineering for business results, plan to budget, procure to pay, revenue to cash, record to report, ICT to support and communicate to change. All these components were aimed at enhancing successful adoption of IFMIS. Currently, IFMIS implementation is based on IFMIS Re-engineering Strategic Plan 2013-2018 [17].
Despite the above initiatives; IFMIS adoption is still faced with numerous challenges and as such has not been fully adopted by public organizations. Studies have pointed out that code restructuring can be used to enhance adoption of IFMIS. This study intends to establish how code restructuring can be used to enhance IFMIS adoption in Kenyan Public Sector.

Statement of the Problem
Report by [17] indicates that as at June 2014, IFMIS was still not fully implemented by Most County Governments. The report indicates that most counties had insufficient IT infrastructure and limited technical support from National Government and technical experts. Studies conducted in implementation of IFMIS have majorly focused on management related determinants of adoption of IFMIS with limited studies on technical factors affecting adoption of IFMIS. No study has specifically assessed how code restructuring can be adopted to enhance implementation of full cycle end-to-end integrated IFMIS in Kenya, especially after IFMIS reengineering in 2013. There is therefore a research gap that needs to be filled by research. This study will bridge the research gap by studying adoption of code restructuring in enhancing full cycle end-to-end integrated IFMIS.

Objectives of the Study
The objective of the study is to determine whether code restructuring can be used to enhance adoption of full cycle end-to-end integrated IFMIS in the public sector in Kenya.

Research Question
Can code restructuring influence adoption of full cycle end-to-end integrated IFMIS in the public sector in Kenya?

Scope of the Study
The study intended to determine whether code restructuring can be used to enhance adoption of full cycle end-to-end integrated IFMIS in the public sector in Kenya. The study assessed the practicality of restructuring in IFMIS systems especially with respect to county operations. The study also assessed if there is empirical evidence that code restructuring can be adopted in county systems to enhance adoption of IFMIS. The study reviewed existing literature code restructuring and adoption of IFMIS adoption. Literature was also be reviewed to assess the extent of adoption of full cycle end-to-end integrated IFMIS in order to relate the variables.

Significance of the Study
The study was intended to be significant in the following ways; Firstly, the findings and recommendations could be useful to policy makers in the Kenya Government in making future relations relating to IFMIS adoption. Secondly, the findings and recommendations of the study could be useful to county government management is assessing their internal IT capacity and assessing its role in IFMIS adoption. Thirdly, the findings could enrich literature on code restructuring and IFMIS adoption for scholars and professionals who are interested in IFMIS. Lastly, the recommendations and suggestions from the study would be instrumental in stimulating further research on IFMIS adoption.

Code Restructuring
Code restructuring involves maintenance activities aimed at improving performance of software. It is 'the transformation from one representation form to another at the same relative abstraction level, while preserving the subject system's external behavior and semantics' [12]. It is a 'form of perfective maintenance that modifies the structure of a program's source code to achieve increased maintainability to better facilitate other maintenance activities, such as adding new functionality to, or correcting previously undetected errors within a software system' [7]. Code restructuring is the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure [1]. According to [3] the government has a role to play in restructuring of IFMIS. Code restructuring requires management support in terms of infrastructure and leadership.
Code restructuring without affecting its external behavior, can be used to break dependencies in the code to increase testability and usability of the program. It can also be used to clean up complex code to enhance understanding maintainability [12]. Code restructuring is a complex process that starts with software reengineering where higher-level models are reconstructed from the code. This requires initial performance analysis to understand the functionality of the components and rationale of existence of every program component [2]. Code restructuring increases productivity, improves the design of software and makes software easier to understand and to use. Code restructuring can be used to prevent software from degrading [11]. Code restructuring continuously enhance and extend the functionality of systems [13]. Restructuring of an existing source code improves its internal structure without changing its external behavior [1].

Code Restructuring Procedure
According to [1], code restructuring can be manual or automatic. Code restructuring involves six activities; the first activity involves identifying where the software should be refactored. The second stage involves determination of the restructuring method to be used in the identified areas. The next stage involves ensuring that restructuring process does alter the behaviors of the system. This is followed by application of the restructuring method identified. Once the restricting method is applied, the next stage is to assess the effect of the code restructuring on complexity, understandability, maintainability productivity and cost of the system. The last stage involves maintaining consistency between the restructured program code and other software artifacts such as documentation, design documents, requirements specifications and tests to ensure successful restructuring [12].

Code Restructuring Methods
There are six methods of code restructuring. The first method is the parallel execution of statements which identifies independent statements from the assessed variables to improve CPU performance and reduce CPU time [12]. The second involves removal of go to program (one-way transfer of control to another line of code), especially if the statements have different blocks to detect code fragments. The third method involves removal of back ward branches by use of while loop to achieve program parallelization. The next method involves removal of single forward branches through use of block if statements for single forward statements. This method also enhances achievement of program parallelization. The fifth method involves removal of interacting forward branches using exit statement. This is achieved through converting code fragments into function to standardize code and remove redundancy.
According to [1], code restructuring can be achieve through any of the following methods; the first method is extract method, extracting codes that appear in many places in the source code and placing them in different places. The second method is inline method that puts the code on the body of the caller. The third method is the move method which moves the code from one class to another when a class has too many functions to do. The next method is the inline class method which is applied to the classes which are not doing too much work. The other methods are renamed and replace array with object methods which each element is given specific field.

IFMIS Adoption
Integrated Financial Management Information System (IFMIS) is an automated system used for public financial management [15]. Governments across the world are increasingly adopting IFMIS [4]. IFMIS has widely been used in effective and transparent public resources management. Other nations have used it in tax administration, procurement management, asset management, human resource and pay roll systems, pension and social security management [6].
According to [5], IFMIS can vary from a basic general ledger accounting application to a comprehensive system covering budgeting, accounts receivable or payable, cash management, commitment control, debt, assets and liability management, procurement and purchasing, revenue management, human resource management and payroll. Governments have however adopted IFMIS majorly to facilitate financial management and procurement operations with an aim to enhance efficiency, effectiveness, transparency and accountability in public operations [4].
Across the world, IFMIS adoption has faced challenges including; lack of management support, lack of technical support, poor IT infrastructure and ineffective IT framework or structure [6]. It is a complex, risky and resource intensive process that requires major procedural changes which sometimes make IFMIS adoption technical [10]. Poor planning has been identified as a contributing factor to failure in adoption of IFMIS especially in the public sector [15]. Technically, IT infrastructure and computer systems have been identified as critical factors in IFMIS adoption [6].
Report by [21] points out that implementing IFMIS by the government require different government structures to work together. It requires that all administrative units, national as well as regional and local governments. The report discussed a seven steps implementation process. The steps include; preparation and delivery of the initial needs assessment, requirements gathering and delivery of systems specifications, design and delivery of a uniform chart of accounts, preparation and delivery of accepted rules and procedures for the new system, evaluation, selection and procurement of software and hardware applications, systems integration, testing and implementation and audit/evaluation of project progress and results.

Studies indicate that code restructuring is not the only determinant of successful adoption of Full Cycle End-To-End
Integrated Financial Management Information System. According to [9], IFMIS adoption requires control of aggregate spending, prioritization of expenditure and efficient allocation of resources. Adoption of IFMIS requires change management and stakeholder involvement. Successful adoption and use of IFMIS require IT infrastructure, human capacity, management support and leadership [8]. The three factors are critical determinants of ICT based systems. Staff resistance, Management commitment, System complexity and Capacity and skills of users are key determinants of IFMIS adoption [13]. According to [22] top management support is very crucial in implementing IFMIS. Top management acts as the driving force behind the whole implementation process as it provides leadership and the required resources for effective implementation of IFMIS. In this study, three determinants of IFMIS; Human Capacity, Management Support and Integration System will be studied.

Code Restructuring and Full Cycle End-to-End IFMIS Adoption
Study by [12] on application of code restructuring to maintain program quality established that code restructuring can be applied in system maintenance to improve quality in terms of the performance, CPU time, readability and usability. Restructuring can also be used in web application. It was evident that design patterns are very important tool for the restructuring. The study noted that care should be taken when restructuring to keep the effects of previous restructuring.
In Kenya, the government is currently in the process of restructuring the current IFMIS into Full Cycle End-To-End IFMIS. Code refactoring makes a code easier to understand and improves the quality of code [11]. It reduces the maintenance cost and enhances understandability of the system because the complexity of software is decreased [1]. This enhances adoption of Full Cycle End-To-End IFMIS. In his study on Integrated Financial Management Information System, [6] established that size and complexity of a Full Cycle End-To-End IFMIS poses significant challenges and a number of risks to the implementation process. Some of the challenges were established to system based and technical and can only be solved through technical means such as code restructuring [5].
IFMIS adoption requires integration across all functional areas in the government. All different departments or ministries must be linked through and effective system that allows timely and free flow of information both horizontally and vertically. IFMIS as an enterprise resource planning (ERP) system relies heavily on information [12]. Kenyan government is for instance currently in the process of reengineering IFMIS into a Full Cycle End-To-End Integrated Financial Management Information System. The main idea behind restructuring is to enhance performance of IFMIS [13]. Restructuring can also be used in web application to enhance information from across all functional areas through dedicated interfaces [8].

Software Restructuring Model
Software restructuring model focuses on inventory analysis, document restructuring, reverse engineering, code reengineering, data restructuring and forward engineering. It provides abstracted design information derived from program code and the module interface information needed for restructuring.
IFMIS has a number of components and modules that aid in its operations. These modules include; procurement module, accounts payable module, accounts receivable module, tax module, cash management module, budget planning module and transactions module [13]. Code restructuring can be done around the modules to enhance delivery outcomes of the system.
In this study, the model was used to enhance understanding of IFMIS reengineering and how code reengineering can be used to enhance IFMIS reengineering. The model is presented in Figure 1  In this study, software restructuring model was used to conceptualize software code restructuring and potential outcome on successful application of IFMIS [8]. IFMIS system is designed to connect, accumulate, process, and provide information to all intended parties on a continuous basis [6].

Technology Acceptance Model
The Technology Acceptance Model (TAM) suggests that there are a number of factors determine the decision about how to adopt and use a new technology. The theory proposes a relationship between users' acceptance of a new information system and the users' perceptions of the ease of use and usefulness of the information system. The theory proposes that adoption of new technology requires integration of the external factors and internal organizational factors such as; perceives usefulness of the system, perceived ease of use, attitude towards use of the system, behavioral intention behind adoption and use and the actual systems' use [19].
User acceptance of a new technology is based on the influence of perceived usefulness and perceived ease of use of the system. The model explains that user perceptions of usefulness and ease of use determine attitudes toward using the system are influencers of acceptance. Behavioral intentions to use are determined by users' attitudes toward using the system. Behavioral intentions to use the system then determine actual system use. The model provides a direct link between perceived usefulness and behavioral intentions to use [20]. Figure 2 presents the technology acceptance model. In this study, the model provides an insight on how personal factors could influence the outcome of IFMIS restructuring adoption. IFMIS restructuring in the public sector involves people literally at all stages. From the perceived link between personal factors and adoption of restructured IFMIS, government policy makers need to make rational decisions that enhance people participation and consequently successful adoption of IFMIS [21].

Research Methodology
This is a review paper and was therefore purely based on findings of existing studies. The paper relied on papers that have been published by other authors on code restructuring and adoption of IFMIS. Reviewed documents included both those published locally and abroad. Data was gathered from empirical findings that had been conducted in various parts of the world thereby broadening the perspective of this paper. The findings of the papers were critically analyzed and conclusions were made based on conceptualization of research findings with respect to the research environments.

Research Conclusion
This review paper established that IFMIS adoption is not a new concept especially as far as research is concerned from global perspective. From the research findings, it was evident that most of earlier studies have been done in developed countries. Interest in the concept of IFMIS has steadily grown with researchers increasingly studying various concepts related to IFMIS.
Existing literature indicated that governments and public institutions are increasingly adopting IFMIS. IFMIS in such cases is majorly adopted in procurement and finance/finance records management. The major areas of application in the public sector that were identified include; budget preparation, budget appropriation, payment management, revenue management, purchasing, inventory management, financial reporting, human resource management and workflow management. Critical review by [19] established that an IFMIS system must be structured based on the local context. It must be customized to fit in the local conditions both in terms of infrastructure and resources. Restructuring must be based on users' needs and available IT infrastructure [20].
In Kenya, IFMIS adoption in the public sector has been to perform the same functions. The intention has been to enhance transparency and accountability in public procurement and finance management operations. However, findings indicate that IFMIS adoption in the public sector is still a long way to achieve its intended purpose. Critical assessment of existing literature reveals that implementation of IFMIS in Kenya is faced with five main challenges; inadequate planning, poor communication between implementers, donors and government, inadequate management capacity and support, changes in system design without full agreement of all stakeholders and poorly implemented trainings among implementers and users of IFMIS.
From study findings, IFMIS adoption has been faced by numerous challenges in various parts of the world. The main challenges have been identified in past studies have related to ICT infrastructure, government support and training. The government has put numerous initiatives to enhance adoption of IFMIS. For instance, the Kenyan government is currently restructuring its IFMIS into a Full Cycle End-To-End IFMIS. However, reports still indicate that IFMIS is still subjected to human manipulations and is still used in advancing interest of corrupt individuals.
Studies indicate that code restructuring can be used to enhance adoption of Full Cycle End-To-End IFMIS in the public sector. Code restructuring can be used to enhance quality of IFMIS applications as well as performance of IFMIS interfaces. In addition, code restructuring can be used to solve system based problems commonly faced in Full Cycle End-To-End IFMIS adoption.
The study recommends that a study be done in Kenya, in the public sector, where primary data is collected, to assess whether code restructuring can be used to achieve Full Cycle End-To-End IFMIS given the conditions and challenges unique to Kenyan public sector.