Installation and Maintenance of New Systems

 

This is the completion phase of the system development.  It has met the verification / validation criteria after going through the process; it is then forwarded to the organization for installation and implementation.

 

The development team ensures that the facility works well on the system of the organization.  The fact that the facility works well on the system of the developers does not guarantee that all is well until it is tested on the system of the organization.  This is the implementation process.  During this phase the product moves from the restrained environment of the development team to the live environment of the user.

 

Some preparatory activities need to be performed for effective implementation of the solution.  These activities include planning, training the user staff and testing the system.  The system is then installed and configured at the user end.

 

Implementation requires certain input such as defining the scope, method and duration of implementation.  There are some prerequisites of implementation that need to be met by the development team.  These include finalizing the number of licenses, listing the procedures for error logging, scheduling system changeover and deciding on the procedure for maintaining data backups.  A monitoring team is then organized to monitor the implementation process.

 

The implementation coordination committee identifies the requirements of the implementation process such as software licenses, project software and other standby features.  The committee looks into the implications of the system environment, staff allocation for implementation tasks, and internal communication. The implementation committee also device alternative methods of enabling   system change over.

 

Various plans created during this phase are the implementation plans.  This plan consists of details of system transfer methods, time frame for implementation details of hardware and software required for implementation, details about the date, location, and time span for implementation and details of prerequisites such as the existing network environment and the availability of related software.

 

The details of the training plan include focus area for training, details about the training courses, training schedule and roles and responsibilities. 

The details of the acceptance plan include schedule, acceptance criteria, report list and bug reporting procedures.   

The system support plan contains details of software and hardware support that will be provided after implementation.  It consists of details such as support roles and support coverage.

 

During the installation, files, components and executables are copied to the user computer.  Configuration is carried out along with installation.  This is the act of making necessary changes in the system parameters specific to target users.  Web based automatic installation tools may be used to simplify the process further.

 

Different updates are downloaded and installed to the system from time to time.  This is to ensure that the system keeps working in the ever improving information technology environment.

 

TESTING

The testing phase is the phase that is carried out to ensure quality assurance (QA).  The testing process is carried out to evaluate the quality of an IT product or solution and enforce adherence to product standards and procedures. 

Testing is a quality control activity performed to detect errors in a program.  It is performed to find the difference between the expected and the observed behaviour of the program.  Testing is the ultimate review of specialization, design and coding because it indicates the reliability and quality of a product.  Testing is planned after the design phase is over and before any code is generated.  Test cases are documents specifying “what to test” and “how to test”.  This documents needs to be well prepared before coding starts.

 

The testing process carried out in two different stages during the system development.  The first time is during technical review before and after the implementation phase before closing the project.

 

During the first stage of testing, a good test plan is prepared. This includes details of the tools and strategies used for QA activities, precedence of the tests, review and inspection details, details of staff performing the testing activities, test product details, risk identification and reduction plans, product release criteria and entry and exit criteria for each phase.

 

The two approaches followed in software testing are black box testing and white box testing.  Black box testing is not based on any knowledge of internal design or code.  It is based entirely on requirements and functionality, while white box testing is based on the knowledge of the internal logic of the code of an application.

 

The types of testing conducted during the first stage of testing, validation testing, security testing, stress testing, performance testing, volume testing, beta testing and system testing.

 

Unit testing focuses on the smallest unit of the solution.  This is either a module, database or network component that performs a function.  The developer uses the white box testing approach to test the functions. It is performed during development.

 

Integration testing focuses on testing the combination parts of an application to determine if they function together correctly.  The part can be code modules, individual applications and client & server applications on a network.  This testing is especially relevant to client/server and distributed system.  It uses both white box and black box testing.  This is often called gray box testing.

 

Validation testing is performed to test whether or not a solution conforms to requirements.  It is performed after the integration testing of software and hardware.  Configuration review is also done.

 

Security testing is performed to detect the presence of protection mechanisms in the system.  This is done to ensure that the system is not vulnerable to unauthorized access.  Some organizations employ white hart hackers to attempt accessing the system in order to detect loop holes.

 

Stress testing is used to monitor the functionality of a system when it is exposed to heavy loads or heavy repetition of actions and inputs.  It is performed to find out the maximum stress that a program can take.  This is done by white box testing method.

 

Performance testing is used to test the run-time performance of a system.  This testing occurs at all stages of the testing process starting from the unit testing.

 

Volume testing is carried out to verify the number of transactions that can be carried out at the same time in a system. Systems subjected to volume testing include real-time sales, database update or data retrieval.

 

Beta testing is done when deployment complete.  It helps to detect bugs before the final release.  It is carried out by end users who are given access to trial versions of the product to use and signify flaws.

 

System testing is done when the solution is functioning as a whole.  This is carried out to test the systems end to end functioning elements.

 

Different tools are adopted to carry out these testing processes.  This testing is done from when the period coding starts to the deployment phase where the system is handed over to the customer and user.

 

The second phase of testing is the acceptance testing.  It is carried out after installation and implementation.  The end user uses the product over a limited period to determine whether or not the product is acceptable.  This is called the user acceptance testing.  The test is performed in the form of a test series designed to run on the final system.  The outputs of these tests are recorded as pass or fail values.  The tests are measured against the input data.  The obtained output is compared to the expected output results.

 

The key tasks that are involved in the user acceptance testing are defining the acceptance criteria, developing an acceptance plan, executing an acceptance plan and developing an acceptance decision.

 

The user acceptance testing is classified into two types;  The factory testing and the site testing.

 

