In der Softwarebranche kommen Versionskontrollsysteme (Version Control Systems, VCS) bereits seit mehreren Jahrzehnten zum Einsatz. Im Elektronikdesign sind jedoch viele Fachkräfte immer noch erstaunlich wenig vertraut damit. In diesem Artikel bieten wir einen Überblick darüber, was ein VCS ist, wofür es nützlich ist und warum Sie es für Ihre PCB-Designprojekte verwenden sollten.
Versionskontrollsysteme dienen zum Speichern von Dateien und zur Dokumentation des Revisionsverlaufs. Angenommen, Sie haben ein Dokument verfasst und veröffentlicht und dabei einige Änderungen vorgenommen. Es wäre vermutlich angebracht, einen Überblick darüber zu behalten, welche Änderungen das genau waren und wann sie vorgenommen wurden, nicht wahr? Genau diese Aufgabe erfüllt ein Versionskontrollsystem, und zwar sowohl für Einzelpersonen als auch für Teams. Benutzer „committen“ bzw. aktualisieren ihre Änderungen, die dann an einen Server gepusht werden. Dieser Server dokumentiert dann alle von den Änderungen betroffenen Dateien samt aller weiteren Metadaten, die der Benutzer bereitstellt (z. B. Kommentare). So entsteht ein Verlauf, der bei Bedarf angezeigt werden kann, um nachzuverfolgen, welche Änderung wann und von wem vorgenommen wurde. Dies ist besonders hilfreich, wenn innerhalb eines Teams Änderungen vorgenommen werden, die rückgängig gemacht oder überprüft werden müssen. Für Leiterplattendesigns kann ein Versionskontrollsystem, wie das von Altium 365, alle Änderungen innerhalb Ihres Projekts nachverfolgen – von Änderungen der Bauteilparameter bis hin zu massiven Leiterbahnänderungen innerhalb Ihres PCB-Layouts.
Um die Vorteile eines VCS im vollen Umfang aufzuzeigen, wollen wir uns zunächst kurz den aktuellen Ist-Zustand und die damit verbundenen Einschränkungen vergegenwärtigen. Aktuell kann nicht davon ausgegangen werden, dass alle Anwender bei Leiterplattendesign-Projekten mit Versionskontrollsystemen arbeiten. Als ich vor über zwei Jahren über das Arbeiten mit Git in Altium Designer geschrieben habe, war das für die Community noch ein relativ neues Konzept. Seitdem kommen zwar bei immer mehr Projekten in Altium Designer die Versionskontrollsysteme zum Einsatz. Allzu oft wird jedoch immer noch nach dem Schema verfahren, das ich damals in meinem Beitrag beschrieben habe: Das Design wird als ZIP-Datei per E-Mail hin- und hergeschickt – und zwar zwischen Teams innerhalb eines Unternehmens! Ein weiteres klassisches – vermeintlich „optimiertes“ – Szenario sieht so aus, dass alle Beteiligten ihre Designpakete in einem gemeinsam genutzten Laufwerk ablegen, das entweder netzwerk- oder cloudbasiert ist. Das stellt zwar zweifellos eine Verbesserung gegenüber der vorherigen Methode dar, ermöglicht aber immer noch keine echte Zusammenarbeit zwischen den einzelnen Teams. Stattdessen arbeitet jeder in seinem Silo vor sich hin und legt dann das Ergebnis auf dem gemeinsamen Laufwerk ab. Heutzutage erfordert Zusammenarbeit jedoch, dass Konflikte in einem einzigen Dokument zusammengeführt, Änderungen verglichen und Kommentare in Echtzeit hinzugefügt werden können. Ohne ein leistungsstarkes VCS ist Leiterplattendesign heute einfach nicht mehr möglich.
Viele Kolleginnen und Kollegen sehen keine Notwendigkeit, ein VCS einzusetzen, weil sie doch sowieso alleine arbeiten. Ich persönlich habe bei meiner Arbeit als Programmierer und Leiterplattendesigner immer ein Versionskontrollsystem in irgendeiner Form verwendet. Und zwar vor allem aus einem Grund: einem Mangel an Vertrauen.
Wenn Sie diese Probleme in Ihren Arbeitsabläufen gelöst haben, kann ich Sie nur beglückwünschen: Sie haben Ihr ganz persönliches Versionskontrollsystem erfolgreich implementiert! Wenn nicht, dann gehören Sie zur großen Mehrheit derjenigen, die gut beraten wären, ein VCS zu nutzen – und zwar auch dann, wenn Sie alleine arbeiten. Wenn Sie sich zu einem zukünftigen Zeitpunkt doch dafür entscheiden, weitere Mitarbeiter ins Team zu holen, erleichtert ein vorhandenes VCS das Onboarding erheblich.
Bei der Implementierung eines VCS wie Subversion, Git oder Altium 365 geht es hauptsächlich um Revisionsschemata und Speicherlösungen. Dies sind die beiden Hauptvorteile, die jede VCS-Lösung bietet. Ein VCS dokumentiert den Verlauf sämtlicher Änderungen und stellt einen Speicherort (im Regelfall auf einem Remote-Server) bereit, an dem Sicherheitskopien aller Dateien hinterlegt werden. Für bestimmte Anwendungsfälle mag das ausreichen. Die Mehrzahl der Anwender hat heute jedoch höhere Ansprüche – erst recht, wenn virtuell mit anderen Remote-Anwendern zusammengearbeitet werden soll. Im Beitrag Welche Vorteile bietet Altium 365 gegenüber einem Standard-Versionskontrollsystem? wird näher erläutert, welche Optionen und Tools für eine optimale Zusammenarbeit erforderlich sind und über den Funktionsumfang gängiger VCS-Lösungen hinausgehen.
In diesem Beitrag haben wir Ihnen einen Überblick über die Funktionen und Vorteile von Versionskontrollsystemen für das Leiterplattendesign gegeben. Anhand von Beispielen wurden die Abläufe beim Leiterplattendesign ohne Versionskontrollsystem sowie die damit verbundenen Einschränkungen aufgezeigt. Die Möglichkeiten gängiger VCS-Lösungen wurden kurz erläutert und Argumente angeführt, die für den Umstieg auf eine anspruchsvollere Lösung wie Altium 365 sprechen. Im Beitrag Welche Vorteile bietet Altium 365 gegenüber einem Standard-Versionskontrollsystem? erhalten Sie genauere Informationen zum erweiterten Funktionsumfang von Altium 365.
Um die ganze Bandbreite der Möglichkeiten von Altium Designer auf Altium 365 kennenzulernen, starten Sie am besten noch heute Ihre kostenlose Testversion von Altium Designer und Altium 365.