October 3, 2016
in three weeks. Image courtesy of Gumstix.
As embedded software and control systems become a dominant part of a product’s overall makeup, manufacturers are turning to embedded software engineering services and new types of design tools to ease the burden of embedded system design.
According to VDC Research, about half of companies across industries opt for some level of outsourcing of embedded software development tasks—a figure that has held pretty steady over the last few years. Manufacturers are bullish on outsourcing these functions for a variety of reasons—from taking advantage of low-cost labor pools in foreign markets to gaining access to talent and experience they simply can’t replicate in house in any affordable manner, according to Chris Rommel, executive vice president at VDC Research.
Beyond lack of talent or inability to handle growing product complexity, many engineering teams are driven to outsource embedded software development simply because they are under pressure to get product to market quickly and a third-party partnership is the most expedient way to get work done. “As all products become much more complex, it’s not that organizations don’t have the talent internally to do things, it’s that they are expected to create much more complex products in a shorter amount of time,” Rommel says. “Sometimes having enough horses in the stable is the real challenge.”
Being able to apply more man hours to get a product to market gives an organization far more agility to responding to the ebbs and flows of project demands without as much liability or the need to carry significant overhead, he adds. It also allows for better utilization of design talent—for example, not overcommitting to hiring engineers with a specific skill set that might go out of vogue once a project is finished, he says.
“Planning for a certain percentage of work on an on-going basis to be conducted by contract engineers helps keep companies more agile,” Rommel says.
Breadth of Domain Expertise
Nuvation Engineering, which delivers an array of product development services related to electronics design, is definitely seeing an uptick in demand for its embedded software expertise, according to Michael Hermann, the firm’s COO. Customers typically contract the firm for two reasons: First, for bandwidth issues because they have too many projects on their plate and not enough resources, or second, because they need access to a capability that’s outside the scope of their in-house talent. Even those companies with embedded software developers on staff often contract for outside services because they require expertise that transcends their internal knowledge of specific products and industries, Hermann explains.“Companies with internal embedded software development functions see a lot less than a company like ours that lives and breathes product development,” he says. “We provide services across so many industries and pieces of technology, we can take expertise gleaned from consumer electronics projects and apply them to a medical device effort, for example,” he says. “The approach also allows companies to focus on their special sauce—the intellectual property at the core of their product. And when you’re only dealing with an in-house team, you don’t have access to that large group of engineers with different skill sets that will ultimately result in a product that’s most effective.”
Contracting for embedded software services can buy an engineering team a number of other benefits. For one thing, service providers like Nuvation follow a more rigorous design methodology than most small- and mid-sized companies, which will result in a lower cost of development and help eliminate problems early on before they become overly costly to address, Hermann says. Nuvation is also out in front in adapting newer agile software development practices, common in the software development world, to embedded software design that provides its customers with better results, he maintains.
Conquest Consulting, a software engineering company, has also seen increased demand for embedded software design services, but contracted in tandem with other kinds of services in areas like web development and communications. “In the old days, we’d be called in to design a closed-loop system used to perform a single task, but now embedded systems are being used to collect data and communicate it externally,” explains Lance Liefert, CEO at Conquest. “Not very many companies have that diversity of expertise unless they use the outsource model.”
Working the Relationship
Choosing the right embedded software services provider is half the battle, but it’s key to put best practices in place—and adhere to them—to ensure the relationship delivers real value. On the hiring end, Liefert advises engineering organizations to make sure that they have a clear understanding of what technical capabilities they need, especially because embedded software is such a niche area of expertise. A high-level project manager with deep technical expertise, potentially in the area of systems engineering, can be an effective bridge between the engineering department and the outside services firm to keep everyone on the same page and to be sure all requirements are being met. “When it’s just a business manager that determines what company to hire, that’s where things can fall apart,” Liefert says.
Ensuring that there are adequate internal resources to deploy on testing and quality assurance is also advised when there is externally developed embedded software code, says VDC Research’s Rommel. Staffing up to handle review of external content and investing in automated testing tools are a good way to ensure the group is appropriately prepared.
The temptation for many companies will be to move forward to code quickly—a scenario that Nuvation’s Hermann highly discourages. Having a defined set of requirements, working within a methodical, clear-step approach and leveraging proven change management and collaboration processes will ensure that things move forward at a reasonable pace—but more importantly, result in a top-quality product with a lower cost of development, he says.
Finally, Hermann says to bring the embedded software partner into the project in the early stages of development, not after work is well underway. “The earlier the better, because we can provide a lot of value with our multi-industry and technical expertise,” he says. “We don’t want clients to throw something over the wall early, we want the wall to be torn down with both partners working together.”