I was speaking with a friend about software standards for power electronic converters. We were talking about how to get better embedded system software. He asked me to look at the book “Better Embedded Systems Design” by Philipp Koopman. I borrowed a copy a copy from my local engineering library. It looks good and covers all the areas that are required in software for Power Electronics. Most of the stuff covered we have in our internal standards or design rules. There are good section on comments and what they are able to do and what they are not able to do. At the moment here at ELMG Digital Power our standard is to use minimal comments as we have found that they do not get maintained.
Issues Tracking is a must
The issue tracking chapter in the book is good also. We use JIRA for issues tracking. Having issue tracking is a really good sign that code will be OK.
In terms of quality for software we go back to the source Demming for lots of our quality thinking. It is useful also to have the six sigma stuff around for its mathematical “control of variation” stuff. I know that some of the young guys that join us find having to learn about Demming either distracting or irrelevant. It always useful to have a basis for quality and Demming’s approach is a great foundation.
And there are standards already
A good grounding in IEC61508 standards is useful too. Requirements tracking and testing is required in these. The medical devices software requirements are similar to IEC61508. We use the 61508 approach regularly it gives a great basis for safety critical programmable systems. The ISO 26262 is the motor vehicle industries take on 61508 with wriggle room so they can avoid some of the really expensive requirements. It is interesting to note that ISO26262 is a very recent standard.
Even household appliances have their own safety critical control standards in IEC60730 which is called out in the household appliances standard IEC60335. And as household appliances run unattended they are actually really high risk. I was once told at a functional safety course that there are 30000 washing machine fires in the EU every year. I cannot be certain of that number.
Other approaches to software quality include DOD 178 standards for code development and audit.
Another Book worth a looking
Another book that I like is the “Art of Designing Embedded Systems” by Jack Ganssle. He is far more an engineer made good in embedded software development guy and so is far more – “get your scope out”. Lots of software guys dislike Jack Ganssle because what he says is outside their competence. He is a very useful thinker.
Better Embedded System Software – just a dream
In summary the Koopman book “Better Embedded Systems Design” is a really good overview of the things that need to be done to get “good” software.
It seems that mostly people ignore all this software quality stuff in power supplies. And yet with the increasing trend to software control in power electronics better embedded system software is probably what power supply engineers need.