I’ve been participating in a great discussion on LinkedIn about why the medical device industry is so far behind the times when it comes to adopting modern software development practices.

Part of that discussion has centered on the requirement in the medical devices industry to validate every piece of software that you use to make sure that it functions as intended.

On LinkedIn, Raymond commented:

Med companies with quality systems will have to validate within their quality systems. Pre validated tools may help, and may lead to a more rubber stamp validation, but the internal validation must be done. Oh, even source control tools and clients need to be validated…

… an entry into a quality system is still required, even if it says “validated by requirements verification”. This is one of the reasons SW tools used in regulated environments are generally behind. Not to mention medical/automotive grade OSs. And also why projects and sometimes even departments become ‘version locked’.

While I understand the validity (hah) of this practice, I personally think it leads to the worst kind of box-checking, waste-of-time busy work that doesn’t add value or increase quality.

I’m not bashing the commenter above – he is pointing out a reality that exists in the medical device industry.

I’m saying this reality makes me very angry.

I’m still developing my thinking on this subject, and I have a lot to learn about the challenges facing various organizations (and teams within larger organizations).

But:

  • Everyone knows that electronic quality management systems are the way to go.
  • Most people who develop software for a living know that highly automated testing and continuous integration are the way to go.
  • I’m a big proponent of Test-Driven-Development (TDD), which requires a unit-testing framework such as Unity or CppUTest. I guarantee you there are several great open-source options for whatever programming language you are using.

There are still companies that resist all of these practices, because, quality. Or something.

Is there someone at a medical device company out there who thinks: “Gee, I’d love to start unit testing my code, but our company has such an onerous tool validation procedure, that it’s just not worth it.”

The thought kills my soul.

If a process doesn’t provide value, get rid of it.

If some portion of a process is necessary (and it usually is) then for the love of all that is holy, streamline it.

As I’ve said many times, and as everyone in this industry is well-aware, the work we do directly impacts the quality of people’s lives. It is our duty to ensure that the products we release are of the highest quality. Shipping lower-quality products because of processes that were instituted in the name of quality is insane.

Rant over. But… more to come.

Happy developing!