Archiv für das Tag 'SCCM'

Beitrag drucken Beitrag drucken

Die soeben erschienene Nummer 1.11 des Eclipse-Magazins widmet dem Titelthema «Verteilte Versionierung» drei Artikel. Deren Lektüre lohnt sich, wenn man Wissen zu diesem Thema aufbauen oder aktualisieren will. Zusätzlich geniesst man den Vorteil, dass die Texte auf praktischen Beispielen aufbauen und dabei Theorie und Praxis vorbildlich miteinander verbinden.

Es erstaunt nicht, dass einem Open-Source-Magazin das Versionsmangement ein Titelthema wert ist. Denn Open Source funktioniert wegen der grossen (offenen) Entwicklergemeinde nur mit einem geregelten, flexiblen und möglichst weitgehend automatisierten Versionsmanagement. Zudem ist die Welt der Versionierungswerkzeuge im Umbruch: Verteilte Systeme  – wie Git und Mercurial – lösen ihre zentralistischen Vorläufer ab – etwa cvs und Subversion.

SCCM – ein Dauerthema

SCCM ist ein Dauerthema, weil die Anforderungen sich ständig ändern. Früher war die verteilte Entwicklung die Ausnahme, heutzutage jedoch – in der Open-Source-Welt und beim Offshoring der Entwicklung – ist sie die Regel. Deshalb der Wechsel von zentralen zu verteilten Versionierungssystemen.

Es bewegt sich etwas! Es muss sich etwas bewegen.
Den ganzen Beitrag lesen »

Beitrag drucken Beitrag drucken

Martin Fowler hat seinem «Meinungsbeitrag» über die Empfehlbarkeit von Versionsverwaltungswerkzeugen (über den wir gestern berichteten),  einen «Faktenbeitrag» folgen lassen: Open-Source-Werkzeuge führen mit grossem Abstand das Feld an, die Tools grosser Hersteller belegen die Schlussränge.

Fowler berechnet eine «Akzeptanzrate»: Die Open-Source-Werkzeuge git, Mercurial und Subversion erreichen über 90 %, dann folgen Bazaar mit 82 % und Perforce mit 61 % – und dann lange nichts mehr. CVS, der Veteran aus der Open-Source-Welt erreicht 17 %, und am Schluss stehen ClearCase (5 %), VSS (3 %) und TFS (0 %).

Mit 99 befragten Personen ist die Umfrage von der Menge her befriedigend abgestützt. Antwortende waren Abonnenten der ThoughtWork-Mailings. Sicher werden da ziemlich viele Open-Source-Fans dabei sein, aber Fanatiker scheinen es keine zu sein, sonst hätten sie kommerzielle Werkzeuge wie Perforce kaum so gut eingeordnet und sie hätten ihren Veteranen CVS hochgejubelt.

Es lohnt sich, diese Liste anzusehen.

Beitrag drucken Beitrag drucken

Norbert Nigg

SCCM-Evaluationshilfe

Unter dem Titel «Version Control Tools» hat Martin Fowler einen ausgezeichneten Artikel über Software für das Versionsmanagement geschrieben, der ziemlich Beachtung gefunden hat. Wenn Sie sich gerade Gedanken machen über ein neues Versionskontrollsystem, sollten Sie sich die Zeit zum Lesen dieses Beitrags nehmen. Das wird Ihnen einigen unnützen Aufwand ersparen. Allein diese Zeichnung aus dem Artikel ist ein vielsagende Auslegeordnung, die Ihre Auswahlliste bereits verkürzt.

Unter den Reaktionen ist jene von Jay R. Wren mit dem Titel «Version control is more than just the tools» hervorzuheben, da sie weitere Aspekte in die Diskussion bringt.

Beitrag drucken Beitrag drucken

Paul Chautems

Was ist SCCM?

Das Software Change and Configuration Management (SCCM) ist eine Spezialisierung des Konfigurations-Managements auf alle Aktivitäten im Bereich der Software-Entwicklung (engl. software engineering).

SCCM integriert Kernprozesse und unterstützende Prozesse. Es verwaltet Änderungsanforderungen (Change Requests[4]) ausAnforderungen[1] und Programmfehlern[2,3]. Es führt Buch über alle Zustände (Status, Änderungen) an Source-Code und Dokumenten, die während der Software-Entwicklung geändert werden. SCCM entspricht einer «Buchhaltung für Software».

Software-Verwaltung
Grosses Bild

Software Verwaltung

SCCM ist nicht nur eine lästige, jedoch unerlässliche (Neben-)Aufgabe der Entwickler, sondern SCCM-Prozesse begleiten alle am Lebenslauf der Software beteiligten Personen, das heisst: neben den Entwicklern auch Support-Leute, Projektleiter, Tester, Integratoren usw.

SCCM ist ein System von Regeln. Je besser diese Regeln in Form von Organisation, Technik, Administration, Werkzeugen und Automatismen implementiert sind, desto reibungsloser funktioniert diese Infrastruktur. Wir halten uns an das folgende Zitat:

«SCCM is first an attitude; second, a process; and only third, a set of tools.» [B. Weatherall, 1997]

SCCM ist eine Infrastruktur für die Software-Verwaltung. Je besser das SCCM-System alle Prozesse der Software-Entwicklung unterstützt, integriert und automatisiert, desto besser sind die Entwicklungsresultate.

SCCM erlaubt es, Änderungsanforderungen im Zeitverlauf und im Fertigungsgrad zu kontrollieren. Es liefert jederzeit aktuelle Reports und Kennzahlen über den aktuellen Projektstand und ermöglicht dadurch IT-, Entwicklungs- und Projektleitern sowie Anwendungsverantwortlichen wirkungsvolle Planung und Kontrolle.

SCCM garantiert durch Versionierung die Nachverfolgbarkeit aller Änderungen an Artefakten (Spezifikationen, Source-Code, Dokumentation) zu einem Änderungsauftrag. Jede Änderung an einem Auftrag wird protokolliert und historisiert.

SCCM erlaubt es, Konfigurationen (eine Menge von Änderungsanforderungen inkl. aller betroffenen Artefakte für einen neuen Release) und alle ihre Änderungen im Zeitverlauf zu kontrollieren. SCCM garantiert die Integrität und Nachverfolgbarkeit aller Konfigurationen und die Möglichkeit der Wiederherstellbarkeit einer älteren, lauffähigen Version.

SCCM hat mehrere Ziele