System integration begins with planning. Integration is an iterative process and each level of integration builds from the prior level. Components of a subsystem are integrated and tested for functionality. Successful testing is followed by the integration of the various subsystems, which are also tested and the subsystems are integrated into the complete system, which is then tested for functionality. An integral part of any system integration involves interfaces. This includes interfaces between the various subsystems, and other external systems. In addition to the various subsystems and external systems, the hardware needs to be integrated as well. It will be necessary for the hardware to be installed and operational prior to any development effort being undertaken. For a system to be successfully implemented and used, a good system integration plan must consider all the various systems, sub-systems, interfaces and hardware.