Click Here!

Summer 2008 Frontpage | Subscribe | Feedback 


In This Issue

DSP or FPGA?
How to Choose?

Air-HockeyBot
Debut


Previous Issues

Video Processing in FPGA vs. DSP

Signal Integrity 101
Series: P1 | P2 | P3

Device Spotlights

Altera Cyclone III
QPixel QL201B
Xilinx Virtex-5
Pixim D2500

Gennum VXP

IPFlex DAPDNA-2
TI DaVinci

Lattice XP
TI DM642 DSP
ADI TigerSharc
Altera's Nios II
Airgo Wireless



Nuvation HEADLINES 

New Events

» 

Nuvation's eStore is launched!

»  Nuvation is hiring! Check out Nuvation's exciting careers in North America and Asia

New Affiliations

» InPlay Technologies partners with Nuvation
 


Engineering Outsourcing 101

Chris Hallahan
Nuvation


The trend towards engineering outsourcing continues to accelerate as more companies embrace the value proposition and become more proficient at leveraging outside resources. As more companies adopt outsourcing, it is increasingly important to be fluent in managing outside engineering resources. This article discusses some of the factors driving this trend and provides insights on how to best choose and use outside engineering resources.

I should begin by clarifying that "outsourcing" does not necessarily mean "offshoring." In this article, we will consider "outsourcing" to be any engineering work that is handled by outside resources including temp employees, independent contractors, small and large North American design services organizations, ODMs, and both project-based and captive design center offshoring. We will also focus on outsourcing relative to development of embedded systems.

The primary benefit of outsourcing is accelerating time-to-market. To build a new engineering team, you must:

  • Define job descriptions,
  • Post positions,
  • Sort resumes,
  • Interview,
  • Make offers,
  • Acquire and set up engineering tools, and
  • Get the team working effectively together.

