**11.1 Turn-key programming model**

A turn-key program (TKP) is one that is developed according to specifications because the owner has specified all the functional requirements. A TKP has the primary advantage of enabling the user to establish a program budget, inputs, and *Enhancing Program Management with Predictive Analytics Algorithms (PAAs) DOI: http://dx.doi.org/10.5772/intechopen.98758*

outputs in a scheduled manner. Turn-key programs do not provide easy flexibility in the management of changes and other features requested by the programmer.

### **11.2 In house programming model**

In in-house programming, a program is developed by the IT department of the company rather than an outside company [32]. An example of in-house programming is Google's software development, which is done using its machines that are located in various parts of the computer network system.

### **11.3 Outsourcing programming model**

Outsourcing programming is the process in which a computer program is written by a third party and generally external institutions on a consulting basis. It is a more advantageous method of programming because an organization reduces the cost of undertaking a particular project. It is also a means of ensuring time-saving in the development of computer programs because it tends to be less time-consuming when a number of experts are assigned to complete program development. The risks and challenges involved in outsourcing are confidentiality, limited supervision, possible tardiness and service-provider loyalty.
