Versionsmanagement Mit sieben Fragen zum am besten geeigneten SCM-Werkzeug

Systeme für Versionsmanagement, auch SCM-Tools genannt, helfen dabei, die Tätigkeit von Chipdesignern, Entwicklern und Testern, die jeweils mit unterschiedlichem Tempo und verschiedenen Werkzeugen arbeiten, zu koordinieren. Sieben Fragen helfen dabei, das am besten geeignete SCM-Tool zu finden?

Systeme für Versionsmanagement, oft auch als Software Configuration Management (SCM) bezeichnet, sind zu einem wesentlichen Bestandteil des Entwicklungsprozesses von Embedded-Software geworden. Sie können dabei helfen, große Mengen an Informationen und Arbeit zu beherrschen und stets auf die Unternehmensziele auszurichten, selbst wenn die Mitarbeiter über verschiedene Standorte verteilt sind oder aufgrund von knappen Abgabe- und Fertigstellungsfristen unter Druck arbeiten müssen.

Dennoch stellen Unternehmen immer wieder fest, dass die verwendeten Systeme ihren Zweck nicht wirklich erfüllen. Für Unternehmen, die ihre Anforderungen an SCM schon mehrere Jahre nicht mehr überprüft haben, kann es sich daher lohnen, einen Blick darauf zu werfen, welche Alternativen der Markt heute bietet. Manchmal werden einem Unternehmen Veränderungen aufgezwungen, etwa in Folge einer Fusion oder einer Übernahme. Das kann dazu führen, dass die übernommenen SCM-Systeme nicht mehr zusammenpassen und rationalisiert werden müssen. Dennoch schrecken die Unternehmen oftmals vor einem Anbieter- oder Tool-Wechsel zurück. Um diesen Prozess möglichst schmerzfrei zu gestalten, sollten sie sich daher sieben grundlegende Fragen stellen.

  • Aus welchem Grund ist ein neues SCM nötig?

Diese Frage mag zunächst trivial klingen, doch es macht einen Unterschied, ob man SCM neu einführen möchte oder ob man beispielsweise mehrere SCM-Tools übernommen hat und nun ein einziges System zum Standard machen möchte. Ein weiterer Beweggrund könnte der Wunsch sein, dieselbe SCM-Plattform zur Teamarbeit zu verwenden, die auch Partner und Kunden nutzen. Andere Anlässe sind etwa globale Expansion (dann wird die Forderung nach Systemen dringlicher, die länderübergreifende Teamarbeit unterstützen) oder die Anforderung, SCM-Systeme zu nutzen, die Entwicklungstrends wie »Continuous Delivery« oder »Agile Softwareentwicklung« unterstützen.

  • Was muss das System leisten können?

Zuallererst ist es wichtig, die Anforderungen der Elektronikbranche zu spezifizieren. Generell benötigen Elektronikdesigner SCM-Systeme, die eine schnelle Marktreife und -einführung ermöglichen. Ferner muss das System unter anderem mit Werkzeugen wie integrierten Entwicklungsumgebungen (IDEs) harmonieren sowie Defect-Tracking und Continuous-Integration, Rapid-Prototyping und komponentenbasiertes Design bieten. Die Fähigkeit, Schaltpläne, Chipset-Designs und die dazugehörigen Dokumentationen in das SCM-System mit aufzunehmen, wird wohl ebenfalls eine wichtige Funktion sein.

Darüber hinaus ist zu überlegen, ob die Zusammenarbeit mit Dritten notwendig ist (beispielsweise, wenn mit Erstausrüstern (OEMs) oder Unterlieferanten gearbeitet wird) und welche Plattformen und Betriebssysteme berücksichtigt werden sollten (ist die Unterstützung von Open-Source-Software notwendig?).

  • Wer sind die Anwender?

