Meet Will Spencer

Version Control For Hardware Development


As hardware teams develop products, they progress designs from initial concepts all the way to final releases. Throughout the development cycle, engineers revise their designs many times to improve them. Version control is the method of managing these design revisions. There are three main reasons why version control is important for hardware teams to implement throughout their product development. First, version control prevents losing work. Second, version control is important to organize design progression and release. Third, version control enables teams to understand how a design has progressed and document it for later review.

Version control prevents losing work

In order to prevent losing work, hardware teams want a way to make changes to a design without losing previous versions of that design. While on-prem file storage and cloud storage are efficient storage solutions for small hardware teams, they do not provide a built-in method for version control. As a result, engineers have to use a complex system of folders and file names in order to track a file’s progression. The infamous “final version_v10_FINAL” is all too common because each time a version is created it has be saved as a new file. On the other hand, most large hardware teams accomplish version control with their PDM systems and revisions can be associated with a single file. To do this, PDMs associate a revision number with each design which indicates how many times that file has been “up-revved” to a new version. Each time a file is checked out and checked back in, the engineer will preserve the previous version of the design by “up-revving” the new version from version 1.0 to version 1.1 for example. This is the ideal case. However, there are instances where an engineer checks back in a file with a new change but does not want to up-rev the design because the changes were not significant enough to merit a new revision number for that part or assembly. In these cases, certain PDM solutions such as Solidworks 3DExperience can be ineffective because they require a new design to up-revved each time it is checked back in. Bild provides a straightforward effective solution to version control which prevents lost work and provides the flexibility that teams need around up-revving designs. For example, each time a file in Bild is checked in, it appears as a version block so no work can be lost. Additionally, a designer does not have to up-rev the revision number when checking in files. When a designer does decide to up-rev the design, they are able to enter in the logical revision number based on their numbering scheme. Bild’s flexible platform enables each team to use the revision number scheme that works best for them.

A simple version control system can be created by capturing the "micro-iterations" of hardware design. A robust repository can be made by noting the different designs and their corresponding data/information each time the design is checked in.

Version control organizes design progression and release

As a design progresses, it must be reviewed by others outside of its designer to ensure it works within the larger system and that it can be fabricated. Hardware teams want to be able to have other people review a design while the designer simultaneously continues progressing the design. Version control enables anyone who is looking at a design to ensure they are reviewing the most up-to-date version. On the other hand, a designer is also able to share out-of-date versions intentionally if that is needed. Once a design is ready to be shipped, version control enables a design revision number to be associated with that design being released for fabrication. Once a design is released, both the designer and fabricator have agreed that no more changes will be made to that design in time for an upcoming build. The revision number system helps anchor that process. Bild’s version control and approval process combine to provide a simple and flexible solution for teams in order to release designs in a way that meets their needs.

Version control enables teams to understand how and why design changes happened

Hardware teams want a way for someone other than the designer to review a design to understand its progression from initial concept to released part. This ability to review is important for formal design reviews that occur before a design is released. It is also important for documentation for “post mortem” analysis after a product ships or for regulatory purposes in certain industries. On-prem storage and cloud storage do not provide a way for a design to be easily reviewed because the multitude of version files produced for each design make it complex to trace the design progression. In contrast, most legacy PDM solutions provide a method to quickly review previous revisions of a design in order to understand how it has changed. Bild does this and more. In addition to seeing how a design has changed in Bild, team members are able to understand why certain design decisions have been made. This review of how and why a design changed is achieved through the Bild feedback items and approvals.