Developing in-House ERP System for the Construction Industry in a Developing Country : A Case Study

Benefits reaped from implementing Enterprise Resource Planning (ERP) systems have made them a critical part of organisations. These systems, which are developed on best business practices, are sometimes unable to satisfy unique organisational needs, such as those specific to the construction industry which present a unique set of challenges different from those of manufacturing and service industries. This paper aims to study the development of in-house ERP system in an organisation in a developing country, and seek to explore and understand the development of ERP system designed exclusively around the needs of an organisation. This study adopts a case study based qualitative research methodology. Primary data is collected through a series of interviews, discussions with the project manager, development staff and end users. The outcome of the study shows that through proper planning coupled with detailed needs analysis, suitable change management strategy, an experienced project team and selecting the appropriate software development process, any organisation can design and develop ERP system that caters for the organisation specific needs. Therefore, eliminating the need of complex software customisation or altering business processes. Further, by developing an in-house system, the probability of a failed implementation is greatly reduced thus allowing the organisation to focus on its core business while benefitting from the new system.


Introduction
Enterprise Resources Planning (ERP) system enhances organisational performance of companies across the globe.ERP system are sets of packaged application software modules with integrated architectures used by organisations integrating data and processing information in real time across their supply chain.The results derived from implementing ERP system have made them essential part of today's organisation, making them the most popular new business software for past decade (Ehie & Madsen, 2005;Beheshti, 2006;Wagner et al., 2006;Kamhawi, 2008;Baiyere, 2012).
ERP system implementing organisations have experienced substantial increase in productivity (Davenport, 1998); improved operational performance (McAfee, 2002;Shatat & Uddin, 2012); better integration and process enhancement (Davenport et al., 2004); increased firm's market value (Meng & Lee, 2007) with improved financial performance (Hendricks et al., 2007).In addition to these benefits, ERP system enables organisation to achieve competitive advantages through cost reduction, integration of operations and departments, business process improvement, and increased effectiveness (Vlachos, 2006;Mukti & Priyanka, 2014).Whilst Huang and Handfield (2015) suggest that ERP users are proficient in strategic sourcing, category management and supplier relationship management.Indeed, according to Lucintel research report (2012), the global ERP software industry reached an estimated $47.5 billion in 2011, with a 7.9 percent Compound Annual Growth Rate (CAGR).This is further forecasted to grow to an estimated $67.7 billion by 2017 with a 6.1 percent CAGR during the period 2012-2017.
Even with its benefits, ERP implementation is a highly complex undertaking, which requires the organisation to completely transform their business processes around the new ERP system.This can often lead to implementation failures, such as, in case of Fox-Meyer Drug, Dell, Unisource Worldwide, Inc., Dow Chemical and Hershey, where ERP implementation resulted in a "complete failure" (Davenport, 1998;Wah, 2000).This comes about because, instead of realigning their business strategy to suit the new ERP system, organisations customise the ERP system according to their business processes.The customisation process could be a long and complex undertaking which requires careful planning and attention to details with a low probability of success.
ERP systems, which are developed on best business practices, sometimes may not be able to satisfy the unique organisational needs.The construction industry presents a unique set of challenges different from those of the manufacturing and service industries.For example, in the construction industry, each construction project is unique with its different designs, resources, and operational requirements.Moreover, projects are dispersed geographically and have multiple teams working on them concurrently.This creates a demand for effective resource allocation, project planning, employees tracking and most importantly information sharing.Due to their unique requirements, and the very limited availability of construction industry software in developing countries, organisations in these countries are generally reluctant to adopt ERP systems.For organisations to reap the benefits of ERP systems, this study discusses design and development of an in-house ERP Human Resources Management (HRM) system which is developed specifically according to the unique characteristics and requirements of the construction industry.This custom designed and in-house built system does not require organisations to change their business processes since the new system is designed around their specific needs.In addition, it could be cost-effective since organisations can utilise their internal resources (IT, project managers, manpower, etc.) for system development.
This paper is organised as follows: Section 2 discusses ERP implementation challenges followed by a brief organisation's background in section 3. The need for a new ERP system is discussed in section 4, followed by a detailed discussion on design and development in section 5.This is followed by discussion and then some concluding thoughts are offered.