Die Bandbreite an Personengruppen, die SCM-Systeme verwenden, hat sich im Laufe der letzten Jahre ausgeweitet. War SCM traditionell die Domäne von Softwareentwicklern, gilt heutzutage in der Regel, dass SCM in so gut wie jedem Unternehmensbereich verwendet wird. Selbstverständlich ist es von Unternehmen zu Unternehmen sehr unterschiedlich, wer genau SCM verwenden muss, doch in der Elektronikbranche sind die typischen Anwender unter anderem die technische Belegschaft, das Marketing- und Produktmanagement-Personal (das für die Markteinführung eines Produkts verantwortlich ist) sowie externe Dritte (zum Beispiel unabhängige Test-Organisationen). Der Kasten »Checkliste: Wer sind die Anwender?« bietet sich als Grundlage zur Prüfung an.

 Checkliste: Wer sind die Anwender 
Softwareentwickler, Softwarearchitekten, Systemadministratoren und weiteres IT-Personal
Qualitätskontrolle
Betriebsablauf und Produktion
Hersteller weiterer Inhalte (z.B. Design und Marketing)
Nicht-technische Belegschaft in Wartung und Administration 
Management
Mitwirkende außer Haus (freie Mitarbeiter und Zulieferer), Partner und Kunden

Alle dort genannten Gruppen werden eine bestimmte Oberfläche und einen bestimmten Prozessablauf für ihre Interaktion mit dem SCM bevorzugen, sei es über eine grafische Benutzeroberfläche, ein nahtloses Plug-in oder vielleicht sogar eine Integration, welche die Nutzung eines Offline-Versionierungswerkzeug erlaubt und gleichzeitig die volle Anbindung an das Versionierungssystem des Unternehmens beibehält. Des Weiteren wird jede Gruppe auch ein individuelles Maß an Schulung und Betreuung benötigen.

Die eigenen Leute befragen

Ein guter Ansatzpunkt ist es, eine buntgemischte Teilmenge des Personals zu befragen, um deren Probleme und Wünsche herauszufinden und an welcher Stelle im Produktlebenszyklus sie mit dem SCM interagieren. Alternativ lässt sich auch aus einigen Repräsentanten der unterschiedlichen Unternehmensfunktionen ein Auswahlteam für das SCM-Tool zusammenstellen.

  • Wie sieht der ideale Evaluierungssprozess aus?

Idealerweise wählt ein Kunde drei bis fünf Hersteller für eine Evaluierung aus. Eine größere Anzahl könnte schnell den Rahmen sprengen. Eine Evaluierung mit weniger Anbietern kann ebenfalls problematisch sein, denn dies könnte am Ende Fragen darüber aufwerfen, wie die Entscheidung zustande gekommen sei. Bei einer Menge von drei Herstellern wird der Auswahlprozess hingegen notwendigerweise auf das übersichtliche Ergebnis »gut, besser, am besten« zugeschnitten.

Eine Produktvorführung ist selbstverständlich notwendig. Dem Hersteller sollten jedoch bereits im Vorfeld Informationen zu Anforderungen und Prozessen zur Verfügung gestellt werden, damit die Demonstration auch wirklich auf die Bedürfnisse des Unternehmens zugeschnitten ist. Natürlich kann dieser Schritt übersprungen und gleich eine kostenlose Testversionen ausprobiert werden. Doch dies ist weniger zielführend. Denn Vorführungen haben den Vorteil, dass sich der Software gleichsam ein Gesicht zuordnen sowie abschätzen lässt, wie es ist, mit diesem Hersteller zu kommunizieren (was für zukünftige Support-Anrufe wichtig ist).

Ist der Favorit ermittelt, folgt die Bitte um eine kostenlose Testversion. Hierbei ist es oft klug, diese einem Pilotteam vorzubehalten oder verschiedene Entscheidungsträger darum zu bitten, das System zu testen und anschließend ein Feedback zu geben.

  • Lassen sich die realen Kosten berechnen?

Die Berechnung des Return on Investment (ROI) kann komplex sein, da hierbei viele Faktoren in Betracht zu ziehen sind. Der Hersteller sollte dabei helfen können, doch muss darauf geachtet werden, auch die Kosten für Administration, Hardware, Projekthosting, Schulung, Beratung und Support mit einzubeziehen (Bild 2). Außerdem sollte klar sein, dass Open-Source-Software – auch wenn sie selbst »kostenlos« ist – sicherlich nicht ohne Kosten für diese zusätzlichen Leistungen auskommen wird (und kann sie überhaupt die benötigte Leistungsfähigkeit, Verlässlichkeit und Skalierbarkeit bieten?).

