Management-Zusammenfassung dieses Beitrags:
Wenn Änderungen an bestehenden Softwaresystemen durchgeführt werden, sollte dies möglichst gezielt und transparent erfolgen. Um zu notieren, welche Änderungen erfolgt sind, wird häufig ein Changelog (Änderungsprotokoll) eingesetzt.
In diesem Beitrag wird eine Beschreibung des Changelogs geliefert.
Das Changelog ist in der Regel eine reine Textdatei, in der in stichpunktartiger Form Änderungen von neu herausgegebenen Software-Versionen festhält. Dabei ist das Changelog häufig fortlaufend, d.h. es werden alle Änderungen aller Versionen (seit der Freigabe des ersten Releases) notiert, wobei die neuste Version oben steht. Das Changelog ist immer menschenlesbar, Maschinenlesbarkeit ist nicht gefordert. In der Regel ist das Changelog öffentlich, sodass Kunden und Nutzer des Softwaresystems die Changelog-Einträge einsehen können.
Achtung:
Das Changelog darf nicht verwechselt werden mit der Change-Request-→ Liste (CR-Liste). Die CR-Liste dient der Verwaltung von Änderungsanträgen (→ Change Requests) und nicht der Erfassung von durchgeführten Änderungen.
1. Einleitung und Grundlagen
1.1 Definitionen
In der Wikipedia steht zum Changelog /#Wiki-Changelog/:
“Ein Änderungsprotokoll, englisch Changelog, ist ein Protokoll oder eine Aufzeichnung von Änderungen an einem Projekt wie beispielsweise einer Software oder einer Website, wo es somit zur Softwaredokumentation zählt. Das Wort Changelog ist ein aus dem Englischen übernommenes Kompositum, das sich aus englisch change für Änderung und log für Logbuch zusammensetzt.”
1.2 Kategorien der Einträge
Generell werden in einem Changelog drei Eintragskategorien verwendet (Abbildung 1):
- Neu (New): Hierüber werden neu hinzugefügte Elemente gekennzeichnet
- Behoben (Fixed): Dieser Eintrag wird verwendet, wenn → Fehler (bei einzelnen Elementen) behoben wurden
- Verbessert (Improved): Es werden die verbesserten Elemente mit den Verbesserungen aufgeführt (die aber keine Fehlerbehebung darstellen)
Abbildung 1: Kategorien der Changelog-Einträge
Es können weitere Kategorien hinzugenommen werden, in der Praxis sind aber diese drei Kategorien ausreichend. Zusätzliche Kategorien wären:
- Entfernt (Removed): Es wurde etwas Bestehendes entfernt, beispielsweise nicht mehr benötigte Features
- Sicherheitsanpassung (→ Security): Es wurde eine Sicherheitsänderung durchgeführt
- Abkündigungsanpassung (Deprecated): Es wurde eine Änderung durchgeführt, die aufgrund einer veränderten Umgebung (Betriebssystem, Programmiersprache) notwendig wurde
1.3 Abgrenzung zu den Release Notes
Während Changelogs der schnellen Überblicksgewinnung dienen, werden Release Notes eher zu Marketingzwecken eingesetzt. Beide Konzepte können parallel eingesetzt werden und ergänzen sich.
2. Aufbau
Ein Changelog kann für eine einzelne Version (zu einem einzelnen Datum) folgenden, generellen Aufbau haben (Abbildung 2):
- Entweder werden die Kategorien als Zwischenüberschrift verwendet oder …
- es wird vor jedem Changelog-Eintrag die Kategorie davor geschrieben.
Abbildung 2: Aufbau des Changelogs — zwei Varianten
Beide Varianten sind gleichwertig.
In Abbildung 3 ist ein Beispiel eines Changelogs (für eine Website) dargestellt. Wichtig ist neben der Angabe der Versionsnummer auch die Angabe des Versionsdatums.
Abbildung 3: Beispiel eines Changelogs
3. Externe und interne Changelogs
Es gibt auch rein technische Changelogs, die nur intern verwendet werden können. Diese weisen dann häufig Verlinkungen auf, die auf weitere, interne Artefakte (Dokumente, Tickets) zeigen. In Abbildung 4 sind beide Ansätze für externe und interne Changelogs gegenübergestellt.
Abbildung 4: Changelog — externer und interner Ansatz
Beim externen Ansatz werden die Einträge in der Regel von Hand vorgenommen. Beim internen Ansatz kommen häufig Tools zum Einsatz, die aus den umgesetzten Tickets, die in einem Ticket-Tool oder einem Versionstool getrackt werden, bei einem Release automatisiert das Changelog erzeugen.
Weblinks
- /Keepachangelog/ Keep a Changelog, Website, welche Informationen zum Changelog (in 28 Sprachen, darunter auch deutsch) zusammenträgt
- /#Wiki-Changelog/ Changelog / Änderungsprotokoll in der deutschen Wikipedia
- /#Wiki-Changelog‑e/ Changelog in der englischen Wikipedia
Legende zu den Weblinks
/ / Verweis auf eine Website (allgemein)
/*/ Verweis auf eine Website, die als Ergänzung zu einem Buch dient
/#/ Verweis auf ein einzelnes Thema auf einer Website
/#V/ Verweis auf ein Video auf einer Website
Letzte Aktualisierung: 22.09.2023 © Peterjohann Consulting, 2005–2024