ERP System Implementation Challenges
Implementation is the process through which technical, organisational and financial resources are configured and integrated to deliver an effective operational system (Fleck, 1994).ERP system is complex, and implementing a system can be a challenging and costly for an organisation (Shehab et al., 2004).There are several reasons for complexities of the ERP system noted in the literature.One of the reasons is the wide variety of functionalities offered by ERP system covering hundreds of business activities (Daneva & Wieringa, 2008).The author ssuggests that complexities and associated challenges in implementation are due to the nature of ERP which integrates business processes and delivers a shared system.Therefore, creating system capabilities far beyond the sum of the ERP components' individual capabilities; and each functionality offered matches the unique needs of each stakeholder group (Daneva & Wieringa, 2008).Since the ERP system is developed on "best business practice" model, its implementation requires organisations to restructure their business processes around those practices.Maguire et al. (2010) found that the ERP implementation demands critical organisational changes which could cause conflicts within organisations resulting in loss in productivity and sometimes, failed implementation.The causes of the conflict include system integration, issues with legacy system and establishing methods to revise business processes.These required realignments are most often cited source of implementation failures (Soh et al., 2000).Organisations planning to implement ERP system without a "realignment strategy" face technical and administrative challenges often resulting in project delays or on occasion, a complete implementation failure (Hirt & Swanson, 2001).
It is due to aforementioned reasons about 70 percent of ERP implementation fails to deliver anticipated benefits (Al-Mashari, 2000), while Nelson (2007) found that only 34 percent of IT projects initiated by Fortune 500 companies are successfully completed.These implementation projects are on average 178 percent over budget, take 2.5 times longer to implement than intended and deliver only 30 percent of committed goals (Zhang et al., 2005).
As discussed in the previous section, the construction industry has unique characteristics in comparison with other industry sectors.They have operational requirements which can vary from one organisation to another, and, therefore, need special attention.Shi and Halpin (2003) suggest that in the construction industry, in order to make good business decisions, maximise business goals, and survive the competitive environment, proper utilisation of internal and external resources are essential.ERP system answers this call by offering functionalities to enhance the business process and integrate the diverse operations.However, due to the complex nature of the ERP system, implementation could be risky and costly with success not guaranteed.Therefore, in this scenario, generally, organisations have a difficult choice to make: either alter their business processes around the ERP system or customise the ERP system according to their organisational needs.

Case Study: Organisation's Background
Principal Engineers and Constructors (PEC) was established in 1987 and has since followed a steady path of growth in the construction industry.The organisation prides itself in delivering quality and reliable construction service as their mission statement suggests, "to create a lasting relationship with our clients by exceeding their expectations, and gaining their trust by maintaining high standards of integrity and professionalism" (Principal, 2014).Over the years, PEC has constructed major projects, including residential and office buildings, bridges, warehouses, educational institutions, power plants and highways.PEC has achieved 100% on-time completion accuracy with zero arbitrary/litigation history, confirming its commitment to service and quality.Some of their major clients include Coca-Cola, DHL, ICI, Toyota, Engro, Berger, USAID, Unilever, Walls, Nando's, Siemens and Tapal.
Currently, PEC employs around 500 staff members and the majority of them (approximately 70-80 percent) work on the construction sites at any given day.Over time with business expansion, lack of integration and coordination between departments became more visible and the need of a central information repository was critically realised.To overcome these organisational needs, senior management and the IT department considered several different software applications available in the market.However, they were unable to find a system that completely satisfies their organisational needs.As a second option, the management and the IT team came up with an idea to develop an in-house enterprise resource system.The proposed system would be developed exclusively to cater for organisational requirements without the need of any changes to the current business processes, thus saving from implementation complexities.

