In the world of product development, certain industries have traditionally employed system engineers, but many more have not. As technology increases in complexity, some companies are finding their once single-discipline products have morphed into the sort of multi-disciplinary systems that only system engineers are trained to manage.
Many organizations started off as primarily either hardware or software companies, utilizing the following development models:
- Software that controls hardware: primary focus is on designing hardware that provides a function. For flexibility, the control logic is developed in software.
- Hardware that enables software: primary focus is on designing software that provides a function. Software inevitably requires hardware to do anything.
In both cases, the hardware is largely created first. The hardware team begins with a few requirements from the software team, but is largely focused on the hardware.
Conversely, the software is developed once the hardware is almost or completely finished. And the software team starts work with a largely frozen hardware design in mind.
This way of working encourages very little collaboration between hardware and software teams.
The constraints of hardware and software are also quite different. This usually leads software and hardware teams to follow different processes and approach development with alternate mindsets.
Due to the lack of collaboration, hardware teams tend to design solutions that push complexity to software. Software teams tend to be stuck with the hardware they are developing on, so they don’t shift many requirements back on hardware.
With ever-increasing schedule demands, more and more hardware and software are being developed simultaneously. With every growing complexity, increasingly the solutions needed in the market are not primarily software or hardware, but rather combinations of the two.
These systems likely have much more interaction between hardware and software than the traditional models allow for. A great example of this is the exploding Internet of Things (IoT) market.
Modern products are much more focused on solving problems than ever before. The solutions focus — plus the inevitable hardware-software convergence — leads more teams to adopt system thinking. Regardless of whether they have an official system engineer, systems engineering is a necessary part of product development.
Teams primarily made up of hardware and software engineers have a problem, however. The hardware engineers are still focused on designing within the constraints of hardware development and tend to be focused on deep technical skills in that area. The software engineers are very much the same. Neither role is well suited to architect solutions that optimize for both the hardware and software constraints.
Many innovative solutions combine relatively well-understood hardware and software technology in new ways. In these solutions, much of the new engineering is done at the systems level.
Enter the Systems Engineer
Systems Engineering is an interdisciplinary approach that enables the realization of successful systems. It focuses on defining customer needs and required functionality early in the development cycle, documenting requirements, and then proceeding with design synthesis and system validation while considering the complete problem.
While systems engineering is nothing new, many industries are now encountering a growing need for it. Systems engineering started in the US in the 1950s to handle the multi-disciplinary aspects of space, weapons and communications systems. More recently, the needs have spilled into other industries, such as automotive, medical devices and industrial. This is a boon for system engineers, as many companies are adding roles focused on the position.
Check out how Jama supports the convergence of hardware and software teams with multimodal product development.