The best restaurants consistently deliver high quality meals, and stand behind their offerings if things go wrong. Custom software requires the involvement of at least two people at all stages of software development. The application expert must understand the problem and transfer that knowledge to the programmer. The programmer must then write the software and review the completed program with the application expert to close the loop. Training an application expert to be a programmer is rarely feasible because the learning curve is steep and is measured in months or even years.
Training is required, but typically is measured in weeks.
This greatly reduces development time because communication problems and delays between the experts and the programmers are eliminated. Expenses also are lower because fewer people are required to complete the project. The chief drawback to these programs has been the high cost of software licenses. These low prices mean that custom software's price advantage is only apparent in rare situations where the software cost is high relative to the total system cost and where product runs are in the thousands. Clients are much more apt to purchase a data acquisition system with name-brand software.