Need for ERP System
Since its inception, different departments in PEC worked in silos with the absence of any central information depository and the majority of the work performed was paper-based.This resulted in difficulty to access information, especially past information.The process was painstaking slow since the employee had to visit the particular department to get the required information by going through the paper files manually.This increases the probability of human error and, therefore, impacted information reliability.According to PEC IT manager, "the primary issue was not the availability of information, rather access to the information".While office employees had limited access to information, employees working on construction sites lacked any access to information.Therefore, if an on-site staff required information, a staff member physically needed to leave the site and go to the main office to get the information.Similarly, when the administration at the main office required information, a staff member was sent to the construction site to collect the required information.Otherwise, they had to wait till the end of the month when all the data sheets and the information was sent to the main office.
In addition, due to the lack of centralised operation and information, the Standard Operational Procedures (SOPs) were subjective.For example, a department would design the process flow according to their needs and later would do any local changes as required without considering their impact on other departments or overall operation.This frequently resulted in chaos and confusion, therefore undermining the organisational performance and leading to project completion delays.
Several other reasons in favour of developing an in-house ERP system are: i.It happened very often that HR either didn't know or struggled to keep track of a number of employees and their location since projects were dispersed across the country and employees reported directly to the construction site.
ii.The process of salary payment was challenging.Some employees did not have a bank account and preferred to be paid in cash.While those who had bank accounts received salary cheques.To compound the difficulty in processing payments, a group of employees wanted their salaries to be divided into cash and cheque.There was no HR module available which offered the cash payment option or option to divide salary into cash and cheque payment.
iii. Construction industry's employee designations are different from those in other business sectors.Therefore, a construction industry-specific ERP system offering industry-related designations was required.
iv.The current legacy system was unable to keep up with the ever updating movement of employees across the projects.Similarly, often whole teams moved from one site to another.Keeping track of their movement was cumbersome in the old legacy system.
v. Due to the absence of a central database of information, every department had its own database (such as procurement, HR, sales, etc.).Frequently, the system failed to recognise a user if his/her profile was not set up in that particular department.So, a new individual profile had to be created for the department.
vi.Besides salary, there were two different types of allowances given to the employees, namely, general allowance and convenience allowance.A system was required to keep track of these allowances.
vii.There are professional licences for engineers issued by a government body in the construction industry.A system was needed to keep track of employees' licences, their expiration dates, upcoming renewals, etc.
In the next section design and development of an ERP system are discussed.

Design and Development
Software

Needs Analysis and Planning Phase
The needs analysis and planning phase involved two steps.At first, a comprehensive needs analysis was performed to identify the organisational needs and expectations from the new system.Once the needs were identified, the IT team in collaboration with management started planning for the design and development phases.This phase also involved team formation, formulating a working strategy, setting up standard operational procedures, ensuring resources availability and establishing a line of communication.

Design Phase
As previously stated, software development begins with some set of requirements, which form the basis of the design phase, and around which the complete designing process revolve.Once the need for customised ERP HRM module was established, the next process involved designing the proposed system.As a first step, a team started reviewing and analysing the PEC workflows, businesses processes, organisational needs while simultaneously reviewing essential operational documentations.An essential part of the system design was to keep in consideration that the new system was flexible enough to be easily aligned to the current system.In addition, the new system should have had more visibility, mobility and easy accessibility to the information which lacked in the previous system.
The design team arranged series of meetings with the HR department and one on one session with line managers to understand work requirements.In addition, the team visited each department to observe how employees processed information, job roles and feedback.Once the required information had been collected, it was analysed to find out users' expectations and their interaction with the new system.Based on the conclusion drawn, a use case diagram was constructed (shown in Figure 2).A use case diagram is a representation of a user's interaction with the system that shows the relationship between the user and different use cases (list of action, or even steps) in which a user is involved.It also identifies types of users of a system and different use cases.
Figure 2 shows the first stage of an HR System that has two users:  HR Admin

 Super Admin
Both of them nearly do the same work except that Super Admin can edit (add/delete) financial information, a company work history/designations and add new designations.

Figure 2. Use case diagram
During the system planning phase, management weighed the benefits of hosting the software on the cloud-based module over the in-house server based system.Since the web-based cloud module offers several advantages, such as allowing employees working on-site or off-site to access information to perform their tasks, there is no need for software download or installation.Updating the system is quick and easy; it is available 24/7; an online training option is available; and it provides easy integration with mobile devices.Due to these benefits offered, PEC selected the cloud-based module over the in-house server based system.

