Das Changelog Änderungen an bestehenden Systemen schnell kommunizieren

Manage­ment-Zusam­men­fas­sung die­ses Bei­trags:
Wenn Ände­run­gen an bestehen­den Soft­ware­sys­te­men durch­ge­führt wer­den, soll­te dies mög­lichst gezielt und trans­pa­rent erfol­gen. Um zu notie­ren, wel­che Ände­run­gen erfolgt sind, wird häu­fig ein Chan­ge­log (Ände­rungs­pro­to­koll) ein­ge­setzt.
In die­sem Bei­trag wird eine Beschrei­bung des Chan­ge­logs geliefert.

Das Chan­ge­log ist in der Regel eine rei­ne Text­da­tei, in der in stich­punkt­ar­ti­ger Form Ände­run­gen von neu her­aus­ge­ge­be­nen Soft­ware-Ver­sio­nen fest­hält. Dabei ist das Chan­ge­log häu­fig fort­lau­fend, d.h. es wer­den alle Ände­run­gen aller Ver­sio­nen (seit der Frei­ga­be des ers­ten Releases) notiert, wobei die neus­te Ver­si­on oben steht. Das Chan­ge­log ist immer men­schen­les­bar, Maschi­nen­les­bar­keit ist nicht gefor­dert. In der Regel ist das Chan­ge­log öffent­lich, sodass Kun­den und Nut­zer des Soft­ware­sys­tems die Chan­ge­log-Ein­trä­ge ein­se­hen können.

Ach­tung:
Das Chan­ge­log darf nicht ver­wech­selt wer­den mit der Chan­ge-Request-→ Lis­te (CR-Lis­te). Die CR-Lis­te dient der Ver­wal­tung von Ände­rungs­an­trä­gen (→ Chan­ge Requests) und nicht der Erfas­sung von durch­ge­führ­ten Änderungen.

1. Einleitung und Grundlagen

1.1 Definitionen

In der Wiki­pe­dia steht zum Chan­ge­log /#Wiki-Changelog/:
“Ein Ände­rungs­pro­to­koll, eng­lisch Chan­ge­log, ist ein Pro­to­koll oder eine Auf­zeich­nung von Ände­run­gen an einem Pro­jekt wie bei­spiels­wei­se einer Soft­ware oder einer Web­site, wo es somit zur Soft­ware­do­ku­men­ta­ti­on zählt. Das Wort Chan­ge­log ist ein aus dem Eng­li­schen über­nom­me­nes Kom­po­si­tum, das sich aus eng­lisch chan­ge für Ände­rung und log für Log­buch zusammensetzt.”

1.2 Kategorien der Einträge

Gene­rell wer­den in einem Chan­ge­log drei Ein­trags­ka­te­go­rien ver­wen­det (Abbil­dung 1):

  • Neu (New): Hier­über wer­den neu hin­zu­ge­füg­te Ele­men­te gekennzeichnet
  • Beho­ben (Fixed): Die­ser Ein­trag wird ver­wen­det, wenn → Feh­ler (bei ein­zel­nen Ele­men­ten) beho­ben wurden
  • Ver­bes­sert (Impro­ved): Es wer­den die ver­bes­ser­ten Ele­men­te mit den Ver­bes­se­run­gen auf­ge­führt (die aber kei­ne Feh­ler­be­he­bung darstellen)
Kategorien der Changelog-Einträge, (C) Peterjohann Consulting, 2022-2024

Abbil­dung 1: Kate­go­rien der Changelog-Einträge

Es kön­nen wei­te­re Kate­go­rien hin­zu­ge­nom­men wer­den, in der Pra­xis sind aber die­se drei Kate­go­rien aus­rei­chend. Zusätz­li­che Kate­go­rien wären:

  • Ent­fernt (Remo­ved): Es wur­de etwas Bestehen­des ent­fernt, bei­spiels­wei­se nicht mehr benö­tig­te Features
  • Sicher­heits­an­pas­sung (→ Secu­ri­ty): Es wur­de eine Sicher­heits­än­de­rung durchgeführt
  • Abkün­di­gungs­an­pas­sung (Depre­ca­ted): Es wur­de eine Ände­rung durch­ge­führt, die auf­grund einer ver­än­der­ten Umge­bung (Betriebs­sys­tem, Pro­gram­mier­spra­che) not­wen­dig wurde

1.3 Abgrenzung zu den Release Notes

Wäh­rend Chan­ge­logs der schnel­len Über­blicks­ge­win­nung die­nen, wer­den Release Notes eher zu Mar­ke­ting­zwe­cken ein­ge­setzt. Bei­de Kon­zep­te kön­nen par­al­lel ein­ge­setzt wer­den und ergän­zen sich.

2. Aufbau

Ein Chan­ge­log kann für eine ein­zel­ne Ver­si­on (zu einem ein­zel­nen Datum) fol­gen­den, gene­rel­len Auf­bau haben (Abbil­dung 2):

  • Ent­we­der wer­den die Kate­go­rien als Zwi­schen­über­schrift ver­wen­det oder …
  • es wird vor jedem Chan­ge­log-Ein­trag die Kate­go­rie davor geschrieben.
Aufbau des Changelogs - zwei Varianten, (C) Peterjohann Consulting, 2022-2024

Abbil­dung 2: Auf­bau des Chan­ge­logs — zwei Varianten

Bei­de Vari­an­ten sind gleichwertig.

In Abbil­dung 3 ist ein Bei­spiel eines Chan­ge­logs (für eine Web­site) dar­ge­stellt. Wich­tig ist neben der Anga­be der Ver­si­ons­num­mer auch die Anga­be des Versionsdatums.

Beispiel eines Changelogs, (C) Peterjohann Consulting, 2022-2024

Abbil­dung 3: Bei­spiel eines Changelogs

3. Externe und interne Changelogs

Es gibt auch rein tech­ni­sche Chan­ge­logs, die nur intern ver­wen­det wer­den kön­nen. Die­se wei­sen dann häu­fig Ver­lin­kun­gen auf, die auf wei­te­re, inter­ne Arte­fak­te (Doku­men­te, Tickets) zei­gen. In Abbil­dung 4 sind bei­de Ansät­ze für exter­ne und inter­ne Chan­ge­logs gegenübergestellt.

Changelog - externer und interner Ansatz, (C) Peterjohann Consulting, 2022-2024

Abbil­dung 4: Chan­ge­log — exter­ner und inter­ner Ansatz

Beim exter­nen Ansatz wer­den die Ein­trä­ge in der Regel von Hand vor­ge­nom­men. Beim inter­nen Ansatz kom­men häu­fig Tools zum Ein­satz, die aus den umge­setz­ten Tickets, die in einem Ticket-Tool oder einem Ver­si­ons­tool getrackt wer­den, bei einem Release auto­ma­ti­siert das Chan­ge­log erzeugen.

Web­links

Legen­de zu den Weblinks
/ / Ver­weis auf eine Web­site (all­ge­mein)
/*/ Ver­weis auf eine Web­site, die als Ergän­zung zu einem Buch dient
/#/ Ver­weis auf ein ein­zel­nes The­ma auf einer Website
/#V/ Ver­weis auf ein Video auf einer Website