Parallel running is a strategy for system changeover where a new system slowly assumes the roles of the older system while both systems operate simultaneously. [1] [2] This conversion takes place as the technology of the old system is outdated so a new system is needed to be installed to replace the old one. [3] After a period of time, when the system is proved to be working correctly, the old system will be removed completely and users will depend solely on the new system. The phrase parallel running can refer to the process of changing a fragment of business information technology operation to a new system or to the technique applied by the human resources departments in which the existing staff stay on board during the transition to a new staff. [4]
The new system needs to be implemented once it has been built and tested so that it is carrying out the jobs well according to the objectives. This involves a few initial steps which are: [2] [5]
To implement the new system, a parallel running strategy can be applied in which the new system is run alongside the old system for a specified time. Parallel running is different from the term parallel processing. There are also other possible strategies that can be used for implementation of the new system. All of the implementation strategies come with their own advantages and disadvantages. So, it depends on the requirement of the organisation to choose which implementation strategy they want to apply.
During changeover, a new system and an existing system run side by side for an agreed period of time. This should be long enough to ensure that all aspects of the new system has been confirmed that it can work properly. Both input the same data and perform the same processes. This will compare their output and prove the reliability of the new system. If the new system is accepted, the existing system will stop running and will be replaced by the new one. [6] If both old and new systems are computerized, the input data can be held on a disk or tape and run concurrently on both systems. If changing from a manual system to computerized system, the main problem is inputting the data. Data needs to be input manually and this may take a long time. [7]
Parallel running allows results to be compared to ensure that the new system is working without any errors. If errors are found, user can refer to the old system to resolve the problem and make modifications to the new system thus operation can continue under the old system while the problems are sorted out. This also allows training of staff and help them to gain confidence in the new system. [5]
The cost of implementation is very expensive because of the need to operate the two systems at the same time. [8] It is a great expense in terms of electricity and operation costs. This would be prohibitive with a large and complex system. [9] [10] Parallel running implementation also requires a lot of time and needs frequent maintenance. This will slow production in a firm as workers need to do twice their normal workload for a period of time in order to achieve the same goal for both systems. This involves inputting or changing the same data for both systems to ensure the information are identical in both systems. [3]
The practical example of parallel running in human resource management is job placement. New staff and old staff work for the same job. If the new staff's performance is OK, the existing staff may not be needed any more, and will be replaced. Another example is when a new firm which undergoes change in ownership and wants to recruit new staff to operate the firm. Making the change all at once can cause problems if the new staff do not know the basics of the operation. For this reason the firm will keep the existing staff on board for a specified time to do their normal jobs while the new staff shadows them and gets the hands-on experience they require. Once the results of the new staff match the results of the existing staff in terms of productivity and operational jobs, the existing staff can be let go. Many business firms use the strategy of parallel running as a way to ensure that the computer software are capable of doing the tasks it is designed for. The old software and the new software receive the same input from the business firm. The outputs from both software programs are compared after a period of time to make sure the transition to the new system completely are fault free. [4] Another example is a publishing firm which is producing textbooks. They decide to run the accounts part of the business by investing in a new computerized system. The existing account system is outdated and is not suitable for use with new hardware. The new system is implemented using parallel running strategy so all accounts and invoices have to be handled both in the new and old systems. If the new system does not function correctly, data from the old system can be used. However, everything needs to be done twice, which will slow down the accounts department and cost money in hiring more staff. This system is safe and the new system can be precisely tested as every transaction can be compared with the result from the old system. [2] It is also applied when using a new computerized system to create brief reference records and generate orders but maintaining the old manual system for final financial control until the new system has been confirmed that it can function correctly. [11]
After implementing the new system, comes the post-implementation review phase which normally takes place three to six months. The review is conducted to: [12]
Other than Parallel Running, there are direct changeover, phased implementation and pilot running. [13] Direct changeover is when the old system is completely removed and immediately replaced by the new system. This option is risky as there may still be problems with the new system. [14] It is the cheapest and simplest form of changeover but if something goes wrong, the user cannot fall back on the old system. The staff must be fully trained in advance and all the files must be input to the new system before it goes live. [2] [15] In phased implementation, the system is introduced gradually. [11] Parts of the old system are replaced while the remaining parts are still running in the old system. As an example, a school was introducing Management Information System for all aspects of the school's operation. It could introduce the enrolment system, then four months later the examinations system and in a further four months the timetabling system. As each new module is activated and confirmed to be functioning correctly, the next module can be installed. It is likely that some modules will work with each other. For example, the timetable module assume we have all the students data and so the order in which they are introduced must be considered. [16] Pilot running is when the new system is installed for only a small number of users to test and evaluate the new system. The new system is implemented for all the users once it is considered that it has been fully tested and able to function correctly. The test users can assist in training others on how to use the new system. This implementation strategy is very useful for a system with a large number of users because it can ensure that all the users can use the system effectively. [17]
Implementation of a computerized system from a manual system can cause restructuring within an organisation. People's position and status may change. These changes can alter people's awareness of employment, security, authority and interaction with other staff. People refuse to change to a new computer system may be related to the inability of the system to do specific job requirements, security aspects, possible loss of data, concern about making mistakes when using the system and effects on health. Likewise, computerized system can affect managers in terms of their management role and decision-making process. Systems which are user friendly often meet less refusal as users feel comfortable with the system, have sense of control and be able to evaluate their stored input data. The system itself should also be sufficiently adaptable to suit different backgrounds and proficiency levels of users. Overcoming refusal to change and the adoption of the new system is a management issue. This may be influenced by the attitudes towards the system and knowledge of human-computer interaction. Thus communication skills are required to convince people of the benefits of the new system. People should be given opportunity to learn and evaluate the system. Once they have seen and experienced the benefits of the new system, they will be more ready to accept and run the system [15]
The success of system implementation is affected by the way in which systems are operated. Thus, education and training for using the system can be carried out at various levels, by considering the size and complexity of the system. Staff and personal need to be informed about the overall information structure and how to operate the system. This will give some overall understanding of system in place and how information is handled throughout the organisation. Information system infrastructures of the organisation need to be determined in order to decide what training requirements should be carried out. Firms with complex systems involving operations between regional offices through network and distributed system will need information system managers, system operators and support staff. In order to deal with problems, the staff will need training in the operation of equipment and support services. For small organisation where information systems are handled by departmental computers and software, staff may well have the responsibility of managing computer systems in addition to being users. This may be where organisation systems have been developed by end-users or through the use of application packages. Various training courses are available and this is in relation to the organisation information systems. Software houses and universities are often provide general training courses and much will depend upon organisation requirements and the location of training centres. Supplier for a particular product also provides specific training related to their product or system. Many companies which supply software have training divisions whose main purpose is to support customers and training can usually be conducted at the supplier's premises or organisation can choose for in-house training which takes place in the organisation own facilities. It is essential that the operators and users of the new system undergo training to ensure that they can run the system correctly. The cost involved should therefore be viewed as an investment in the organisation in order to achieve the expected goals. [15]
In computing, multitasking is the concurrent execution of multiple tasks over a certain period of time. New tasks can interrupt already started ones before they finish, instead of waiting for them to end. As a result, a computer executes segments of multiple tasks in an interleaved manner, while the tasks share common processing resources such as central processing units (CPUs) and main memory. Multitasking automatically interrupts the running program, saving its state and loading the saved state of another program and transferring control to it. This "context switch" may be initiated at fixed time intervals, or the running program may be coded to signal to the supervisory software when it can be interrupted.
Software testing is the act of examining the artifacts and the behavior of the software under test by validation and verification. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not limited to:
An intranet is a computer network for sharing information, easier communication, collaboration tools, operational systems, and other computing services within an organization, usually to the exclusion of access by outsiders. The term is used in contrast to public networks, such as the Internet, but uses the same technology based on the Internet protocol suite.
Defensive programming is a form of defensive design intended to develop programs that are capable of detecting potential security abnormalities and make predetermined responses. It ensures the continuing function of a piece of software under unforeseen circumstances. Defensive programming practices are often used where high availability, safety, or security is needed.
A management information system (MIS) is an information system used for decision-making, and for the coordination, control, analysis, and visualization of information in an organization. The study of the management information systems involves people, processes and technology in an organizational context.
Test-driven development (TDD) is a software development process relying on software requirements being converted to test cases before software is fully developed, and tracking all software development by repeatedly testing the software against all test cases. This is as opposed to software being developed first and test cases created later.
Implementation is the realization of an application, execution of a plan, idea, model, design, specification, standard, algorithm, policy, or the administration or management of a process or objective.
In systems engineering, information systems and software engineering, the systems development life cycle (SDLC), also referred to as the application development life cycle, is a process for planning, creating, testing, and deploying an information system. The SDLC concept applies to a range of hardware and software configurations, as a system can be composed of hardware only, software only, or a combination of both. There are usually six stages in this cycle: requirement analysis, design, development and testing, implementation, documentation, and evaluation.
In software project management, software testing, and software engineering, verification and validation (V&V) is the process of checking that a software system meets specifications and requirements so that it fulfills its intended purpose. It may also be referred to as software quality control. It is normally the responsibility of software testers as part of the software development lifecycle. In simple terms, software verification is: "Assuming we should build X, does our software achieve its goals without any bugs or gaps?" On the other hand, software validation is: "Was X what we should have built? Does X meet the high-level requirements?"
In software testing, test automation is the use of software separate from the software being tested to control the execution of tests and the comparison of actual outcomes with predicted outcomes. Test automation can automate some repetitive but necessary tasks in a formalized testing process already in place, or perform additional testing that would be difficult to do manually. Test automation is critical for continuous delivery and continuous testing.
An accounting information system (AIS) is a system of collecting, storing and processing financial and accounting data that are used by decision makers. An accounting information system is generally a computer-based method for tracking accounting activity in conjunction with information technology resources. The resulting financial reports can be used internally by management or externally by other interested parties including investors, creditors and tax authorities. Accounting information systems are designed to support all accounting functions and activities including auditing, financial accounting porting, -managerial/ management accounting and tax. The most widely adopted accounting information systems are auditing and financial reporting modules.
Phased adoption or phased implementation is a strategy of implementing an innovation in an organization in a phased way, so that different parts of the organization are implemented in different subsequent time slots. Phased implementation is a method of System Changeover from an existing system to a new one that takes place in stages. Other concepts that are used are: phased conversion, phased approach, phased strategy, phased introduction and staged conversion. Other methods of system changeover include direct changeover and parallel running.
In computing, adoption means the transfer (conversion) between an old system and a target system in an organization.
Parallel adoption is a method for transferring between a previous (IT) system to a target (IT) system in an organization. In order to reduce risk, the old and new system run simultaneously for some period of time after which, if the criteria for the new system are met, the old system is disabled. The process requires careful planning and control and a significant investment in labor hours.
Big bang adoption or direct changeover is when a new system is adopted instantly, with no transition period between the old and new systems.
In software engineering, structured analysis (SA) and structured design (SD) are methods for analyzing business requirements and developing specifications for converting practices into computer programs, hardware configurations, and related manual procedures.
An order management system, or OMS, is a computer software system used in a number of industries for order entry and processing.
Deployment is the realisation of an application, or execution of a plan, idea, model, design, specification, standard, algorithm, or policy.
A human resources management system (HRMS) or Human Resources Information System (HRIS) or Human Capital Management (HCM) is a form of Human Resources (HR) software that combines a number of systems and processes to ensure the easy management of human resources, business processes and data. Human resources software is used by businesses to combine a number of necessary HR functions, such as storing employee data, managing payroll, recruitment, benefits administration, time and attendance, employee performance management, and tracking competency and training records.
This article discusses a set of tactics useful in software testing. It is intended as a comprehensive list of tactical approaches to Software Quality Assurance (more widely colloquially known as Quality Assurance and general application of the test method.