Development Phase
The current cluster of isolated programs at PEC was developed in MS Excel.Over the period of time, with business expansion and the resulting increase in HR needs, the systems struggled to satisfy organisational requirements.To overcome this challenge, PEC decided to develop a new program to cope with the increasing demand.The project team decide to select C programming language for code writing to develop it since it is a general-purpose computer programming language which supports structured programming.
Simultaneously, a separate team started working on compiling and structuring the HR related information.Their goal was to create a central database of employees' personal and work-related information such as their names, home addresses, pay scales, education and certification, job titles, current locations, etc.In order to work efficiently, this goal was divided into several objectives handled by teams and subs-teams working on different section of the module such as salary sheet, personal information, location, licencing, etc.The process of developing employee database took four months.Once the design team had acquired a complete understanding of the business process, they developed an Entity Relationship diagram (ER).This is a graphical representation of entities and their relationships to one another which is extensively used in organising data within the database.Figures 3 and 4 present the initial and final ER diagram which shows the database structure of the HR system.As shown below, "employee" is the main actor in the HR system.Therefore, all other entries are directly linked to the employee.The first target of the HR system is to handle the information related to employees.Accordingly, the first ER-Diagram of HR contains the information of employees.

Figure 3. Initial ER diagram
After some initial success with coding in C language, the development team began noticing the limitations of C language which would result in its inability to reflect the functionalities offered by the ERP module.After careful deliberation, the team decided to replace C language either with PHP or ASP, programming languages.The team selected PHP over ASP for two main reasons.The first, it is used in developing millions of websites; and the second is that all major hosts support it.PHP is an open source general purpose programming language which has many frameworks to facilitate development.It is also supported by a huge developer community that contributes to it.Since PHP is an open source, it has a wide list of supporting plugins and frameworks available such as Codeigniter, Symfony, Zend, Cake PHP and Laravel.
The development team selected Symfony web application since it is the modern and complete Model-View-Controller (MVC) framework.It is supported by a powerful toolbar to ease debugging.Depending on requirements, some of its components could be used independently without the entire framework.It also provides the proper platform to run functional, unit and behavioural tests.Next, the developer team set up two types of environments for the new system, i.e., the production and deployment environments.The production environment was set up on PCs and had all the essential development tools needed by the team for system development.These PCs also functioned as server and client.Therefore, if the developer wanted to run a developed program, instead of uploading it to the main server, developer used the PC as a server to run the developed program.
The deployment environment was used to run the developed application on the main server.Hence, all the testing was done in the development environment.Once the testing was performed satisfactorily, the developed application was deployed on the main server and could be accessed by users across the organisation.
During the development process, as planned, module development work was carried out in parallel with the current system working.This process is called parallel conversion and it allows both the existing and new systems to operate at the same time for the certain amount of time (Zhang & Li, 2006).This strategy also enabled the development team to improve the quality of the system while uploading the new information on the web-server.
Once the ERP system was ready to be deployed, PEC purchased the hosting service with dedicated IP and decided to move on semi-dedicated hosting or Virtual Private Server (VPS) as per requirement.These servers are Dual Quad Core Servers (16 cores) with 24GB Servers RAM (minimum).They used C panel as a control panel Lite speed Web Server pre-installed.
Before going live, there are several checks to ensure that the product being developed satisfy the organisational needs.These checks include design review, code reviews, inspections, unit testing, system testing, integration, etc., and are used during and after software development to uncover and correct defects (Mahanti & Antony, 2005).The software testing process is explained in the next section.

Testing Phase
Initially, a beta version of the HRM module was developed for testing purposes.The development team adopted the strategy of breaking down the complete module into small segments to perform testing.Once the testing had been carried out successfully, the specific section of the module was uploaded back into the main module.This strategy enabled performing rigorous testing of the new system.The testing team comprised of members from diverse backgrounds, including users.The testing process lasted four weeks.
Not only does the testing process examine the performance of the module, but also it assists in evaluating the usability of the module and possibility of further improvement.

Go-live Phase
This is the last phase in software development and requires comprehensive planning involving a focus on focus on "what-if" scenarios; preparation for on-going support; and finalising the documentation processes.Once the system goes live, it is constantly monitored to ensure that system in functioning as planned and the supporting process are running smoothly.Seven months after the idea was conceptualized, the module went live in late 2012 after careful go-live planning.Currently, the system is fully functional and being used throughout the organisation.
Figure 5. Loan status sheet in ERP system

