Five things that electronics can learn from software development
Software and Hardware do not work without each other; however, they could not be more different in regards to their development process. When developing hardware, the focus is rather on traditional and well-tested systems, while software development generally is a bit more experimental, fast-moving, and adaptive. For some decades, this was not a problem, but the electronics industry cannot keep up with the growing complexity and time constraints for much longer. According to Moore’s law, the complexity of circuits doubles per year while the costs stay at a minimum. Experts assume that this principle will collapse in the near future. In this article, you can read, how CELUS aims to tackle this by adapting the exemplary working methods used by software engineers into the CELUS Engineering Platform.
Modular development is what the software industry is better at than any other industry. The idea had its origin in the motivation to faster develop complex outcomes with more functionality. With the help of coding snippets (“modules”) a basic structure can be built extremely fast – therefore, most of the development time is invested into developing new features, troubleshooting, and optimized. This modular approach offers a solution to the lack of time in hardware development, however, it is currently not sufficiently established yet. It usually fails because of the infrastructure, technical possibilities such as a cloud, or simply the know-how of the developers.
2. Structured Databases
A structured database can help to work modularly in electronics development. Quite often, modules are manually added into an excel-list – sometimes even saved locally and only available when asking this specific colleague. However, in software development, a well-structured backend has always been considered important and manually created lists are unimaginable. This all saves time and enables data-driven decisions and processes, a good overview of the latest components as well as Design Reuse.
3. Design Reuse
For effective collaboration and reuse of modules, a well-structured database is necessary as hardware as well as software engineers must find the right modules. At CELUS, you can upload your modules in the format of Cubos into the database, which not only consists of a CAD-layout and technical specifications but also the complete documentation. Here, the software supports you with a Wizard to always have all information at your fingertips in the cloud. An “and/or”-search function offers you to easily find all data and modules for a project by your high-level requirements. If you are interested about Design Reuse in more detail, you can check this article.
4. Agile Development
In order to fastly react to changes and adaptions, agile working is the motto. Agile development, for example with SCRUM, is not only internalized and implemented by the software industry but was also significantly shaped by it. Due to structural changes as well as using special tools, every step in a project from planning to implementation can be conducted in an agile way. In the long term, this working method is offering manifold advantages especially due to faster and more complex developments: Doubled work can be avoided with a better collaboration. Tasks can also be adapted more easily when having a smaller scope. However, in electronics development, the approach is not common yet and instead, hardware engineers first finish the development, continuing with the testing, and finally, adjustments have to be made and tested again. This costs a lot of time and resources as even small mistakes can lead to major adjustments as well as a new test and verification cycle. With CELUS, bug fixes are a thing of minutes as the software automatically checks the compatibility among the components and adjusts them accordingly fully automatically.
5. Reducing Complexity
Software development has been looking for an abstraction level in the development since its very beginning – coming up with the assembler language. This degree of abstraction can be compared to the one, in which electronics development currently is. Until now, the software industry even left this language far behind and developed modern programming languages, like C++. In combination with modular working, the software industry has managed to minimize the complexity of new developments. In the meantime, the electronics industry is still waiting for the next revolution of simplification. This revolutionary change can be offered by CELUS. Due to a description of requirements in an easily usable block diagram, electronics engineers are spared from complex considerations in the first step of their layout. Afterwards, the AI-based algorithm takes over the tedious part of choosing components and checking the compatibility among each other to have high quality results. To see how our software looks, you can check our Academy Page with lots of video footage.