This process is extremely time-consuming. There are also secondary issues to consider including

  • The risk that new hires do not prove to be the right fit,
  • The long-term commitment to fixed overhead (i.e., the new hires' salary), and
  • The increased fixed costs in operations, IT, HR, facilities, management, and the like.

The traditional approach of pushing all engineering through a fixed "pipe" of internal staff also presents resource allocation problems. Most companies have multiple projects running at once. To prevent project delays, staff levels can be set based on the peak demand across all projects. However, this approach leaves staff underutilized during non-peak times. Alternatively, design starts can be serialized based on capacity constraints. The problem here is that project scheduling becomes disconnected from market demand: Instead of targeting market windows, schedules are set by staff levels. Either way, the approach is becoming outmoded. The tech market is dynamic, with garage and venture-backed startups continually challenging the innovation of established leaders. Product designers simply cannot afford an inefficient engineering process.

The underlying technology continues to evolve at a rapid pace as well. Every month there are introductions of new DSPs, MCUs, FPGAs, ASSPs, tools, algorithms, and the like. Companies that use new technologies quickly can capture immediate market share gains and significantly increase profits over the product lifecycle. Outside resources often have familiarity with the newest technologies, which can further reduce development cycle time. As an example, consider TI's newest DaVinci SoC, the DM6467. Nuvation is already developing a number of products based on this device. Some of this development work started before the device was even announced. We have been told that we were first to implement DM644x, first with H.264 on DM642, and first with ADI's TigerSHARC 201.

In short, outsourcing can significantly increase time-to-market while controlling fixed overhead and reducing risk. This applies to startups and established companies alike. For example, two-thirds of Nuvation's clients are firms of more than 1,000 employees and some of our largest clients are in the Fortune 100.

Choosing individual contractors and temp agencies
Consideration of outsourcing usually starts when you have more projects than people. If you need a few engineers to come onsite and integrate within a larger team, you can just contact your favorite contractors or temp agency. Contractors and temp agencies generally rely on specialized technical skills to fit a particular piece of the puzzle. You will need to supply:

  • The job requirements,
  • Facilities and (often) tools,
  • Project and personnel management, and
  • Quality control programs

Using temp resources within a larger team can be the optimal approach for new product development, especially if the development requires substantial use of in-house teams or "tribal knowledge." We suggest not using teams of independent contractors for project-based work. Independent contractors lack the team knowledge and cohesion needed to work together as a unit. Trying to have one person handle multiple disciplines can also increase project risk. Independent contractors are generally very seasoned, but there will be knowledge gaps if you stretch someone too far. Figure 1 illustrates the various outsourcing options and the pros and cons of each.


Figure 1. The outsourcing options.

Choosing an outsourcing firm
To outsource an entire project, you need to give thought to how the project is defined, partitioned, and placed with the outsourcing team(s). Because this is a major planning effort, repeated outsourcing efforts benefit from a defined outsourcing strategy that may involve North American Electronic Design Service (EDS) firms and/or captive offshore teams.

Choosing the right design services firm is critical and could be an article to itself. At a high level, you want to consider the firm's:

  • Technical skills and match with your needs.
  • Breadth of skills and personnel,
  • Geographic proximity,
  • Project management, methodology and quality programs,
  • Relationship with key vendors,
  • Rates, and
  • Stability and track record.

These attributes should be weighed specifically for the project at hand. Be sure to research them all carefully. Figure 2 provides an overview of the top-level considerations and the type of outsourcing firm appropriate for each.


(Click to enlarge)
Figure 2. Projects requirements vs. outsourcing options.

If you have incumbent service providers, the established relationship will provide insight as well as natural advantages in setting up a new project. If you are looking for a new firm, check with the major active component vendor(s) for a recommendation. Also get recommendations from peers inside and outside your company. Nuvation can attest to the importance of these recommendations—75% of our new clients find us through word of mouth. Last but not least, meet with your potential design services firm face-to-face, and with your potential project managers and technical leads.

OEMs often ask if we have developed a similar product in the past. In our experience, OEMs over-rely on this factor. Having experience programming a particular processor family can be an advantage as is experience in applications with specialized requirements, such as high volume consumer electronics, medical, mil-aero, and telecom. However, you will find that few, if any, design firms have developed a product exactly like the one you envision. The technology changes too fast, and engineers move onto other programs. Even when we have done similar work, we may not be able to disclose this fact. In addition, we often turn away clients because it would create a conflict of interest between two nearly identical programs. Instead of looking for experience on similar products, it is better to look at a firm's overall track record. The track record is relevant not only for the predicting the success of the current project, but also for predicting the likelihood of building a long-term relationship.

Breadth is also often overlooked. To illustrate, we have power supply gurus on staff that design high-efficiency discrete power supplies, power management chips, and so on. Customers who need digital board development rarely ask about our power supply expertise. However, these designers play an important role because practically every board has a power supply section. These engineers greatly speed the development process. Without these experts, a design team might just copy and paste a reference design block with a completely different stackup and power requirement. This less-advanced approach leads to few weeks of debug and a design second spin to settle in the power and noise. The same principle holds for having a seasoned signal integrity expert look over a board stackup or a DDR interface. Similarly, it is very helpful if a designer implanting PCIe can walk across the hall and consult an expert who has developed PCIe in silicon from scratch.

Cost and terms are also important considerations. Every firm will bid a project differently in terms of time & materials vs. fixed bid, what is in the SOW, the assumptions made, and how aggressive or conservative the estimate is. Thus, it is very difficult to make an apples-to-apples comparison of estimates. To make this process more manageable, focus on labor costs, which constitute the vast majority of the design firm's cost. Offshore labor is cheaper, but you need to weigh engineering productivity against the overhead of managing people across geographic, legal, cultural, and language boundaries. Exchange rates, wage inflation, and turnover issues also decrease the benefits of offshoring.

Also keep in mind is that the project cost will ultimately reflect the effort and risk involved, and that even "fixed" bids are subject to change. It is common for a design firm to underbid and then be forced to increase the quote, come up with engineering change orders (ECOs), or quit the development. We watched a promising new product for a Fortune 500 company die that way last year.

Finally, you should consider the NRE relative to the overall program investment and its strategic value. For example, suppose you have a $2M program and are tempted to save $50k on a driver package by outsourcing it to an inexpensive outsourcing firm. This sounds like a good deal, but now suppose that this move incurs an extra man-month of oversight and risks a delay to a mission-critical project. The modest savings you achieve is not going to look good in hindsight.

Specifying the project
Project-based outsourcing often entails whole-product design, including industrial design, mechanical/thermal design, boards, logic, firmware, and software. However, anything that can be effectively partitioned into a project can be outsourced on a project basis. This can include:

  • FPGA/ASIC design,
  • Board design,
  • PCB layout,
  • Firmware and board support packages (BSPs),
  • PC drivers, and
  • Industrial and/or mechanical design.

To create a project, you need a way to define the requirements, and a way to verify the deliverable. (Oftentimes the verification plan is supplemented with a post-verification support budget.) One of the first and foremost requirements for successful outsourcing is a well defined marketing requirement document (MRD) or product requirements document (PRD). You can articulate requirements by email or white board sessions, but doing so introduces additional risk and usually results in substantial iteration on requirements through the development cycle. If you haven't identified your requirements thoroughly enough to document them, you should expect that your requirements will change.

The MRD/PRD may be sufficient to serve as a Request For Proposal (RFP). However, we often look for the RFP to include a more detailed statement of work (SOW) for what is being outsourced, high-level design if known, and any other considerations such as AVLs, HALT/HASS/environmental testing requirements, and any manufacturing test fixtures or regulatory pre-certifications required. Once you have your RFP together, it is time to select your design services firm.

It is generally best to put non-disclosure agreements (NDAs) in place and have exploratory meetings before there is an immediate project to discuss, but most often the initial meeting doesn't happen until a project has been identified. The initial meeting is an important step in attracting the best outsourcing firms. To bid on a project, design firms have to bear some up-front costs. If you simply send a RFP out to a list of bidders, you will get the most aggressive responses from the firms most in need of work. These firms may not be the best qualified to handle your project. It is much better to identify your top contenders first, and then meet with each contender.

Negotiating the contract
Design firms like to know when they are going to start a project so they can plan resources accordingly. If you negotiate a fair agreement up-front, you can have these discussions openly, which is better for everyone. Plus you can avoid the time delay of putting an agreement in place and gating a project start.

Make sure that you own the IP by stipulating your rights in a legal agreement. If you do not have a legal agreement, our counsel is that case law supports the right of the developer to retain IP rights and title. Don't engage outsourcing services without a services agreement!

If you are engaging with an ODM, be careful on your terms for buying the finished product. We recently saw a case where a client had an ODM merge an off-the-shelf daughter card into the main board, with an anticipated 30% cost savings. The ODM quoted a low NRE, but it then locked the client into a long-term buy contract at a higher overall cost per subsystem. In the end, the ODM pocketed all of the cost savings, as well as the NRE cost—leaving the client worse off than before they started the project.

Managing the project
Before the project starts, you should appoint a senior technical person to be your project lead. This person should be involved in the selection of the design firm. This person should review the critical milestones and continually monitor progress against schedule and budget. Your internal project lead will need to absorb all of the product knowledge and communicate relevant information throughout your organization. The latter may include:

  • Communicating with marketing,
  • Engaging internal resources for design reviews,
  • Coordinating other resource teams,
  • Flowing component selection into your ordering systems, and
  • Engaging final product QA teams and manufacturing ops.

These tasks may consume 50% or more of the project lead's time at the start of the project. The workload generally lightens up as the development progresses.

At the first milestones, your design services firm should deliver a comprehensive and detailed set of specifications, as well as a design verification plan against those specs. The firm should also provide a comprehensive project work plan at this juncture with detailed SOW, deliverables, resource plans, and milestone dates. If you are outsourcing hardware, do a design for manufacturing/design for assembly (DFx) review with your contract manufacturer (CM), or at least confirm the design guidelines up-front. You don't want to get a design your CM can't build or test. Throughout the program you should expect a weekly status dashboard and weekly status review meeting. Ideally your design firm will issue meeting minutes and generally take care of status monitoring and internal reporting.

You should have access to people besides your project manager for any issue escalation. Once your project has started, you will have a very high cost of switching design firms and hence very little leverage. Withholding payment is at most a temporary annoyance as the fees are legally due and expensive to litigate. Plus you really don't want your design firm to stop the project mid-stream. Once your design is underway, you want the program to run as smoothly as possible and deal professionally with any bumps that may come up.

After your design is validated, the source files should all be updated and delivered by CD/DVD or FTP. (We use a system which is more secure than FTP.) The design flow should have engendered knowledge transfer, which combined with the design documentation should enable you to maintain the product lifecycle. Your design firm should still be available for support, and will likely welcome the opportunity to help you should you need extra engineers or specialized skills for any future product upgrades. However, be careful of designs which are not documented sufficiently, as this can force you into a long-term financial commitment.

Conclusion
In summary, you should look to outsourcing as soon as you find yourself with more projects than people. Make sure you have a well-thought-out plan for choosing a design firm, and try to line up a firm before you have immediate project needs. Make sure you have solid people in the driver's seat on both ends. As you get more accustomed to project-based outsourcing, you should develop relationships which will enable you to realize long-term strategic benefits. Ultimately this should give you access to expertise in broad and leading-edge technologies, right-shoring capabilities, and predictable, repeatable results.


For more information, or help on choosing the correct device, contact Nuvation at sales@nuvation.com.

Additional Quicklinks:

Read this article in DSP Design Line
Get an Online Quote

Search Nuvation.com
Customer service
· To subscribe yourself or a friend, please click here.
· Questions? Comments? Send us your feedback.





Copyright © Nuvation Research Corporation 2008. All rights reserved.
Privacy Policy | About Nuvation | NUVATION.COM