🧪 Is 13 board revisions too many?

I was in a meeting recently with a potential customer, and they said they did not want to go through 50 prototypes to get a product out the door. 50 is a bit of an exaggeration, but I routinely see printed circuit boards (PCBs) at version 13 or so before being released to production, which probably seems like a waste to many people.

It depends partly on why we did 13 versions and how we did them. If the work was sloppy and it took 13 versions to clean it up, that is bad. But, if we took our best shot with v1, then deployed/tested and built an updated version each time we learned something, then 13 versions is good. We learned and fixed things before production release instead of after.

It also depends on how things are done. Some PCBs are very complex and expensive, so it is not practical to build 13 versions. But some PCBs are simply integration points - relatively simple 4-6 layer boards that contain a system-on-module connector and expansion circuitry/connectors. These boards are inexpensive to build provided the release process is automated and efficient.

A common convention is numeric versions before release and alpha or beta labels after. That works when very little changes post-release. In some products this is still true, but not generally in today’s complex, capable edge computing products. A more practical model is to view development as a linear stream of releases with production release being some subset of these releases where there is sufficient quality and customer demand.

The same applies to software. I’ve seen people who are embarrassed that there were 12 software versions and view this as poor quality. That is an antiquated view of software. In modern systems, revisions are typically a good thing. For example, the version of Chromium I’m using is:

Version 150.0.7871.124 (Official Build) Arch Linux (64-bit)

I’m not sure how many total releases this is, but probably 150 * some number of build/patch releases. Tesla has released over one thousand versions of its vehicle software.

It is time to rethink our perception of releases. Today, releases mean this product is being maintained and improved, and this translates into value for the customer.

A linear stream of releases with a few marked as production releases