Beitrag drucken Beitrag drucken

Was wir in früheren Blogbeiträgen schon mehrfach gesagt haben, scheint mittlerweile auch auf der anderen Seite des Atlantiks angekommen zu sein. Spass beiseite; zwei Blogbeiträge auf «CM Crossroads» thematisieren die Wichtigkeit, ja Notwendigkeit vonVersionsmanagement, Automatisierung, privaten Workspaces und Continuous Integration für die agile Entwicklung. Und wer macht heute schon keine agile Entwicklung?


Autor der beiden Blogbeiträge ist AccuRef, ein US-Hersteller von Werkzeugen für das Software-Konfigurationsmanagement:

Die Beiträge sprechen Wahrheiten aus, die hüben und drüben leider noch nicht Allgemeingut geworden sind.

Versionskontrolle: Voraussetzung für Agile Entwicklung

Agile Development ohne Software-Versionskontrolle ist etwa so wirkungsvoll wie Nägel einschlagen mit der blossen Faust. Entwicklung in kleinen Inkrementen funktioniert nur, so die Ansicht von AccuRef, wenn die Versionskontrolle Buch führt, Ordnung und Überblick über alle Artefakte der Entwicklung. Dazu gehören neben der entwickelten Software auch alle Werkzeuge, Datenbankbeschreibungen, Test- und Installationsscripts, Fremdsoftware usw.

Agile Entwicklung benötigt Continuous Integration

Agile Entwicklung bedeutet automatisch Continuous Integration, sprich Integration im Minutentakt, (was nicht ganz wörtlich zu nehmen ist). Was sollen die Entwickler mit den fertigen Artefakten tun? Es gibt nur Eines: integrieren in das entstehende Release. Zögerndes Abwarten hat nur zur Folge, dass darin enthaltene Fehler nicht jetzt, sondern eben erst später entdeckt werden, im Stau der andern liegen gebliebenen, zur Integration aufgeschobenen Artefakte.

Continuous Integration setzt Private Workspaces und Automatisierung voraus

Aber dass der Entwickler den Mut haben darf, ja nicht nur den Mut, sondern die Voraussetzungen, um überhaupt rasch integrieren zu können, muss er – lokal für sich – eine Umgebung zur Verfügung haben, in der er ungestört  für sich allein – vollautomatisch!, ohne manuelle Intervention – mit den «echten» Bibliotheken, Software-Builds und -Tests von A bis Z durchführen kann.  Nur so ist mit dem Gebrauch lokaler Workspaces das Phänomen«auf meiner Maschine lief aber alles!» vermeidbar.

Lokale Workspaces schützen den Entwickler vor den Einflüssen der anderen Entwickler, die ebenfalls Software integrieren. Und umgekehrt, aus der Sicht seiner KollegInnen, sind diese gefeit vor seinen Fehlern.

Haben wir das nicht auch schon gesagt?

In der Tat, das alles erinnert an einige unserer früheren Blogbeiträge:

Agile Methoden und SCCM

Gerade agile Methoden brauchen SCCM

Continuous Integration

Best Practice: Merge and Integrate as Often as Possible
Continuous Integration – 50 Mal pro Tag!

Automatisierung

Automatisierung von Build und Deployment reduziert Kosten – ein Praxisbericht
Automation lohnt sich
ALM-Integration: Prozessautomation

Private Arbeitsbereiche

Best Practice: Private Arbeitsbereiche

Fazit aus diesem Blick in die Blog-Vergangenheit und -gegenwart: Was gestern schon aktuell war ist es immer noch – und bleibt es auch, denn die Aufgaben bleiben!

Trackback URI | Kommentare als RSS

Einen Kommentar schreiben