Anbieter zum Thema
Softwarekomplexität als Motivation für die Anwendung eines Teamkonzepts
Kennzeichnend für eine teamorientierte Entwicklungsumgebung ist, dass ein und derselbe Code von mehreren Personen bearbeitet wird. Um das Team zu managen, müssen die Entwicklungsleiter einen Überblick über dessen Arbeit haben. Zunächst benötigte das Team dafür eine zentrale Speicher-Ressource, in der die verschiedenen Designmodule hinterlegt werden. Sobald diese Ressource bereitstand, benötigte das Designteam eine inkrementelle Historie der am Quellcode vorgenommenen Änderungen.
Damit in einer teamorientierten Umgebung eine effektive Wiederverwendung von Design-Elementen möglich war, musste zusätzlich eine effektive Methode zum Ein- und Auschecken der Design-Quellcodes geschaffen werden.
Während der letzten rund 20 Jahre wurde den Software-Designteams klar, dass ein Designmanagement-System die Voraussetzungen für eine reibungslose Zusammenarbeit zwischen den Teammitgliedern schaffen muss, um effektiv zu sein. Wie weiter oben bereits angeführt, muss das System außerdem in Echtzeit eine inkrementelle Historie der am Quellcode vorgenommenen Änderungen erstellen und pflegen. Dies wiederum brachte es mit sich, dass das System für jede Änderung Metadaten erfasste – einschließlich der Angabe der Person, die die Modifikation vorgenommen hat.
Dies schaffte die Voraussetzungen für eine uneingeschränkte Rückverfolgbarkeit. Es ließ sich dokumentieren, welches Teammitglied an welchem Modul gearbeitet hat und welche Änderungen es wann vorgenommen hat. Gleichzeitig erlaubte dieses System eine verbesserte Dokumentierung und Überwachung, sodass die Entwicklungsleiter sowohl die Produktivität als auch den Designfortschritt stets im Blick behalten konnten. In ihrer Gesamtheit sorgten diese Fortschritte für klare Verantwortlichkeiten innerhalb des Teams.
Versionskontrolle für das Hardwaredesign
Leiterplatten-Designteams zählen in der Regel zwischen einem und 20 Mitgliedern. Bei den üblichen Designunternehmen gehören dem Team meist ca. fünf Personen an. Ausreißer wie zum Beispiel große Halbleiterunternehmen verfügen möglicherweise über FAE-Teams mit Hunderten von Personen, die sich mit Referenzdesigns befassen. Bei kleinen bis mittelgroßen Hardware-Designteams ist es üblich, die Datenbestände für das Elektronikdesign auf den Festplatten der einzelnen Designer zu speichern. Dies hat leider die Konsequenz, dass niemand genau darüber Bescheid weiß, wo sich die Daten für ein Design befinden.
Als den Unternehmen diese Schwachstelle bewusst wurde, gingen sie dazu über, ihr Wissen in einem eigens dafür vorgesehenen Datenbestand vorzuhalten. Die für das Design der Elektronik-Hardware zuständigen Teams hatten gewisse Schwierigkeiten mit der Umsetzung einer Versionskontrolle, weil der Arbeitsablauf und die verwendeten Tools nach wie vor auf Prinzipien der Softwareentwicklung beruhten. Wegen des Fehlens eines integrierten Versionskontroll-Systems in ihren EDA-Tools versuchten die Hardwaredesigner, eigenständige Versionskontroll-Programme mit Eincheck- und Auscheck-Funktionen einzusetzen. Nicht-integrierte Lösungen versagen hier allerdings, weil weder die einzelnen Designer noch die Entwicklungsleiter von einer Version zur nächsten visuelle Vergleiche mit dem Schaltplan und der Leiterplatte anstellen können.
Anders ist es bei EDA-Software mit vollständig integrierter Versionskontrolle: hier sehen die Teammitglieder den Status sämtlicher Templates, alle Aktualisierungen relevanter Vorschriften und Normen sowie sämtliche Änderungen an allen Designs. Alle Angehörigen eines Teams werden deshalb automatisch benachrichtigt, sobald eine Änderung erfolgt. Im Softwarebereich kann ein Entwicklungsleiter oder ein Teammitglied ein ‚Differencing Tool‘ über die in der Entwicklung befindliche Software laufen lassen, um Änderungen von einer Version zur anderen zu erkennen, aufzulösen und zu übernehmen.
EDA-Tools aber generieren keine textbasierten Resultate wie zum Beispiel Softwarecode, sondern erzeugen binären und grafischen Output. Hierdurch wird das Identifizieren von Änderungen mithilfe eines textbasierten, nicht-integrierten Tools äußerst schwierig und fehleranfällig. Manager wie Designer müssen aber die Möglichkeit haben, Änderungen in grafischer Form zu sehen, in das Design einzupflegen und zu übernehmen. Keine dieser Fähigkeiten wird von nicht-integrierten Versionskontrolle Systemen geboten.
Artikelfiles und Artikellinks
(ID:40321440)