Die Hersteller sollten zuverlässig angeben, wie oft neue Features und Updates zur Verfügung gestellt werden und ob letztere bereits im Preis mit inbegriffen sind. Es muss Klarheit über die Voraussetzungen für Hardware und Netzwerk herrschen, und die Anforderungen an Sicherheit sowie den Schutz des geistigen Eigentums müssen erfüllt werden. Werden das Lizenzmodell, die Pauschalkosten, die Bedingungen des Abonnements oder andere Zahlungsmodelle im Detail erklärt? Wie viel wird es kosten, den Support in Anspruch zu nehmen? Bleiben die Kosten berechenbar, auch wenn sich die Nutzung im Unternehmen ausweitet? Gerade dies ist ein wichtiger Punkt. Manche SCM-Systeme sind herausragend bei der Unterstützung kleiner Teams, doch sobald sie umfangreiche Daten-Repositories und größere Teams verarbeiten sollen, kommen sie ins Straucheln. Muss das SCM 5, 50, 500 oder 5000 Anwender unterstützen können?

Bei einem Systemwechsel hingegen kann es sinnvoll sein, in Beratungsservices zu investieren, entweder vom Hersteller selbst oder von einem seiner bevorzugten Partner. Besitzen Unternehmen verschiedene oder veraltete SCM-Systeme, sollten sich alle Legacy-Daten in eine einzige, neue SCM-Umgebung übertragen lassen. Doch das kann durchaus anspruchsvoll sein.

  • Wie sieht es mit dem Support und der Community aus?

Da das SCM in der Regel den Kern des Produktentwicklungsprozesses bildet, muss der Support absolut erstklassig sein. Gespräche mit Bestandskunden liefern Hinweise darüber, was Anwender vom Support des favorisierten Anbieters halten. Bietet der Hersteller zusätzlich eine Community sowie Schulungen, Ressourcen zu Best-Practices, Beratung und Anwenderveranstaltungen? Ist das »Ökosystem« des Herstellers »lebendig«, welches das Tool hinsichtlich Integrationen mit Drittanbietern, Beratungsunternehmen, von Kunden erstellten Modifikationen und Foren umgibt? Diese Fragen müssen sich alle mit einem eindeutigen Ja beantworten lassen.

  • Wird der Wechsel wirklich einen spürbaren Unterschied bringen?

Diese Prüfung ist wichtig, denn SCM-Systeme können dabei helfen, Produkte schneller auf den Markt zu bringen. SCM-Anbieter sind deshalb als strategische Partner zu betrachten, denn letztendlich vertrauen Kunden ihnen ihr geistiges Eigentum an. Es kann verlockend sein, ein SCM-Tool nur deshalb auszuwählen, weil es weit verbreitet ist oder weil es bereits bei einer vorigen Arbeitsstelle verwendet wurde oder weil es von der Konkurrenz genutzt wird. Diese Bewertungskriterien sind jedoch zu schwach, um eine Kaufentscheidung stichhaltig zu begründen.

Kundenreferenzen aus der Elektronikbranche geben hingegen Aufschluss darüber, ob der Hersteller ein Marktsegment wirklich kennt. Auch der Besuch von Anwenderveranstaltungen und -konferenzen stellt eine sehr gute Möglichkeit dar, auf informelle Art und Weise einen Blick auf die Referenzen des Herstellers zu werfen. Ferner liefern Analystenberichte Erkenntnisse, um die Leistungsfähigkeit und Zukunftsbeständigkeit des Anbieters einzuschätzen, zum Beispiel im Hinblick auf die Themen: Wie oft wird das Produktportfolio erneuert, und kann der Hersteller eine zukunftsorientierte Produkt-Roadmap vorweisen?

Über den Autor:

Sven Erik Nop ist Lead Consultant bei Perforce Software.