Modern products including cars, aircraft, and complex machines such as medical imaging equipment have substantial electrical and electronic (E/E) systems that implement critical functionality. E/E systems engineering complexity has reached extreme levels, with parameters such as the quantity of embedded software code, interconnection count, and configuration variability growing to unprecedented levels. Multiple engineering domains fall within E/E systems development including:
- System behavior modelling
- E/E architecture design
- Software design, implementation, and verification
- Electronics design
- Data communications network design and verification
- Electrical system design
- Wire harness design and engineering
- Documentation & diagnostics provision
E/E systems engineering is a demanding and costly task. Errors such as sneak circuits, software bugs, or manufacturing mis-builds can have catastrophic consequences that compromise product safety and brand image, and incur significant financial impacts. To overcome these challenges, many companies are adopting formal model-based engineering methods. It is now almost inconceivable that the design, optimization, verification, documentation, and logistical complexities of this domain can be addressed without the support of powerful engineering tools.
The three approaches to E/E systems engineering software
There are three basic approaches to providing software tool support to engineers:
- Non-specialized tools. In the past, it may have been possible to use general purpose commercially available software such as Microsoft® Visio® or Autodesk® AutoCAD®. Such products are low-cost and enjoy a high degree of familiarity with most users. But the demands of the modern E/E domain, coupled with requirements such as data re-purposing, make such tools inefficient and ineffective for all but the simplest situations.
- Proprietary, in-house software. Some organizations decide to develop their own tools, either directly or via a contracted organization, that are not made available to the open market. Sometimes these are implemented as extensions to general purpose tools, for example by writing complex Microsoft® Excel® macros.
- Specialized, commercial off-the-shelf (COTS) tools developed by software vendors. Spurred by the growing demands of E/E systems development, a number of vendors now offer commercially available software solutions with varying levels of sophistication and scope. These standard software packages may be supplemented by extension (customization) capabilities.
In a new paper, we examine the trade-off between approaches two and three, a task often referred to as the ‘make or buy’ decision, specifically for the E/E systems development domain.
Make or buy?
‘Make or buy’ analysis is a common business situation with guidance available from numerous sources. Factors relevant to the decision usually include the below, among others.
Economics: Companies will assess the total cost of ownership of COTS software and proprietary solutions, including costs related to development and maintenance, switching costs such as user re-training, and opportunity costs. Cash flow and capital versus operational costs can also influence the decision. Overall, economic analysis focuses on quantitative assessment where economies of scale can be major factors. Opportunity costs, such as alternative uses of human or financial resources, are often overlooked and hard to assess.
Intellectual property (IP)
Intellectual property (IP): E/E systems engineering solutions must protect proprietary knowledge, information or assets such as rule decks, manufacturing processes, and computer algorithms.
Can the software deliver what is needed, whether developed internally or via a contracted organization or COTS supplier? For software tools, this not only encompasses functionality, scalability, & user experience, but also compliance with specific IT demands such as operating system support, security policies and data protection such as GDPR. The assessment of software capability involves both technical delivery and the longevity of expertiseand knowledge developed with the tool. Indeed, an over-reliance on key staff who may be approaching retirement is a common driver of the in-house to COTS transition.
The core business philosophy and the degree to which vertical integration is desired will influence the ‘make or buy’ decision as well. Many businesses try to identify and reinforce their core competencies to avoid diluting their focus. In the context of software tools, consideration must be given to software technology, not just the application domain. Such software technologies include secure software development processes, background indexing, RESTful services, or HTML5/AJAX support. In sum, companies must decide the extent to which software application development is a core competency, especially given the advanced software technologies available in today’s COTS solutions.
In addition to core competencies, companies must consider business flexibility. In-house software development personnel are a relatively inflexible cost that can be both expensive and personally traumatic to eliminate in the event of a business downturn. Sourcing software tools from third-party COTS or contracted vendors is far more flexible, especially if the vendor offers short term license rental options.
Last, many COTS vendors provide their tools to universities and colleges at no or minimal cost. This makes it easier for companies to recruit engineers already familiar with the tools, which is not possible if in house tools are used exclusively.
To learn more about the differences between COTS and in-house software, please download our new whitepaper Make or buy? Using off-the-shelf vs. in-house tools for electrical and electronic systems development.