An apparatus for programming a plurality of electrically separable in-system programmable devices, referred to in the claims hereafter as ISP devices, comprising: a processor configured to communicate with an application development system including a selector for selecting a type of ISP device from a library of ISP devices in order to receive a device algorithm that specifies a sequence of steps to be performed when programming a selected type of in-system programmable device, data to be programmed into each of the plurality of in-system programmable devices, and a selected bus algorithm to communicate with the type of in-system programmable device to be programmed; a programmable logic circuit that is configurable by the processor to implement the selected bus algorithm received from the application development system; and a communication interface that is configured to allow the plurality of electrically separable in-system programmable devices to be connected to and disconnected from the programmable logic circuit; wherein the processor is configured to provide the data received from the application development system to be programmed into each in-system programmable device to the programmable logic circuit in accordance with the device algorithm and the programmable logic circuit is configured by the processor to transfer the data simultaneously to the plurality of in-system programmable devices in accordance with the selected bus algorithm, and wherein the processor, programmable logic circuit and communication interface are included in combination with an automatic test equipment fixture and wherein the plurality of in-system programmable devices are mounted on circuit boards and are programmed while in the automatic test equipment fixture. a processor configured to communicate with an application development system including a selector for selecting a type of ISP device from a library of ISP devices in order to receive a device algorithm that specifies a sequence of steps to be performed when programming a selected type of in-system programmable device, data to be programmed into each of the plurality of in-system programmable devices, and a selected bus algorithm to communicate with the type of in-system programmable device to be programmed; a programmable logic circuit that is configurable by the processor to implement the selected bus algorithm received from the application development system; and a communication interface that is configured to allow the plurality of electrically separable in-system programmable devices to be connected to and disconnected from the programmable logic circuit; wherein the processor is configured to provide the data received from the application development system to be programmed into each in-system programmable device to the programmable logic circuit in accordance with the device algorithm and the programmable logic circuit is configured by the processor to transfer the data simultaneously to the plurality of in-system programmable devices in accordance with the selected bus algorithm, and wherein the processor, programmable logic circuit and communication interface are included in combination with an automatic test equipment fixture and wherein the plurality of in-system programmable devices are mounted on circuit boards and are programmed while in the automatic test equipment fixture. wherein the processor is configured to provide the data received from the application development system to be programmed into each in-system programmable device to the programmable logic circuit in accordance with the device algorithm and the programmable logic circuit is configured by the processor to transfer the data simultaneously to the plurality of in-system programmable devices in accordance with the selected bus algorithm, and wherein the processor, programmable logic circuit and communication interface are included in combination with an automatic test equipment fixture and wherein the plurality of in-system programmable devices are mounted on circuit boards and are programmed while in the automatic test equipment fixture.