Factory acceptance testing (FAT) is performed at the organization where the system is being developed.  It is performed before the supplier ships the product to the end users location. It helps to detect defects in product before delivery.  This saves time and cost.  A complete documentation is prepared for FAT and is submitted to the project manager for verification.

 

Site testing or site acceptance testing (SAT) is performed at the customer end.  It is a comprehensive, fully documented, step by step process that tests all aspects of the product.  It is performed by a knowledgeable term when the product is delivered and installed at the customer end.

 

These testing activities are geared towards the quality assurance of the product.

 

FILE CONVERSION

This is concerned with the transfer of the data files of the old system to the new ones.  Software engineers may need to write special file conversion soft wares that extract old data and converts it to new format.  It then writes it to the new files.  The time is reduced when the process is automated.  This occurs in the aspect of converting files from old computerized system to new computerized system.

 

Converting files from an old manual system to a new computerized system will be time and money consuming.  Manually stored data is mainly documented on paper.  Transferring this information to the database of a computer will involve typing it with computer DTP software.  Data will have to be entered into a transaction file during business process reengineering (BPR).  This data will have to be entered into a file and converted by employing special data entry personnel.

CHANGEOVER OPTIONS

A system changeover involves retiring the old system and engaging the new system for production.  The four techniques are direct cut over, parallel operation, pilot operation, and phased change over.

 

In the direct cutover approach the old system is withdrawn from operations and the new system is engaged.  It is the cheapest technique but the most risky.  Once the new systems commences operation; the old system cannot be fall back on.  It means if the new system develops a faulty, there is no back up and data could be lost.  This could subject an organization to a heavy financial loss. The direct cutover approach is normally used for the implementation of a purchased or standard system with low chances of failure.

 

In the parallel operation approach, both the old and new systems run together for a period of time.  The old system is only retired when problems are identified and corrected on the new system.  The approach is expensive since everything is duplicated. This is the best method for converting a manual to a computer system.

 

In the pilot operation approach the new system is implemented in only one part of an organization.  The problems identified on the new system are corrected at the pilot.  The new system can then be implemented with the direct cut over approach when faults have been rectified.  The pilot operation becomes an option when a new system is to be implemented in a series of sites or departments.  This conversion can take time.

 

The phased changeover approach involves the implementation of the new system module by module. The whole organization receives parts of the system in stages.  The risk of failure is restricted to only party of the system being implemented.  It is incremental and cheaper than parallel changeover.  It is an option when a system can be broken up into self-contained modules.  This changeover is carried out by direct cut over or by parallel operation.  It can also result in long time conversion.

 

POST IMPLEMENTATION REVIEW

The post implementation review is an assessment and review of the completed project.  It is performed after the new system has been subjected to different operations in an organization for a period of time.

 

This is done to ascertain the degree of success of the project.  It checks the extent to which it met its objectives and delivered planned levels of benefits.  It verifies if it meet the specific requirements as originally defined.

 

It checks its productivity level in the working environment to see if any improvement can be made to upgrade the system.

This operation is also done to increase the knowledge and experience of the team members in order to increase their efficiency and effectiveness in system development.

 

This review is carried out by the project team.  The team draw out a list of points to analyse the functionality of the system.  They check to see if the required functionality is available, if the procedure are properly documented, published and known about.  They check if the staffs of the organization follow the operation procedures and if the projects have been properly demobilized.  Various questions are drawn out from the software requirements specification (SRS) document to see how well it meets the needs of the end users.  The extracted information from the review is then presented to business owners and leading participants of the projects.

 

SYSTEM MAINTENANCE

System maintenance involves providing maintenance support after a software is released to the customers.  Maintenance activity is needed when errors are detected after the IT product is released. The changing requirements of the IT product also require maintenance activity to cater for the changes.

The three phases of system maintenance includes the initiation phase, preparation and execution phase.

 The initiation phase starts with the commencement of maintenance activities.  The maintenance team takes over the IT product from the development team at this phase.  This is a phase of knowledge transfer from the development team to the maintenance team.  The major activities of this phase are baseline assurance and operation procedures.  The interfacing and the communication methods between the development team and the maintenance team are defined at this phase.  The plan for acquiring knowledge about the IT product is finalized.

 

The maintenance team sets up the administrative and support procedures needed for maintenance activities during the preparation stage.  The environment, software, hardware and networks are prepared for these activities.  The procedures finalized during the initiation phase are put into practice.  Bug reporting, problem solving and other support methodologies are established.

 

In the execution phase, the maintenance team commences execution of maintenance activities.  The maintenance team is in constant contact with the development team for a short period of time.  This is done for better coordination.

 

The four types of maintenance activities carried out during system maintenance are corrective, adaptive, perfective and preventive maintenance.

 

Corrective is carried out to correct bugs in the IT product using the existing code.  It focuses on the task to fix the defects that cause the code to deviate from its documented requirements.  This process takes 17 percent of the maintenance time.

 

Adaptive maintenance is carried out to make changes to the existing code to adapt to new features and functionality.  These might involve the release of new codes. The process takes 18 percent of the maintenance time.

 

Perfective maintenance is performed to restructure the existing code to remove ambiguity and improve maintainability of the code.  This process takes 60 percent of the maintenance time.

 

Preventive maintenance is carried out to protect the code against failure.  It focuses on adherence to coding standards and reduction of chances of code failure.  This takes 5 percent of the maintenance time.

 

The team implements the change based on the request procedure.  After these, deployment is undertaken according to the proposed strategy.