As in assembly, going outside has its time and expertise advantages.

Test and Inspection Test escapes leading to field returns are a test engineer’s worst nightmare. The cost of field failures is enormous. As with each test and inspection step, robust test implementations can reduce the potential for field failures. One of the fundamental steps for creating a good test implementation at in-circuit test is having a good program.

The competition in the programming house arena is fierce. Companies range from an individual based in a home office who writes programs to international infrastructures with as many as 10 ICT systems under their roof. All will write programs for ICT systems. Typically, they require the board CAD, bill of materials (BoM), schematics and at least one known good board. Depending on the programming house, responsibilities may include design for test and strategic consulting to establish requirements and specifications to implement the best test strategy. Tradeoffs will be discussed and made. For example, if a certain probe size is a little unreliable, they would ask whether it gets used. The coverage needs are obtained through dialogs among the OEM, EMS firm and the programming house. The programming house, with information about coverage established, can get the ICT test fixtures built. After the fixture is built, debug and install can proceed. Programming houses often have a process to support change orders over time as well.

There are several reasons why a company would choose a programming house. The manufacturer may be too busy to focus on programming. It may not have the talent within its organization due to outsourcing or restructuring. It is typical for EMS firms to lack ICT programming expertise in-house. Time to market may be so short, outsourcing to a programming house is necessary to shorten the implementation critical path or maybe the internal resources have a bandwidth constraint (e.g., five programs are needed by a certain date, but the available capacity can handle just two). Additionally, a programming house has expertise and focus on programming (as opposed to bringing up an entire manufacturing line or process), and that focus may translate into an expedited product with potentially better test coverage. Another benefit is the programming house will work with the fixture vendor, therefore eliminating one more communication step; i.e., the customer can work with just the programming vendor instead of both the programming and fixture houses. In some cases, a programming house may also be part of a fixture house.

Change and new line implementations of new products happen frequently. If an OEM driver is ramping at an EMS and has used a programming house, but is also ramping at a different EMS the following month, the OEM can deploy its program and coverage scenario over and over easily, having used a programming house. If the OEM driver may implement in many countries, a programming house may provide additional advantage and, in some cases, programming houses have a worldwide presence – another consideration when choosing a programming house. Also, when the OEM uses multiple EMS firms, by using an independent third party, the OEM would own the test program and can ensure consistency among the subcontractors when it comes to ICT. Test programs become the common screen at their EMS firms and can be used to measure performance.

A common pitfall associated with ICT programs is engaging the programming houses too late. OEMs are often the companies that contact the programming houses, while the EMS firms are the ones that have the ICT systems. Therefore, the programming house will work directly with the EMS. However, since the OEMs have already received a production quote from the EMS, if it forgot ICT, an issue can arise. OEMs need to talk to the programming houses early and directly for the best results. As with anything, communication needs to be clear. The programming house and customer have to be in alignment on what the ICT system capabilities are, what they are trying to accomplish with their program, and so on.

With so many options available, how do you choose a programming house? A good programming house will help their customers make money. It can help reduce the bone-pile. If it doesn’t see enough test coverage, it can tell its customers to respond and provide recommendations on improving access. Look for a turnkey system with a pool of engineering talent. Ideally the programming house has a good working knowledge of all the test steps (i.e., AOI, AXI, and functional) so it can help with the overall dynamic, which goes beyond just saving you money short-term by providing a “cheap” program implementation. To that point, if, for example, you save $2,000 on the programming today, do you risk losing the ability to save on your program implementation over time? If that $2,000 is spent to obtain a better test, resulting in a 0.5% reduction in warranty returns, isn’t that a compelling return on investment? Thinking long-term and globally will make a big impact in the long run. In many cases a test strategy can save money over time with a good coverage plan.

Au.: Thank you to Bob Bower from Everett Charles Technologies ( and Dan Orlando from Solution Sources Programming Inc. ( for their consult during the preparation of this column.

Stacy Kalisz Johnson
is Americas marketing development manager at Agilent (;

Submit to FacebookSubmit to Google PlusSubmit to TwitterSubmit to LinkedInPrint Article