Deployment architecture II – interdisciplinary interfaces
One of the most common points of failure in the development of embedded systems is inadequately nailing down the interdisciplinary interfaces, especially the electronics-software interfaces. These interfaces inform related disciplines about common expectations regarding the structure and behavior of those interfaces. Left to their own devices (so to speak), software engineers will develop interfaces that are easy for software implementation, while electronics engineers will develop interfaces that simplify the electronic design. Interdisciplinary interfaces are best developed cooperatively with all the contributing engineering disciplines present.
In my experience, it is best to develop these interfaces early to set expectations and freeze these interfaces under configuration management. This is important even if some of the details may change later. When it becomes obvious during the development of a facet that an...