Discussion
According to IT manager, the process of designing and developing the HRM module also assisted in senior management recognition and appreciation of the latest IT technology and advantages of using an enterprise system to enhance planning, operations and control.With this new management support, the IT department started new in-house employee training initiatives and IT skills development programmes.
Further, according to the operations manager, the in-house developed HRM module has enabled the company to keep up-to-date information of the employees working on-site and off-site efficiently.It also enabled correct calculation of payrolls and issuance of pre-advance warnings about renewal or expiration dates of employees' professional licences or certifications which are necessary job requirements.In addition, it has enabled them to develop a performance management system which is necessary for decision making with regards to job promotion and salary increase.The development process contributed towards the creation of proper hierarchy inside the organisation.In contrast to past practices when only major job roles and positions were identified, the new ERP system facilitated the creation of new job designations, job roles and hierarchy.This effectively streamlined decision making, delegation of authority, account ability and workflow.The major issues faced during the implementation process included employees fear of change and unwillingness to share information.It was observed that in many instances employees were reluctant to release information.They also had fears about incoming changes and the impact these would have on job roles and, more importantly, job security.The employees' fears were overcome by involving them in the planning process and updating them with the benefits the new system would bring.However, in some instances, higher management was asked to intervene to resolve the information sharing issues.
In the next phase, PEC planned to redesign and upgrade the system by adding extra options and enabling easier user interface.While doing so, the IT team compared the in-house module with the ERP HRM modules available in the market.Based on the outcome, the team developed an enhanced and competitive module.

Conclusion
Implementing an ERP system is a complex undertaking.The need to realign business strategies with the software often becomes a nightmare exercise.Whilst the other option to customise the ERP system around organisation's business processes has led to failure in major implementations.To overcome these challenges, this paper presents a case study of an organisation that embarked upon designing and developing an in-house ERP system specifically designed to cater for their organisational needs successfully.This provides organisations with a viable option of developing enterprise systems instead of buying off the shelf ones.
Several lessons can be learned from the development process which could be beneficial to an organisation embarking on developing a system.These are: i.It is essential that the organisation performs a detailed needs analysis involving all the key stakeholders.This first step will provide guidance as to what is required from the new system.
ii.An analysis of currently available resources which could contribute towards smooth implementation is needed.This can assist in resource allocation planning during the implementation phase.
iii.A proper change management strategy should be in place to manage any resistance.The benefits of the new system should be clearly communicated to users showing how it would benefit them.This should be supported by training programs incorporated in the process.
iv.The business process should be identified and mapped in early stages.This will provide solid foundation for the new system.
v. The software development approach should be identified and chosen based on the implementation strategy.
Major available approaches are: waterfall development, prototyping, incremental development, spiral development and rapid application development.
vi.It is critical that the implementation team is comprised of members belonging to diverse backgrounds representing management and various departments.
The main critical advantage of developing an in-house system is that there is no need for customisation of an ERP system or realignment of business strategies.A good planning and complete understanding of the business processes and their functions is the primary requirement.The author believes that this option has not been sufficiently explored and studied by many organisations.Therefore, this study could serve as a guidance and source of information for an organisation which is planning to implement an ERP system; and for those who are considering the option of developing an in-house system.Further, there is a potential of further research in this area aiming at studying the feasibility and development of other ERP modules for various business sectors.

Figure 6 .
Figure 6.Salary interface of HR module (Mahanti & Antony, 2005) and complicated process since there are several interrelated factors throughout the software development process.It is observed that quality suffers when appropriate and individual focus is not given to each development phase which may lead to project delay, over budget and/or cancellation.Software development is unlike other product design and development since software is intangible; it is devoid of physical properties of manufacturing products.A software development process starts with some sets of requirements drawn from the organisational or market needs.The next important steps are design, code development and testing and going live phase(Mahanti & Antony, 2005).Software development revolves around a lifecycle which consists of five phases: needs analysis and planning, design, development, testing, and going-live.Figure1presents a waterfall model software development.The waterfall model is a sequential designing process in software development illustrating progress flowing steadily downwards through different development phases.The lifecycle model presents the iterative relationship between successive development phases.It is derived from the strategy that as each step progresses and design and development process are further detailed, there is iteration with preceding and succeeding steps.These phases encompass all the activities carried out to define, develop, test, deliver, operate and maintain a software product.