<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Softwareentwicklung &#8211; atra.consulting &#8211;</title>
	<atom:link href="https://dev.atra.consulting/tag/softwareentwicklung/feed/" rel="self" type="application/rss+xml" />
	<link>https://dev.atra.consulting</link>
	<description>Software erfolgreich entwickeln. Komplexität beherrschen. Wandel gestalten.</description>
	<lastBuildDate>Sun, 25 Jan 2026 15:59:02 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://dev.atra.consulting/wp-content/uploads/2025/04/cropped-Atra-Consulting-Favicon-512x512pixel-32x32.webp</url>
	<title>Softwareentwicklung &#8211; atra.consulting &#8211;</title>
	<link>https://dev.atra.consulting</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Warum Priorisierung heute mehr braucht als eine Matrix</title>
		<link>https://dev.atra.consulting/engineering/warum-priorisierung-heute-mehr-braucht-als-eine-matrix/</link>
		
		<dc:creator><![CDATA[Daniel Wochnik]]></dc:creator>
		<pubDate>Thu, 15 Jan 2026 09:04:28 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Fokus & Stärken]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Organisation]]></category>
		<category><![CDATA[Softwareentwicklung]]></category>
		<guid isPermaLink="false">https://dev.atra.consulting/?p=8939</guid>

					<description><![CDATA[Die Eisenhower-Matrix ist ein Klassiker der Management- und Consulting-Werkzeuge. Aufgaben werden in vier Quadranten nach Wichtigkeit und Dringlichkeit sortiert, und daraus leitet sich ab, was man sofort erledigt, delegiert oder konsequent lassen sollte. Gerade jungen Führungskräften empfehle ich Eisenhower regelmäßig – weil es einfach, eingängig und eigentlich ziemlich überzeugend ist. Umso erstaunter war ich, als [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Die Eisenhower-Matrix ist ein Klassiker der Management- und Consulting-Werkzeuge. Aufgaben werden in vier Quadranten nach Wichtigkeit und Dringlichkeit sortiert, und daraus leitet sich ab, was man sofort erledigt, delegiert oder konsequent lassen sollte. Gerade jungen Führungskräften empfehle ich Eisenhower regelmäßig – weil es einfach, eingängig und eigentlich ziemlich überzeugend ist.</p>



<p class="wp-block-paragraph">Umso erstaunter war ich, als mir kürzlich in einem ruhigen Moment auffiel, dass ich mich selbst im Arbeitsalltag erstaunlich selten daran halte. Und schlimmer noch: dass ich ziemlich gut darin geworden bin, mir das auch noch schönzureden.</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf12416cb&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf12416cb" class="alignright size-large is-resized wp-lightbox-container"><img fetchpriority="high" decoding="async" width="1024" height="572" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2026/01/image-1-1024x572.png" alt="" class="wp-image-8941" style="width:400px" srcset="https://dev.atra.consulting/wp-content/uploads/2026/01/image-1-1024x572.png 1024w, https://dev.atra.consulting/wp-content/uploads/2026/01/image-1-768x429.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="wp-block-paragraph">Eisenhower ist aus meiner Sicht weiterhin ein sinnvolles Werkzeug – das ist mir wichtig vorwegzuschicken. Gleichzeitig stößt dieses Zeitmanagement-Modell aus der Mitte des 20. Jahrhunderts – entwickelt von einem US-General und späteren Präsidenten – im Arbeitsalltag moderner Wissensarbeiter erstaunlich schnell an seine Grenzen.</p>



<p class="wp-block-paragraph">Dafür gibt es mehrere Gründe.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><strong>Kognitive Überlastung: Wenn zu viele Reize um Aufmerksamkeit konkurrieren</strong></h3>



<p class="wp-block-paragraph">Wissensarbeiter – egal ob Fachspezialisten, Berater oder Entscheider – leiden heute weniger an fehlender Priorisierung als an kognitiver Überlastung. Die ständige Notwendigkeit, zwischen konzentrierter Arbeit an komplexen Fragestellungen und reaktiver Kommunikation zu wechseln, erzeugt Kontextwechselkosten (siehe auch [1]), die Fokus, Entscheidungsqualität und letztlich auch die eigene Zufriedenheit spürbar beeinträchtigen.</p>



<p class="wp-block-paragraph">Die Eisenhower-Matrix verspricht an dieser Stelle eigentlich Orientierung, scheitert jedoch häufig an der psychologischen Realität der <em>Illusion of Urgency</em> [2]: Aufgaben fühlen sich dringend an, erzeugen Handlungsdruck und verlangen Aufmerksamkeit – ohne deshalb, um in der Sprache von Eisenhower zu bleiben, automatisch auch wichtig oder tatsächlich dringend zu sein.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<details class="wp-block-details foldable-info-box has-white-color has-text-color has-background has-link-color has-small-font-size wp-elements-090db9a5c012cbc984b9d9f6d5bb1d01 is-layout-flow wp-block-details-is-layout-flow" style="background-color:#828282"><summary><strong>Die Mär vom planvollen und reflektierten Manager</strong></summary>
<p class="wp-block-paragraph">Bereits in den 1970er Jahren hat Henry Mintzberg in seinen vielbeachteten Studien gezeigt, dass die Arbeit von Managern nur selten aus längeren, ungestörten Fokusphasen besteht. Stattdessen ist sie geprägt von vielen kurzen Aktivitäten, Unterbrechungen und spontanen Interaktionen. Entscheidungen entstehen dabei nicht sequenziell entlang klar priorisierter To-do-Listen, sondern situativ – eingebettet in Gespräche, Rückfragen und laufende Abstimmungen [3].</p>



<p class="wp-block-paragraph">Auch wenn sich die Arbeitswelt seitdem erheblich verändert hat, wirkt diese Beobachtung erstaunlich aktuell. Wissensarbeit ist heute eher noch stärker fragmentiert als zu Mintzbergs Zeiten. Digitale Kommunikationskanäle haben die Zahl der Kontaktpunkte erhöht und die Erwartung an schnelle Reaktionsfähigkeit weiter verschärft. Der Arbeitstag besteht für viele weniger aus geplantem Abarbeiten als aus permanentem Reagieren &#8211; und das bei bestem Willen nicht nur für Manager.</p>
</details>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf12428b8&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf12428b8" class="alignleft size-large is-resized wp-lightbox-container"><img decoding="async" width="1024" height="572" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2026/01/image-3-1024x572.png" alt="" class="wp-image-8943" style="width:400px" srcset="https://dev.atra.consulting/wp-content/uploads/2026/01/image-3-1024x572.png 1024w, https://dev.atra.consulting/wp-content/uploads/2026/01/image-3-768x429.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="wp-block-paragraph">Für mich hat sich daraus eine einfache, bewusst pragmatische Regel ergeben: Aufgaben, die sich in weniger als fünf Minuten erledigen lassen, versuche ich unmittelbar abzuschließen. Nicht aus Effizienzgründen im klassischen Sinne, sondern um kognitive Last zu reduzieren. Jede nicht beantwortete Rückfrage, jede angefangene, aber nicht abgeschlossene Kleinigkeit bleibt im Kopf präsent – und konkurriert dort mit eigentlich wichtigeren Themen um Aufmerksamkeit.</p>



<p class="wp-block-paragraph">Das Problem: In meinem hochfragmentierten Arbeitsalltag gibt es überraschend viele „kurze Anfragen“. Und so schlägt die Fünf-Minuten-Regel bei mir erstaunlich oft Eisenhower.</p>



<p class="wp-block-paragraph">Und ja, ich weiß: Man muss Mails und Chatnachrichten nicht sofort lesen. In der Theorie leuchtet mir das vollkommen ein. In der Praxis stressen mich 13 ungelesene Teams-Nachrichten jedoch zuverlässig. Disziplinierte Zeitfenster für Mail- und Chatkommunikation funktionieren für manche hervorragend. Für mich nicht. Und so stößt auch Eisenhower an seine Grenzen.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><strong>Kognitive Last der Organisation: Wenn zu viele Themen gleichzeitig offen sind</strong></h3>



<p class="wp-block-paragraph">Nun ist kognitive (Über-)Last kein individuelles Versagen. Sie ist in vielen Fällen ein übergreifendes organisatorisches Problem. Organisationen arbeiten selten an einem Thema zur gleichen Zeit. Sie arbeiten an sehr vielen. Projekte, Initiativen, Abstimmungen, Eskalationen, strategische Themen und operative Kleinigkeiten laufen parallel – oft über Monate oder sogar Jahre. Jeder offene Vorgang erzeugt kognitive Last. Nicht nur bei Einzelpersonen, sondern im System insgesamt: in Meetings, Statusrunden, Entscheidungsprozessen oder auch nur, weil ich diese eine nervige Aufgabe nun schon zum dritten Mal in die Folgewoche verschiebe.</p>



<p class="wp-block-paragraph">Diese systemische kognitive Last entsteht unabhängig davon, wie dringend oder wichtig ein einzelnes Thema gerade ist. Allein die Tatsache, dass etwas „noch offen“ ist, bindet Aufmerksamkeit. Ein psychologisches Fundament dieser Beobachtung liefert übrigens der Zeigarnik-Effekt, der besagt, dass uns unterbrochene, unerledigte Aufgaben kognitiv stärker beschäftigen als abgeschlossene [4]. Das kostet Energie – selbst dann, wenn faktisch gerade niemand daran arbeitet.</p>



<p class="wp-block-paragraph">Ein besonders plastisches Beispiel dafür habe ich im behördlichen Umfeld erlebt. Eine Broschüre sollte aktualisiert werden – kein besonders dringendes Thema, von mittlerer Wichtigkeit. Der erste Entwurf war schnell erstellt. Danach passierte lange Zeit: nichts. Aufgrund interner Prozesse mussten verschiedene Einheiten involviert werden, zwischen den einzelnen Abstimmungen lagen jeweils mehrere Wochen.</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf12436e3&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf12436e3" class="alignright size-large is-resized wp-lightbox-container"><img decoding="async" width="1024" height="572" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2026/01/image-2-1024x572.png" alt="" class="wp-image-8942" style="width:400px" srcset="https://dev.atra.consulting/wp-content/uploads/2026/01/image-2-1024x572.png 1024w, https://dev.atra.consulting/wp-content/uploads/2026/01/image-2-768x429.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="wp-block-paragraph">Das Ergebnis? Ein Prozess über 20 Monate. Durch unzählige Abstimmungsrunden und Liegezeiten musste sich jeder Beteiligte in jedem Termin neu eindenken („Wo standen wir nochmal?“). Am Ende wurde konservativ geschätzt mindestens das Zehnfache der eigentlichen Arbeitszeit investiert, nur weil das Thema immer wieder liegen blieb. Ein klassisches Beispiel dafür, wie „nicht dringende“ Themen durch reinen Zeitverzug zu hocheffizienten Ressourcenfressern mutieren.</p>



<p class="wp-block-paragraph">Die Eisenhower-Matrix betrachtet Aufgaben isoliert. Sie hilft dabei, einzelne To-dos zu priorisieren. Was sie jedoch systematisch ausblendet, ist die kumulative Wirkung vieler paralleler, offener Themen auf eine Organisation.</p>



<p class="wp-block-paragraph">In der Praxis ist es oft nicht das einzelne wichtige oder dringende Thema, das überlastet – sondern die schiere Anzahl an offenen Baustellen. Aus einer Lean-Perspektive ist es deshalb sinnvoll, die Anzahl gleichzeitig offener Themen möglichst gering zu halten. Nicht nur, um schneller zu werden, sondern um arbeitsfähig zu bleiben.</p>



<p class="wp-block-paragraph">Genau hier beginnt ein Aspekt, den Eisenhower nur unzureichend adressiert: Offene Themen sind nicht neutral. Sie sind nicht einfach „noch nicht dran“. Sie erzeugen Kosten – allein durch ihr Liegenlassen.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><strong>Cost of Delay: Wenn Liegenlassen teuer wird</strong></h3>



<p class="wp-block-paragraph">Wenn man genau hinschaut, habe ich im obigen Behördenbeispiel bereits ein Konzept verwendet, ohne es zu benennen: Cost of Delay.</p>



<p class="wp-block-paragraph">Nicht die (gefühlte und meist sehr subjektive) Wichtigkeit einer Aufgabe entscheidet über ihre Priorität, sondern die Kosten, die entstehen, wenn sie nicht umgesetzt wird. Diese Kosten sind oft nicht sichtbar – aber sie sind real.</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf1244585&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf1244585" class="alignleft size-full is-resized wp-lightbox-container"><img decoding="async" width="1024" height="559" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2026/01/image.png" alt="" class="wp-image-8940" style="width:400px" srcset="https://dev.atra.consulting/wp-content/uploads/2026/01/image.png 1024w, https://dev.atra.consulting/wp-content/uploads/2026/01/image-768x419.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="wp-block-paragraph">Ein einfaches Beispiel: Ein kurzes Debriefing zu einem Konferenzbesuch an Kollegen zu schicken, ist selten dringend und meist auch nicht besonders wichtig. Während der Zugfahrt nach Hause ist das in wenigen Minuten erledigt. Zwei Wochen später brauche ich dafür schon deutlich länger. Zwei Monate später muss ich anhand meiner Notizen rekonstruieren, was ich eigentlich mitteilen wollte.</p>



<p class="wp-block-paragraph">Die Aufgabe ist dieselbe geblieben – der Aufwand nicht. Die Verzögerung hat hier keinen inhaltlichen Mehrwert erzeugt, sondern ausschließlich zusätzliche Arbeit. Genau das beschreibt Cost of Delay.</p>



<p class="wp-block-paragraph">In Organisationen wirkt dieser Effekt noch stärker. Der eigentliche Cost of Delay entsteht häufig nicht durch fehlende Umsetzung, sondern durch das Wiederanlaufen: sich erneut einlesen, Kontexte rekonstruieren, Entscheidungen erklären, Abhängigkeiten neu klären. Je länger ein Thema liegt, desto höher werden diese Reibungsverluste. Besonders schön wird es dann, wenn Nachfragen nach dem Stand einer Aufgabe und ein oder zwei Feedbackschleifen in Summe bereits mehr Zeit kosten als die eigentliche Erledigung.</p>



<p class="wp-block-paragraph">Eisenhower hilft dabei zu entscheiden, was wichtig und dringend ist. Cost of Delay macht sichtbar, was es kostet, nichts zu entscheiden – und Themen immer wieder liegen zu lassen.</p>



<p class="wp-block-paragraph">Mir ist bewusst, dass Cost of Delay ein abstrakter Begriff bleibt. Mir hilft dieser Perspektivwechsel jedoch sehr, meine Arbeitsprioritäten besser zu setzen. Übliche Dimensionen, die meinen höchst persönlichen Cost of Delay ausmachen, sind:</p>



<ul class="wp-block-list">
<li>der erwartete Mehrwert des Arbeitspakets (strategisch, operativ oder risikoseitig)</li>



<li>Effizienz- und Reibungsverluste über die Zeit (Wiederanlauf, Abstimmung, Kontextverlust)</li>



<li>die Möglichkeit, Themen sauber abzuschließen und damit kognitive Last zu reduzieren</li>



<li>Lernen und Wissensgewinn – oder dessen Verzögerung</li>
</ul>



<p class="wp-block-paragraph">Ob ich eine Aufgabe selbst erledige oder delegiere, beantwortet Cost of Delay allerdings nicht. Aber dazu kommen wir im kommenden Abschnitt.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><strong>Verteilte Verantwortung: Wenn klassische Delegation an Grenzen stößt</strong></h3>



<p class="wp-block-paragraph">Die Eisenhower-Matrix ist in einer Welt klarer Hierarchien entstanden. Aufgaben werden priorisiert, erledigt oder delegiert. Delegation setzt dabei etwas voraus, das lange selbstverständlich war: eine eindeutige hierarchische Ordnung mit klarer Weisungsbefugnis.</p>



<p class="wp-block-paragraph">In der Sprache von Reinventing Organizations [5] würde man sagen: Eisenhower passt hervorragend zu bernsteinfarbenen, stark hierarchischen Organisationen. Führung bedeutet dort, Entscheidungen zu treffen und Aufgaben weiterzugeben.</p>



<p class="wp-block-paragraph">Viele Organisationen funktionieren heute jedoch anders. Wir sprechen über flache Hierarchien, selbstorganisierte Teams, laterale Führung und Servant Leadership. Verantwortung liegt nicht mehr ausschließlich bei einzelnen Rollen, sondern verteilt sich auf Teams. Entscheidungen werden gemeinsam getroffen, Aufgaben gemeinsam getragen.</p>



<p class="wp-block-paragraph">In solchen Strukturen wird Delegation unscharf. An wen delegiere ich, wenn Verantwortung im Team liegt? Was bedeutet „abgeben“, wenn ich fachlich gar nicht weisungsbefugt bin? Und was passiert, wenn Delegation nicht als Entlastung, sondern als Abschieben wahrgenommen wird?</p>



<p class="wp-block-paragraph">Gleichzeitig verstehen sich viele Organisationen zunehmend als lernende Systeme. Aufgaben sind nicht nur Mittel zur Zielerreichung, sondern auch Gelegenheiten zur Entwicklung. Konzepte wie Management 3.0 [6] betonen genau diesen Aspekt: Arbeit dient nicht nur der Effizienz, sondern auch dem Lernen, der Motivation und dem Kompetenzaufbau von Mitarbeitern.</p>



<p class="wp-block-paragraph">Damit wird Delegation zu einer Führungsentscheidung mit mehreren Dimensionen. Nicht jede Aufgabe, die delegierbar wäre, sollte delegiert werden. Und nicht jede Aufgabe, die belastet, lässt sich sinnvoll abgeben. Eisenhower gibt darauf keine Antworten – weil er diese Organisationslogik schlicht nicht kennt.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><strong>Fazit: Eisenhower reicht nicht mehr – aber er bleibt hilfreich</strong></h3>



<p class="wp-block-paragraph">Die Eisenhower-Matrix ist kein schlechtes Werkzeug. Sie hilft, innezuhalten, Aufgaben bewusst zu betrachten und sich nicht von jeder Dringlichkeit treiben zu lassen. Das allein ist viel wert.</p>



<p class="wp-block-paragraph">In meinem Arbeitsalltag reicht sie jedoch nicht mehr aus. Kognitive Überlastung, systemische Reibung, Cost of Delay und veränderte Organisationsformen lassen sich nicht sauber in vier Quadranten pressen. Dafür sind moderne Wissensorganisationen zu komplex – und Arbeit zu stark von Kontext, Abhängigkeiten und Lernen geprägt.</p>



<p class="wp-block-paragraph">Was mir heute hilft, ist kein Ersatz für Eisenhower, sondern eine Ergänzung: der bewusste Blick auf Liegezeiten, auf kognitive Last – und auf die Frage, was es mich und die Organisation kostet, Dinge nicht zu entscheiden.</p>



<p class="wp-block-paragraph">Eisenhower hilft mir weiterhin bei der Orientierung. Die eigentliche Priorisierung entsteht jedoch erst im Zusammenspiel aus Kontext, Verantwortung und Cost of Delay. Am Ende bleibt die Erkenntnis: Ein Werkzeug ist eben nur ein Werkzeug. Mit einem Hammer lässt sich vieles erledigen – aber nicht alles im modernen Arbeitsalltag ist ein Nagel.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading"><strong>Referenzen</strong></h4>



<p class="wp-block-paragraph">[1] Multitasking: Switching Costs &#8211; <a href="https://www.apa.org/topics/research/multitasking" target="_blank" rel="noopener">https://www.apa.org/topics/research/multitasking</a>&nbsp;<br>[2] The Illusion of Urgency &#8211;&nbsp; <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC10159458/" target="_blank" rel="noopener">https://pmc.ncbi.nlm.nih.gov/articles/PMC10159458/</a>&nbsp;<br>[3] Mintzberg, H. (1973). The nature of managerial work.<br>[4] Zeigarnik-Effekt &#8211; <a href="https://de.wikipedia.org/wiki/Zeigarnik-Effekt" target="_blank" rel="noopener">https://de.wikipedia.org/wiki/Zeigarnik-Effekt</a>&nbsp;<br>[5] Reinventing Organisations &#8211; <a href="https://www.reinventingorganizations.com/" target="_blank" rel="noopener">https://www.reinventingorganizations.com/</a>&nbsp;<br>[6] Management 3.0 &#8211; <a href="https://management30.com/" target="_blank" rel="noopener">https://management30.com/</a>&nbsp;</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:30%">
<figure class="wp-block-image size-full"><img decoding="async" width="425" height="425" src="https://dev.atra.consulting/wp-content/uploads/2025/01/profilbild-daniel-wochnik-500-x-500px.jpg" alt="Daniel Wochnik, Geschäftsbereichsleitung Finanzdienstleistungen" class="wp-image-3216" style="object-fit:cover" title="Team-Schwarze"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"></div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<h3 class="wp-block-heading">Daniel Wochnik</h3>



<p class="wp-block-paragraph">Geschäftsbereichsleitung »Finanzdienstleistungen«</p>



<div style="height:16px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Daniel ist seit 2017 in der IT-Branche aktiv und bringt seine umfassende Erfahrung als Senior Managing Consultant und Geschäftsbereichsleiter für Finanzdienstleistungen bei atra.consulting ein. Besonders begeistert ihn das Zusammenspiel technischer, methodischer und organisatorischer Aspekte. Als leidenschaftlicher Läufer und bekennender 1. FC Köln-Fan hat er seine Leidensfähigkeit auch privat mehrfach unter Beweis gestellt. Seine Kunden unterstützt er als Softwarearchitekt, agiler Coach und Berater bei der nachhaltigen und zielgerichteten Umsetzung von Entwicklungsprojekten.</p>



<div style="height:16px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-ad2f72ca wp-block-group-is-layout-flex">
<p class="wp-block-paragraph"><a href="mailto:d.wochnik@atra.consulting">d.wochnik@atra.consulting</a>&nbsp; &nbsp;&nbsp;<a href="https://de.linkedin.com/in/daniel-wochnik" target="_blank" rel="noreferrer noopener"></a></p>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin  wp-block-social-link"><a href="https://de.linkedin.com/in/daniel-wochnik" class="wp-block-social-link-anchor" target="_blank" rel="noopener"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li></ul>
</div>
</div>
</div>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Conventional Commits und Semantic Versioning</title>
		<link>https://dev.atra.consulting/engineering/conventional-commits-und-semantic-versioning/</link>
		
		<dc:creator><![CDATA[Daniel Schock]]></dc:creator>
		<pubDate>Mon, 13 Oct 2025 12:00:23 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Softwareentwicklung]]></category>
		<category><![CDATA[Technologieberatung & Trends]]></category>
		<guid isPermaLink="false">https://dev.atra.consulting/?p=8658</guid>

					<description><![CDATA[Implementierung eines automatisierten Release-Workflows mit Conventional Commits und Semantic Versioning Manuelle Software-Releases stellen eine häufige Quelle für Belastungen und Ineffizienz in Entwicklungsteams dar. Der Prozess umfasst oft nächtliche Deployments, manuelle Checklisten und die mühsame Erstellung von Changelogs. Dieser risikobehaftete, manuelle Arbeitsablauf birgt nicht nur ein erhebliches Potenzial für menschliche Fehler, sondern kann auch eine &#8222;Release [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading"><strong>Implementierung eines automatisierten Release-Workflows mit Conventional Commits und Semantic Versioning</strong></h1>



<p class="wp-block-paragraph">Manuelle Software-Releases stellen eine häufige Quelle für Belastungen und Ineffizienz in Entwicklungsteams dar. Der Prozess umfasst oft nächtliche Deployments, manuelle Checklisten und die mühsame Erstellung von Changelogs. Dieser risikobehaftete, manuelle Arbeitsablauf birgt nicht nur ein erhebliches Potenzial für menschliche Fehler, sondern kann auch eine &#8222;Release Anxiety&#8220; begünstigen, welche agile Entwicklungszyklen verlangsamt. Die Entscheidung, an einem Freitagnachmittag einen kritischen Fix zu mergen, wird dadurch häufig verzögert.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf124fceb&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf124fceb" class="aligncenter size-full wp-lightbox-container"><img decoding="async" width="320" height="331" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/10/image.png" alt="" class="wp-image-8659" style="object-fit:cover"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Ein idealer Workflow würde es jedoch ermöglichen, dass jeder Merge in den Main-Branch sicher einen neuen, korrekt versionierten Release auslöst, komplett mit strukturierten, automatisch generierten Release Notes. Dies ist nicht nur ein Prinzip moderner CI/CD-Praktiken, sondern eine erreichbare Realität. Durch die Nutzung einer strukturierten Commit History können Software-Releases zu einem routinierten, vorhersagbaren und vollständig automatisierten Prozess werden.</p>



<p class="wp-block-paragraph">Dieser Artikel bietet eine technische Anleitung, um dieses Automatisierungsniveau durch die Implementierung der <a href="https://www.conventionalcommits.org/en/v1.0.0/" target="_blank" rel="noopener">“<strong>Conventional Commits”</strong>-Spezifikation</a> und des <a href="https://semantic-release.gitbook.io/semantic-release/" target="_blank" rel="noopener"><strong>semantic-release</strong>-Tools</a> zu erreichen.</p>



<h2 class="wp-block-heading"><br><strong>Das Kernprinzip: Die Steuerung des Releases durch die Commit History</strong></h2>



<p class="wp-block-paragraph">Der Schlüssel zu dieser Automatisierung liegt in einem konzeptionellen Wandel: Die Git Commit History wird nicht mehr nur als Protokoll von Änderungen betrachtet, sondern als die alleinige Quelle der Wahrheit für die Versionierung. Anstatt dass ein Entwickler entscheidet, ob eine Änderung einen Patch-, Minor- oder Major-Release rechtfertigt, wird diese Entscheidung direkt aus der Historie des Codes abgeleitet.</p>



<p class="wp-block-paragraph">Der daraus resultierende Vorteil ist signifikant: Der Release-Prozess wird von subjektiven Entscheidungen entkoppelt und zu einer direkten, logischen Konsequenz der geleisteten Arbeit. Jeder Commit trägt eine eigene semantische Bedeutung, wodurch die Versionsnummer zu einem vorhersagbaren Ergebnis anstatt einer Schätzung wird. Diese Philosophie bildet die Grundlage der Automatisierung.</p>



<h2 class="wp-block-heading"><br><strong>Die Grundlage: Etablierung eines Standards für Commit-Nachrichten</strong></h2>



<p class="wp-block-paragraph">Die Voraussetzung für jede Automatisierung ist die Etablierung einer standardisierten, maschinenlesbaren Sprache für die Kommunikation. Die <a href="https://www.conventionalcommits.org/en/v1.0.0/" target="_blank" rel="noopener">Conventional Commits-Spezifikation</a> bietet einen solchen Standard, indem sie eine klare und verbindliche Struktur für Git Commit Messages vorschreibt, die Mehrdeutigkeiten beseitigt und die Absicht jeder Änderung explizit macht.</p>



<pre class="wp-block-code atra-code has-text-color has-link-color wp-elements-c9d34faf6150a94d5a5b40f7dbe4b96c" style="color:#188038"><code>&lt;type&gt;&#91;optionaler scope]: &lt;description&gt;

&#91;optionaler body]

&#91;optionale(r) footer]</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Der <strong>type</strong>-Bezeichner ist die entscheidende Komponente, die die Auswirkung eines Commits auf die Versionierung gemäß den Prinzipien des Semantic Versioning diktiert:</p>



<ul class="wp-block-list">
<li><strong>fix</strong>: Kennzeichnet eine Fehlerbehebung, die ein Problem in der Codebasis korrigiert. Dies entspricht einem <strong>Patch Release</strong> (z. B. 1.0.0 -&gt; 1.0.1).</li>



<li><strong>feat</strong>: Bezeichnet die Einführung eines neuen Features, das Funktionalität hinzufügt. Dies entspricht einem <strong>Minor Release</strong> (z. B. 1.0.1 -&gt; 1.1.0).</li>



<li><strong>feat!</strong> oder <strong>fix!</strong>: Signalisieren eine nicht abwärtskompatible Änderung (ein &#8222;Breaking Change&#8220;). Dieser Indikator erfordert einen <strong>Major Release</strong> (z. B. 1.1.0 -&gt; 2.0.0).</li>
</ul>



<p class="wp-block-paragraph">Commits mit anderen Typen wie docs, chore, style, refactor oder test sind für die Wartung der Codebasis unerlässlich, lösen jedoch keine Anpassung der Versionsnummer aus. Diese Unterscheidung ist entscheidend, da sie sicherstellt, dass das für den Benutzer sichtbare Changelog auf wertschöpfende Änderungen, nämlich neue Features und Fehlerbehebungen, konzentriert bleibt. Dieser disziplinierte Ansatz führt zu einer transparenten und vorhersagbaren Git History.</p>



<h2 class="wp-block-heading"><br><strong>Der Autopilot: Orchestrierung des Release-Prozesses mit semantic-release</strong></h2>



<p class="wp-block-paragraph">Mit einer strukturierten Commit History kann der Release-Prozess mithilfe von Tools wie <a href="https://semantic-release.gitbook.io/semantic-release/" target="_blank" rel="noopener"><strong>semantic-release</strong></a> automatisiert werden. Dieses Dienstprogramm fungiert als Orchestrator des Release-Workflows und integriert die Git History mit dem Paketmanager des Projekts und dem Repository-Host.</p>



<p class="wp-block-paragraph">semantic-release automatisiert den gesamten Package Release Workflow, der die Bestimmung der nächsten Versionsnummer, die Erstellung von Release Notes und die Veröffentlichung des Pakets umfasst.</p>



<p class="wp-block-paragraph">Das Tool analysiert die Commit History des Projekts, um die nächste semantische Version abzuleiten, und führt anschließend eine konfigurierbare Abfolge von Release-Schritten aus. Obwohl es als Node.js-Paket vertrieben wird, bietet seine <a href="https://semantic-release.gitbook.io/semantic-release/extending/plugins-list" target="_blank" rel="noopener">plugin-basierte Architektur</a> die Flexibilität, Projekte zu unterstützen, die in allen gängigen Programmiersprache entwickelt wurden. Die folgenden Abschnitte demonstrieren die Anwendung innerhalb eines Spring-Boot-Projekts.</p>



<h2 class="wp-block-heading"><br><strong>Praktische Implementierung: Eine schrittweise Anleitung</strong></h2>



<p class="wp-block-paragraph">Die Konfiguration lässt sich in drei Hauptschritte unterteilen.</p>



<h3 class="wp-block-heading"><br><strong>Schritt 1: Vorbereitung des Gradle-Builds (gradle.properties)</strong></h3>



<p class="wp-block-paragraph">Das <a href="https://github.com/KengoTODA/gradle-semantic-release-plugin" target="_blank" rel="noopener">gradle-semantic-release-plugin</a> benötigt einen festgelegten Ort, um die Version des Projekts zu aktualisieren. Die Datei gradle.properties erfüllt diesen Zweck effektiv. Die Entkopplung der Versionsnummer in eine Properties-Datei ist eine empfohlene Praxis, da sie externen Tools ermöglicht, die Version zu lesen und zu schreiben, ohne komplexe Build-Skripte parsen zu müssen.<br><strong>gradle.properties</strong></p>



<pre class="wp-block-code atra-code"><code>version = 0.0.0</code></pre>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><strong>Schritt 2: Konfiguration des Release-Workflows (.releaserc.yml)</strong></h3>



<p class="wp-block-paragraph">Diese Konfigurationsdatei definiert die genaue Abfolge der Operationen, die semantic-release ausführen wird.</p>



<p class="wp-block-paragraph"><strong>.releaserc.yml</strong></p>



<pre class="wp-block-code atra-code"><code>release:
&nbsp; branches:
&nbsp; &nbsp; - 'main'
preset: 'conventionalcommits'
plugins:
&nbsp; - '@semantic-release/commit-analyzer'
&nbsp; - '@semantic-release/release-notes-generator'
&nbsp; - - '@semantic-release/changelog'
&nbsp; &nbsp; - changelogFile: 'CHANGELOG.md'
&nbsp; &nbsp; &nbsp; changelogTitle: '# Changelog'
&nbsp; - - '@semantic-release/github'
&nbsp; &nbsp; - assets:
&nbsp; &nbsp; &nbsp; &nbsp; - path: 'CHANGELOG.md'
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; label: 'Changelog'
&nbsp; - 'gradle-semantic-release-plugin'
&nbsp; - - '@semantic-release/git'
&nbsp; &nbsp; - assets:
&nbsp; &nbsp; &nbsp; &nbsp; - 'CHANGELOG.md'
&nbsp; &nbsp; &nbsp; &nbsp; - 'gradle.properties'</code></pre>



<p class="wp-block-paragraph">Die Anweisungen in dieser Datei sind wie folgt zu verstehen:</p>



<ul class="wp-block-list">
<li><strong>branches</strong>: Beschränkt die Ausführung des Release-Prozesses auf Commits im main-Branch.</li>



<li><strong>preset</strong>: Ermöglicht das Einbinden von vordefinierten Konfigurationen. Hier wird eine auf die <a href="https://www.conventionalcommits.org/en/v1.0.0/" target="_blank" rel="noopener">Conventional-Commits-Konvention</a> abgestimmte Konfiguration genutzt.</li>



<li><strong>plugins</strong>: Definiert die geordnete Pipeline von Aktionen:</li>
</ul>



<ul class="wp-block-list">
<li><strong>commit-analyzer</strong>: Analysiert Git-Commits seit dem letzten Release-Tag, um den erforderlichen Release-Typ (Major, Minor oder Patch) zu bestimmen.</li>



<li><strong>release-notes-generator</strong>: Erstellt strukturierte Release Notes aus den relevanten Commit-Nachrichten.</li>



<li><strong>changelog</strong>: Fügt die generierten Notes an eine CHANGELOG.md-Datei an und pflegt so eine beständige Aufzeichnung der Änderungen.</li>



<li><strong>github</strong>: Erstellt einen offiziellen, getaggten Release auf der GitHub-Plattform und fügt angegebene Assets, wie das Changelog, hinzu.</li>



<li><strong>gradle-semantic-release-plugin</strong>: Führt sprachspezifische Aufgaben aus, in diesem Fall die Aktualisierung der Version in gradle.properties und die Ausführung des publish-Tasks.</li>



<li><strong>git</strong>: Committet die geänderten Dateien (CHANGELOG.md, gradle.properties) zurück in das Repository, um dessen Zustand mit dem neuen Release zu synchronisieren.</li>
</ul>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><strong>Schritt 3: CI/CD-Integration (GitHub Actions)</strong></h3>



<p class="wp-block-paragraph">Schließlich ist eine CI-Pipeline erforderlich, um den Release-Workflow bei einem Push in den main-Branch auszulösen. Der folgende GitHub-Actions-Workflow realisiert dies.</p>



<p class="wp-block-paragraph"><strong>.github/workflows/release.yml</strong></p>



<pre class="wp-block-code atra-code"><code>name: Release
on:
&nbsp; push:
&nbsp; &nbsp; branches:
&nbsp; &nbsp; &nbsp; - main
permissions:
&nbsp; contents: read
jobs:
&nbsp; release:
&nbsp; &nbsp; name: Release
&nbsp; &nbsp; runs-on: ubuntu-latest
&nbsp; &nbsp; permissions:
&nbsp; &nbsp; &nbsp; contents: write
&nbsp; &nbsp; &nbsp; issues: write
&nbsp; &nbsp; &nbsp; pull-requests: write
&nbsp; &nbsp; &nbsp; id-token: write
&nbsp; &nbsp; steps:
&nbsp; &nbsp; &nbsp; - name: Checkout
&nbsp; &nbsp; &nbsp; &nbsp; uses: actions/checkout@v4
&nbsp; &nbsp; &nbsp; &nbsp; with:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fetch-depth: 0
&nbsp; &nbsp; &nbsp; - name: Node einrichten
&nbsp; &nbsp; &nbsp; &nbsp; uses: actions/setup-node@v4
&nbsp; &nbsp; &nbsp; &nbsp; with:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; node-version: 'lts/*'
&nbsp; &nbsp; &nbsp; - name: Install dependencies
&nbsp; &nbsp; &nbsp; &nbsp; run: |
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; npm install -g \
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; semantic-release \
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @semantic-release/git \
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @semantic-release/changelog \
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; conventional-changelog-conventionalcommits \
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; gradle-semantic-release-plugin
&nbsp; &nbsp; &nbsp; - name: Release durchführen
&nbsp; &nbsp; &nbsp; &nbsp; env:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
&nbsp; &nbsp; &nbsp; &nbsp; run: npx semantic-release</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Dieser Workflow installiert semantic-release und seine Plugins und führt dann den Release-Prozess aus. Der Parameter fetch-depth: 0 ist von entscheidender Bedeutung, da er sicherstellt, dass die gesamte Git History zur Analyse verfügbar ist. Der permissions-Block gewährt dem Job ausreichende Berechtigungen, um Releases zu erstellen und Dateien zurück in das Repository zu committen.</p>



<h2 class="wp-block-heading"><br><strong>Fazit: Die strategischen Vorteile der Release-Automatisierung</strong></h2>



<p class="wp-block-paragraph">Die Implementierung dieser automatisierten Release-Pipeline führt zu erheblichen strategischen Vorteilen. Sie eliminiert manuellen Aufwand und das Potenzial für menschliche Fehler im Versionierungs- und Release-Prozess. Die Praxis, Versionsnummern zu schätzen und Changelogs manuell zusammenzustellen, wird durch ein deterministisches, automatisiertes System ersetzt.</p>



<p class="wp-block-paragraph">Diese Transformation bewirkt mehr als nur eine Zeitersparnis; sie verbessert den Softwareentwicklungszyklus grundlegend. Sie ermöglicht eine höhere Deployment-Frequenz mit größerem Vertrauen, was eine schnellere Bereitstellung von Features und Fehlerbehebungen erlaubt. Die mit Release-Ereignissen verbundene Anspannung wird durch die Effizienz von Continuous Delivery ersetzt. Die Hauptverantwortung des Entwicklungsteams reduziert sich auf die Aufrechterhaltung einer hohen Standard an Commit-Hygiene; der Release-Mechanismus übernimmt die übrigen Aufgaben.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:30%">
<figure class="wp-block-image size-large"><img decoding="async" width="682" height="1024" src="https://dev.atra.consulting/wp-content/uploads/2025/10/image-682x1024.jpeg" alt="" class="wp-image-8728" style="aspect-ratio:3/4;object-fit:cover"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"></div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<h3 class="wp-block-heading">Daniel Schock</h3>



<p class="wp-block-paragraph">Senior Software Engineer</p>



<div style="height:16px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Daniel ist ein erfahrener Fullstack-Entwickler und DevOps-Spezialist mit einem klaren Schwerpunkt auf der Backend-Entwicklung mit Java und Kotlin. Seine Expertise wird durch praktische Erfahrung in der Frontend-Entwicklung mit Vue.js abgerundet. Er verfügt über umfassende Kenntnisse in der Konzeption von CI/CD-Pipelines sowie im Einsatz von Cloud-Technologien wie Kubernetes und AWS, die er erfolgreich in den Branchen Versicherung, Logistik und E-Commerce einsetzte. Daniel arbeitet bevorzugt in agilen Umgebungen und zeichnet sich durch seine analytische Denkweise und hohe Problemlösungskompetenz aus.</p>



<div style="height:16px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-ad2f72ca wp-block-group-is-layout-flex">
<p class="wp-block-paragraph"><a href="mailto:d.schock@atra.consulting">d.schock@atra.consulting</a>&nbsp; &nbsp;&nbsp;<a href="https://de.linkedin.com/in/daniel-wochnik" target="_blank" rel="noreferrer noopener"></a></p>


</div>
</div>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Warum Barrierefreiheit im Web für Unternehmen immer wichtiger wird</title>
		<link>https://dev.atra.consulting/engineering/barrierefreiheit-im-web/</link>
		
		<dc:creator><![CDATA[Timo Kaiser]]></dc:creator>
		<pubDate>Wed, 12 Mar 2025 11:10:37 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Consulting]]></category>
		<category><![CDATA[BFSG]]></category>
		<category><![CDATA[IT-Projekte]]></category>
		<category><![CDATA[Produktivität]]></category>
		<category><![CDATA[Softwareentwicklung]]></category>
		<category><![CDATA[WCAG]]></category>
		<guid isPermaLink="false">https://dev.atra.consulting/?p=5203</guid>

					<description><![CDATA[Das erwartet Sie in diesem Artikel Dieser Beitrag ist der Auftakt unserer Serie zum Thema digitale Barrierefreiheit. Unser Ziel ist es, Ihnen einen klaren Überblick über die wichtigsten Aspekte zu verschaffen, die in diesem Jahr für viele Unternehmen an Bedeutung gewinnen werden. Erfahren Sie, warum eine barrierefreie Website nicht nur ein Vorteil für Ihre Nutzer [&#8230;]]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-columns mx-0 is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column gutenberg-col has-white-color has-text-color has-background has-link-color wp-elements-3c3afed87307562adabce3ceb16e5721 is-layout-flow wp-block-column-is-layout-flow" style="background-color:#26489287">
<h3 class="wp-block-heading has-white-color has-text-color has-link-color wp-elements-9c304f6c1d587a50105e39e4b2c88996" id="das-erwartet-sie-in-diesem-artikel"><strong>Das erwartet Sie in diesem Artikel</strong></h3>



<p class="wp-block-paragraph">Dieser Beitrag ist der Auftakt unserer Serie zum Thema <strong>digitale Barrierefreiheit</strong>. Unser Ziel ist es, Ihnen einen klaren Überblick über die wichtigsten Aspekte zu verschaffen, die in diesem Jahr für viele Unternehmen an Bedeutung gewinnen werden.</p>



<p class="wp-block-paragraph">Erfahren Sie, warum eine barrierefreie Website nicht nur ein Vorteil für Ihre Nutzer ist, sondern auch einen echten Wettbewerbsvorteil darstellt.<br></p>



<p class="my-0 wp-block-paragraph"><strong>Lesen Sie hier weiter</strong></p>



<p class="wp-block-paragraph"><a href="/consulting/die-wichtigsten-a11y-massnahmen/">Teil 2: So wird eine Website barrierefrei – Die wichtigsten Maßnahmen</a></p>



<p class="wp-block-paragraph"><a href="/engineering/barrierefreiheit-als-erfolgsfaktor-fuer-unternehmen/">Teil 3: Barrierefreiheit als Erfolgsfaktor – Wie Unternehmen langfristig profitieren</a></p>



<div class="wp-block-rank-math-toc-block" id="rank-math-toc"><h3>Inhalt</h3><nav><ul><li class=""><a href="#digitale-inklusion-als-wettbewerbsvorteil">Digitale Inklusion als Wettbewerbsvorteil</a></li><li class=""><a href="#rechtliche-grundlagen">Was bedeutet digitale Barrierefreiheit?</a></li><li class=""><a href="#wirtschaftlicher-nutzen-von-barrierefreiheit">Wirtschaftlicher Nutzen von Barrierefreiheit</a></li><li class=""><a href="#barrierefreiheit-in-der-praxis">Rechtliche Anforderungen: Was Unternehmen wissen müssen</a></li><li class=""><a href="#barrierefreiheit-in-der-praxis-1">Fazit</a></li><li class=""><a href="#atras-expertise">Unsere Expertise</a></li></ul></nav></div>
</div>
</div>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="digitale-inklusion-als-wettbewerbsvorteil"><strong>Digitale Inklusion als Wettbewerbsvorteil</strong></h2>



<p class="wp-block-paragraph">In einer zunehmend digitalisierten Welt ist Barrierefreiheit kein nettes Extra mehr – sie ist eine Notwendigkeit. Unternehmen, die ihre Websites und Online-Shops nicht für alle Nutzergruppen zugänglich machen, schließen Millionen potenzieller Kunden aus, riskieren rechtliche Konsequenzen und verschenken wirtschaftliches Potenzial.<br></p>



<p class="wp-block-paragraph">Dabei bietet eine barrierefreie Website nicht nur einen gesellschaftlichen Mehrwert, sondern sorgt auch für <strong>mehr Reichweite, eine bessere Nutzererfahrung und langfristige Wettbewerbsfähigkeit</strong>. Doch was bedeutet digitale Barrierefreiheit konkret, welche gesetzlichen Anforderungen müssen Unternehmen erfüllen und warum sollten sie sich aktiv darum kümmern?<br></p>



<p class="wp-block-paragraph">Dieser Artikel gibt Ihnen einen umfassenden Überblick darüber, warum <strong>Web Accessibility (A11Y)</strong> ein entscheidender Erfolgsfaktor für Unternehmen ist.</p>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image is-style-default">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf12582cc&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf12582cc" class="aligncenter size-large is-resized wp-lightbox-container"><img decoding="async" width="1024" height="683" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/03/a11y-illustration-people-1024x683.png" alt="Barrierefreiheit" class="wp-image-6237" style="width:800px" srcset="https://dev.atra.consulting/wp-content/uploads/2025/03/a11y-illustration-people-1024x683.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/03/a11y-illustration-people-768x512.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="rechtliche-grundlagen"><strong>Was bedeutet digitale Barrierefreiheit?</strong></h2>



<p class="wp-block-paragraph">Barrierefreiheit im Web bedeutet, dass digitale Inhalte von <strong>allen Menschen uneingeschränkt genutzt werden können</strong> – unabhängig von körperlichen oder kognitiven Einschränkungen.</p>



<p class="wp-block-paragraph"><strong>Betroffene Nutzergruppen:</strong></p>



<ul class="wp-block-list bullet-list">
<li><strong>Menschen mit kognitiven Einschränkungen</strong> → Profitieren von klar strukturierten, leicht verständlichen Texten.</li>



<li><strong>Sehbehinderte und blinde Menschen</strong> → Nutzen Screenreader, Braille-Displays oder benötigen hohe Kontraste.</li>



<li><strong>Menschen mit motorischen Einschränkungen</strong> → Navigieren per Tastatursteuerung oder Spracherkennung.</li>



<li><strong>Hörgeschädigte Nutzer</strong> → Sind auf Untertitel und Transkriptionen für audiovisuelle Inhalte angewiesen.<br></li>
</ul>



<p class="wp-block-paragraph">Eine <strong>barrierefreie Website</strong> berücksichtigt all diese Aspekte und stellt sicher, dass jeder Besucher die Inhalte gleichermaßen erfassen und bedienen kann.</p>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="wirtschaftlicher-nutzen-von-barrierefreiheit"><strong>Wirtschaftlicher Nutzen von Barrierefreiheit</strong></h2>



<p class="wp-block-paragraph">Oft wird Barrierefreiheit als zusätzliche Belastung betrachtet. Tatsächlich bringt sie jedoch <strong>messbare Vorteile</strong> mit sich:<br></p>



<h3 class="wp-block-heading my-0" id="grossere-zielgruppe-hohere-reichweite"><strong>Größere Zielgruppe &amp; höhere Reichweite</strong></h3>



<ul class="wp-block-list my-0">
<li>Über <strong>15% der Weltbevölkerung</strong> leben mit einer Behinderung – das sind Millionen potenzieller Kunden, die durch Barrierefreiheit besser erreicht werden können.</li>



<li>Ältere Menschen profitieren ebenfalls von besserer Lesbarkeit und einfacherer Navigation.</li>



<li>Unternehmen, die Barrierefreiheit ignorieren, verlieren diese potenziellen Kunden an die Konkurrenz.<br></li>
</ul>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading my-0" id="hohere-usability-fur-alle-nutzer"><strong>Höhere Usability für alle Nutzer</strong></h3>



<ul class="wp-block-list my-0">
<li>Strukturierte Inhalte, gute Lesbarkeit und intuitive Navigation kommen <strong>allen Kunden</strong> zugute. </li>



<li>Barrierefreiheit verbessert die <strong>User Experience (UX)</strong> und erhöht die Verweildauer auf der Website.<br></li>
</ul>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading my-0" id="seo-google-ranking-verbessern"><strong>SEO &amp; Google-Ranking verbessern</strong></h3>



<ul class="wp-block-list my-0">
<li>Google bevorzugt <strong>barrierefreie Websites</strong> – ein besseres Ranking sorgt für mehr Sichtbarkeit. </li>



<li>Klare Seitenstrukturen, alternative Bildbeschreibungen und schnelle Ladezeiten steigern die Auffindbarkeit.<br></li>
</ul>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading my-0" id="mehr-conversions-umsatz"><strong>Mehr Conversions &amp; Umsatz</strong></h3>



<ul class="wp-block-list my-0">
<li>Untersuchungen zeigen, dass <strong>gut nutzbare Websites eine höhere Conversion-Rate erzielen</strong>. </li>



<li>Durch optimierte Bestellprozesse in Online-Shops können mehr Kunden den Kauf abschließen..</li>
</ul>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf12596d3&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf12596d3" class="aligncenter size-full is-resized wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/03/vorteile-barrierefreiheit.svg" alt="" class="wp-image-6227" style="width:800px"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="barrierefreiheit-in-der-praxis"><strong>Rechtliche Anforderungen: Was Unternehmen wissen müssen</strong></h2>



<h3 class="wp-block-heading" id="eu-richtlinie-bfsg-ab-2025-gilt-eine-gesetzliche-pflicht"><strong>EU-Richtlinie &amp; BFSG: Ab 2025 gilt eine gesetzliche Pflicht<br></strong></h3>



<p class="wp-block-paragraph">Das <strong>Barrierefreiheitsstärkungsgesetz (BFSG)</strong> setzt die EU-Richtlinie 2019/882 in deutsches Recht um. Ab <strong>Juni 2025</strong> müssen viele private Unternehmen digitale Barrierefreiheit gewährleisten, darunter:<br></p>



<ul class="wp-block-list">
<li><strong>Online-Shops</strong></li>



<li><strong>Banken und Versicherungen</strong></li>



<li><strong>Telekommunikationsanbieter</strong></li>



<li><strong>E-Book- und Streaming-Dienste</strong></li>



<li><strong>Software- und Ticketing-Plattformen</strong><br></li>
</ul>



<p class="wp-block-paragraph">Verstöße können zu <strong>Abmahnungen, Geldbußen und Reputationsschäden</strong> führen. Unternehmen sollten daher <strong>jetzt handeln</strong>, um ihre digitalen Angebote rechtzeitig anzupassen.</p>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="barrierefreiheit-in-der-praxis-1"><strong>Fazit</strong></h2>



<p class="wp-block-paragraph"><strong>Digitale Barrierefreiheit ist kein freiwilliges Extra – sie wird zur Pflicht.</strong> Doch abgesehen von der gesetzlichen Notwendigkeit bietet sie <strong>signifikante wirtschaftliche Vorteile</strong>, von mehr Reichweite bis hin zu besseren Conversion-Raten. Wer frühzeitig investiert, sichert sich einen <a href="/engineering/barrierefreiheit-als-erfolgsfaktor-fuer-unternehmen/"><strong>Wettbewerbsvorteil und vermeidet rechtliche Risiken</strong>.</a></p>



<p class="wp-block-paragraph"><br>Lesen Sie im <a href="/consulting/die-wichtigsten-a11y-massnahmen/">zweiten Teil</a> der Serie, welche <strong><a href="/consulting/die-wichtigsten-a11y-massnahmen/">praktischen Maßnahmen</a></strong> Sie ergreifen können, um Ihre Website barrierefrei zu machen.</p>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading my-0" id="atras-expertise"><strong><strong>Unsere</strong> Expertise</strong></h2>



<p class="wp-block-paragraph">Mit unserer erfahrungsreichen Expertise unterstützen wir Unternehmen bei der barrierefreien Gestaltung ihrer digitalen Angebote. Unsere Dienstleistungen umfassen:</p>



<ul class="wp-block-list">
<li>Barrierefreiheits-Audits: Wir prüfen Ihre Website auf Konformität mit den WCAG-Standards.</li>



<li>Strategieberatung: Wir helfen Ihnen, Barrierefreiheit strategisch in Ihre digitalen Prozesse zu integrieren.</li>



<li>Technische Umsetzung: Von der Optimierung bestehender Seiten bis hin zur Erstellung neuer, barrierefreier Lösungen.<br></li>
</ul>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator aligncenter has-alpha-channel-opacity is-style-wide"/>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:30%">
<p class="wp-block-paragraph">Besuchen Sie auch gerne für mehr Informationen unsere Website speziell zu diesem Thema!</p>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<figure class="wp-block-image size-large"><a href="https://dev.atra.consulting/barrierefreiheit" target="_blank" rel=" noreferrer noopener"><img decoding="async" width="1024" height="683" src="https://dev.atra.consulting/wp-content/uploads/2025/04/a11y-illustration-implementation-1024x683.png" alt="barrierefrei barrierefreiheit" class="wp-image-7002" style="object-fit:cover" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/a11y-illustration-implementation-1024x683.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/a11y-illustration-implementation-768x512.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<div class="wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-8cf370e7 wp-block-group-is-layout-flex">
<p class="wp-block-paragraph"><a href="https://dev.atra.consulting/barrierefreiheit" target="_blank" rel="noreferrer noopener">atra.consulting/barrierefreiheit</a></p>



<h3 class="wp-block-heading" id="barrierefreiheit">Barrierefreiheit</h3>



<p class="wp-block-paragraph">Machen Sie Ihre Website barrierefrei – für mehr Reichweite und rechtliche Sicherheit! Wir helfen Unternehmen, digitale Angebote inklusiver, zugänglicher und gesetzeskonform zu gestalten.</p>
</div>
</div>
</div>
</div>
</div>



<hr class="wp-block-separator aligncenter has-alpha-channel-opacity is-style-wide"/>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns mx-0 br-12 pl-12 has-white-color has-text-color has-background has-link-color wp-elements-e154d01b0b9a5b9b4073b44fac7806fd is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex" style="background-color:#26489287">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:50%">
<h3 class="wp-block-heading has-white-color has-text-color has-link-color has-medium-font-size wp-elements-14bce2f9ca467307d009ca82eeda2f5b"><strong>Lassen Sie uns gemeinsam die digitale Welt inklusiver gestalten!</strong></h3>



<p class="wp-block-paragraph">In einem kostenlosen Erstgespräch analysieren wir den aktuellen Stand Ihrer Website und zeigen Ihnen konkrete Maßnahmen auf, wie Sie sie für eine breitere Zielgruppe zugänglich machen können. So verbessern Sie nicht nur die User Experience, sondern stärken auch Ihre Marke und steigern Ihre Reichweite.</p>



<p class="wp-block-paragraph">Kontaktieren Sie uns jetzt und machen Sie den ersten Schritt zu einer digitalen Zukunft, die niemanden ausschließt!</p>
</div>



<div class="wp-block-column br-tl-12 br-bl-12 has-primary-color has-white-background-color has-text-color has-background has-link-color wp-elements-996345badf2e3946fbd6d9f4550eda77 is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:50%">
<div style="height:12px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%">
<h5 class="wp-block-heading has-text-align-left has-primary-color has-text-color has-link-color wp-elements-b010181f7f762663fb3fa135bc10d328"><strong>Ihr Ansprechpartner</strong></h5>


<div class="wp-block-image">
<figure class="alignleft size-full is-resized"><img decoding="async" src="https://dev.atra.consulting/wp-content/uploads/2025/03/TK-Profile.jpeg" alt="Timo Kaiser, Senior Software Engineer Consultant, Web-Entwickler / A11Y-Spezialist" class="wp-image-5208" style="width:200px"/></figure>
</div></div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:59%">
<p class="my-0 has-normal-font-size wp-block-paragraph"><strong>Timo Kaiser</strong></p>



<p class="wp-block-paragraph">Senior Software Engineer Consultant<br>Web-Entwickler / A11Y-Spezialist<br> <br><strong>t.kaiser@atra.consulting</strong><br><strong>+49 1520 2380444</strong><br></p>



<div class="wp-block-buttons is-content-justification-left is-layout-flex wp-container-core-buttons-is-layout-fdcfc74e wp-block-buttons-is-layout-flex">
<div class="wp-block-button has-custom-width wp-block-button__width-75 is-style-fill"><a class="wp-block-button__link has-primary-color has-secondary-background-color has-text-color has-background has-link-color wp-element-button" href="mailto:t.kaiser@atra.consulting">Timo kontaktieren</a></div>
</div>
</div>
</div>



<div style="height:12px" aria-hidden="true" class="wp-block-spacer"></div>
</div>
</div>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>atra Weihnachtsspende 2024</title>
		<link>https://dev.atra.consulting/allgemein/atra-weihnachtsspende-2024/</link>
		
		<dc:creator><![CDATA[Daniel Wochnik]]></dc:creator>
		<pubDate>Wed, 20 Nov 2024 11:51:00 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Agile Teams]]></category>
		<category><![CDATA[Dokumentation]]></category>
		<category><![CDATA[IT-Projekte]]></category>
		<category><![CDATA[Rollenklärung]]></category>
		<category><![CDATA[Softwarearchitektur]]></category>
		<category><![CDATA[Softwareentwicklung]]></category>
		<guid isPermaLink="false">https://d-themes.com/wordpress/udesign/dummy/business-consulting-5/?p=1345</guid>

					<description><![CDATA[Am vergangenen Wochenende war der erste Advent – die Weihnachtszeit hat offiziell begonnen. In dieser Zeit möchten wir bei atra.consulting einer Tradition folgen, die uns am Herzen liegt: “Spenden statt Schenken”. Die Auswahl an wohltätigen Organisationen und karitativen Einrichtungen ist riesig. Alleine eine kurze Online-Suche nach dem Stichwort „Weihnachtsspende“ ergibt unzählige Treffer – mit vielen [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Am vergangenen Wochenende war der erste Advent – die Weihnachtszeit hat offiziell begonnen. In dieser Zeit möchten wir bei atra.consulting einer Tradition folgen, die uns am Herzen liegt: “Spenden statt Schenken”.<br></p>



<p class="wp-block-paragraph">Die Auswahl an wohltätigen Organisationen und karitativen Einrichtungen ist riesig. Alleine eine kurze Online-Suche nach dem Stichwort „Weihnachtsspende“ ergibt unzählige Treffer – mit vielen wunderbaren Projekten, die jede Unterstützung verdient hätten. Doch die schiere Vielfalt macht es schwierig, gezielt auszuwählen.</p>



<p class="wp-block-paragraph">Da wir als IT-Beratungsgruppe täglich im technologischen Umfeld arbeiten, möchten wir unsere Spende deshalb auf einen Bereich konzentrieren, der direkt zu unserem beruflichen Alltag passt. Unsere Wahl fiel auf Open-Source-Software (OSS). Durch OSS werden nicht nur moderne Technologien ermöglicht, sondern auch Innovationen und Stabilität in der IT-Infrastruktur gefördert. Uns ist es wichtig, auch hier einen Beitrag zu leisten und uns für eine „karitative Technologie-Spende“ zu engagieren, die sich für viele Menschen langfristig positiv auswirken kann.<br></p>



<h3 class="wp-block-heading"><strong>Das Rückgrat unserer digitalen Welt</strong></h3>



<p class="wp-block-paragraph">Open-Source-Software ist das unsichtbare Rückgrat der digitalen Welt, auf das sich viele unserer Projekte und Technologien stützen. Oft denken wir gar nicht daran, dass hinter dieser Software kleine Entwicklerteams oder sogar Einzelpersonen stehen, die diese Infrastruktur ehrenamtlich und ohne finanzielle Rückendeckung aufrechterhalten.</p>



<p class="wp-block-paragraph">Die Open-Source-Community sieht sich einem Spannungsfeld gegenüber: Auf der einen Seite ist “ihre Software” enorm erfolgreich und weit verbreitet. So läuft Android, ein auf dem Linux-Kernel basierendes Betriebssystem,&nbsp;<a href="https://about.google/intl/ALL_de/stories/geschichte-android" target="_blank" rel="noreferrer noopener"><strong>auf über 2 Milliarden Geräten weltweit</strong>.</a>&nbsp;Linux selbst, mittlerweile 25 Jahre alt, ist aus der digitalen Welt nicht mehr wegzudenken. Sein Einsatzgebiet reicht von Alltagsgeräten wie Smartphones und Druckern über Webserver und Cloudinfrastruktur bis hin zu Supercomputern, wo es auf 498 der 500 leistungsstärksten Systemen läuft. Die&nbsp;<a href="https://www.heise.de/select/ct/2016/18/1472732192870124" target="_blank" rel="noreferrer noopener">Weltherrschaft von Linux</a>&nbsp;ist unbestritten.</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf1262cbb&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf1262cbb" class="aligncenter wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2024/11/cloud-are-made-of-linux-servers.webp" alt="" class="wp-image-27332" title="cloud-are-made-of-linux-servers"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="wp-block-paragraph">Linux und Android sind zwar bekannte Beispiele, aber bei weitem nicht die einzigen. Die Datenbank SQLite, beispielsweise, ist außerhalb der IT-Welt kaum jemandem ein Begriff. Trotzdem wird sie Schätzungen zufolge auf <strong><a href="https://www.sqlite.org/mostdeployed.html" target="_blank" rel="noreferrer noopener">über einer Billion Geräten aktiv genutzt.</a></strong></p>



<p class="wp-block-paragraph"><br></p>



<h3 class="wp-block-heading"><strong>Schattenseiten: Herausforderungen in der Open-Source-Welt</strong></h3>



<p class="wp-block-paragraph">Obwohl Open-Source-Software das unsichtbare Rückgrat unserer modernen digitalen Welt darstellt, gibt es auch weniger beachtete Schattenseiten. Dieses Rückgrat ruht auf den Schultern engagierter Freiwilliger, die ihre Arbeit mit Leidenschaft und ohne kommerziellen Anreiz der Allgemeinheit zur Verfügung stellen. Doch von dieser Arbeit können sie oft nicht leben. Kritische Software-Infrastruktur wird deshalb häufig von Einzelpersonen in späten Nachtstunden oder am Wochenende – zusätzlich zu ihrem regulären Job – entwickelt und gepflegt.</p>



<p class="wp-block-paragraph">Ein markantes Beispiel hierfür ist die Programmbibliothek OpenSSL, die rund zwei Drittel des gesamten Internetverkehrs verschlüsselt und damit eine Schlüsselrolle in der digitalen Sicherheit einnimmt. Ein über Jahre unentdeckter Fehler in OpenSSL führte zum berühmten Heartbleed-Bug, der eine erhebliche Sicherheitslücke darstellte und private Daten im Internet anfällig für Angriffe machte. Nach der Behebung des Bugs machte das Entwicklungsteam deutlich auf die strukturellen Probleme in der Open-Source-Welt aufmerksam und&nbsp;<strong><a href="https://www.heise.de/news/Nach-Heartbleed-OpenSSL-Projekt-bittet-um-Unterstuetzung-2169393.html" target="_blank" rel="noreferrer noopener">bat um Hilfe.</a></strong></p>



<p class="wp-block-paragraph">Ein etwas aktuelleres Beispiel wurde von Heise gar als <strong><a href="https://www.heise.de/blog/Aktenzeichen-XZ-ungeloest-9678531.html" target="_blank" rel="noreferrer noopener">größtes Fiasko in der Geschichte des Internets </a></strong>bezeichnet, dem wir gerade so entgangen sind. Vermutlich staatliche Akteure nutzten eine technisch hochentwickelte Methode, um die Paketierungssoftware XZ zu kompromittieren. Dabei setzten sie auf raffiniertes Social Engineering, indem sie die angeschlagene psychische Gesundheit von Lasse Collin, dem Hauptentwickler der Software, gezielt ausnutzten. Diese Aktion, die zunächst unscheinbar wirken mag, hätte fast eine Backdoor in nahezu jedes System weltweit geöffnet.</p>



<p class="wp-block-paragraph"><br></p>



<h3 class="wp-block-heading"><strong>Open Source: Stärke durch Transparenz, aber wer trägt die Verantwortung?</strong></h3>



<p class="wp-block-paragraph">An dieser Stelle möchten wir betonen: Open Source Software ist nicht per se unsicherer oder weniger nachhaltig als kommerzielle Software (Closed Source Software). Ganz im Gegenteil – die breite und öffentliche Aufarbeitung, wie im Fall von XZ, sehen wir als eine Stärke, die langfristig Sicherheit und Stabilität fördert. Gleichzeitig wirft dies aber auch die wichtige Frage nach einer fairen Lastenverteilung auf – ein Punkt, der in folgendem xkcd-Comic auf amüsante Weise illustriert wird.</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf126423e&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf126423e" class="aligncenter is-resized wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2024/11/modern-digital-infrastructure.png" alt="" class="wp-image-27333" style="width:500px" title="modern-digital-infrastructure"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="wp-block-paragraph"><a href="https://dev.atra.consulting/wp-content/uploads/2024/11/modern-digital-infrastructure.png"></a></p>



<p class="wp-block-paragraph">Ob insbesondere große Unternehmen,&nbsp;<strong><a href="https://www.heise.de/news/71-Prozent-der-deutschen-Unternehmen-setzen-Open-Source-Software-ein-6190250.html" target="_blank" rel="noreferrer noopener">alleine in Deutschland nutzen 71% dieser Open-Source-Software</a></strong>, sowie Staaten hier zum Erhalt unseres digitalen Rückgrats genug investieren und „zurückgeben“, ist ein sehr berechtigter Aspekt dieser Frage, bspw.<a href="https://www.wikimedia.de/press-releases/offener-brief-bundesregierung-muss-endlich-in-freie-und-offene-software-investieren/" target="_blank" rel="noreferrer noopener"><strong>&nbsp;erst kürzlich wieder von der Wikimedia gestellt</strong></a><strong>.</strong></p>



<p class="wp-block-paragraph">Das Spannungsfeld zwischen der erfolgreichsten Idee der IT-Geschichte und vielen engagierten “stillen Helden” ist auch hier offensichtlich. Glücklicherweise werden auch <a href="https://opensource.com/article/19/11/burnout-open-source-communities" target="_blank" rel="noreferrer noopener"><strong>Themen wie Burnout immer offener diskutiert</strong></a><strong>.</strong></p>



<p class="wp-block-paragraph"><br></p>



<h3 class="wp-block-heading"><strong>Weihnachtsspende: Immer noch viel Auswahl</strong></h3>



<p class="wp-block-paragraph">Nun gibt es auch bei der Suche nach geeigneten Spendenzielen im Open-Source-Bereich unzählige inspirierende Organisationen und Projekte, die jede Unterstützung verdienen. Statt selbst eine Auswahl zu treffen, haben wir innerhalb von atra.consulting eine kleine Umfrage gestartet. Der Rahmen war einfach: Für jedes Teammitglied stand eine Spendensumme von 50 € zur Verfügung. Alle Kolleginnen und Kollegen waren eingeladen, ihr persönliches Herzensprojekt vorzuschlagen. Anschließend wurde gemeinsam über die eingereichten Vorschläge abgestimmt.</p>



<p class="wp-block-paragraph">So starten wir die Weihnachtszeit nun mit Spenden an folgende Projekte:</p>



<p class="wp-block-paragraph"><strong>Signal</strong>&nbsp;– Der sichere, E2E-verschlüsselte Open-Source-Messenger überzeugte unser Team auf ganzer Linie. Neben innovativer Entwicklung, etwa im Bereich Post-Quantum-Verschlüsselung, leistet die Signal Foundation unschätzbare Arbeit. Mit Abstand auf Platz 1 erhält Signal 50 % der Spendensumme.</p>



<p class="wp-block-paragraph"><strong>Wikipedia</strong>&nbsp;– Zwar keine klassische Open-Source-Software, aber ein unverzichtbares Open-Knowledge-Projekt. Es bereichert unseren Alltag und ist eine essenzielle Grundlage, auch für die Entwicklung moderner Technologien wie LLMs. Wikipedia erhält 30 % der Spendensumme.</p>



<p class="wp-block-paragraph"><strong>Notepad++</strong>&nbsp;– Ein einfacher, aber wertvoller Texteditor, der für viele von uns tägliches Werkzeug ist. Notepad++ erhält 20 % der Spendensumme und würdigt damit die Bedeutung kleiner, effektiver Tools.</p>



<p class="wp-block-paragraph">Mit unserer Spendenaktion möchten wir nicht nur einen Beitrag leisten, sondern auch das Bewusstsein für die Bedeutung von Open-Source-Software schärfen. Wir laden alle ein, sich dieser Idee anzuschließen und die Open-Source-Community aktiv zu unterstützen.</p>



<p class="wp-block-paragraph"><br><br></p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:30%">
<figure class="wp-block-image size-full"><img decoding="async" width="425" height="425" src="https://dev.atra.consulting/wp-content/uploads/2025/01/profilbild-daniel-wochnik-500-x-500px.jpg" alt="Daniel Wochnik, Geschäftsbereichsleitung Finanzdienstleistungen" class="wp-image-3216" style="object-fit:cover" title="Team-Schwarze"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"></div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<h3 class="wp-block-heading">Daniel Wochnik</h3>



<p class="wp-block-paragraph">Geschäftsbereichsleitung »Finanzdienstleistungen«</p>



<div style="height:16px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Daniel ist seit 2017 in der IT-Branche aktiv und bringt seine umfassende Erfahrung als Senior Managing Consultant und Geschäftsbereichsleiter für Finanzdienstleistungen bei atra.consulting ein. Besonders begeistert ihn das Zusammenspiel technischer, methodischer und organisatorischer Aspekte. Als leidenschaftlicher Läufer und bekennender 1. FC Köln-Fan hat er seine Leidensfähigkeit auch privat mehrfach unter Beweis gestellt. Seine Kunden unterstützt er als Softwarearchitekt, agiler Coach und Berater bei der nachhaltigen und zielgerichteten Umsetzung von Entwicklungsprojekten.</p>



<div style="height:16px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-ad2f72ca wp-block-group-is-layout-flex">
<p class="wp-block-paragraph"><a href="mailto:d.wochnik@atra.consulting">d.wochnik@atra.consulting</a>&nbsp; &nbsp;&nbsp;<a href="https://de.linkedin.com/in/daniel-wochnik" target="_blank" rel="noreferrer noopener"></a></p>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin  wp-block-social-link"><a href="https://de.linkedin.com/in/daniel-wochnik" class="wp-block-social-link-anchor" target="_blank" rel="noopener"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li></ul>
</div>
</div>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Die vielen Gesichter von Softwarearchitekten</title>
		<link>https://dev.atra.consulting/consulting/die-vielen-gesichter-von-softwarearchitekten/</link>
		
		<dc:creator><![CDATA[Daniel Wochnik]]></dc:creator>
		<pubDate>Tue, 15 Oct 2024 11:50:11 +0000</pubDate>
				<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Agile Teams]]></category>
		<category><![CDATA[Dokumentation]]></category>
		<category><![CDATA[IT-Projekte]]></category>
		<category><![CDATA[Rollenklärung]]></category>
		<category><![CDATA[Softwarearchitektur]]></category>
		<category><![CDATA[Softwareentwicklung]]></category>
		<guid isPermaLink="false">https://d-themes.com/wordpress/udesign/dummy/business-consulting-5/?p=1343</guid>

					<description><![CDATA[Die Architekten der digitalen Welt: Eine nicht ganz ernst gemeinte Erkundung der Charaktere hinter den Software­architekturen. Einleitung Bei der Besetzung von Rollen in IT-Projekten ist eine gewisse Findungsphase mit dem Auftraggeber nicht unüblich. Während viele Rollen im Lehrbuch (recht) eindeutig definiert sind, spricht die Praxis oftmals eine andere Sprache. Eine besonders komplexe Rolle hierbei ist [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Die Architekten der digitalen Welt: Eine nicht ganz ernst gemeinte Erkundung der Charaktere hinter den Software­architekturen.<br></p>



<h3 class="wp-block-heading"><strong>Einleitung</strong></h3>



<p class="wp-block-paragraph">Bei der Besetzung von Rollen in IT-Projekten ist eine gewisse Findungsphase mit dem Auftraggeber nicht unüblich. Während viele Rollen im Lehrbuch (recht) eindeutig definiert sind, spricht die Praxis oftmals eine andere Sprache. Eine besonders komplexe Rolle hierbei ist die des Softwarearchitekten, bei welcher sich Anforderungen und Erwartungen von Organisation zu Organisation teils stark unterscheiden. Dies hat sicherlich auch damit zu tun, dass selbst der Begriff von Softwarearchitektur in der Literatur nicht einheitlich und erst recht nicht präzise definiert ist. Gleichzeitig trägt die Rolle aber wesentlich zum Erfolg von IT-Projekten bei. Grund genug für uns, den vielen Facetten von Softwarearchitektur eine kleine Blogserie zu widmen.</p>



<p class="wp-block-paragraph">Einleiten wollen wir diese Blogserie mit einer nicht ganz ernst gemeinten Betrachtung verschiedener (Stereo-)Typen von Softwarearchitekten, wie sie die meisten Menschen, die sich im Kontext von IT-Projekten bewegen, wohl schon erlebt haben. Die durchaus sinnvollen Unterscheidungen zwischen Enterprise, Solution und Technical Architecture klammern wir an dieser Stelle erst einmal bewusst aus, da sich unserer Erfahrung nach untenstehende Typen auf eigentlich jedem Abstraktionslevel finden lassen. Aber Achtung – der Beitrag kann Spuren von Ironie enthalten.&nbsp;</p>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf126ab5d&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf126ab5d" class="wp-block-image size-full wp-lightbox-container"><img decoding="async" width="1024" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/Powerpoint-Architekt.png" alt="" class="wp-image-6811" title="Powerpoint-Architekt-450" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/Powerpoint-Architekt.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/Powerpoint-Architekt-768x768.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<h3 class="wp-block-heading"><br><strong>Der Powerpoint-Architekt</strong></h3>



<p class="wp-block-paragraph">Für ihn bestehen Softwaresysteme aus Kästchen und Pfeilen. Alles andere sind doch auch nur lästige Implementierungsdetails. Wird von agilen Teams häufig nach oben weggelobt und zeichnet seine Powerpoints nun auf höherer Ebene.</p>
</div>
</div>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf126bbf5&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf126bbf5" class="wp-block-image size-full wp-lightbox-container"><img decoding="async" width="1024" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/Elfenbeinturm-Architekt_2.png" alt="" class="wp-image-6809" title="Elfenbeinturm-Architekt" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/Elfenbeinturm-Architekt_2.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/Elfenbeinturm-Architekt_2-768x768.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<h3 class="wp-block-heading"><br><strong>Der Elfenbeinturm-Architekt</strong></h3>



<p class="wp-block-paragraph">Durchaus verwandt mit dem Powerpoint-Architekten befindet sich der Elfenbeinturm-Architekt im… nun ja, in seinem persönlichen Elfenbeinturm. Oftmals zeichnen Elfenbeinturm-Architekten sich gleichzeitig durch ein tiefes, zumeist akademisch geprägtes Fachwissen auf der einen und eine komplette Ignoranz für die (Projekt-)Bedürfnisse der Entwicklungsteams auf der anderen Seite aus. Liebt Gremien, in welchen die Entwicklungsteams sich ihre Architekturen abnehmen lassen müssen. Oder es zumindest versuchen. Der natürliche Feind agiler Teams.</p>
</div>
</div>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf126cc3f&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf126cc3f" class="wp-block-image size-full wp-lightbox-container"><img decoding="async" width="800" height="800" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/Chronist-Architekt_2.png" alt="" class="wp-image-6808" title="Chronisten-Architekt" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/Chronist-Architekt_2.png 800w, https://dev.atra.consulting/wp-content/uploads/2025/04/Chronist-Architekt_2-768x768.png 768w" sizes="(max-width: 800px) 100vw, 800px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<h3 class="wp-block-heading"><br><strong>Der Chronisten-Architekt</strong></h3>



<p class="wp-block-paragraph">Sieht sich als Wächter der Dokumentation, welche in ihrer Bedeutung der Bibliothek von Alexandria quasi in nichts nachsteht. Etwas, was nicht ausführlich dokumentiert ist, existiert für ihn nicht und kann auf gar keinen Fall funktionieren. Idealerweise wird die Architektur und ihre Dokumentation in mehrstufigen Gremien freigegeben. Im Gegensatz zum Elfenbeinturm-Architekten sieht der Chronisten-Architekt seine Rolle aber eher in der Vorbereitung und Dokumentation der Gremienarbeit.</p>
</div>
</div>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf126dde9&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf126dde9" class="wp-block-image size-full wp-lightbox-container"><img decoding="async" width="1024" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/Podcast-Architekt_2.png" alt="" class="wp-image-6810" title="Podcast-Architekt" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/Podcast-Architekt_2.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/Podcast-Architekt_2-768x768.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<h3 class="wp-block-heading"><br><strong>Der Podcast-Architekt</strong></h3>



<p class="wp-block-paragraph">Hört wirklich jeden Architektur – und Technologie-Podcast auf dem Markt. In mehr als einer Sprache. Der Podcast-Architekt predigt die neuesten Technologien und Methoden und versucht, jeden in seinem Umfeld davon zu überzeugen. Hält sich auch liebend gerne auf Konferenzen und Meetups auf. Seine Wahrnehmung in den Projektteams variiert stark – manche lieben ihn und seine Impulse, manche möchten doch einfach nur das Projekt zu Ende bringen.</p>
</div>
</div>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf126f551&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf126f551" class="wp-block-image size-full wp-lightbox-container"><img decoding="async" width="800" height="800" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/Prototyp-Architekt_2.png" alt="" class="wp-image-6812" title="Prototypen-Architekt" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/Prototyp-Architekt_2.png 800w, https://dev.atra.consulting/wp-content/uploads/2025/04/Prototyp-Architekt_2-768x768.png 768w" sizes="(max-width: 800px) 100vw, 800px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<h3 class="wp-block-heading"><br><strong>Der Prototypen-Architekt</strong></h3>



<p class="wp-block-paragraph">Dieser Architekten-Typus ist der natürliche Gegenpart zum Powerpoint-Architekten. Architektur findet für ihn direkt im Code statt, neue Pattern oder Ideen stellt er am liebsten als Prototyp direkt in seinem Repo zur Verfügung. Die Entwicklungsteams lieben ihn, auch wenn sein sonstiges Umfeld sich durchaus ein wenig mehr Dokumentation und Struktur wünschen würde.</p>
</div>
</div>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf1270835&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf1270835" class="wp-block-image size-full wp-lightbox-container"><img decoding="async" width="800" height="800" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/U-Boot-Architekt_2.png" alt="" class="wp-image-6813" title="U-Boot-Architekt" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/U-Boot-Architekt_2.png 800w, https://dev.atra.consulting/wp-content/uploads/2025/04/U-Boot-Architekt_2-768x768.png 768w" sizes="(max-width: 800px) 100vw, 800px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<h3 class="wp-block-heading"><br><strong>Der U-Boot-Architekt</strong></h3>



<p class="wp-block-paragraph">Nicht zu verwechseln mit dem Elfenbeinturm-Architekten, ist sein natürliches Wirkungs-Habitat der Besprechungsraum. Hier weiß er zu brillieren und durch die geschickte Platzierung von Fragen und Prüfaufträgen jede noch so kleine Entscheidung zielsicher zu torpedieren. Nur um dann wieder abzutauchen – bis zum nächsten Mal.</p>
</div>
</div>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf12719f9&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf12719f9" class="wp-block-image size-full wp-lightbox-container"><img decoding="async" width="800" height="800" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/Basisdemokrat-Architekt_2.png" alt="" class="wp-image-6807" title="Basisdemokrat-Architekt" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/Basisdemokrat-Architekt_2.png 800w, https://dev.atra.consulting/wp-content/uploads/2025/04/Basisdemokrat-Architekt_2-768x768.png 768w" sizes="(max-width: 800px) 100vw, 800px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<h3 class="wp-block-heading"><br><strong>Der basisdemo­kra­tische Architekt</strong></h3>



<p class="wp-block-paragraph">Architektur ergibt sich für ihn nur evolutionär aus der Diskussion im Team und hat sich dem Code unterzuordnen. Vorabentschei­dungen sind unbedingt zu vermeiden, zentrale Beschlüsse oder übergreifende Einschränkungen werden als persönlicher Affront aufgefasst. Auf diese Weise hat der basisdemokratische Architekt immer ein lokales Optimum fest im Blick – oftmals jedoch nicht das große Ganze.&nbsp;<br></p>
</div>
</div>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Uns selbst laufen eigentlich alle oben genannten Typen regelmäßig in Rein- oder Mischform in unseren Projekten über den Weg. Sehr gerne denke ich an einen großen Kunden zurück, bei dem der Auf­trag­geber selbst von 3-6 Monaten Onboarding ausge­gangen ist, um die komplexen Dokumentations- und Prozess­anforderungen an die Entwicklung der Software­architektur zu verinnerlichen. Ein typischer Fall von (in diesem Fall gewollten) Chronisten-Architekten.&nbsp;<br></p>



<p class="wp-block-paragraph">Aber was lernen wir nun aus den verschiedenen Typen von Softwarearchitekten? Auch wenn die Darstellung bewusst überspitzt war, verdeutlicht die Betrachtung sehr schön, mit welchen komplexen Anforderungen sich ein Softwarearchitekt konfrontiert sieht. Persönlich mag ich das Bild des&nbsp;<a href="https://architectelevator.com/" target="_blank" rel="noreferrer noopener">Softwarearchitektur-Aufzuges</a>&nbsp;von Gregor Hohpe, in welchem der Architekt sich vom Maschinen­raum im Keller (Technik, Programmiersprache, Design Pattern) bis zum Vorstands-Penthouse auf dem Dach (IT-Transformation, Organisationsentwicklung) bewegt. Auch wenn man durchaus hinterfragen kann, ob es sinnvoll ist, so viele Aufgaben und Anforderungen in eine einzige Rolle zu projizieren. Im nächsten Blogpost beschäftigen wir uns etwas ausführlicher damit, was Softwarearchitektur für uns eigentlich bedeutet – ganz ohne Ironie.</p>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:30%">
<figure class="wp-block-image size-full"><img decoding="async" width="425" height="425" src="https://dev.atra.consulting/wp-content/uploads/2025/01/profilbild-daniel-wochnik-500-x-500px.jpg" alt="Daniel Wochnik, Geschäftsbereichsleitung Finanzdienstleistungen" class="wp-image-3216" style="object-fit:cover" title="Team-Schwarze"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"></div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<h3 class="wp-block-heading">Daniel Wochnik</h3>



<p class="wp-block-paragraph">Geschäftsbereichsleitung »Finanzdienstleistungen«</p>



<div style="height:16px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Daniel ist seit 2017 in der IT-Branche aktiv und bringt seine umfassende Erfahrung als Senior Managing Consultant und Geschäftsbereichsleiter für Finanzdienstleistungen bei atra.consulting ein. Besonders begeistert ihn das Zusammenspiel technischer, methodischer und organisatorischer Aspekte. Als leidenschaftlicher Läufer und bekennender 1. FC Köln-Fan hat er seine Leidensfähigkeit auch privat mehrfach unter Beweis gestellt. Seine Kunden unterstützt er als Softwarearchitekt, agiler Coach und Berater bei der nachhaltigen und zielgerichteten Umsetzung von Entwicklungsprojekten.</p>



<div style="height:16px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-ad2f72ca wp-block-group-is-layout-flex">
<p class="wp-block-paragraph"><a href="mailto:d.wochnik@atra.consulting">d.wochnik@atra.consulting</a>&nbsp; &nbsp;&nbsp;<a href="https://de.linkedin.com/in/daniel-wochnik" target="_blank" rel="noreferrer noopener"></a></p>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin  wp-block-social-link"><a href="https://de.linkedin.com/in/daniel-wochnik" class="wp-block-social-link-anchor" target="_blank" rel="noopener"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li></ul>
</div>
</div>
</div>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Die in diesem Artikel verwendeten Bilder wurden mit Hilfe von DALL·E 2, einer KI zur Bildgenerierung, erstellt.</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Kostenvergleich interner und externer Softwareentwickler</title>
		<link>https://dev.atra.consulting/engineering/kostenvergleich-interner-und-externer-softwareentwickler/</link>
		
		<dc:creator><![CDATA[Michael Schwarze]]></dc:creator>
		<pubDate>Sun, 14 Apr 2024 13:20:00 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Organisation]]></category>
		<category><![CDATA[Produktivität]]></category>
		<category><![CDATA[Softwareentwicklung]]></category>
		<category><![CDATA[Vergleich]]></category>
		<guid isPermaLink="false">https://dev.atra.consulting/uncategorized/kostenvergleich-interner-und-externer-softwareentwickler/</guid>

					<description><![CDATA[Beim Vergleich der Kosten von angestellten Softwareentwicklern in Anwenderunternehmen mit den Beratungshonoraren externer Softwareentwickler gibt es einige Stolpersteine, wie dieser Beitrag aufzeigt. Inhalt: Einleitung Wenn man in Umfeldern tätig ist, in denen sowohl angestellte Mitarbeiter als auch externe Berater eingesetzt werden, wird man früher oder später mit der Frage konfrontiert, warum der Externe im Vergleich [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Beim Vergleich der Kosten von angestellten Softwareentwicklern in Anwenderunternehmen mit den Beratungshonoraren externer Softwareentwickler gibt es einige Stolpersteine, wie dieser Beitrag aufzeigt.</p>



<p class="wp-block-paragraph"><strong>Inhalt:</strong></p>



<ul class="wp-block-list">
<li><a href="https://dev.atra.consulting/?p=26487&amp;et_fb=1&amp;PageSpeed=off#einleitung">Einleitung</a></li>



<li><a href="https://dev.atra.consulting/?p=26487&amp;et_fb=1&amp;PageSpeed=off#intern-extern">Interner Softwareentwickler – externer Berater im Anwenderunternehmen</a>
<ul class="wp-block-list">
<li><a href="https://dev.atra.consulting/?p=26487&amp;et_fb=1&amp;PageSpeed=off#personalnebenkosten">Personalnebenkosten</a></li>



<li><a href="https://dev.atra.consulting/?p=26487&amp;et_fb=1&amp;PageSpeed=off#produktivitaet">Produktivität</a></li>
</ul>
</li>



<li><a href="https://dev.atra.consulting/?p=26487&amp;et_fb=1&amp;PageSpeed=off#fazit">Fazit</a></li>
</ul>



<h3 class="wp-block-heading"><br><strong>Einleitung</strong></h3>



<p class="wp-block-paragraph">Wenn man in Umfeldern tätig ist, in denen sowohl angestellte Mitarbeiter als auch externe Berater eingesetzt werden, wird man früher oder später mit der Frage konfrontiert, warum der Externe im Vergleich zum Angestellten so teuer sei. Hier wird dann häufig der Tagessatz eines externen Beraters, welcher beispielsweise als Java-Entwickler für einen Kunden tätig ist, mit 20 Arbeitstagen multipliziert und mit dem Bruttomonatsgehalt eines bei dem Kunden angestellten Java-Entwicklers verglichen.</p>



<p class="wp-block-paragraph">Für einen angestellten Java-Entwickler sind das derzeit durchschnittlich 70.250 € [<strong><a href="https://www.heise.de/select/ct/2024/4/2400218032205533744" target="_blank" rel="noreferrer noopener">1</a></strong>] pro Jahr. Das Beratungshonorar eines externen Beraters kann erheblich variieren, ein Freelancer ist dabei üblicherweise günstiger als ein über eines der großen Beratungshäuser, wie zum Beispiel Accenture, eingesetzter Berater. Ein Durchschnittswert von 1.000 € pro Tag für einen externen Berater erscheint aus unserer Erfahrung realistisch. 20.000 € im Monat für einen externen Berater im Vergleich zu 5.854 € für einen angestellten Softwareentwickler wirken auf den ersten Blick nachvollziehbarerweise unverhältnismäßig – bei dieser Betrachtungsweise würde ein Angestellter nicht mal ein Drittel eines Externen kosten. Wieso machen Unternehmen das also?</p>



<p class="wp-block-paragraph"><em>»Für jedes Problem gibt es eine Lösung, die einfach, klar und falsch ist.«</em>&nbsp;–H. L. Mencken</p>



<p class="wp-block-paragraph">Wie so häufig ist die Realität nicht einfach und es nur mit der „Äpfel mit Birnen vergleichen“-Metapher abzutun, auch wenn sie hier zutrifft, wird der Sache nicht gerecht. Deshalb werden wir die Thematik im Folgenden einmal genauer beleuchten.</p>



<p class="wp-block-paragraph">Entscheidend für entsprechende Kostenvergleiche ist zunächst die Art und Weise der Kalkulation im Unternehmen. Beim Einsatz von Softwareentwicklern, um den es hier geht, ist die Frage, ob das Unternehmen mit Softwareentwicklung Geld verdient oder die Softwareentwicklung Mittel zu einem (anderen) Zweck ist. Handelt es sich also um ein IT- beziehungsweise Softwareunternehmen oder – aus der Perspektive der IT beziehungsweise Softwareentwicklung – um ein Anwenderunternehmen? Buchhalterisch gefragt: Ist die Softwareentwicklung Aktiv- oder Passivposten in der Bilanz des Unternehmens, Profit- oder Cost-Center? Betriebswirtschaftlich weiter gefasst: Handelt es sich bei der Softwareentwicklung um einen Kern- oder Hilfsprozess für das Unternehmen?</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf127b447&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf127b447" class="aligncenter size-large wp-lightbox-container"><img decoding="async" width="1024" height="486" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/Management-Prozess-1024x486.png" alt="" class="wp-image-6306" title="Management-Prozess" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/Management-Prozess-1024x486.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/Management-Prozess-768x364.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="wp-block-paragraph"><em>Abbildung 1: Exemplarische Prozessübersicht eines Handelsunternehmens</em></p>



<p class="wp-block-paragraph">Im obigen Beispiel haben wir die vereinfachte Prozesslandschaft einer Handelsorganisation als ein Anwenderunternehmen dargestellt, welche im Wesentlichen aus den beiden Kernprozessen Einkauf und Verkauf besteht; die IT ist hier üblicherweise (noch) nur Mittel zum Zweck, also ein unterstützender Prozess beziehungsweise eine Kostenstelle.</p>



<p class="wp-block-paragraph">Natürlich hat sich gerade in den vergangenen 10 Jahren diesbezüglich in deutschen Handelsunternehmen viel getan. Getrieben durch Amazon und die Digitalisierung kennen wir auch klassische Handelsunternehmen, die die Umsatz-Parität zwischen online und offline erreicht haben und mehr als 1.000 Mitarbeiter in ihren Technologiebereichen beschäftigen. Diese Firmen sind sicherlich nicht mehr als reine Handelsorganisationen zu verstehen. Ob sie schon wie ein reines Technologieunternehmen kalkulieren, lassen wir für diese Betrachtung außen vor.</p>



<p class="wp-block-paragraph">Je nachdem, ob die Softwareentwicklung Kern- oder Hilfsprozess für eine Organisation ist, wird entsprechend anders kalkuliert. Deshalb differenzieren wir in unserer weiteren Betrachtung auch entsprechend nach Anwender- und Technologieunternehmen und zeigen anhand einer Vollkostenkalkulation zunächst für ein Anwenderunternehmen auf, was ein angestellter Softwareentwickler wirklich kostet.</p>



<p class="wp-block-paragraph">Die einfachste Form eines Technologieunternehmens ist ein freischaffender Softwareentwickler. Auch hier erleben wir häufig sehr vereinfachende Darstellungen betriebswirtschaftlicher Realitäten, die dann eher in die Richtung gehen, dass man als Freelancer doch so viel mehr verdienen würde als ein angestellter Softwareentwickler. Da dies im Prinzip nur die andere Seite der eingangs geschilderten Problematik darstellt, zeigen wir in einem zweiten Schritt anhand eines Soloselbständgen auf, was es aus Sicht eines Technologieunternehmens bei der Vollkostenkalkulation zu beachten gilt.</p>



<p class="wp-block-paragraph">Dass der eingangs gezeigte Vergleich des Monatsgehalts mit dem Beratungshonorar betriebswirtschaftlich schlicht falsch ist, zeigen auch Einblicke aus unserer eigenen Managementpraxis in entsprechenden Unternehmen. Zumindest ab einer gewissen Ebene und in den Finanzabteilungen größerer Unternehmen ist man sich natürlich bewusst, dass die Kosten eines Angestellten mehr umfassen als nur sein Gehalt. In dieser sogenannten Vollkostenbetrachtung kalkulierte man beispielsweise schon in den 2000er Jahren in der Telekommunikationsbranche mit ~750 € pro Tag für einen angestellten IT-Experten, wie wir aus entsprechenden Mandaten wissen. Aus der Finanzdienstleistungsbranche liegen uns aus dem vergangenen Jahr kalkulatorische Kosten angestellter Softwareentwickler in Höhe von 900 € pro Tag vor, von einem anderen Unternehmen wissen wir, dass IT-Experten intern sogar mit weit über 1.000 € verrechnet werden. Das Beratungshonorar eines externen IT-Spezialisten in Höhe von rund 1.000 € pro Tag unterscheidet sich also scheinbar doch gar nicht so sehr von den „echten“ beziehungsweise kalkulatorischen Vollkosten eines angestellten IT-Experten in einem Anwenderunternehmen.</p>



<p class="wp-block-paragraph">Über die Hintergründe, warum scheinbar wissentlich in Organisationen falsch kalkuliert (oder kommuniziert) wird, können wir nur spekulieren. In Preisverhandlungen mag die (falsche) Vereinfachung noch als Taktik durchgehen. Des Weiteren lässt sich nur vermuten, dass das durchaus vorhandene Wissen bewusst oder unbewusst nicht an alle Stellen im Unternehmen weitergegeben wird. Hier kann dieser Beitrag vielleicht für ein wenig Aufklärung sorgen.</p>



<p class="wp-block-paragraph">Da die Softwareentwicklung den Schwerpunkt unserer Beratungstätigkeit umfasst, fokussieren wir uns hier auch entsprechend auf selbige. Die Beispiele lassen sich aber auf beliebige andere Rollen, die sowohl von eigenem Personal als auch externen Beratern in Organisationen übernommen werden, transferieren, seien es agile Coaches, IT-Projektleiterinnen, UX-Designer oder beispielsweise Business Analysten, um nur einige zu nennen.</p>



<h3 class="wp-block-heading"><br><strong>Interner Softwareentwickler – externer Berater im Anwender­unterneh­men</strong></h3>



<p class="wp-block-paragraph">Wie kommt man nun also von durchschnittlich 5.854 € Bruttomonatsgehalt eines angestellten Softwareentwicklers in einem Anwenderunternehmen auf 20.000 € kalkulatorische Vollkosten beziehungsweise externes Beratungshonorar – für die gleiche Arbeit? Zwei wesentliche Aspekte gilt es hier zu bedenken. Einerseits die weiteren Kosten neben den reinen Gehaltskosten, also die Personalnebenkosten im weitesten Sinne. Andererseits die Produktivität, also wieviel Stunden oder Tage für das Gehalt im Falle eines Softwareentwicklers dann wirklich auch für die Softwareentwicklung aufgewendet wird; der externe Berater wird ja nur bezahlt, wenn er für den Kunden tätig ist, also Software entwickelt, der Angestellte erhält sein Gehalt auch, wenn er im beispielsweise im Urlaub ist.</p>



<h3 class="wp-block-heading"><br><strong>Personalneben­kosten</strong></h3>



<p class="wp-block-paragraph">Schauen wir uns zunächst die weiteren Kosten aus Arbeitgebersicht neben dem Bruttomonatsgehalt eines Angestellten an. Als Erstes fallen für den Arbeitgeber natürlich die anteiligen Beiträge zur Sozialversicherung an, aber auch die Entgeltfortzahlung im Krankheitsfall und beispielsweise Zahlungen an aus dem Unternehmen ausscheidende Arbeitnehmer (Abfindungen) dürfen bei Angestellten nicht außer Acht gelassen werden. Gemäß statistischem Bundesamt [<a href="https://www.destatis.de/DE/Themen/Arbeit/Arbeitskosten-Lohnnebenkosten/Tabellen/struktur-kostenart.html" target="_blank" rel="noreferrer noopener">2</a>] ist hierfür im Schnitt mit 23,3 % zu kalkulieren.</p>



<p class="wp-block-paragraph">Da die dort angenommenen 233 € pro Jahr für Weiterbildung in der Softwareentwicklung unserer Erfahrung nach nicht ausreichen, legen wir hierfür realistischere 3.000 € pro Jahr zugrunde, circa 2.000 € für eine mehrtägige Weiterbildung und rund 1.000 € für einen zweitägigen Konferenzbesuch.</p>



<p class="wp-block-paragraph">Außerdem sind die Arbeitsplatzkosten zu berücksichtigen, welche je nach Standort und Ausstattung natürlich erheblich variieren können – 1.000 € pro Monat erscheint uns hier ein realistischer Näherungswert für einen Arbeitsplatz inklusive IT-Ausstattung<strong><a href="https://dev.atra.consulting/2024/04/14/Kostenvergleich-int-ext-SWDev.html#fn:i">1</a></strong>. Natürlich können auch für einen externen Berater Arbeitsplatzkosten beim Kunden anfallen, wir gehen hier von dem unserer Erfahrung nach (gesetzlich) üblichen Szenario aus, bei welchem der externe Berater nur zu Besprechungen beim Kunden ist und ansonsten mit und in eigener Infrastruktur arbeitet.</p>



<p class="wp-block-paragraph">Die durchschnittlichen Vollkosten eines angestellten Softwareentwicklers liegen somit bereits bei rund 8.500 € pro Monat beziehungsweise rund 100.000 € pro Jahr:</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf127c4cd&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf127c4cd" class="aligncenter size-full wp-lightbox-container"><img decoding="async" width="1012" height="344" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/Tabelle-Softwareentwickler.png" alt="" class="wp-image-6309" title="Tabelle-Softwareentwickler" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/Tabelle-Softwareentwickler.png 1012w, https://dev.atra.consulting/wp-content/uploads/2025/04/Tabelle-Softwareentwickler-768x261.png 768w" sizes="(max-width: 1012px) 100vw, 1012px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="wp-block-paragraph"><em>Tabelle 1: Vollkostenkalkulation eines angestellten Softwareentwicklers – Stufe I</em></p>



<p class="wp-block-paragraph">Es geht allerdings noch weiter, denn in der Vollkostenbetrachtung ist aus Sicht eines Anwenderunternehmens zumindest auch das Management der Mitarbeiter als Kostenposition anzusetzen<a href="https://dev.atra.consulting/2024/04/14/Kostenvergleich-int-ext-SWDev.html#fn:ii">2</a>. Addiert man die oben genannten Personalnebenkosten zu dem durchschnittlichen Gehalt eines Teamleiters im IT-Bereich von 78.250 pro Jahr [<strong><a href="https://www.heise.de/select/ct/2024/4/2400218032205533744" target="_blank" rel="noreferrer noopener">1</a></strong>], ergeben sich für selbigen monatliche Vollkosten in Höhe von 9.290 €. Da es gegebenenfalls mehrere Führungsebenen gibt, die mit jeder Stufe mehr kosten, deren Anteil pro Mitarbeiter aber auch immer geringer wird, setzen wir als Managementkosten aus Vereinfachungsgründen 10.000 € pro Monat für einen IT-Teamleiter und die weiteren Hierarchie-Stufen an:</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf127d119&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf127d119" class="aligncenter size-full wp-lightbox-container"><img decoding="async" width="1012" height="396" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/Tabelle-IT-Teamleiter.png" alt="" class="wp-image-6308" title="Tabelle-IT-Teamleiter" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/Tabelle-IT-Teamleiter.png 1012w, https://dev.atra.consulting/wp-content/uploads/2025/04/Tabelle-IT-Teamleiter-768x301.png 768w" sizes="(max-width: 1012px) 100vw, 1012px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="wp-block-paragraph"><em>Tabelle 2: Vollkostenkalkulation eines angestellten Teamleiters in der IT</em></p>



<p class="wp-block-paragraph">Wie viel dieser Managementkosten dem einzelnen Mitarbeiter zugerechnet werden, hängt von der Führungsspanne ab. In agilen Entwicklungsorganisationen besteht ein Team gemäß Amazons berühmter »Two Pizza Team«-Regel [<strong><a href="https://aws.amazon.com/de/executive-insights/content/amazon-two-pizza-team/#Empowering_Innovation_with_the_Two-Pizza_Team" target="_blank" rel="noreferrer noopener">4</a></strong>] zwar idealerweise aus weniger als 10 Personen, wir sehen hier regelmäßig aber auch größere Teams, so dass man als durchschnittliche Teamgröße durchaus 10 Personen ansetzen kann. Das Management eines Teams verteilt sich im agilen Kontext allerdings auf mehrere Rollen. Ein „klassischer“ Teamleiter ist hier beispielsweise nun sogenannter Chapter Lead, der sich „nur“ noch um die disziplinarische Führung seiner Mitarbeiter kümmert und dadurch unserer Erfahrung nach dann bis zu maximal 25 Mitarbeiter betreut. Dazu kommt dann üblicherweise ein Product Owner je agilem Entwicklungsteam, der sich um das Inhaltliche kümmert, also was getan wird. Für prozessuale Fragen unterstützt dann noch ein Scrum Master oder agiler Coach – unserer Erfahrung nach in der Regel zwei Entwicklungsteams.</p>



<p class="wp-block-paragraph">Ein durchschnittliches agiles Entwicklungsteam mit 10 Mitarbeitern wird so also von 1,9 „Führungskräften“ unterstützt. Aus Vereinfachungsgründen setzen wir für den Product Owner und Scrum Master die gleichen Vollkosten wie für den Teamleiter an, womit sich folgenden Vollkostenkalkulation ergibt:</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf127ddc0&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf127ddc0" class="aligncenter size-full wp-lightbox-container"><img decoding="async" width="1008" height="388" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/Tabelle-Softwareentwickler2.png" alt="" class="wp-image-6310" title="Tabelle-Softwareentwickler2" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/Tabelle-Softwareentwickler2.png 1008w, https://dev.atra.consulting/wp-content/uploads/2025/04/Tabelle-Softwareentwickler2-768x296.png 768w" sizes="(max-width: 1008px) 100vw, 1008px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="wp-block-paragraph"><em>Tabelle 3: Vollkostenkalkulation eines angestellten Softwareentwicklers – Stufe II</em></p>



<p class="wp-block-paragraph">Aus rund 70.000 € Jahresbruttogehalt eines&nbsp;<strong>angestellten Softwareentwicklers</strong>&nbsp;werden in der agilen Entwicklungsorganisation eines IT-Anwenderunternehmens bei Betrachtung der Personalnebenkosten und der Kosten für das Management somit&nbsp;<strong>Vollkosten</strong>&nbsp;von nahezu&nbsp;<strong>125.000 € pro Jahr</strong>.</p>



<h3 class="wp-block-heading"><br><strong>Produktivität</strong></h3>



<p class="wp-block-paragraph">Wie weiter oben schon kurz geschildert, fällt das Honorar für einen externen Berater nur an, wenn er auch für seinen Kunden tätig ist. Ein Angestellter erhält sein Gehalt hingegen auch, wenn er nicht für seinen Arbeitgeber tätig ist, also bei Urlaub, Krankheit und so weiter. Um die beiden Modelle vergleichen zu können, müssen also die effektiven Arbeitstage eines Angestellten ermittelt werden.</p>



<p class="wp-block-paragraph">Von den rund 250 Arbeitstagen pro Jahr sind 30 Urlaubstage und 13 Krankheitstage [<strong><a href="https://www.heise.de/news/Rekord-beim-Krankenstand-ausser-in-IT-Berufen-9605843.html" target="_blank" rel="noreferrer noopener">5</a></strong>] für einen Softwareentwickler abzuziehen. Für Weiterbildung setzen wir 5 Tage an, weitere 5 Tage müssen für den gesetzlich jedem Arbeitnehmer zustehenden Weiterbildungsurlaub pro Jahr abgezogen werden, womit 197 Tage verbleiben. Ein IT-Anwenderunternehmen kann für einen angestellten Softwareentwickler also mit rund 200 Anwesenheitstagen pro Jahr kalkulieren.</p>



<p class="wp-block-paragraph">Aufgrund von Mitarbeitergesprächen, Team- oder Abteilungsbesprechungen, Mitarbeiterversammlungen und sonstigen Einflüssen kann diese Zeit nicht vollständig produktiv angerechnet werden – außerdem gilt es, Parkinson’s Law zu beachten:</p>



<p class="wp-block-paragraph">»<em>Arbeit dehnt sich in genau dem Maß aus, wie Zeit für ihre Erledigung zur Verfügung steht.</em>« –C. N. Parkinson</p>



<p class="wp-block-paragraph">Die Zahlen und Quellen zu produktiver Arbeit variieren erheblich. Gemäß einem Anbieter von Bürosoftware gilt die »Faustregel […] dass 25 Prozent der Arbeitszeit unproduktiv sind. Das beinhaltet Arbeitszeit, die für Meetings, Gespräche oder andere unproduktive, aber geschäftlich wichtige Abläufe aufgewendet wird« [<a href="https://www.lexoffice.de/lexikon/arbeitsstunden-pro-jahr" target="_blank" rel="noreferrer noopener">6</a>]. Zu einem ähnlichen Ergebnis kommt der „Slack State of Work Report 2023”. Demnach »geben deutsche Arbeitnehmer an, dass sie knapp ein Drittel ihrer Arbeitszeit (29 Prozent) mit Aufgaben verbringen, die nicht direkt auf ihre Ziele einzahlen [<a href="https://www.it-zoom.de/it-mittelstand/e/30-prozent-der-arbeitszeit-fuer-unproduktive-aufgaben-32769/" target="_blank" rel="noreferrer noopener">10</a>]«. Das US-Unternehmen Tower geht davon aus, dass Mitarbeiter maximal 5 Stunden am Tag produktiv sein können, weshalb dies auch ihre vertragliche Arbeitszeit ist – bei vollem Gehalt [<a href="https://www.amazon.de/-/en/Stephan-Aarstol/dp/1619614510" target="_blank" rel="noreferrer noopener">11</a>]; in diesem Fall wird also schon mit 37,5 % unproduktiver Arbeitszeit gerechnet. Eine Untersuchung in UK kommt sogar zu dem Ergebnis, dass aufgrund Socialmedia und anderer Ablenkungen nur 2 Stunden und 23 Minuten eines Arbeitstags produktive Arbeit sind [<a href="https://www.vouchercloud.com/resources/office-worker-productivity" target="_blank" rel="noreferrer noopener">12</a>] – dies entspräche fast 70 % unproduktiver Zeit. Für unsere weitere Betrachtung setzen wir den unteren Wert der verschiedenen Untersuchungen von 25 % an, was bezogen auf die oben weiter ermittelten 197 Anwesenheitstage zu 49 unproduktiven Tagen im Jahr führt – rund ein Tag pro Woche für nicht-produktive Aktivitäten klingt unserer Einschätzung nach realistisch.</p>



<p class="wp-block-paragraph">Für einen angestellten Softwareentwickler ergeben sich somit rund&nbsp;<strong>147</strong>&nbsp;effektive oder&nbsp;<strong>produktive Arbeitstage pro Jahr</strong>:</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf127ecd1&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf127ecd1" class="aligncenter size-full wp-lightbox-container"><img decoding="async" width="930" height="384" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/Tabelle-Arbeitstage.png" alt="" class="wp-image-6307" title="Tabelle-Arbeitstage" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/Tabelle-Arbeitstage.png 930w, https://dev.atra.consulting/wp-content/uploads/2025/04/Tabelle-Arbeitstage-768x317.png 768w" sizes="(max-width: 930px) 100vw, 930px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="wp-block-paragraph"><em>Tabelle 4:&nbsp;</em><em>Ermittlung effektive Arbeitstage in der Softwareentwicklung</em></p>



<h3 class="wp-block-heading"><br><strong>Fazit</strong></h3>



<p class="wp-block-paragraph">Um die Vollkosten eines angestellten Softwareentwicklers von rund 125.000 € mit dem Beratungshonorar eines Externen vergleichen zu können, müssen die effektiven Arbeitstage des Angestellten herangezogen werden. Wir setzen hierfür die oben ermittelten 147 Tage pro Jahr an, womit der&nbsp;<strong>kalkulatorische Tagessatz eines angestellten Softwareentwicklers in einer Vollkostenkalkulation</strong>&nbsp;im gezeigten Beispiel schon bei rund&nbsp;<em>*850 €</em>&nbsp;liegt – das vermeintliche Delta zwischen den beiden Ansätzen ist bei kaufmännisch solider Betrachtung also von zunächst dramatisch erscheinenden 70 % auf überschaubare 15 % abgeschmolzen.</p>



<p class="wp-block-paragraph">Größere Organisation haben in der Regel noch mehr und höhere Kostenpositionen, beispielsweise durch zusätzliche Hierarchiestufen oder weitere Vorteile für Mitarbeiter, welche in einer Vollkostenbetrachtung auch entsprechend berücksichtigt werden müssen –&nbsp;<strong>aus 850 € werden so schnell 900 € und mehr pro Tag</strong>.</p>



<p class="wp-block-paragraph">Und dann darf nicht vergessen werden, dass hier am Ende des Tages schließlich doch Äpfel mit Birnen verglichen werden. Externe Berater werden üblicherweise geholt, um Leistungsspitzen / Kapazitätsengpässe abzudecken und / oder Spezialwissen einzubringen. Darüber hinaus sei auch auf die Flexibilität bei ihrem Einsatz verwiesen. Ein externer Softwareentwickler ist unserer Erfahrung nach innerhalb von 2-4 Wochen im Projekt, für die Einstellung eines angestellten fallen 7,7 Monate an [<strong><a href="https://www.bitkom.org/Presse/Presseinformation/Rekord-Fachkraeftemangel-Deutschland-IT-Jobs-unbesetz" target="_blank" rel="noreferrer noopener">13</a></strong>] – und manchmal, Stichwort Fachkräftemangel, findet sich schlicht gar kein passender Angestellter. Genauso schnell, wie ein Externer gefunden ist, kann sich als Anwenderunternehmen auch wieder von ihm getrennt werden – bei Angestellten fällt dies zu Recht wesentlich schwerer. Kurzfristige Budgetschwankungen lassen sich mit Externen wesentlich leichter ausgleichen – wir kennen Unternehmen, die bewusst Richtung Geschäftsjahres- und somit Budgetende mit Externen entsprechend „atmen”. Und auch über interne Versetzungen, Stellenpläne oder Ähnliches muss ich mir bei externem Personal keine Gedanken machen. Jeder, der schon mal in größeren Organisationen mit einem Betriebsart in diese Themen involviert war, wird sie für sich beziffern können.</p>



<p class="wp-block-paragraph">Des Weiteren unterscheiden sich die beiden Ansätze auch hinsichtlich ihrer bilanziellen Auswirkungen. 1.000 €, die das Unternehmen verlassen, sind natürlich 1.000 €, egal ob als Gehalt oder Beratungshonorar. Im Rechnungswesen wird aber nicht ohne Grund zwischen Ausgaben, Aufwand und Kosten unterschieden, da 1.000 €, je nachdem wie sie verbucht werden (können), auch einfach nur einen entsprechenden Mittelabfluss darstellen oder die Bilanz und somit den Unternehmenswert dabei entsprechend erhöhen können, Stichwort CAPEX/OPEX [<strong><a href="https://www.munich-business-school.de/l/bwl-lexikon/capex" target="_blank" rel="noreferrer noopener">7</a></strong>]. Die sogenannte Aktivierung von externem Beratungshonorar fällt dabei regelmäßig leichter, da Gehälter üblicherweise pauschal Betriebsausgaben und somit OPEX sind.</p>



<p class="wp-block-paragraph"><strong>Vereinfacht gesagt, kostet ein angestellter und ein externer Softwareentwickler also nahezu das gleiche</strong>. Entscheidend für das eine oder andere Modell sind also insbesondere deren weitere Eigenschaften. Ob die Vorteile des Externen wie zum Beispiel Flexibilität, Spezialwissen und gegebenenfalls höher darstellbarer Unternehmenswert durch bessere Bilanzierungsmöglichkeiten die zugegebenermaßen auch vorhandenen Vorteile eines Angestellten aufwiegen, kommt, wie immer, auf die individuelle Situation und Zielsetzung an. Bei entsprechenden Vergleichen sollte also auch auf diese echten Unterscheidungskriterien eingegangen werden – die Kosten sind nahezu gleich.</p>



<p class="wp-block-paragraph">Im zweiten Teil dieses Beitrags werden wir aus Sicht eines Technologieunternehmens aufzeigen, was bei der Vollkostenkalkulation zu beachten ist – und damit das geringe monetäre Delta von rund 15 % zwischen einem angestellten Softwareentwickler und seinem externen Pendant auflösen.</p>



<p class="wp-block-paragraph"><em><strong>Fussnoten:</strong></em><em></em></p>



<p class="wp-block-paragraph"><em>1.</em><br><em>Ein Einzelplatz im Coworking-Space ohne Computer ist beispielsweise ab 150 € pro Nutzer und Monat zu haben [<strong><a href="https://www.sleevesup.de/magazin/preisvergleich-coworking-oder-buro/" target="_blank" rel="noreferrer noopener">8</a></strong>], lässt aber auch noch viele relevante Kostenpositionen außen vor. Eine etwas umfassendere Kalkulation der gemittelten Kosten für die Anmietung eigener Büroräume inklusive Besprechungsraum und Nebenkosten, aber noch ohne Computer, kommt bereits auf nahezu 500 € pro Monat und Arbeitsplatz [<strong><a href="https://www.coworking.jetzt/coworking/kosten-buero-coworking-vergleich/" target="_blank" rel="noreferrer noopener">3</a></strong>]. Und die Sachkostenpauschale eines Arbeitsplatzes in der Bundesverwaltung wurde bereits 2010 inklusive IT-Kosten mit 1.030 € pro Monat ausgewiesen [<strong><a href="https://www.verwaltungsvorschriften-im-internet.de/pdf/BMF-IIIA1-20110509-SF-A002.pdf" target="_blank" rel="noreferrer noopener">9</a></strong>]. Dieser Betrag dürfte sich mittlerweile zwar einerseits noch weiter erhöht haben, umfasst andererseits aber auch Positionen, wie zum Beispiel Kapital- und Investitionskosten, welche nicht in jedem Fall anzusetzen sein dürften. Wir halten 1.000 € pro Monat und Arbeitsplatz inklusive IT-Kosten deshalb für kalkulatorisch angemessen. </em></p>



<p class="wp-block-paragraph"><em>2.</em><br><em>Auch ein externer Berater erfordert natürlich ein gewisses Maß an »Betreuung« durch die Organisation und das Management des jeweiligen Kunden, beispielsweise für Beauftragung, Onboarding, etc. Wir orientieren uns hier am gesetzlichen Rahmen (Stichworte: Scheinselbständigkeit, Arbeitnehmerüberlassung), wonach externe Berater nicht in die Organisation des Kunden eingebunden sein dürfen, und lassen diese im Vergleich zu einem angestellten Mitarbeiter definitiv geringeren Kosten aus Vereinfachungsgründen außen vor.&nbsp;</em></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Warum Softwareentwicklung durch schnelleres Tippen nicht schneller geht</title>
		<link>https://dev.atra.consulting/allgemein/warum-softwareentwicklung-durch-schnelleres-tippen-nicht-schneller-geht/</link>
		
		<dc:creator><![CDATA[Michael Schwarze]]></dc:creator>
		<pubDate>Fri, 08 Nov 2019 11:22:45 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Leistung]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Organisation]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Produktivität]]></category>
		<category><![CDATA[Softwareentwicklung]]></category>
		<guid isPermaLink="false">https://dev.atra.consulting/uncategorized/warum-softwareentwicklung-durch-schnelleres-tippen-nicht-schneller-geht/</guid>

					<description><![CDATA[© Schwarze Consulting GmbH Effizienz oder Effektivität? Wenn die Softwareentwicklung optimiert werden soll, wird häufig an der falschen Stelle angesetzt. Die Lösung liegt mit Blick auf zwei Studien und unter Anwendung des Pareto-Prinzips auf der Hand. Die Produktivität der Softwareentwicklung kann so um das bis zu Fünffache gesteigert werden – allerdings nicht durch schnelleres Tippen [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-text-align-center wp-block-paragraph"><em>© Schwarze Consulting GmbH</em></p>



<p class="wp-block-paragraph">Effizienz oder Effektivität? Wenn die Softwareentwicklung optimiert werden soll, wird häufig an der falschen Stelle angesetzt. Die Lösung liegt mit Blick auf zwei Studien und unter Anwendung des Pareto-Prinzips auf der Hand. Die Produktivität der Softwareentwicklung kann so um das bis zu Fünffache gesteigert werden – allerdings nicht durch schnelleres Tippen …</p>



<p class="wp-block-paragraph"><strong>Inhalt:</strong></p>



<ul class="wp-block-list">
<li><a href="https://dev.atra.consulting/?p=26537&amp;et_fb=1&amp;PageSpeed=off#einleitung">Einleitung</a></li>



<li><a href="https://dev.atra.consulting/?p=26537&amp;et_fb=1&amp;PageSpeed=off#effizienz">Effizienz – wie entwickelt wird</a><br><a href="https://dev.atra.consulting/?p=26537&amp;et_fb=1&amp;PageSpeed=off#multitasking">–&nbsp;Multitasking</a></li>



<li><a href="https://dev.atra.consulting/?p=26537&amp;et_fb=1&amp;PageSpeed=off#effektivitaet">Effektivität – was entwickelt wird</a><br><a href="https://dev.atra.consulting/?p=26537&amp;et_fb=1&amp;PageSpeed=off#loesungsansaetze">–&nbsp;Lösungsansätze</a></li>



<li><a href="https://dev.atra.consulting/?p=26537&amp;et_fb=1&amp;PageSpeed=off#fazit">Fazit</a></li>
</ul>



<h3 class="wp-block-heading"><br><strong>Einleitung</strong></h3>



<p class="wp-block-paragraph">Die&nbsp;<strong><a href="https://de.wikipedia.org/wiki/Softwarekrise" target="_blank" rel="noreferrer noopener">Softwarekrise</a></strong>&nbsp;ist auch rund 50 Jahre nach ihrer offiziellen Feststellung noch nicht überstanden. Jede Softwareentwicklungseinheit steht vor der Herausforderung, dass es mehr Bedarf beziehungsweise Anforderungen als Entwicklungskapazität gibt. Um dem entgegenzuwirken, liegt der Fokus von entsprechenden Optimierungsversuchen häufig auf Produktivitäts- beziehungsweise Effizienzsteigerungsmaßnahmen. Salopp gesagt, wird versucht, durch “schnelleres Tippen” mehr Software in kürzerer Zeit entwickelt zu bekommen.</p>



<p class="wp-block-paragraph">Dies funktioniert aus verschiedenen Gründen nicht. Einerseits wird bei Effizienzsteigerungsversuchen häufig an der falschen Stelle angesetzt und der echte Hebel in der Softwareentwicklung, die Effektivität, wird andererseits viel zu selten betrachtet.</p>



<h3 class="wp-block-heading"><br><strong>Effizienz – wie entwickelt wird</strong></h3>



<p class="wp-block-paragraph">Softwareentwicklung ist zu einem hohen Anteil eine geistig-kreative Tätigkeit. Natürlich muss auch ein Schriftsteller zügig schreiben können, der Fertigstellungstermin eines Romans ist aber nur zu einem geringen Anteil von der reinen Schreibgeschwindigkeit des Schriftstellers abhängig. Gleiches gilt für die Softwareentwicklung. Es gibt zwar noch&nbsp;<strong><a href="https://djaa.com/what-we-know-about-duration-workflows/" target="_blank" rel="noreferrer noopener">wenige Studien hierzu</a></strong>, die bestätigen allerdings unsere Projekterfahrung. Demnach umfasst ein Großteil der gesamten Entwicklungszeit für eine einzelne Software-Funktion Wartezeit und nur ein geringer Anteil ist Arbeits- beziehungsweise eben “echte” Entwicklungszeit:</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf12841c5&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf12841c5" class="aligncenter size-large wp-lightbox-container"><img decoding="async" width="1024" height="382" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/FlowEfficiency1-1024x382.png" alt="" class="wp-image-6357" title="FlowEfficiency1" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/FlowEfficiency1-1024x382.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/FlowEfficiency1-768x286.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="has-text-align-center wp-block-paragraph"><em>© Darstellung: Schwarze Consulting GmbH – © Daten: Kanban University: https://leankanban.com/flow-efficiency-a-great-metric-you-probably-arent-using/</em></p>



<p class="wp-block-paragraph">Die sogenannte Flow Efficiency, also die Dauer für die Entwicklung einer Funktion geteilt durch die reine Arbeitszeit, beträgt<strong>&nbsp;</strong><a href="https://leankanban.com/flow-efficiency-a-great-metric-you-probably-arent-using/" target="_blank" rel="noreferrer noopener"><strong>üblicherweise 15 %</strong></a>; Organisationen, die sich noch gar nicht mit dem Thema befasst haben, liegen häufig bei nur 1-2 % und am anderen Ende gibt es wenige Entwicklungseinheiten, die auf eine Flow Efficiency von bis zu 40 % kommen. Der Normalverteilung folgend, darf man hier aber guten Gewissens erstmal die üblichen 15 % ansetzen.</p>



<p class="wp-block-paragraph">Der&nbsp;<a href="https://de.wikipedia.org/wiki/ABC-Analyse" target="_blank" rel="noreferrer noopener"><strong>ABC-Analyse</strong></a>&nbsp;oder auch dem&nbsp;<strong><a href="https://de.wikipedia.org/wiki/Paretoprinzip" target="_blank" rel="noreferrer noopener">Pareto-Prinzip</a></strong>&nbsp;folgend, sollte man sich bei einer Wartezeit von 85 % natürlich zunächst um diesen großen Hebel kümmern. Bei entsprechenden Produktivitäts- beziehungsweise Effizienzsteigerungsmaßnahmen der Softwareentwicklung wird er aber unserer Erfahrung nach nahezu kategorisch ignoriert. Vermutlich weil die Wartezeiten schwerer zu greifen sind, als die eigentliche Arbeitsleistung. Dabei sind sie auch einer der Gründe, warum die Umsetzungsdauer von Entwicklungsvorhaben schwer zu schätzen ist, beziehungsweise entsprechende Schätzungen häufig daneben liegen: Wartezeiten sind kaum vorhersehbar, geschweige denn solide abschätzbar. Was ich zu entwickeln habe, kann ich als Entwickler sicherlich sehr gut mit etwas Erfahrung einschätzen. Aber wann ich wie lange auf was oder wen dabei zu warten habe, ist nicht deterministisch.</p>



<p class="wp-block-paragraph">Selbst wenn man mit viel Aufwand die Entwicklungsgeschwindigkeit um 50 % erhöht bekäme, so hat man auf die übliche Flow Efficiency doch dann gerade mal 7,5 % an Umsetzungsdauer gewonnen<a href="https://dev.atra.consulting/2019/11/08/Warum-schneller-tippen-nicht-hilft.html#fn:1"><strong>1</strong></a>.&nbsp;<strong>Die Fertigstellung einer einzelnen Funktion wird durch “schnelleres Tippen” des Entwicklers also nur unwesentlich beschleunigt.</strong></p>



<p class="wp-block-paragraph">Und wenn man ehrlich ist, so wird in vielen Organisationen durch eine Vielzahl von Hürden für den Entwickler die Entwicklungsgeschwindigkeit sogar eher noch mutwillig reduziert. Als Beispiele seien hier die Team-übergreifend einheitlich zu verwendende IDE zu nennen, die den einzelnen Entwickler eher verlangsamt. Oder Internet-Proxys, die einen daran hindern, notwendige Entwicklungsbibliotheken zu beziehen, nicht vorhandene Admin-Rechte auf dem Entwicklungsrechner, quälende langsame Test-Suiten, für die niemand Zeit zum Aufräumen bekommt, und so weiter.</p>



<p class="wp-block-paragraph">Nicht, dass das falsch verstanden wird. Es ist extrem wichtig, in die Entwicklungseffizienz durch vernünftiges Tooling, individuelle IDEs und schnelle Feedback-Zyklen zu investieren, um einem Entwickler eine optimale Arbeitsumgebung zur Verfügung stellen zu können und so insbesondere die Entwicklungsqualität zu erhöhen. Die Umsetzungsdauer eines Features wird dies aber, wie gezeigt, nicht signifikant reduzieren.</p>



<h3 class="wp-block-heading"><br><strong>Multitasking</strong></h3>



<p class="wp-block-paragraph">Ein Entwickler wechselt bei entsprechender Wartezeit natürlich zu einer anderen Aufgabe, zum Beispiel der Entwicklung eines zweiten Features:</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf1285050&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf1285050" class="aligncenter size-large wp-lightbox-container"><img decoding="async" width="1024" height="467" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/FlowEfficiency2-1024x467.png" alt="" class="wp-image-6358" title="FlowEfficiency2" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/FlowEfficiency2-1024x467.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/FlowEfficiency2-768x350.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="has-text-align-center wp-block-paragraph"><em>© Schwarze Consulting GmbH</em></p>



<p class="wp-block-paragraph">Dieses Task-Switching ist aber sowohl&nbsp;<strong><a href="https://visual.ly/community/infographic/business/high-cost-multitasking" target="_blank" rel="noreferrer noopener">grundsätzlich</a>&nbsp;</strong>als auch bei Entwicklungstätigkeiten im Besonderen ein Produktivitäts- und Qualitäts-Killer. Jeder, der schon mal versucht hat, eine Aufgabe zu erledigen, die eine gewisse Konzentration erfordert und dabei permanent unterbrochen wurde, sollte das leicht nachvollziehen können. Und bis ein Entwickler das mentale Modell einer umfangreichen Codebasis “in den Kopf geladen” hat, können auch schon mal Stunden vergehen, bevor eine Zeile verändert wird. Blöd, wenn er dann kurz vorher gestört wird. Es ist also extrem wichtig, ein Arbeitsumfeld für Entwickler zu schaffen, in dem sie durchaus mehrere Stunden ungestört sind.</p>



<p class="wp-block-paragraph">Sind dann mehrere Entwicklungsaufgaben parallel in Bearbeitung, um die Wartezeit zu optimieren, kommt es häufig zu Situationen, in denen der Entwickler eigentlich an beiden Features gleichzeitig arbeiten müsste, was natürlich nicht geht. Somit entsteht an einer Stelle eine zusätzliche Wartezeit (⚠️) und die Umsetzungsdauer erhöht sich entweder beim einen (<em>Entwicklungsdauer Feature 1 = 100 % +&nbsp;</em><strong><em>x</em></strong>) oder beim anderen Feature (<em>Entwicklungsdauer Feature 2 = 100 % +&nbsp;</em><strong><em>y</em></strong>) entsprechend. Die Umsetzungdauer jedes einzelnen Features, welches parallel zu anderen entwickelt wird, verlängert sich durch Multitasking also.</p>



<p class="wp-block-paragraph"><strong><a href="https://visual.ly/community/infographic/business/high-cost-multitasking" target="_blank" rel="noreferrer noopener">Untersuchungen</a></strong>&nbsp;zeigen, dass ein Entwickler trotz dieser Task-Wechsel aber auch nur 25-50 % seiner Zeit pro Tag mit reinen Entwicklungstätigkeiten verbringt. Unter Annahme der üblichen Flow Efficiency von 15 % schafft ein Entwickler es also, an 2 bis 3 Features parallel zu entwickeln; mit entsprechenden Zeit- und Qualitätseinbußen.&nbsp;<strong>Also liegt auch unter Einsatz von Multitasking das angenommene Effizienzpotential durch “schnelleres Tippen” bei nur 18,75 %&nbsp;</strong><a href="https://dev.atra.consulting/2019/11/08/Warum-schneller-tippen-nicht-hilft.html#fn:2"><strong>2</strong></a><strong>&nbsp;und somit immer noch unter der Pareto-Schwelle.</strong></p>



<p class="wp-block-paragraph">Effizienz in der Softwareentwicklung ist also nicht der Heilsbringer, da ihr Hebel gering ist und ihre Optimierung, beispielsweise durch Multitasking auch negative Auswirkungen mit sich bringt.<strong><a href="https://ps.ipd.kit.edu/downloads/za_2007_schlanke_produktionsweisen_moderne_softwareentwicklung.pdf" target="_blank" rel="noreferrer noopener"></a></strong></p>



<h3 class="wp-block-heading"><br><strong>Effektivität – was entwickelt wird</strong></h3>



<p class="wp-block-paragraph">Die Effektivität, also die Frage, was beziehungsweise ob das Richtige entwickelt wird, ist bei der Optimierung von Softwareentwicklungsvorhaben unserer Erfahrung nach häufig nur von nachrangiger Bedeutung. Dabei werden&nbsp;<strong><a href="https://ps.ipd.kit.edu/downloads/za_2007_schlanke_produktionsweisen_moderne_softwareentwicklung.pdf" target="_blank" rel="noreferrer noopener">nur 20 % der Anforderungen wirklich benötigt:</a></strong></p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf1285ea8&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf1285ea8" class="aligncenter size-large wp-lightbox-container"><img decoding="async" width="1024" height="483" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/FlowEfficiency3-1024x483.png" alt="" class="wp-image-6359" title="FlowEfficiency3" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/FlowEfficiency3-1024x483.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/FlowEfficiency3-768x362.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="has-text-align-center wp-block-paragraph"><em>© Darstellung: Schwarze Consulting GmbH – © Daten: Universität Karlsruhe: https://ps.ipd.kit.edu/downloads/za_2007_schlanke_produktionsweisen_moderne_softwareentwicklung.pdf</em></p>



<p class="wp-block-paragraph">Auch hier springt einen die&nbsp;<strong><a href="https://de.wikipedia.org/wiki/ABC-Analyse" target="_blank" rel="noreferrer noopener">ABC-Analyse</a></strong>&nbsp;oder das&nbsp;<strong><a href="https://de.wikipedia.org/wiki/Paretoprinzip" target="_blank" rel="noreferrer noopener">Pareto-Prinzip</a></strong>&nbsp;wieder geradezu an. Durch die richtige Auswahl dessen, was entwickelt wird, also über die Effektivität, lässt sich die Softwareentwicklung offensichtlich wesentlich leichter verbessern als über die Effizienz: der Hebel ist hier mit 80 % beim “Was” entwickelt wird viel höher als die oben weiter genannten 15 % beim “Wie”.</p>



<p class="wp-block-paragraph">Zugegebenermaßen etwas polemisch formuliert, müsste eine Entwicklungseinheit, da bei 20% ja nur jedes fünfte umgesetzte Feature auch wirklich zum Einsatz kommt, kalkulatorisch auch “einfach” nur fünf Mal so groß sein, um die fehlende Effektivität zu kompensieren. Wir sind mit dem Vorschlag leider noch bei keinem Budgetverantwortlichen durch gekommen …</p>



<p class="wp-block-paragraph">Bei Umsetzungen im Kundenauftrag ließe sich natürlich argumentieren, dass der Kunde doch alle Anforderungen bezahlt und damit doch wohl auch alle Anforderungen benötigt werden. Doch auch hier ist der Bedarf meist größer als die Entwicklungskapazität oder das Entwicklungsbudget. Und auch in diesem Fall stellt der Auftraggeber früher oder später fest, dass das eine oder andere Feature vielleicht doch nicht oder zumindest nicht so gebraucht wird, weshalb man auch hier drauf achten sollte, was entwickelt wird.</p>



<p class="wp-block-paragraph">Weniger ist in der Softwareentwicklung also wirklich mehr, auch wenn es zunächst abwegig erscheint und abgedroschen klingen mag. Optimierungsversuche sollten hier also immer zuerst auf die Effektivität abzielen.</p>



<h3 class="wp-block-heading"><br><strong>Lösungsansätze</strong></h3>



<p class="wp-block-paragraph">Wie kann ich aber nun die Effektivität meiner Softwareentwicklung erhöhen, also dafür sorgen, dass möglichst viel von dem umgesetzt wird, was auch wirklich benötigt wird und möglichst wenig von dem, was nicht wirklich benötigt wird?</p>



<p class="wp-block-paragraph">Wir erleben immer wieder Product-Backlogs, die voll von uralten Features sind. Wissend, dass 80 % davon nicht wirklich gebraucht werden, kann man also guten Gewissens davon ausgehen, dass die wichtigen Features schon umgesetzt wurden und die, die eine gewisse Zeit lang nicht zur Umsetzung kamen, auch nicht mehr gebraucht werden. Trotzdem müssen diese Features dann häufig umgesetzt werden, wodurch knappe Entwicklungskapazität unnötig gebunden wird.&nbsp;<strong>Effektive Softwareentwicklung ist keine “Supermarktkasse”, wo jeder früher oder später dran kommt.</strong>&nbsp;Um effektiver zu werden, müssen die Anforderungen sich jeden Tag aufs Neue hinsichtlich ihrer Priorität beweisen; Anforderungen, die nicht wichtig genug sind, sollten auch nicht “dran kommen”, wenn man mehr (des Richtigen) aus der Entwicklung bekommen möchte.</p>



<p class="wp-block-paragraph">Anders herum erleben wir auch immer wieder, dass die Priorisierung von Features darüber erfolgt, welcher Anforderer “am lautesten schreit”. Wenn 80 % der Features aber nicht benötigt werden, wird so wiederum wertvolle, da knappe Entwicklungskapazität für unnötige Themen verschwendet, weil der, der am lautesten schreit, noch lange nicht der wichtigste Anforderer ist. Gibt man denen nach, entsteht natürlich der Eindruck, dass aus einer Entwicklungseinheit nicht genug heraus kommt, da eben nicht genug des Richtigen heraus kommt.&nbsp;<strong>So lange die Entwicklungseinheit sich selbst die Aufgaben priorisiert, wird sie immer Teil des Problems sein.</strong>&nbsp;In diesem Fall ist es genau wie an einer Supermarktkasse: Wenn ich vorgelassen werden möchte, kann das nicht der Mitarbeiter an der Kasse, also die Entwicklungseinheit entscheiden, sondern ich muss der Reihe nach alle vor mir Stehenden fragen beziehungsweise davon überzeugen, dass mein Anliegen dringender ist.</p>



<p class="wp-block-paragraph">Wichtig ist in solchen Fällen, dass die üblicherweise vielen verschiedenen Stakeholder der Softwareentwicklung das Problem unter sich lösen. Hierzu haben wir schon erfolgreich unterschiedliche Ansätze, üblicherweise Gremien-orientiert in verschiedenen Organisationen implementiert. Alternativ wird es durch einen entsprechend “starken” Product Owner erledigt:</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf1286daa&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf1286daa" class="aligncenter size-large wp-lightbox-container"><img decoding="async" width="1024" height="410" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/FlowEfficiency4-1024x410.png" alt="" class="wp-image-6360" title="FlowEfficiency4" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/FlowEfficiency4-1024x410.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/FlowEfficiency4-768x307.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="has-text-align-center wp-block-paragraph"><em>© Scrum.Org: https://www.scrum.org/resources/blog/evolution-product-owner</em></p>



<p class="wp-block-paragraph">Die Rolle des Product Owners ist zwar mittlerweile in vielen Organisationen, die sich mit Softwareentwicklung beschäftigen, besetzt. Unserer Erfahrung nach aber noch eher selten im Sinne eines »Unternehmers im Unternehmen« (“Entrepreneur”), der auch alleine und vollumfänglich über die Roadmap und Features “seines” Produktes entscheiden kann.&nbsp;<a href="https://youtu.be/502ILHjX9EE?t=228" target="_blank" rel="noreferrer noopener"><strong>Dabei ist eine seiner Hauptaufgaben, “Nein” zu den meisten Anforderungen zu sagen und das Entwicklungsteam so effektiv und produktiv entwickeln zu lasssen</strong>.</a>&nbsp;Alle anderen der oben gezeigten Ausprägungen der Rolle Product Owner werden üblicherweise einen konsens-orientierten Ansatz mit ihren Stakeholdern zur Priorisierung finden müssen. Wobei auch einem “starken” Product Owner dieser Weg durchaus angeraten sein kann.</p>



<h3 class="wp-block-heading"><br><strong>Fazit</strong></h3>



<p class="wp-block-paragraph">Eine effiziente Softwareentwicklung ist heutzutage ein&nbsp;<strong><a href="https://wirtschaftslexikon.gabler.de/definition/hygienefaktoren-35183/version-258671" target="_blank" rel="noreferrer noopener">Hygienefaktor</a></strong>.&nbsp;<strong>Über die Effizienz lässt sich die Produktivität in der Entwicklung, wie wir gezeigt haben, mit unter 20 % auch nur begrenzt steigern.</strong>&nbsp;Wenn das Thema Effizienz in der Softwareentwicklung angegangen wird, empfehlen wir, Wartezeiten zu reduzieren, da diese üblicherweise den Großteil der Entwicklungszeit eines Features ausmachen.</p>



<p class="wp-block-paragraph">Wer wirklich mehr aus seiner Softwareentwicklungseinheit heraus bekommen möchte, sollte tatsächlich weniger entwicklen, nämlich weniger der nicht benötigten Features.&nbsp;<strong>Über die Effektivität lässt sich die Produktivität in der Entwicklung um das bis zu Fünffache steigern!</strong>&nbsp;Dann ist auch wieder ausreichend Kapazität für die wichtigen Features vorhanden. Hierzu wird jemand in verantwortlicher Position gebraucht, der “Nein” sagen kann – beispielsweise ein entsprechend “starker”, also befähigter und ermächtigter Product Owner.</p>



<p class="wp-block-paragraph"><em><strong>Fussnoten:</strong></em></p>



<ol class="wp-block-list">
<li>15 % normale Flow Efficiency beziehungsweise Entwicklungszeit * 50 % angenommene Optimierung = <strong>7,5 %</strong> optimierte Entwicklungszeit und somit Reduktion der gesamten Umsetzungsdauer. </li>



<li>Der Mittelwert der Zeit, die ein Entwickler pro Tag mit reiner Entwicklung verbringt von 25-50 % ist 37,5 %. Die Annahme im voran gegangenen Beispiel bei der Entwicklung eines Features war, dass 50 % der reinen Entwicklungszeit optimierbar wären. Bei Multitasking somit also 50 % von 37,5 % = <strong>18,75 %</strong>. </li>
</ol>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:30%">
<figure class="wp-block-image is-resized"><img decoding="async" src="https://dev.atra.consulting/wp-content/uploads/2024/04/Team-Schwarze.jpg" alt="" class="wp-image-506" style="width:304px;height:auto" title="Team-Schwarze"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<h3 class="wp-block-heading">Michael Schwarze</h3>



<p class="wp-block-paragraph">Geschäftsführer</p>



<div style="height:16px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Michael ist ein erfahrener Softwareentwickler, -architekt und -manager mit über 30 Jahren Erfahrung in der Technologiebranche. Er hat sowohl in Startups als auch Konzernen auf Anwender- als auch Entwicklungs- und Beratungsseite gearbeitet.&nbsp; Coden ist für ihn nicht nur Beruf, sondern Leidenschaft, am liebsten mit dynamisch-typisierten Sprachen wie Ruby. Neben der Entwicklung langlebiger Softwaresysteme liegt ihm auch die Verbesserung des Managements in der Softwareentwicklung am Herzen. Wenn er nicht gerade mit seiner Familie und seinen zwei Kindern beschäftigt ist, findet man ihn in den Bergen, beim Joggen oder anderen sportlichen Aktivitäten.</p>



<div style="height:16px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-ad2f72ca wp-block-group-is-layout-flex">
<p class="wp-block-paragraph"><a href="mailto:m.schwarze@atra.consulting">m.schwarze@atra.consulting</a>    </p>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.linkedin.com/in/michael-schwarze/" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li></ul>
</div>
</div>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Fachartikel »Die Wachstumsrate von Software« in OBJEKTspektrum 01/2019</title>
		<link>https://dev.atra.consulting/allgemein/fachartikel-wachstumsrate-software/</link>
		
		<dc:creator><![CDATA[Michael Schwarze]]></dc:creator>
		<pubDate>Fri, 04 Jan 2019 10:38:46 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Architektur]]></category>
		<category><![CDATA[Fachartikel]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Organisation]]></category>
		<category><![CDATA[Softwareentwicklung]]></category>
		<guid isPermaLink="false">https://dev.atra.consulting/uncategorized/fachartikel-die-wachstumsrate-von-software-in-objektspektrum-01-2019/</guid>

					<description><![CDATA[© OBJEKTspektrum: SIGS DATACOM GmbH &#124; www.sigs-datacom.de Unser Blogbeitrag »Die Wachstumsrate von Software« wurde als Fachartikel in der Fachzeitschrift OBJEKTspektrum veröffentlicht. Die Fachzeitschrift&#160;OBJEKTspektrum&#160;»liefert zuverlässige Hintergründe, Trends und Erfahrungen zu Software-Management, -Architektur und -Engineering«. Unser Blogbeitrag »Die Wachstumsrate von Software« fand Anklang bei der Redaktion der OBJEKTspektrum und wurde in einer erweiterten Fassung in Ausgabe 1/2019 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="has-text-align-center wp-block-paragraph"><em>© OBJEKTspektrum: SIGS DATACOM GmbH | www.sigs-datacom.de</em></p>



<p class="wp-block-paragraph">Unser Blogbeitrag »<a href="https://dev.atra.consulting/blog/wachstumsrate-software/"><strong>Die Wachstumsrate von Software</strong></a>« wurde als Fachartikel in der Fachzeitschrift OBJEKTspektrum veröffentlicht.</p>



<p class="wp-block-paragraph">Die Fachzeitschrift&nbsp;<strong><a href="https://www.sigs-datacom.de/fachzeitschriften/objektspektrum.html" target="_blank" rel="noreferrer noopener">OBJEKTspektrum</a></strong>&nbsp;»liefert zuverlässige Hintergründe, Trends und Erfahrungen zu Software-Management, -Architektur und -Engineering«. Unser Blogbeitrag »<strong><a href="https://dev.atra.consulting/blog/wachstumsrate-software/">Die Wachstumsrate von Software</a></strong>« fand Anklang bei der Redaktion der OBJEKTspektrum und wurde in einer erweiterten Fassung in Ausgabe 1/2019 veröffentlicht.</p>



<p class="wp-block-paragraph">Interessierte können sich den ganzen Artikel&nbsp;<strong><a href="https://dev.atra.consulting/wp-content/uploads/2025/01/OS-Sonderdruck_OS_1_2019_Schwarze-Consulting.pdf" target="_blank" rel="noreferrer noopener">hier</a>&nbsp;</strong>herunterladen.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:30%">
<figure class="wp-block-image is-resized"><img decoding="async" src="https://dev.atra.consulting/wp-content/uploads/2024/04/Team-Schwarze.jpg" alt="" class="wp-image-506" style="width:304px;height:auto" title="Team-Schwarze"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<h3 class="wp-block-heading">Michael Schwarze</h3>



<p class="wp-block-paragraph">Geschäftsführer</p>



<div style="height:16px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Michael ist ein erfahrener Softwareentwickler, -architekt und -manager mit über 30 Jahren Erfahrung in der Technologiebranche. Er hat sowohl in Startups als auch Konzernen auf Anwender- als auch Entwicklungs- und Beratungsseite gearbeitet.&nbsp; Coden ist für ihn nicht nur Beruf, sondern Leidenschaft, am liebsten mit dynamisch-typisierten Sprachen wie Ruby. Neben der Entwicklung langlebiger Softwaresysteme liegt ihm auch die Verbesserung des Managements in der Softwareentwicklung am Herzen. Wenn er nicht gerade mit seiner Familie und seinen zwei Kindern beschäftigt ist, findet man ihn in den Bergen, beim Joggen oder anderen sportlichen Aktivitäten.</p>



<div style="height:16px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-ad2f72ca wp-block-group-is-layout-flex">
<p class="wp-block-paragraph"><a href="mailto:m.schwarze@atra.consulting">m.schwarze@atra.consulting</a>    </p>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.linkedin.com/in/michael-schwarze/" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li></ul>
</div>
</div>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bericht von der QCon in New York</title>
		<link>https://dev.atra.consulting/allgemein/bericht-von-der-qcon-in-new-york/</link>
		
		<dc:creator><![CDATA[Michael Schwarze]]></dc:creator>
		<pubDate>Mon, 30 Jul 2018 13:17:47 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Architektur]]></category>
		<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Softwareentwicklung]]></category>
		<guid isPermaLink="false">https://dev.atra.consulting/uncategorized/bericht-von-der-qcon-in-new-york/</guid>

					<description><![CDATA[Unter dem Motto »Bleeding-edge for the Enterprise« fand die »7th International Software Development Conference«&#160;QCon&#160;vom 25. bis 29. Juni 2018 in New York statt. Wir waren dabei und geben nachfolgend einen Überblick und unseren Eindruck der besuchten Vorträge. Inhalt: Bleeding-edge for the Enterprise Nach der&#160;QCon 2015 in San Francisco&#160;stand dieses Jahr New York für uns auf [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Unter dem Motto »<em>Bleeding-edge for the Enterprise</em>« fand die »<em>7th International Software Development Conference</em>«&nbsp;<strong><a href="https://qconnewyork.com/" target="_blank" rel="noreferrer noopener">QCon</a></strong>&nbsp;vom 25. bis 29. Juni 2018 in New York statt. Wir waren dabei und geben nachfolgend einen Überblick und unseren Eindruck der besuchten Vorträge.</p>



<p class="wp-block-paragraph"><strong>Inhalt:</strong></p>



<ul class="wp-block-list">
<li><a href="https://dev.atra.consulting/?p=26571&amp;et_fb=1&amp;PageSpeed=off#bleeding-edge">Bleeding-edge for the Enterprise</a></li>



<li><a href="https://dev.atra.consulting/?p=26571&amp;et_fb=1&amp;PageSpeed=off#workshops">Workshops</a>
<ul class="wp-block-list">
<li><a href="https://dev.atra.consulting/?p=26571&amp;et_fb=1&amp;PageSpeed=off#developer">From Developer to Architect</a></li>



<li><a href="https://dev.atra.consulting/?p=26571&amp;et_fb=1&amp;PageSpeed=off#coaching">Coaching the Team System</a></li>
</ul>
</li>



<li><a href="https://dev.atra.consulting/?p=26571&amp;et_fb=1&amp;PageSpeed=off#keynotes">Keynotes</a>
<ul class="wp-block-list">
<li><a href="https://dev.atra.consulting/?p=26571&amp;et_fb=1&amp;PageSpeed=off#developers-malware">Developers as a Malware Distribution Vehicle</a></li>



<li><a href="https://dev.atra.consulting/?p=26571&amp;et_fb=1&amp;PageSpeed=off#brief">A Brief, Opinionated History of the API</a></li>
</ul>
</li>



<li><a href="https://dev.atra.consulting/?p=26571&amp;et_fb=1&amp;PageSpeed=off#vortraege">Vorträge</a>
<ul class="wp-block-list">
<li><a href="https://dev.atra.consulting/?p=26571#vortraege">Software Updates in an Orchestrated World</a></li>



<li><a href="https://dev.atra.consulting/?p=26571#web-assembly">WebAssembly 101</a></li>



<li><a href="https://dev.atra.consulting/?p=26571#code-performance">Understanding Code Performance in Production</a></li>



<li><a href="https://dev.atra.consulting/?p=26571&amp;et_fb=1&amp;PageSpeed=off#software-development">From Software Development to Machine Learning</a></li>



<li><a href="https://dev.atra.consulting/?p=26571#skype">Skype’s Journey From P2P</a></li>



<li><a href="https://dev.atra.consulting/?p=26571#artificial-intelligence">Explaining Artificial Intelligence to Schoolchildren</a></li>



<li><a href="https://dev.atra.consulting/?p=26571#story">The Story of Teams, Autonomy, and Servant Leadership</a></li>



<li><a href="https://dev.atra.consulting/?p=26571#auto-cad">AutoCAD &amp; WebAssembly: Moving a 30 Year Code Base to the Web</a></li>



<li><a href="https://dev.atra.consulting/?p=26571#breaking-codes">Breaking Codes, Designing Jets and Building Teams</a></li>



<li><a href="https://dev.atra.consulting/?p=26571#empowering">Empowering Agile Self-Organized Teams With Design Thinking</a></li>



<li><a href="https://dev.atra.consulting/?p=26571#software-eating">Software Is Eating the World, ML Is Going to Eat Software</a></li>
</ul>
</li>



<li><a href="https://dev.atra.consulting/?p=26571#einschaetzung">Einschätzung</a></li>
</ul>



<h3 class="wp-block-heading"><br><strong>Bleeding-edge for the Enterprise</strong></h3>



<p class="wp-block-paragraph">Nach der&nbsp;<strong><a href="https://dev.atra.consulting/2015/12/18/QCon-SanFrancisco-2015.html">QCon 2015 in San Francisco</a>&nbsp;</strong>stand dieses Jahr New York für uns auf der Agenda. Mit dem Veranstaltungsort direkt am Times Square war die Konferenz im wahrsten Sinne des Wortes am Puls der Zeit. Die Veranstaltung ist »<em>designed for senior software engineering leaders</em>« und bot den über 900 Teilnehmern 117 Vorträge von 143 Rednern aus folgenden Themenbereichen:</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf1297c7d&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf1297c7d" class="aligncenter size-large wp-lightbox-container"><img decoding="async" width="1024" height="392" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/Bleeding-edge-TecAdaptCurve-1024x392.png" alt="" class="wp-image-6372" title="Bleeding-edge-TecAdaptCurve" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/Bleeding-edge-TecAdaptCurve-1024x392.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/Bleeding-edge-TecAdaptCurve-768x294.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="has-text-align-center wp-block-paragraph"><em>© C4Media Inc | InfoQ.com</em></p>



<p class="wp-block-paragraph">Ob nun jedes Thema oder jeder der genannten Themenbereiche wirklich »bleeding-edge« ist, hängt natürlich immer auch von der eigenen Positionierung innerhalb der »Technology Adaption Curve« ab. Unserer Einschätzung nach ist die QCon schon sehr nah am Puls der Zeit und das nicht nur geografisch. Tech Leads und ähnliche Rollen aus den Entwicklungsabteilungen von führenden Firmen im Software Engingeering wie Facebook, Netflix &amp; Co. berichten hier über das, was jeweils wirklich schon im Einsatz ist. Ein schönes Beispiel hierzu ist das Thema Machine Learning. Während unserer Einschätzung nach die meisten Firmen, wenn überhaupt, noch dabei sind, das Thema zu verstehen, im besten Fall damit herum experimentieren,&nbsp;<strong><a href="https://dev.atra.consulting/2018/07/30/QCon-NewYork-2018.html#software-is-eating-the-world-ml-is-going-to-eat-software">zeigte Facebook auf der Konferenz</a></strong>, wie sie es schon zur konkreten Produktivitätssteigerung in der eigenen Entwicklungsabteilung und zur Optimierung des Cache-Managements in der Infrastruktur einsetzen – Use Cases die wir so, zumindest vorher, noch nicht gesehen hatten.</p>



<p class="wp-block-paragraph">Waren Microservices<strong>&nbsp;<a href="https://dev.atra.consulting/2015/12/18/QCon-SanFrancisco-2015.html#software-is-changing-the-world">2015</a>&nbsp;</strong>als sogenannte »Innovators« in QCons »Technology Adaption Curve« noch beherrschendes Thema, so befinden sie sich nun in der »Early Majority« (siehe Grafik oben). Folglich gab es zwar noch einen Track zum Thema, hier lag der Fokus der Vorträge dann aber auch auf sehr konkreten Anwendungs- und Betriebsthemen derselben.</p>



<p class="wp-block-paragraph">Die beherrschenden diesjährigen Themenbereiche waren entsprechend auch wieder aus den Bereichen »Innovators« und »Early Adopters«, insbesondere Serverless, Chaos Engineering und Machine Learning sowie Blockchain, Rust, Web Assembly und Software Ethics. Wobei die Einstufung des letzten Themenbereichs innerhalb »Innovators« uns dann doch verwundert hat, da wir&nbsp;<strong><a href="https://dev.atra.consulting/2009/12/22/Leistung.html#ethics--ethik">Ethik als relevante Dimension der Leistungsbeurteilung</a></strong>&nbsp;beispielsweise nun schon seit über 10 Jahren propagieren und nicht unbedingt als Innovation sehen würden.</p>



<h3 class="wp-block-heading"><br><strong>Workshops</strong></h3>



<p class="wp-block-paragraph">Die ersten zwei Tage der Konferenz waren ausschließlich Workshops gewidmet. Themen reichten von Serverless über die Programmiersprache Go und Python-basierte AI bis zu Microservices »in Aktion«. Neben diesen eher technologischen Themen gab es auch wieder Workshops zu den »weicheren« Aspekten rund um Softwareentwicklung.</p>



<h3 class="wp-block-heading"><br><strong>From Developer to Architect</strong></h3>



<p class="wp-block-paragraph">In&nbsp;<strong><a href="https://qconnewyork.com/ny2018/ny2018/workshop/developer-architect.html" target="_blank" rel="noreferrer noopener">diesem Workshop</a></strong>&nbsp;wurde aufgezeigt, was einen Softwarearchitekten von einem Softwareentwickler unterscheidet, beziehungsweise was die Rolle des Architekten an Aufgaben mit sich bringt. Die Wichtigkeit dieser Rolle in Softwareentwicklungsvorhaben haben wir ja bereits an anderer<strong>&nbsp;<a href="https://dev.atra.consulting/2018/03/21/Rolle_Architekt_Umfrage.html">Stelle</a></strong>&nbsp;aufgezeigt.</p>



<p class="wp-block-paragraph">Zunächst wurden hier die organisatorischen und kommunikativen Aspekte der Architektenrolle herausgestellt. Dass ein Architekt viel kommunizieren muss, mag einleuchten, bedeutet aber andererseits auch, dass er viel Zeit in Besprechungen verbringt. Interessant ist hier die Analogie, dass Architektur eine Geschichte ist, die erzählt werden muss. Wer das als Entwickler nicht mag, sollte sich eventuell überlegen, ob er wirklich Architekt werden möchte, beziehungsweise weiß die Arbeit, die der Architekt dem Entwickler damit abnimmt, dann vielleicht auch ganz anders zu schätzen.</p>



<p class="wp-block-paragraph">Mit den organisatorischen Aspekten sind dann häufig auch Budgetfragen verbunden, die ein Architekt zu beantworten hat. Und wo es um Geld geht, wird es schnell politisch, weshalb ein Architekt auch wissen muss, wie er welche Botschaft wann an wen sendet. Hier kann&nbsp;<strong><a href="https://stratechery.com/2013/socialcommunication-map/" target="_blank" rel="noreferrer noopener">Ben Thompsons Social/Communication Map</a></strong>&nbsp;helfen.</p>



<p class="wp-block-paragraph">Auch wurde angesprochen, dass die Entwicklung zum Architekten in der Praxis ja (leider) häufig über Versuch und Irrtum erfolgt. Dass Architekten in ihrer Laufbahn aufgrund der tendenziell langläufigen Natur ihrer Arbeit häufig nur wenige Architekturen von Anfang bis Ende bearbeiten können, erschwert dies zusätzlich. Wobei der Referent dabei auch die interessante Frage stellte, was denn eigentlich die&nbsp;<strong><a href="https://www.scrum.org/resources/scrum-glossary" target="_blank" rel="noreferrer noopener">Definition-of-Done</a></strong>&nbsp;einer Architektur ist?&nbsp;<strong><a href="https://nealford.com/katas/" target="_blank" rel="noreferrer noopener">Neal Fords Architektur Katas</a></strong>&nbsp;wurden als ein Element genannt, um Architekturentwicklung gefahrlos üben zu können. Denn ein guter Architekt wird man, in dem man an Architekturen arbeitet:</p>



<p class="wp-block-paragraph">»<em>How do we get great designers? Great designers design, of course.</em>« –Fred Brooks</p>



<p class="wp-block-paragraph">Ein weiterer Teil des Workshops war der Technologieauswahl gewidmet. Auch wenn Architektur nicht gleich Technologie ist, so ist die Technologieauswahl doch häufig Architektenaufgabe. Der Architekt sollte hierbei aber die eigentlichen Ziele nicht aus dem Auge verlieren. So ist beispielsweise die Testabdeckung in der Regel wichtiger, als welches Testing-Framework schlussendlich zum Einsatz kommt. Da Technologiefragen gerade unter Entwicklern gerne auch ideologisch geführt werden, ein guter Tipp vom Referenten:</p>



<p class="wp-block-paragraph">»<em>Avoid resume-driven decisions!</em>« –Nathaniel T. Schutta</p>



<p class="wp-block-paragraph">Üblicherweise verantwortet ein Architekt die sogenannten nicht-funktionalen Anforderungen, weshalb ein weiterer Block auch diesen sich häufig widersprechenden Attributen einer Software gewidmet war, wie zum Beispiel:</p>



<ul class="wp-block-list">
<li>Wartbarkeit</li>



<li>Skalierbarkeit</li>



<li>Verlässlichkeit</li>



<li>Sicherheit</li>



<li>Ausrollbarkeit</li>



<li>Einfachheit</li>



<li>Nutzbarkeit</li>



<li>Kompatibilität</li>



<li>Fehlertoleranz</li>



<li>Modularität</li>



<li>…</li>
</ul>



<p class="wp-block-paragraph">Aus Sicht des Referenten sollte ein Architekt hier aber besser von Qualitätsmerkmalen reden. Denn welcher Kunde zahlt schon gerne für etwas, das keine Funktion erfüllt und was er üblicherweise nicht direkt sieht?</p>



<p class="wp-block-paragraph">Da Architekturentscheidungen getroffen werden, ob man es will oder nicht (»Accidental Architecture«), ist es wichtig, die Rolle des Architekten zu klären. Die besten Architekturen entwickeln sich nach aktuellem Kenntnisstand evolutionär (»<strong><a href="https://amzn.to/2zG0CG7" target="_blank" rel="noreferrer noopener">Evolutionary Architectures</a></strong>«) durch</p>



<ul class="wp-block-list">
<li>Nutzung von <strong><a href="https://martinfowler.com/articles/feature-toggles.html" target="_blank" rel="noreferrer noopener">Feature Toggles</a></strong></li>



<li>sowie <a href="https://www.thoughtworks.com/de/insights/blog/how-implement-hypothesis-driven-development#" target="_blank" rel="noreferrer noopener"><strong>hypothesengestützte Entwicklung</strong></a>,</li>



<li>Einsatz von <strong><a href="https://www.thoughtworks.com/de/radar/techniques/architectural-fitness-function" target="_blank" rel="noreferrer noopener">Fitnessfunktionen</a></strong></li>



<li>und <a href="https://www.thoughtworks.com/de/radar/techniques/chaos-engineering" target="_blank" rel="noreferrer noopener"><strong>Chaos Engineering</strong></a>.</li>
</ul>



<p class="wp-block-paragraph">In Anlehnung an Winstons Churchills Ausspruch zur Demokratie gab der Referent zum Thema Prozesse zum Abschluss noch ein Zitat mit Augenzwinkern auf den Weg:</p>



<p class="wp-block-paragraph">»<em>Agile is the worst form of software development, except all other.</em>« –Nathaniel T. Schutta</p>



<p class="wp-block-paragraph">Insgesamt ein solider Grundlagen-Workshop zur Rolle des Architekten, wenn auch nicht unbedingt »bleeding-edge«. Ein wenig mehr Bezug zu aktuellen Fragestellungen der Softwarearchitektur, wie beispielsweise Architektur im Kontext agiler Softwareentwicklung hätte den Workshop noch abgerundet.</p>



<h3 class="wp-block-heading"><br><strong>Coaching the Team System</strong></h3>



<p class="wp-block-paragraph">Teams verändern sich. Hilfestellungen hierzu bot&nbsp;<strong><a href="https://qconnewyork.com/ny2018/ny2018/workshop/coaching-team-systems.html" target="_blank" rel="noreferrer noopener">dieser Workshop</a>.</strong>&nbsp;Wurde früher versucht, Teams wie Systeme möglichst stabil zu halten (»Never change a running/winning…«), so setzt sich immer mehr die Erkenntnis durch, dass wir damit eher das Gegenteil erreichen, da wir so im Moment der Veränderung schlecht vorbereitet sind: Wie sollen wir gut in etwas sein, was wir nicht regelmäßig praktizieren?</p>



<p class="wp-block-paragraph">»<em>Teams change. Better get good at it.</em>« –Heidi Helfand</p>



<p class="wp-block-paragraph">Die Referentin zeigte zunächst auf, dass bereits wenn eine Person ein Team verlässt oder hinzu kommt, eine neue Teamsituation entsteht, auf die wir eingehen müssen. Veränderungen passieren dabei auch noch auf verschiedenen Ebenen:</p>



<ul class="wp-block-list">
<li>Person</li>



<li>Team</li>



<li>Gilde, Stamm, Tribe – Gruppierungen einzelner Rollen, beispielsweise »alle Entwickler«</li>



<li>Abteilung</li>



<li>Unternehmen</li>
</ul>



<p class="wp-block-paragraph">Außerdem folgen auch Veränderungen einem Zyklus. Dreht es sich während der Entstehung eines Teams beispielsweise eher um Fragen des Onboardings neuer Mitarbeiter, so stehen heranwachsende Teams vor anderen Herausforderungen. Hier muss dann zum Beispiel mit kulturellen Veränderungen umgegangen werden, wenn aus eher chaotischen Startups Hierarchien entwachsen. Reife und stabile Teams benötigen wiederum oftmals eher einen Impuls, um wieder Energie freizusetzen beziehungsweise Veränderungen anzustoßen. Zu jeder dieser Coaching-Herausforderungen gab die Referentin entsprechende Tools mit auf den Weg, beispielsweise die »Market of Skills«-Aktivität, beim Onboarding neuer Mitarbeiter oder die »First-Team«-Aktivität, wenn kulturelle Aspekte geteilt werden sollen.</p>



<p class="wp-block-paragraph"><strong><a href="https://rework.withgoogle.com/print/guides/5721312655835136/" target="_blank" rel="noreferrer noopener">Googles Projekt Aristotels</a></strong>&nbsp;hat dabei eindrucksvoll gezeigt, dass dies nichts Esoterisches ist, sondern dazu dient, das, was erfolgreiche Teams ausmacht, herzustellen: »<strong><a href="https://www.youtube.com/watch?v=LhoLuui9gX8&amp;feature=youtu.be" target="_blank" rel="noreferrer noopener">psychologische Stabilität</a></strong>«.</p>



<p class="wp-block-paragraph">Bleibt die Frage, wer im Unternehmen dann eigentlich diese wichtige Rolle des Coaches übernimmt. Die Rolle Teamleitung als »klassische« erste Anlaufstelle für diese Fragen sehen wir hierzu insbesondere in agilen Teams immer häufiger gar nicht mehr genug »auf dem Spielfeld«. Gleichzeitig reduzieren Unternehmen die Rolle des Scrum Masters häufig nach einiger Zeit zum Teil drastisch, da »Scrum ja dann eingeführt ist«. Wir haben schon erlebt, dass ein Scrum Master beziehungsweise agiler Coach für 10 und mehr Teams zuständig war. Idealerweise verfügt jedes Team über diese notwendigen Teamentwicklungs-Skills, aber auch dieser Zustand muss erfahrungsgemäß zunächst hergestellt werden. Und dann ändert sich das Team wieder. Booking.com hat im Vortrag&nbsp;<strong><a href="https://dev.atra.consulting/2018/07/30/QCon-NewYork-2018.html#the-story-of-teams-autonomy-and-servant-leadership">»The Story of Teams, Autonomy, and Servant Leadership«</a>&nbsp;</strong>vom Donnerstag (siehe unten) interessanten Einblick in ihren Ansatz dazu gegeben.</p>



<h3 class="wp-block-heading"><br><strong>Keynotes</strong></h3>



<p class="wp-block-paragraph">Jeder der drei folgenden Konferenztage begann jeweils mit einer Keynote, welche durch Themenwahl und Vortragenden auch immer zum Nachdenken anregen sollte.</p>



<h3 class="wp-block-heading"><br><strong>Developers as a Malware Distribution Vehicle</strong></h3>



<p class="wp-block-paragraph">Ein&nbsp;<strong><a href="https://analytics.ncsu.edu/sesug/2005/SER06_05.PDF" target="_blank" rel="noreferrer noopener">»guter« Softwareentwickler vereint bekanntermaßen die drei Eigenschaften Faulheit, Ungeduld und Überheblichkeit</a>. In&nbsp;<a href="https://www.infoq.com/presentations/dev-malware-spread" target="_blank" rel="noreferrer noopener">diesem Vortrag</a></strong>&nbsp;wurde aufgezeigt, dass gerade diese Kombination ihn aber auch besonders empfänglich für Hacker-Angiffe macht.</p>



<p class="wp-block-paragraph">So hat&nbsp;<strong><a href="https://en.wikipedia.org/wiki/XcodeGhost" target="_blank" rel="noreferrer noopener">XcodeGhost</a>&nbsp;</strong>in 2015 beispielsweise über 4.000 Apps infiziert und bis zu 1,4 Millionen Opfer pro Tag geschädigt. Dabei wurde von Unbekannten eine infizierte Version von Apples IDE XCode hinter Chinas&nbsp;<strong><a href="https://en.wikipedia.org/wiki/Great_Firewall" target="_blank" rel="noreferrer noopener">Great Firewall</a>&nbsp;</strong>ausgerollt. Diese hatte prominente Apps wie zum Beispiel&nbsp;<strong><a href="https://en.wikipedia.org/wiki/WeChat" target="_blank" rel="noreferrer noopener">WeChat</a></strong>&nbsp;durch einen veränderten Compiler mit Schadcode versehen, wodurch die betroffenden Apps gleich mehrere Angriffsvektoren aufwiesen (Remote Control, Datendiebstahl und mehr). Der Referent brachte hier noch eine Vielzahl weiterer Beispiele, von versehentlich auf Github publizierten Zugangsdaten des Fahrdienstleisters Uber bis zu einem Phishing-Angriff auf einen Entwickler der Financial Times. Im ersteren Fall gelangten Millionen Daten von Millionen Fahrgästen und Fahrern von Uber an die Öffentlichkeit. Im letzteren Fall wurden zwar nur kurzzeitig falsche Meldungen über Twitter veröffentlicht, ein&nbsp;<a href="https://www.kaspersky.de/blog/nach-dem-hack-des-ap-kontos-bei-twitter/973/" target="_blank" rel="noreferrer noopener"><strong>ähnlicher Fall bei der</strong>&nbsp;<strong>AP</strong></a>&nbsp;brachte aber beispielsweise den Dow Jones innerhalb von Minuten um 1 % nach unten. Jedes Mal waren Entwickler das Einfallstor für die Hacker. Salesforce.com führte nach Angaben des Referenten einen internen Phishing-Test durch und Entwickler hatten dabei die zweithöchste Klickrate.</p>



<p class="wp-block-paragraph">Das Schlimme hieran: Compiler-Hacks wie der geschilderte XCodeGhost sind schon mindestens seit dem sogenannten »<strong><a href="https://wiki.c2.com/?TheKenThompsonHack" target="_blank" rel="noreferrer noopener">Ken Thompson Hack</a></strong>« von 1984 bekannt.</p>



<p class="wp-block-paragraph">Open-Source Software hat dabei noch einen vermeintlich sicheren Status, da der Quellcode ja öffentlich einsehbar und somit nur schwerlich kompromittierbar ist. Aber wer weiß schon, ob das entsprechende npm-Package auch dem Sourcecode auf Github entspricht? Vergangenes Jahr wurden auf diesem Wege beispielsweise&nbsp;<strong><a href="https://www.csoonline.com/article/3214624/security/malicious-code-in-the-node-js-npm-registry-shakes-open-source-trust-model.html" target="_blank" rel="noreferrer noopener">39 infizierte Packages über zwei Wochen</a>&nbsp;</strong>via npm verteilt. Und das zieht sich quer durch alle Technologien. So wurden gerade vergangenen Monat&nbsp;<strong><a href="https://www.bleepingcomputer.com/news/security/17-backdoored-docker-images-removed-from-docker-hub/" target="_blank" rel="noreferrer noopener">17 infizierte Docker-Images offline</a></strong>&nbsp;genommen. Und&nbsp;<strong><a href="https://blog.rubygems.org/2016/04/06/gem-replacement-vulnerability-and-mitigation.html" target="_blank" rel="noreferrer noopener">Rubys Paketsystem RubyGem hatte in 2016 sein entsprechendes Sicherheits-Debakel</a></strong>. Das lokale Kompilieren des sauberen Quellcodes könnte hier helfen. Das machen aber nur die Wenigsten. Und dann war da ja noch die Sache mit dem Compiler-Hack…</p>



<p class="wp-block-paragraph">»<em>You cannot trust code which you do not totally control.</em>« –Guy Podjarny</p>



<p class="wp-block-paragraph">Der Referent konnte verschiedene Gründe aufzeigen, warum gerade Entwickler dazu neigen, Entscheidungen zu treffen, die negative Auswirkungen auf die Sicherheit eines Systems haben:</p>



<ul class="wp-block-list">
<li>Fokus auf Funktion: Sicherheit wird als Einschränkung wahrgenommen.</li>



<li>Kognitive Beschränkung: Facebook hat seinen initialen Slogan »<strong><a href="https://amzn.to/2zKHWFd" target="_blank" rel="noreferrer noopener">Move fast and break things</a></strong>« nicht ohne Grund zu »<strong><a href="https://mashable.com/2014/04/30/facebooks-new-mantra-move-fast-with-stability" target="_blank" rel="noreferrer noopener">Move fast with a stable infrastructure</a></strong>« geändert.</li>



<li>Einerseits fehlendes Wissen: Nicht jeder Entwickler versteht alle Sicherheitimplikationen seiner Arbeit.</li>



<li>Andererseits fühlen Entwickler sich häufig zu sicher (siehe auch die eingangs erwähnten Eigenschaften eines »guten« Entwicklers) und sind damit beispielsweise dann auch schwerer zu schulen.</li>



<li>»Das passiert mir doch nicht«-Mentalität, dabei passieren Sicherheitsvorfälle jedem.</li>
</ul>



<p class="wp-block-paragraph">Als mögliche Gegenmaßnahmen wurde Folgendes empfohlen:</p>



<ul class="wp-block-list">
<li>Systematisches Lernen aus vergangenen Fehlern</li>



<li>Sicherheitskontrollen automatisieren</li>



<li>»Make it easy to be secure«</li>



<li>Zutritt »wie die Großen« managen, beispielsweise
<ul class="wp-block-list">
<li><strong><a href="https://www.beyondcorp.com/" target="_blank" rel="noreferrer noopener">Googles BeyondCorp</a></strong></li>



<li><strong><a href="https://docs.microsoft.com/de-de/windows-server/identity/securing-privileged-access/privileged-access-workstations" target="_blank" rel="noreferrer noopener">Microsofts Priviliged Access Workstations</a></strong></li>



<li><strong><a href="https://github.com/Netflix/bless" target="_blank" rel="noreferrer noopener">Netflix’ BLESS</a></strong></li>
</ul>
</li>
</ul>



<p class="wp-block-paragraph">Die Keynote war ein gelungener Einstieg in den ersten Konferenztag und durchaus ein Augenöffner für gewisse Sicherheitsthemen.</p>



<h3 class="wp-block-heading"><br><strong>A Brief, Opinionated History of the API</strong></h3>



<p class="wp-block-paragraph">In der&nbsp;<strong><a href="https://www.infoq.com/presentations/history-api" target="_blank" rel="noreferrer noopener">zweiten Keynote</a></strong>&nbsp;nahm sich Joshua Bloch, Chief Java Architect von Google, vormals Distinguished Engineer für Sun Microsystems und Autor unter anderem von&nbsp;<strong><a href="https://amzn.to/2BawymO" target="_blank" rel="noreferrer noopener">Effective Java</a></strong>, die Geschichte der API (Application Programming Interface) vor und brachte dabei Erstaunliches zutage.</p>



<p class="wp-block-paragraph">Bereits 1948 erwähnten Goldstine und von Neuman erstmals eine »Subroutine Library« in ihrer theoretischen (!) Abhandlung über das Programmieren eines sogenannten »<a href="https://archive.org/stream/planningcodingof0103inst#page/n5/mode/2up" target="_blank" rel="noreferrer noopener"><strong>Electronic Computing</strong>&nbsp;<strong>Instruments</strong></a>«.&nbsp;<strong><a href="https://amturing.acm.org/award_winners/wilkes_1001395.cfm" target="_blank" rel="noreferrer noopener">Wilkes</a></strong>&nbsp;hat dann 1951 mit Wheeler und Gill Programmbibliotheken mit dem ersten Text zur Computerprogrammierung überhaupt »<strong><a href="https://archive.org/details/programsforelect00wilk" target="_blank" rel="noreferrer noopener">Preparation of Programs for Electronic Digital Computers</a></strong>« praktisch eingeführt und wurde unter anderem dafür 1967 mit dem Turing Award ausgezeichnet. Schon damals stellten sie fest:</p>



<p class="wp-block-paragraph"><em>»Documenting [APIs] is hard.«</em></p>



<p class="wp-block-paragraph">Außerdem sollten Programmbibliotheken schon damals Komplexität vor dem Nutzer verbergen. APIs sind natürlich keine Programmbibliotheken, sondern heute losgelöst von ihnen zu sehen. Eine Programmbibliothek hat aber eine entsprechende Schnittstelle (Interface), um die Applikation programmatisch einzubinden. Somit darf man die Programmbibliothek durchaus als Vorläufer der API ansehen. Selbiger Begriff wurde dann erstmals ab&nbsp;<strong><a href="https://www.merriam-webster.com/dictionary/application%20programming%20interface" target="_blank" rel="noreferrer noopener">1968</a></strong>&nbsp;genutzt.</p>



<p class="wp-block-paragraph">Der Wert einer (guten) API liegt darin, dass die Implementierung geändert werden kann, ohne dass der Nutzer davon etwas merkt. Der Lebenszyklus einer API ist also losgelöst von der Implementierung: »Write once, run anywhere«. Daraus ergibt sich auch der folgende »Test«, ob eine Schnittstelle als API zu verstehen ist oder nicht:</p>



<ul class="wp-block-list">
<li>Es wird ein Set an Operationen bereitgestellt, welche durch ihre Ein- und Ausgaben definiert sind.</li>



<li>Re-Implementierung ohne Beeinträchtigung des Nutzers wird unterstützt.</li>
</ul>



<p class="wp-block-paragraph">Da das vielleicht etwas abstrakt ist, brachte der Referent dann historische Beispiele für entsprechende APIs, die vielleicht nicht jeder bisher auch als solche verstanden hat:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>API</strong></td><td><strong>stabil seit</strong></td></tr><tr><td>Fortran II standard Bibliothek für mathematische Funktionen</td><td>1958</td></tr><tr><td>C-Standard-Bibliothek</td><td>1975</td></tr><tr><td>Unix System Calls</td><td>1975</td></tr><tr><td>DEC VT100 Escape Sequenzen</td><td>1978</td></tr><tr><td>IBM PC BIOS</td><td>1981</td></tr><tr><td>MS-DOS Befehlszeilen Interface “Prompt”</td><td>1981</td></tr><tr><td>Hayes AT Befehlssatz für Modems</td><td>1982</td></tr><tr><td>Windows-32</td><td>1993</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Viele der oben genannten Beispiele sind heute noch im Einsatz. Der Hayes AT Befehlssatz für Modems findet sich heute noch in fast allen Handys. Und die Standardisierung und Re-Implementierungsmöglichkeit des IBM PCs in Kombination mit MS-DOS haben die Ära der PCs der 1980er Jahre begründet, von der wir auch heute noch zehren.&nbsp;<strong><a href="https://www.winehq.org/" target="_blank" rel="noreferrer noopener">WINE</a>&nbsp;</strong>ist wiederum ein schönes Beispiel für eine Re-Implementierung einer API ohne Beeinträchtigung des Nutzers, in dem Fall der Windows-32-API auf unixoiden Systemen. Genauso bilden die C-Standard-Bibliothek und die Unix System Calls das Fundament unserer heutigen digitalen Welt, findet sich doch dank Android ein (freies) Unix in mittlerweile Milliarden von Geräten:</p>



<p class="wp-block-paragraph"><em>»APIs are the glue that connect our digital universe.«</em>&nbsp;–Joshua Bloch</p>



<p class="wp-block-paragraph">Bislang war die Re-Implementierung von APIs rechtlich unproblematisch. Durch den&nbsp;<strong><a href="https://en.wikipedia.org/wiki/Oracle_America,_Inc._v._Google,_Inc." target="_blank" rel="noreferrer noopener">Rechtsstreit von Oracle mit Google</a></strong>&nbsp;ändert sich die Situation zumindest in den USA derzeit. Oracle wirft Google vor, dass deren Re-Implementierung der Java Standard Edition Bibliothek für das Android Betriebssystem Oracles Copyright und Patentrechte verletze. Der Prozess läuft bereits seit 2012 und durch mehrere Instanzen. Der aktuellste Entscheid spricht sich für Oracle aus, wodurch APIs derzeit in den USA quasi Copyrightschutz besitzen und nicht ohne Zustimmung des Autors frei re-implementiert werden sollten. Sollte sich hieran nichts mehr ändern, wird unserem digitalen Universum das zusammenhaltende Element entzogen.</p>



<p class="wp-block-paragraph">Der Referent war in den Gerichtsprozessen als Gutachter tätig und hat sich auch in diesem Vortrag entsprechend für die weiterhin freie Implementierbarkeit von APIs ausgesprochen, weshalb er den Vortrag auch als »opinionated« benannt hat.</p>



<h2 class="wp-block-heading"><br><strong>Vorträge</strong></h2>



<h3 class="wp-block-heading"><strong>Software Updates in an Orchestrated World</strong></h3>



<p class="wp-block-paragraph"><strong><a href="https://qconnewyork.com/ny2018/ny2018/presentation/software-updates-orchestrated-world.html" target="_blank" rel="noreferrer noopener">Dieser Vortrag</a></strong>&nbsp;lief innerhalb der »Sponsored Tracks«, wurde also von einem Produkthersteller und Sponsor der QCon, in diesem Fall der Firma&nbsp;<strong><a href="https://jfrog.com/" target="_blank" rel="noreferrer noopener">JFrog</a>&nbsp;</strong>durchgeführt.</p>



<p class="wp-block-paragraph">Der Referent griff den für uns auf der Konferenz durchgängig erkennbaren Faden auf, dass es sicherer ist, oft und schnell zu releasen, als die Systeme stabil zu halten. Aufhänger hierfür war die zunehmende Komplexität der Systeme, die wir entwickeln. Insbesondere, da der Großteil eines Systems üblicherweise aus externer Software besteht, wie wir hier am Beispiel der freien, webbasierten Projektmanagementsoftware&nbsp;<strong><a href="https://www.redmine.org/" target="_blank" rel="noreferrer noopener">Redmine</a>&nbsp;</strong>exemplarisch nachgestellt haben:</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf129a1c1&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf129a1c1" class="aligncenter size-large wp-lightbox-container"><img decoding="async" width="1024" height="576" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/Umfang-Abhaengigkeiten-1024x576.png" alt="" class="wp-image-6392" title="Umfang-Abhaengigkeiten" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/Umfang-Abhaengigkeiten-1024x576.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/Umfang-Abhaengigkeiten-768x432.png 768w, https://dev.atra.consulting/wp-content/uploads/2025/04/Umfang-Abhaengigkeiten-780x440.png 780w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="wp-block-paragraph">Die eigentliche Anwendung ist hier mit 200.000 Codezeilen beziehungsweise 1 % des Gesamtumfangs nur die Spitze des Eisbergs. 99 % der Anwendung sind Fremdcode, der aber auch verwaltet und insbesondere aktuell gehalten werden will. Die Abhängigkeiten machen die Situation dabei besonders brisant: löst man die rund 1.000 Abhängigkeiten von Kubernetes auf, so wächst allein diese Software schon auf stolze 35 Millionen Codezeilen an, wird also größer als das Betriebssystem.</p>



<p class="wp-block-paragraph">Bei den exemplarischen 1.580 Abhängigkeiten des oben gezeigten Beispielsystems wäre man 4 Jahre mit Updates beschäftigt, würde man nur eine Abhängigkeit pro Tag aktualisieren. Natürlich bündelt man das in der Regel analog zu&nbsp;<strong><a href="https://de.wikipedia.org/wiki/Patchday" target="_blank" rel="noreferrer noopener">Microsofts Patchday</a></strong>. Trotzdem muss der gesamte Softwarestack nach Updates entsprechend getestet werden, was in der Regel einen Großteil des Aufwands ausmacht.</p>



<p class="wp-block-paragraph">Artefakt-Repositories wie&nbsp;<strong><a href="https://de.sonatype.com/nexus-repository-oss" target="_blank" rel="noreferrer noopener">Sonatypes Nexus</a></strong>&nbsp;und&nbsp;<strong><a href="https://jfrog.com/artifactory/" target="_blank" rel="noreferrer noopener">JFrogs Artifactory</a></strong>&nbsp;helfen bei der Verwaltung dieser Vielzahl von Abhängigkeiten und somit letztlich bei der Fragestellung, wie man den Überblick über einen komplexen Softwarestack von tausenden von (Open Source) Systemen heutzutage behält. Dazu kommt jedoch noch die zunehmende Komplexität des Bereichs Cybersecurity, schön dargestellt anhand<strong>&nbsp;<a href="https://www.linkedin.com/pulse/map-cybersecurity-domains-version-20-henry-jiang-ciso-cissp" target="_blank" rel="noreferrer noopener">Henry Jiangs »Map of Cybersecurity Domains«</a></strong>. Hier wird erkennbar, dass es nicht mehr nur mit Updates der Fremdsoftware alleine getan ist. Risk-Management, Sourcecode Scans, Vulnerability Checks, Architectural Fit und so weiter wollen und müssen für den Fremcode ebenso bedacht sein:</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf129aeda&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf129aeda" class="aligncenter size-large wp-lightbox-container"><img decoding="async" width="1024" height="566" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/Umfang-Abhaengigkeiten-2-1024x566.png" alt="" class="wp-image-6390" title="Umfang-Abhaengigkeiten-2" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/Umfang-Abhaengigkeiten-2-1024x566.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/Umfang-Abhaengigkeiten-2-768x424.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="has-text-align-center wp-block-paragraph"><em>© Henry Jiang | https://www.linkedin.com/pulse/map-cybersecurity-domains-version-20-henry-jiang-ciso-cissp</em></p>



<p class="wp-block-paragraph">Die Produkthersteller erweitern ihre Portfolios natürlich entsprechend. So bietet JFrog beispielsweise mittlerweile auch Security Scans der Artefakte an. Der bisherige Platzhirsch Nexus wird dabei langsam von Artifactory überholt:</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf129bbae&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf129bbae" class="aligncenter size-large wp-lightbox-container"><img decoding="async" width="1024" height="495" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/Umfang-Abhaengigkeiten-3-1024x495.png" alt="" class="wp-image-6391" title="Umfang-Abhaengigkeiten-3" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/Umfang-Abhaengigkeiten-3-1024x495.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/Umfang-Abhaengigkeiten-3-768x371.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="wp-block-paragraph">Der Vortrag hat deutlich gemacht, dass das Lifecycle-Management immer wichtiger, aber auch immer aufwändiger wird.</p>



<h3 class="wp-block-heading"><br><strong>WebAssembly 101</strong></h3>



<p class="wp-block-paragraph"><strong><a href="https://webassembly.org/" target="_blank" rel="noreferrer noopener">WebAssembly</a></strong>&nbsp;könnte die Art und Weise, wie wir »Web Apps« schreiben, revolutionieren. Der&nbsp;<strong><a href="https://qconnewyork.com/ny2018/ny2018/presentation/capital-one-presentation.html" target="_blank" rel="noreferrer noopener">Vortrag</a></strong>&nbsp;gab dem Namen (»<strong><a href="https://en.wikipedia.org/wiki/101_(topic)" target="_blank" rel="noreferrer noopener">101</a></strong>«) folgend einen guten Einstieg in das Thema.</p>



<p class="wp-block-paragraph">WebAssembly ist ein binärer Befehlssatz, also eine Art Maschinensprache. Der Befehlssatz gilt allerdings nicht für einen speziellen Prozessor, sondern für eine virtuelle Maschine, welche von einer&nbsp;<strong><a href="https://www.w3.org/wasm/" target="_blank" rel="noreferrer noopener">Arbeitsgruppe des World Wide Web Consortium</a></strong>&nbsp;(kurz W3C), dem Gremium zur Standardisierung der Techniken im World Wide Web, verabschiedet wird. Dadurch ist diese virtuelle Maschine auch bereits in allen modernen Browsern vorhanden, wodurch diese zusätzlich zu JavaScript eine weitere Laufzeitumgebung erhalten.</p>



<p class="wp-block-paragraph">Da es in der Geschichte des Webs schon ähnliche Versuche gab, von Java Applets über Silverlight und Flash bis zu ASM.js und natürlich auch JavaScript, ist eine Abgrenzung hilfreich:</p>



<ul class="wp-block-list">
<li>WebAssembly ist keine Programmiersprache und kein neuer Browser;<br>– es soll weder JavaScript ablösen, noch ist es so etwas wie Flash oder Java Applets.
<ul class="wp-block-list">
<li></li>
</ul>
</li>



<li>Ohne einen entsprechenden Host funktioniert die Technologie nicht,<br>– wobei der Host nicht auf das Web beschränkt ist: alles kann ein WebAssembly Host sein.
<ul class="wp-block-list">
<li></li>
</ul>
</li>



<li>WebAssembly ist bislang noch im MVP-Status und dadurch<br>– weder multi-threaded, was sich mit Web Workern aber umgehen lässt,<br>– noch garbage-collected, was erklärt, warum Java noch nicht zu WebAssembly kompilieren kann.
<ul class="wp-block-list">
<li></li>
</ul>
</li>
</ul>



<p class="wp-block-paragraph">Aufgrund der Eigenschaften von WebAssembly, wie zum Beispiel Geschwindigkeit, Portabilität, Effizienz und Sicherheit, sind Anwendungsfälle insbesondere im Umfeld Mobile, IoT sowie grundsätzlicher bei leistungsstarken Web-Anwendungen zu sehen.</p>



<p class="wp-block-paragraph">Ziel ist dabei nicht, dass direkt in WebAssembly programmiert wird, da es sich wirklich um Binärcode handelt:</p>



<p class="wp-block-paragraph">20 00</p>



<p class="wp-block-paragraph">42 00</p>



<p class="wp-block-paragraph">51</p>



<p class="wp-block-paragraph">04 7e</p>



<p class="wp-block-paragraph">42 01</p>



<p class="wp-block-paragraph">05</p>



<p class="wp-block-paragraph">20 00</p>



<p class="wp-block-paragraph">20 00</p>



<p class="wp-block-paragraph">42 01</p>



<p class="wp-block-paragraph">7d</p>



<p class="wp-block-paragraph">10 00</p>



<p class="wp-block-paragraph">7e</p>



<p class="wp-block-paragraph">0b</p>



<p class="wp-block-paragraph">Es gibt zwar auch eine textuelle Entsprechung zu dem oben gezeigten Binärcode, also quasi Assemblercode, aber auch darin wollen wir heute nicht mehr wirklich direkt programmieren:</p>



<p class="wp-block-paragraph">get_local 0</p>



<p class="wp-block-paragraph">i64.const 0</p>



<p class="wp-block-paragraph">i64.eq</p>



<p class="wp-block-paragraph">if i64</p>



<p class="wp-block-paragraph">&nbsp; &nbsp;&nbsp;i64.const 1</p>



<p class="wp-block-paragraph">else</p>



<p class="wp-block-paragraph">&nbsp; &nbsp;&nbsp;get_local 0</p>



<p class="wp-block-paragraph">&nbsp; &nbsp;&nbsp;get_local 0</p>



<p class="wp-block-paragraph">&nbsp; &nbsp;&nbsp;i64.const 1</p>



<p class="wp-block-paragraph">&nbsp; &nbsp;&nbsp;i64.sub</p>



<p class="wp-block-paragraph">&nbsp; &nbsp;&nbsp;call 0</p>



<p class="wp-block-paragraph">&nbsp; &nbsp;&nbsp;i64.mul</p>



<p class="wp-block-paragraph">end</p>



<p class="wp-block-paragraph">Ziel ist vielmehr, dass die gängigen Compiler neben den Prozessorarchitekturen, für die sie sowieso schon kompilieren können, also beispielsweise ARM32 oder x86-64 zusätzlich auch für WebAssembly kompilieren können. Für C/C++ und Rust sind bereits entsprechende Kompiler vorhanden. Das folgende C-Programm wurde beispielsweise entsprechend für WebAssembly kompiliert, um den voran gezeigten Binär- beziehungsweise Assemblercode zu erhalten:</p>



<p class="wp-block-paragraph">int factorial(int n) {</p>



<p class="wp-block-paragraph">&nbsp;&nbsp;if (n == 0)</p>



<p class="wp-block-paragraph">&nbsp; &nbsp;&nbsp;return 1;</p>



<p class="wp-block-paragraph">&nbsp;&nbsp;else</p>



<p class="wp-block-paragraph">&nbsp; &nbsp;&nbsp;return n * factorial(n-1);</p>



<p class="wp-block-paragraph">}</p>



<p class="wp-block-paragraph">Der Ablauf, um ein Programm in WebAssembly zu erstellen und nutzen ist somit wie folgt:</p>



<ol class="wp-block-list">
<li>Schreiben oder portieren eines Programms in einer Programmiersprache, welche WebAssembly unterstützt – derzeit C/C++, Rust und <strong><a href="https://github.com/golang/go/wiki/WebAssembly" target="_blank" rel="noreferrer noopener">Go seit Version 1.11 zumindest experimentell</a></strong>.</li>



<li>Entsprechendes Kompilieren des Programms nach WebAssembly (WASM).</li>



<li>Das Kompilat wird dann über einen entsprechenden Webserver, der WebAssembly unterstützt, den sogenannten Host, ausgespielt</li>



<li>und kann dann, wie eine Webseite, von einem Browser, der WebAssembly unterstützt (Chrome, Edge, Firefox und WebKit/Safari), abgerufen werden.</li>
</ol>



<p class="wp-block-paragraph">Der Klassiker »helloWorld.c«</p>



<p class="wp-block-paragraph">#include &lt;stdio.h&gt;</p>



<p class="wp-block-paragraph">int main(int argc, char ** argv) {</p>



<p class="wp-block-paragraph">&nbsp;&nbsp;printf(„Hello, world!\n“);</p>



<p class="wp-block-paragraph">}</p>



<p class="wp-block-paragraph">kompiliert nach WebAssembly sieht als statische Seite im Browser natürlich noch unspektakulär aus:</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf129da37&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf129da37" class="aligncenter size-large wp-lightbox-container"><img decoding="async" width="1024" height="964" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_WasmHello-1024x964.png" alt="" class="wp-image-6388" title="QCon-NewYork-2018_WasmHello" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_WasmHello-1024x964.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_WasmHello-768x723.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="wp-block-paragraph">Der in C geschriebene Editor&nbsp;<strong><a href="https://github.com/rhysd/vim.wasm" target="_blank" rel="noreferrer noopener">VIM wurde aber auch schon erfolgreich nach WebAssembly</a></strong>&nbsp;kompiliert und ist darüber&nbsp;<strong><a href="https://rhysd.github.io/vim.wasm/" target="_blank" rel="noreferrer noopener">im Webbrowser lauffähig</a></strong>, was zeigt, welches Potential in der Technologie steckt:</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf129e75d&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf129e75d" class="aligncenter size-large wp-lightbox-container"><img decoding="async" width="1024" height="759" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_WasmVim-1024x759.png" alt="" class="wp-image-6389" title="QCon-NewYork-2018_WasmVim" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_WasmVim-1024x759.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_WasmVim-768x569.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="wp-block-paragraph">Die Codebasis von VIM ist über 25 Jahre alt und umfasst mehr als 750.000 Zeilen, wurde aber in weniger als einer Woche von einem Entwickler nach WebAssembly portiert – inklusive Erlernen des notwendigen Toolings.</p>



<p class="wp-block-paragraph">Im Vortrag »<strong><a href="https://dev.atra.consulting/2018/07/30/QCon-NewYork-2018.html#autocad--webassembly-moving-a-30-year-code-base-to-the-web">AutoCAD &amp; WebAssembly: Moving a 30 Year Code Base to the Web</a></strong>« vom Donnerstag (siehe unten) gibt es weitere Details zu einem noch größeren Portierungsvorhaben. Die Spiele-Engine Unity ist wohl auch schon entsprechend portiert,&nbsp;<strong><a href="https://webassembly.org/demo/" target="_blank" rel="noreferrer noopener">»Tanks« lässt sich als WebAssembly-Demo zumindest schon im Browser spielen</a></strong>. Vielleicht ergibt sich so auch eine Lösung für das&nbsp;<a href="https://fingfx.thomsonreuters.com/gfx/rngs/USA-BANKS-COBOL/010040KH18J/index.html" target="_blank" rel="noreferrer noopener">Cobol-Problem</a>? Wir sind gespannt, ob und wann die ersten Cobol-Compiler WASM erzeugen können…</p>



<h3 class="wp-block-heading"><br><strong>Understanding Code Performance in Production</strong></h3>



<p class="wp-block-paragraph">Dieser&nbsp;<strong><a href="https://qconnewyork.com/ny2018/ny2018/presentation/appdynamics-presentation.html" target="_blank" rel="noreferrer noopener">Vortrag</a>&nbsp;</strong>innerhalb der »Sponsored Tracks«, wurde von der Firma&nbsp;<strong><a href="https://www.appdynamics.com/" target="_blank" rel="noreferrer noopener">AppDynamics</a>&nbsp;</strong>durchgeführt.</p>



<p class="wp-block-paragraph">Produktive Umgebungen sind häufig anders als Entwicklungsumgebungen, da beispielsweise nicht jeder Entwickler auch zwangsläufig Zugang zu den entsprechenden Produktivsystemen seiner Applikation bekommt. Gleichzeitig verlagern sich die Erwartungen an den Betrieb von Applikationen durch Ansätze wie&nbsp;<strong><a href="https://www.gartner.com/it-glossary/devops" target="_blank" rel="noreferrer noopener">DevOps</a>&nbsp;</strong>und&nbsp;<strong><a href="https://aws.amazon.com/de/blogs/enterprise-strategy/enterprise-devops-why-you-should-run-what-you-build/" target="_blank" rel="noreferrer noopener">You-Build-it-You-Run-it</a></strong>&nbsp;in Richtung Entwicklung. Hier kann sogenanntes&nbsp;<em>Application Performance Monitoring</em>&nbsp;dem Entwickler wichtige Informationen über das Verhalten seiner Software in Produktion liefern. Üblicherweise wird dabei bereits zur Entwicklungszeit eine entsprechende Software in die zu überwachende Applikation integriert, häufig in Form eines Agenten. Diese benötigen natürlich auch Ressourcen, weshalb sie mit bis zu 2 % Performance zu kalkulieren sind.</p>



<p class="wp-block-paragraph">Am Markt haben sich mehrere Hersteller und Lösungen etabliert. AppDynamics ist dabei in&nbsp;<strong><a href="https://asset.appdynamics.com/c/gartner-magic-quadrant" target="_blank" rel="noreferrer noopener">Gartners Magic Quadrant für Application Performance Monitoring</a></strong>&nbsp;im Leaders-Quadranten eingestuft. Darüber hinaus war der Vortrag weitestgehend eine&nbsp;<strong><a href="https://asset.appdynamics.com/c/guided-tour-appdynam?x=SMIgt4&amp;mkt_tok=eyJpIjoiT1dZM1ltWmxZekV6WlRFMiIsInQiOiJFQmJnbUpNeVwvK3ZNckNrbW1ZXC9EMSs5WDFtaXhpQ0czS3FRTlVNVHZPb2hOVXpYM0pxM0JERmpsY1RUV0dJbHl6U3JiTDhmMFwvQXkxdDloR2FFYWtUXC9PeFJpbmk0dzJsSUViYXBISFRiT1VQa1hXbXBkNTZremNtUnZ5aGJ5V0QifQ%3D%3D&amp;utm_budget=lookbook&amp;utm_campaign=core+apm+nurture+an+introduction+to+apm" target="_blank" rel="noreferrer noopener">Produktvorführung</a></strong>.</p>



<h3 class="wp-block-heading"><br><strong>From Software Development to Machine Learning</strong></h3>



<p class="wp-block-paragraph">Bei diesem&nbsp;<strong><a href="https://qconnewyork.com/ny2018/ny2018/presentation/software-development-machine-learning-teams-transformatio.html" target="_blank" rel="noreferrer noopener">Vortrag</a></strong>&nbsp;handelte es sich um den Erfahrungsbericht der Transformation eines klassischen PHP-Software-Engineering-Teams hin zu Machine Learning aus Sicht der verantwortlichen Managerin. Der vorliegende Fall war sicherlich ein Extrembeispiel, da das Unternehmen sein Produktportfolio komplett umstellen wollte und die Entwicklung dementsprechend ebenso radikal umgestellt werden musste. Die Referentin hat das Unterfangen nicht ohne Grund mit einer Organtransplantation verglichen.</p>



<p class="wp-block-paragraph">Die Transformation geschah dabei auf verschiedenen Ebenen:</p>



<ul class="wp-block-list">
<li>Individuum</li>



<li>Team</li>



<li>Unternehmen</li>
</ul>



<p class="wp-block-paragraph">Auf der Ebene des Individuums musste beispielsweise mit Python eine neue Technologie gelernt werden. Das mag sich zunächst nur nach einer weiteren Programmiersprache anhören, hat aber auch »soziale« Aspekte, da der Senioritätsgrad der Mitarbeiter damit quasi über Nacht abgestuft wurde, weil beispielsweise der vorherige PHP Senior Web Developer nun auf einmal Python Junior Engineer war.</p>



<p class="wp-block-paragraph">Auf Team-Ebene muss man sich mit geänderten und ganz neuen Rollen auseinandersetzen. Aus einem Web Developer muss ein Machine Learning Engineer werden und aus einem Softwarearchitekt ein Data-Architekt. Ganz neu ins Spiel kommt der Data Scientist, nach Aussage der Referentin eine derzeit viel zu strapazierte Rolle, für die es bislang auch noch keine universelle Definition gibt. Außerdem können ihrer Meinung nach die wenigsten davon auf dem Level eines Software-Engineers entwickeln, da sie sich meist aus dem mathematisch-akademischen Bereich rekrutieren und damit zwar vielleicht gut in Algorithmen sind, aber nicht zwangsläufig wissen, wie man große, langlebige Systeme für den Produktiveinsatz entwickelt.</p>



<p class="wp-block-paragraph">Aus eigener Projekterfahrung wissen wir, dass die Umstellung eines Teams auf eine neue Technologie zwar machbar ist, eine Organisation aber durchaus einige Jahre beschäftigen kann.</p>



<p class="wp-block-paragraph">Wer sich selbst tiefer in das Thema Machine Learning einarbeiten möchte, findet&nbsp;<strong><a href="https://www.courseduck.com/programming/machine-learning/" target="_blank" rel="noreferrer noopener">hier</a>&nbsp;</strong>eine gute Übersicht an Kursen.</p>



<h3 class="wp-block-heading"><br><strong>Skype’s Journey From P2P</strong></h3>



<p class="wp-block-paragraph">Dieser&nbsp;<strong><a href="https://qconnewyork.com/ny2018/ny2018/presentation/skype%E2%80%99s-re-architecture-super-nodes-scalable-server-based.html" target="_blank" rel="noreferrer noopener">Vortrag</a></strong>&nbsp;zeigte Skypes Wandel von einer (»der«) P2P-Architektur hin zu einem Server- und Service-basierten Ansatz.</p>



<p class="wp-block-paragraph">Mit dem ersten Release hat Skype 2003 eine der größten P2P-Architekturen ausgerollt. Jeder Client wurde dabei zu einem Knoten des P2P-Netzes, welcher weitestgehend losgelöst vom Backend operieren konnte. Das Backend bestand primär aus PostgreSQL-basierten Datenbank-Services, die Logik wurde überwiegend im Client implementiert.</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf129f8f6&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf129f8f6" class="aligncenter size-large wp-lightbox-container"><img decoding="async" width="1024" height="576" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_SkypesP2PArchitecture-1024x576.png" alt="" class="wp-image-6387" title="QCon-NewYork-2018_SkypesP2PArchitecture" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_SkypesP2PArchitecture-1024x576.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_SkypesP2PArchitecture-768x432.png 768w, https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_SkypesP2PArchitecture-780x440.png 780w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption"><em>© Bruce Lowekamp | https://www.infoq.com/presentations/skype-p2p</em></figcaption></figure>
</div>


<p class="wp-block-paragraph">Bezogen auf das<strong>&nbsp;<a href="https://de.wikipedia.org/wiki/CAP-Theorem" target="_blank" rel="noreferrer noopener">CAP-Theorem</a></strong>, wonach in einem verteilten System von den drei Anforderungen Konsistenz (Consistency), Verfügbarkeit (Availability) und Partitionstoleranz nur zwei umfassend erfüllt werden können, konnte so maximale Verfügbarkeit und Partitionstoleranz (»AP«) sichergestellt werden.</p>



<p class="wp-block-paragraph">Nach der Übernahme 2011 durch Microsoft wurde auch die Architektur hinterfragt. Dabei stellte sich heraus, dass die Welt beziehungsweise die Anforderungen sich geändert hatten. Desktop-Applikationen waren nicht mehr dominant, sondern mobile Anwendungen. Serverkosten hatten sich drastisch reduziert, dafür sollte Messaging beispielsweise auch offline möglich sein. Außerdem wurden Funktionen wie server-weites Suchen oder Vorschläge benötigt. Außerdem erschien es nicht mehr sinnvoll, die Logik im Client vorzuhalten. Die Funktionen des Skype-Clients wurden deshalb in mehreren Teilschritten auf eine verteilte Service-Architektur migriert, welche sich zum Teil natürlich auch bei bekannten Services von Microsoft bedient, beispielsweise MSA für Login:</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf12a0669&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf12a0669" class="aligncenter size-large wp-lightbox-container"><img decoding="async" width="1024" height="577" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_SkypesMigration-1024x577.png" alt="" class="wp-image-6386" title="QCon-NewYork-2018_SkypesMigration" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_SkypesMigration-1024x577.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_SkypesMigration-768x433.png 768w, https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_SkypesMigration-780x440.png 780w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption"><em>© Bruce Lowekamp | https://www.infoq.com/presentations/skype-p2p</em></figcaption></figure>
</div>


<p class="wp-block-paragraph">Die Migration wurde dabei durch A/B Tests unterstützt, für welche eigens ein sogenannter Experimentation and Configuration Service (ECS) aufgebaut wurde, der mittlerweile bei ganz Microsoft im Einsatz ist.</p>



<p class="wp-block-paragraph">Skypes ehemalige P2P-Architektur soll ab Herbst 2018 Geschichte sein. Interessant, dass auch ein IT-Gigant wie Microsoft für so ein Migrationsvorhaben immerhin 7 Jahre gebraucht hat.</p>



<h3 class="wp-block-heading"><br><strong>Explaining Artificial Intelligence to Schoolchildren</strong></h3>



<p class="wp-block-paragraph">Der Referent&nbsp;<strong><a href="https://qconnewyork.com/ny2018/ny2018/presentation/explaining-artificial-intelligence-schoolchildren.html" target="_blank" rel="noreferrer noopener">dieses Vortrags</a>&nbsp;</strong>ist als Entwickler bei IBM für deren Programm&nbsp;<a href="https://www.ibm.com/watson/" target="_blank" rel="noreferrer noopener">Watson</a>&nbsp;tätig und hat unter anderem eine&nbsp;<strong><a href="https://machinelearningforkids.co.uk/" target="_blank" rel="noreferrer noopener">web-basierte Lernumgebung rund um Machine Learning für Kinder</a></strong>&nbsp;erstellt. Da Machine Learning in immer mehr Bereiche vordringt, gab es für die anwesenden Entwickler auch gleich ein paar beruhigende Worte von einem, der seit Jahren in dem Umfeld professionell tätig ist:</p>



<p class="wp-block-paragraph">»<em>Artifical Intelligence adds to a developer’s toolbox, it doesn’t replace him.</em>« –Dale Lane</p>



<p class="wp-block-paragraph">Ihm ist es wichtig, aufzuzeigen, was Machine Learning als Teilbereich der Künstlichen Intelligenz (Artifical Intelligence) ist, was damit machbar ist und wo die Grenzen sind; und das möglichst auch schon Kindern, da diese zukünftig immer mehr mit entsprechenden autonomen Systemen konfrontiert sein werden.</p>



<p class="wp-block-paragraph">»<em>Machine Learning is…Learning how to perform a task from a collection of examples.</em>« –Dale Lane</p>



<p class="wp-block-paragraph">In der Lernumgebung werden Kinder auf spielerische Art und Weise durch die notwendigen Schritte für Machine Learning geführt:</p>



<ul class="wp-block-list">
<li><strong>Sammeln</strong> von beispielhaften Daten (Bilder, Zahlen, Texte) für die Aufgabe</li>



<li><strong>Trainieren</strong> des Computers anhand der Beispieldaten (hier erfolgt das Lernen)</li>



<li><strong>Programmieren</strong> einer Anwendung, welche anhand des Gelernten entsprechende Aufgaben ausführt</li>
</ul>



<p class="wp-block-paragraph">Im ersten Schritt dreht es sich darum, entsprechende Daten für das jeweilige Vorhaben in ausreichender Menge zu sammeln – zum Beispiel Bilder von Gesichtern. Im zweiten Schritt wird das System dann trainiert. Beispielsweise werden die Bilder in zwei Gruppen von Menschen mit glücklichem und unglücklichem Gesichtsausdruck aufgeteilt. Im dritten Schritt wird über Scratch, die visuelle Programmiersprache für Kinder, welche in der Lernumgebung mit der API von Watson integriert ist, ein einfaches Programm geschrieben. Im genannten Beispiel würden neue Fotos anhand des Gesichtsausdrucks in glücklich oder unglücklich eingeordnet werden.</p>



<p class="wp-block-paragraph">Wichtig ist dem Referenten dabei insbesondere auch immer wieder die Grenzen von Machine Learning aufzuzeigen. Konkret zum Beispiel die vielen Möglichkeiten, entsprechende Systeme bewusst oder unbewusst mit Vorurteilen anzulernen.&nbsp;<strong><a href="https://www.businessinsider.com/google-tags-black-people-as-gorillas-2015-7" target="_blank" rel="noreferrer noopener">Googles Bildersuche, die vor einiger Zeit die Bilder von zwei Afroamerikanern mit der Kategorie Gorilla versah</a></strong>, ist da nur ein&nbsp;<strong><a href="https://qz.com/1064035/google-goog-explains-how-artificial-intelligence-becomes-biased-against-women-and-minorities/" target="_blank" rel="noreferrer noopener">Beispiel von vielen</a></strong>.</p>



<h3 class="wp-block-heading"><br><strong>The Story of Teams, Autonomy, and Servant Leadership</strong></h3>



<p class="wp-block-paragraph">Dieser&nbsp;<strong><a href="https://qconnewyork.com/ny2018/ny2018/presentation/teams-management-journey-through-autonomy-servant-leadership.html" target="_blank" rel="noreferrer noopener">Vortrag</a></strong>&nbsp;zeigte, wie<strong>&nbsp;<a href="https://www.booking.com/" target="_blank" rel="noreferrer noopener">Booking.com</a></strong>&nbsp;seine Entwicklungsteams im agilen Kontext aufgestellt hat und insbesondere wie die Entwicklung zum aktuellen Status Quo anhand von gesteuerten Experimenten faktenbasiert erfolgte. Dabei war der Fokus insbesondere auf der Rolle Teamleiter – nicht verwunderlich, da diese Rolle in den agilen Entwicklungsansätzen wie beispielsweise&nbsp;<strong><a href="https://www.agil-gefuehrt.de/die-maer-von-der-selbstorganisation/" target="_blank" rel="noreferrer noopener">Scrum nicht weiter definiert ist</a></strong>, was von vielen so interpretiert wird, als bräuchte es gar keiner Führung im agilen Kontext. Das dem nicht so ist, zeigte der Referent, selbst Führungskraft bei Booking.com, entsprechend auf.</p>



<p class="wp-block-paragraph">Booking.com ist von acht Mitarbeitern im Jahr 2000 auf aktuell über 15.000 angewachsen, wovon derzeit über 1.500 Mitarbeiter in der IT tätig sind. Um 2014 waren rund 500 Mitarbeiter in der IT. Jedes Team hatte dabei einen Teamleiter und einen Product Owner, die wiederum an einen Senior Teamlead (Abteilungsleiter) und einen Senior Product Owner berichtet haben, welche dann direkt entsprechend an den CTO und CPO berichtet haben:</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf12a1da7&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf12a1da7" class="aligncenter size-full wp-lightbox-container"><img decoding="async" width="720" height="405" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_Booking.com_Teamstructure.png" alt="" class="wp-image-6377" title="QCon-NewYork-2018_Booking.com_Teamstructure"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption"><em>© Georgiy Mogelashvili https://www.infoq.com/presentations/team-autonomy-servant-leadership</em></figcaption></figure>
</div>


<p class="wp-block-paragraph">Aufgabe des Teamleiters war zu rund&nbsp;⅔&nbsp;fachliche Mitarbeit im Team und zu rund&nbsp;⅓&nbsp;klassische Teamleitungsaufgaben wie zum Beispiel Prozesse, teamübergreifende Kommunikation, Mitarbeiterentwicklung und -leistung. Der Product Owner war für Aufgabenpriorisierung, Backlog-Verwaltung, Metriken und die Kommunikation mit dem Business beziehnungsweise Fachbereich verantwortlich.</p>



<p class="wp-block-paragraph">Zwischen 2015 und 2016 setzte dann ein extremes Wachstum des Unternehmens ein, was zu einer Verdoppelung der Anzahl der Mitarbeiter in der IT auf rund 1.000 führte. Dies machte auch andere Führungsansätze notwendig, weshalb autonome Teams als Lösungsansatz untersucht wurden. Damit gemeint war, dass Teams ohne Teamleiter arbeiten und alle Teammitglieder gleichermaßen für entsprechende Aufgaben verantwortlich sind. Die bisher vom Teamleiter quartalsweise und 1:1 erfolgten Performance Reviews erfolgten jetzt beispielsweise in einer gemeinsamen Teamsitzung. Spannend, inwiefern das arbeitsrechtlich in Deutschland abbildbar wäre. Der Product Owner als Verantwortlicher für die geschäftlichen Aspekte blieb erhalten, die Teams berichteten innerhalb der IT jetzt direkt an den Senior Teamlead:</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf12a2ce0&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf12a2ce0" class="aligncenter size-full wp-lightbox-container"><img decoding="async" width="720" height="405" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_Booking.com_Teamstructure_study.png" alt="" class="wp-image-6376" title="QCon-NewYork-2018_Booking.com_Teamstructure_study"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption"><em>© Georgiy Mogelashvili https://www.infoq.com/presentations/team-autonomy-servant-leadership</em></figcaption></figure>
</div>


<p class="wp-block-paragraph">Das Ganze wurde als Experiment mit 26 von 84 Teams in der IT erprobt. Fokus war dabei auf der Effektivität der Teams analog zu Googles »<strong><a href="https://rework.withgoogle.com/print/guides/5721312655835136/" target="_blank" rel="noreferrer noopener">Perfect Team</a></strong>« und den entsprechenden Metriken.</p>



<p class="wp-block-paragraph">Booking.com stellte im Laufe des Experiments drei Hauptprobleme fest. Erstens konnte das angestrebte Wachstum in den autonomen Teams ohne entsprechende Unterstützung (durch die Teamleitung) nicht wie gewünscht sichergestellt werden. Zweitens verändern sich Teams (siehe hierzu auch weiter oben zum Workshop vom Dienstag<strong>&nbsp;<a href="https://dev.atra.consulting/2018/07/30/QCon-NewYork-2018.html#coaching-the-team-system">»Coaching the Team System«</a></strong>) und brauchen auch dabei Unterstützung. Drittens waren die Senior Teamleads mit der Vielzahl an Teams, die direkt an sie berichteten, trotz der vermeintlichen Autonomie überfordert.</p>



<p class="wp-block-paragraph">Den Problemen wäre vermutlich noch zu begegnen gewesen, die wesentliche Kennzahl für Booking.com,&nbsp;<strong>das Engagement der Mitarbeiter</strong>, ging in diesem Experiment autonomer Teams ohne Teamleitung allerdings erheblich zurück. Es musste also etwas verändert werden. Booking.com versuchte dabei, das Beste aus beiden Ansätzen zu nehmen und kam zu folgender Erkenntnis:</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf12a3aa2&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf12a3aa2" class="aligncenter size-full wp-lightbox-container"><img decoding="async" width="720" height="405" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_Booking.com_ServantLeadership.png" alt="" class="wp-image-6374" title="QCon-NewYork-2018_Booking.com_ServantLeadership"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption"><em>© Georgiy Mogelashvili https://www.infoq.com/presentations/team-autonomy-servant-leadership</em></figcaption></figure>
</div>


<p class="wp-block-paragraph">Es sollte also autonome Teams, aber mit Teamleiter geben. Hierfür wurde die Aufgabenbeschreibung und insbesondere das Skillprofil der Teamleitung in Richtung<strong>&nbsp;<a href="https://de.wikipedia.org/wiki/Servant_Leadership" target="_blank" rel="noreferrer noopener">Servant Leadership</a></strong>&nbsp;geschärft. Die »neue« Teamleitung hat also keine beherrschende Macht mehr über das Team, sondern ist Teil desselben. Die Performance Reviews werden beispielsweise weiterhin analog zum autonomen Team in einer gemeinsamen Sitzung abgehalten, in der jetzt auch der Teamleiter mit bewertet wird und selbiger auch nur eine Stimme, wie jedes Teammitglied hat.</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf12a4990&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf12a4990" class="aligncenter size-full wp-lightbox-container"><img decoding="async" width="720" height="405" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_Booking.com_Teamstructure_now.png" alt="" class="wp-image-6375" title="QCon-NewYork-2018_Booking.com_Teamstructure_now"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption"><em>© Georgiy Mogelashvili https://www.infoq.com/presentations/team-autonomy-servant-leadership</em></figcaption></figure>
</div>


<p class="wp-block-paragraph">Die Teamleitung arbeitet nach wie vor fachlich mit, aber nur noch unter 50 % und verwendet zukünftig mehr als die Hälfte seiner Zeit auf Personalentwicklung:</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf12a5a5e&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf12a5a5e" class="aligncenter size-full wp-lightbox-container"><img decoding="async" width="720" height="405" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_Booking.com_ServantLeaderRole.png" alt="" class="wp-image-6373" title="QCon-NewYork-2018_Booking.com_ServantLeaderRole"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption"><em>© Georgiy Mogelashvili https://www.infoq.com/presentations/team-autonomy-servant-leadership</em></figcaption></figure>
</div>


<p class="wp-block-paragraph">Da es nicht leicht ist, solche Teamleiter zu rekrutieren, setzt Booking.com agile Coaches ein, um die Teamleiter hier entsprechend zu unterstützen und zu entwicken.</p>



<p class="wp-block-paragraph">Wichtig auch die Erkenntnis, was Autonomie für Booking.com&nbsp;<strong>nicht</strong>&nbsp;ist:</p>



<ul class="wp-block-list">
<li>Alleine arbeiten,</li>



<li>Anarchie oder</li>



<li>Vernachlässigung.</li>
</ul>



<p class="wp-block-paragraph">Die Erkenntnis aus dem gesteuerten Experiment von Booking.com ist, dass Teams auch eine Teamleitung brauchen, andernfalls sinkt die Effektivität. Teamleitung ist hier aber keine beherrschende, sondern eine dienende Rolle mit entsprechenden Aufgaben.</p>



<h3 class="wp-block-heading"><br><strong>AutoCAD &amp; WebAssembly: Moving a 30 Year Code Base to the Web</strong></h3>



<p class="wp-block-paragraph">Nach der interessanten<strong>&nbsp;<a href="https://dev.atra.consulting/2018/07/30/QCon-NewYork-2018.html#webassembly-101">Einführung in WebAssembly</a>&nbsp;</strong>am Dienstag zeigte der Referent dieses&nbsp;<strong><a href="https://qconnewyork.com/ny2018/ny2018/presentation/web-assembly-autodesk.html" target="_blank" rel="noreferrer noopener">Vortrags</a></strong>, wie AutoCAD mittels WebAssembly erfolgreich für das Web portiert wurde. Es handelt sich dabei um eine C/C++-Desktop-Applikation, deren Codebasis rund 15 Millionen Codezeilen umfasst und die bis ins Jahr 1982 zurückreicht.</p>



<p class="wp-block-paragraph">Als die Entwicklungsmannschaft vor der Aufgabe stand, diese Applikation fit für das Web zu machen, wurde relativ schnell klar, dass ein Neuschreiben aufgrund des Umfangs keine Option war, da es weder nachhaltig ist, zwei Entwicklungslinien für so ein Produkt aufrechtzuerhalten, noch so ein Unterfangen auch nur ansatzweise schnell genug wäre. Ganz zu schweigen vom&nbsp;<a href="https://en.wikipedia.org/wiki/Second-system_effect" target="_blank" rel="noreferrer noopener"><strong>2nd-System Effect</strong></a>. Deshalb wurde sich auf die Option der Cross-Kompilierung der Codebasis fokussiert. Es wurden verschiedene Ansätze (Flash, JavaScript, asm.js) probiert, bevor der Durchbruch mit WebAssembly gelang. Als Toolchain kommen dabei Emscripten und WebAssembly Binaryen zum Einsatz.</p>



<p class="wp-block-paragraph">Mit einem einfachen Kompilieren einer so großen Codebasis war es natürlich nicht getan. Es mussten sowohl an der Codebasis als auch an der Toolchain Anpassungen vorgenommen werden, um folgenden Herausforderungen zu begegnen:</p>



<ul class="wp-block-list">
<li>Kompilier- und Build-Zeit der Codebasis</li>



<li>Startzeit der Applikation</li>



<li>Desktop- gegenüber Web-Paradigma.</li>
</ul>



<p class="wp-block-paragraph">Die beiden ersten der eben genannten Punkte hängen natürlich direkt mit der umfangreichen Codebasis zusammen. Aber gerade der letzte Punkt, die gegenläufigen Entwicklungsparadigmen zwischen Desktop- und Web-Applikationen, betreffen jeden, der eine entsprechende Software portieren möchte. Als Beispiel wurden synchrone und asynchrone Programmierprobleme im Web genannt. Die Behandlung von blockierenden Aufrufen ist in Desktop-Programmen anders als im Web. Und dann wurde noch Shared Memory angeführt. Desktop-Applikationen erlauben synchrone Schreibzugriffe, da es dort Shared Memory gibt, um Daten zu teilen – im Web gibt es das so nicht.</p>



<p class="wp-block-paragraph">Für die genannten Probleme fanden die Entwickler bei AutoCAD aber Lösungen, vielleicht nicht in Tagen, so aber in der Regel doch in Wochen oder zumindest Monaten, was in keinem Vergleich zu dem mehrjährigen Neuschreiben der Software steht. Die Applikation steht durch Cross-Kompilierung mittels WebAssembly heute auch als Web-Applikation zur Verfügung.</p>



<h3 class="wp-block-heading"><br><strong>Breaking Codes, Designing Jets and Building Teams</strong></h3>



<p class="wp-block-paragraph"><strong><a href="https://qconnewyork.com/ny2018/ny2018/presentation/empowered-team-presentation.html" target="_blank" rel="noreferrer noopener">Dieser Vortrag</a></strong><strong>&nbsp;</strong>hätte auch durchaus als<strong>&nbsp;<a href="https://dev.atra.consulting/2018/07/30/QCon-NewYork-2018.html#keynotes">Keynote</a>&nbsp;</strong>laufen können. Der Referent, Randy Shoup, hat 25 Jahre Erfahrung im Engineering bei den Größen des Silicon Valleys, beispielsweise Director of Engineering bei Google, Chief Engineer bei eBay, Tech Lead bei Oracle und aktuell VP Engineering bei WeWork. Er ist aber auch der Sohn von&nbsp;<strong><a href="https://en.wikipedia.org/wiki/Richard_Shoup_(programmer)" target="_blank" rel="noreferrer noopener">Richard Shoup</a></strong>, Gründungsmitglied des berühmten Xerox Palo Alto Research Center. Damit hat der Referent natürlich Einblick in die Geschichte des (IT) Engineering wie wenig andere. Und dessen bediente er sich, um anhand von drei Beispielen für sehr<strong>&nbsp;<a href="https://dev.atra.consulting/2009/12/22/Leistung.html#effectiveness--zielerreichung">effektive</a></strong>&nbsp;Engineering-Teams deren Gemeinsamkeiten herauszuarbeiten.</p>



<p class="wp-block-paragraph">Sein erstes Beispiel für ein effektives Team betraf die Code-Brecher der britischen Militäreinrichtung Bletchley Park, welche den ersten programmierbaren digitalen Computer bereits 1943 vollständig im Geheimen bauten. Es wird geschätzt, dass dank Bletchly Park der zweite Weltkrieg um zwei Jahre verkürzt und somit 14 Millionen Leben gerettet werden konnten (<em>=&gt; Zweck</em>). Trotzdem es sich um eine Militäreinrichtung handelte, gab es wenig Hierarchie und eine offene&nbsp;<em>=&gt; Organisationskultur</em>. Jedes Team war cross-funktional aufgestellt, zwischen den Teams herrschte allerdings absolute Geheimhaltung (also Unabhängigkeit). Aufgrund der sich ständig ändernden Codes mussten auch die Teams permanent lernen und iterieren (<em>=&gt; technische Exzellenz</em>). Dabei waren die Teams extrem divers mit einer Frauenquote von bis zu 75 % (<em>=&gt; Menschen</em>). Bekanntheit hat hierbei natürlich insbesondere&nbsp;<strong><a href="https://en.wikipedia.org/wiki/Alan_Turing" target="_blank" rel="noreferrer noopener">Alan Turing</a></strong>&nbsp;erlangt, aber auch Ian Fleming, der Erfinder von James Bond, hat hier gearbeitet.</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf12a72eb&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf12a72eb" class="aligncenter size-large wp-lightbox-container"><img decoding="async" width="723" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_CodeBreaker-BP-723x1024.png" alt="" class="wp-image-6379" title="QCon-NewYork-2018_CodeBreaker-BP"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption"><em>© Randy Shoup | https://www.infoq.com/presentations/history-engineering-teams</em></figcaption></figure>
</div>


<p class="wp-block-paragraph">Als zweites Beispiel für außergewöhnliche Engineering-Leistungen wurde Lockheeds sogenannte “Skunk Works” Advanced Developments Gruppe aufgeführt. Seit Gründung 1943 wurden hier Generation um Generation der weltweit am schnellsten und höchsten fliegenden sowie geheimsten Flugzeuge entwickelt, wie zum Beispiel die F-117A Nighthawk. Entgegen dem im modernen Flugzeugbau wohl üblichen Vorgehen, erfolgten Design, Entwicklung und Bau hier innerhalb einer cross-funktionalen Einheit, wo alle beteiligten Rollen eng zusammen saßen (“Co-Location”) und beispielsweise auch der Testpilot eng in den Entwicklungsprozess involviert war (<em>=&gt; Organisationskultur</em>). Dabei war jeder für Qualität verantwortlich:</p>



<p class="wp-block-paragraph"><em>We made every shop worker who designed or handled a part responsible for quality control. Any worker – not just a supervisor or a manager – could send back a part that didn’t meet his or her standards.</em></p>



<p class="wp-block-paragraph">Es wurde schon sehr früh umfassend Gebrauch von Modellen, Simulationen sowie Mockups und Prototypen zum Verifizieren von Hypothesen gemacht (<em>=&gt; Technische Exzellenz</em>). Und auch dieses Team war von Anfang an durch Diversivität geprägt. So war beispielsweise&nbsp;<strong><a href="https://en.wikipedia.org/wiki/Mary_G._Ross" target="_blank" rel="noreferrer noopener">Mary G. Ross</a>&nbsp;</strong>als erste amerikanische Ureinwohnerin Gründungsmitglied und Engineer der Skunk Works Group (<em>=&gt; Menschen</em>).</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf12a80ce&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf12a80ce" class="aligncenter size-full wp-lightbox-container"><img decoding="async" width="1024" height="721" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_CodeBreaker-SW.png" alt="" class="wp-image-6380" title="QCon-NewYork-2018_CodeBreaker-SW" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_CodeBreaker-SW.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_CodeBreaker-SW-768x541.png 768w, https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_CodeBreaker-SW-570x400.png 570w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption"><em>© Randy Shoup | https://www.infoq.com/presentations/history-engineering-teams</em></figcaption></figure>
</div>


<p class="wp-block-paragraph">Als drittes Beispiel führt Shoup das&nbsp;<strong><a href="https://www.techspot.com/guides/477-xerox-parc-tech-contributions/" target="_blank" rel="noreferrer noopener">Xerox PARC</a>&nbsp;</strong>an, welches 1970 gegründet wurde und dessen Erfindungen die Grundlage unserer heutigen digitalen Welt sind. Beispielsweise wurden hier&nbsp;<strong><a href="https://en.wikipedia.org/wiki/Smalltalk" target="_blank" rel="noreferrer noopener">Smalltalk</a></strong>&nbsp;als »Mutter der Objektorientierung«, das erste graphische Benutzerinterface mit überlappenden Fenstern als Basis für Apple und Microsoft Windows, die&nbsp;<strong><a href="https://en.wikipedia.org/wiki/WYSIWYG" target="_blank" rel="noreferrer noopener">WYSIWYG</a>&nbsp;</strong>Textbearbeitung, Ethernet oder auch der Laserdrucker genannt.</p>



<p class="wp-block-paragraph">Kurzer Einschub an dieser Stelle: Die Erfindung der Computermaus wird auch gerne wahlweise dem Xerox Parc oder&nbsp;<strong><a href="https://en.wikipedia.org/wiki/The_Mother_of_All_Demos" target="_blank" rel="noreferrer noopener">Doug Engelbart</a>&nbsp;</strong>zugeschrieben, es scheint aber so, dass hier tatsächlich&nbsp;<strong><a href="https://www.oldmouse.com/mouse/misc/telefunken.shtml" target="_blank" rel="noreferrer noopener">Telefunken</a>&nbsp;</strong>aus Deutschland die Nase vorn hatte.</p>



<p class="wp-block-paragraph">Die&nbsp;<em>=&gt; Organisationskultur</em>&nbsp;des Xerox PARC war flach, ohne Hierarchie und versammelte Talente wie&nbsp;<strong><a href="https://en.wikipedia.org/wiki/Alan_Kay" target="_blank" rel="noreferrer noopener">Alan Kay</a>,&nbsp;<a href="https://en.wikipedia.org/wiki/Adele_Goldberg_(computer_scientist)" target="_blank" rel="noreferrer noopener">Adele Goldberg</a></strong>&nbsp;und&nbsp;<strong><a href="https://en.wikipedia.org/wiki/Richard_Shoup_(programmer)" target="_blank" rel="noreferrer noopener">Richard Shoup</a></strong>&nbsp;(<em>=&gt; Menschen</em>) aus der Industrie und dem universitären Bereich.</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf12a9259&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf12a9259" class="aligncenter size-large wp-lightbox-container"><img decoding="async" width="1024" height="791" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_CodeBreaker-Alto-1024x791.png" alt="" class="wp-image-6378" title="QCon-NewYork-2018_CodeBreaker-Alto" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_CodeBreaker-Alto-1024x791.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_CodeBreaker-Alto-768x593.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption"><em>© Randy Shoup | https://www.infoq.com/presentations/history-engineering-teams</em></figcaption></figure>
</div>


<p class="wp-block-paragraph">Aus diesen drei Beispielen für extrem effektive Engineering-Einheiten konnte der Vortragende die folgenden gemeinsamen Eigenschaften als Prinzipien effektiven Engineerings ableiten:</p>



<ul class="wp-block-list">
<li><strong>Zweck</strong>: Die Teams müssen »groß« denken dürfen, dabei aber fokussiert auf ein wichtiges und motivierendes Ziel für die Organisation sein.</li>



<li><strong>Organisationskultur</strong>: Cross-funktionale »Full Stack« Teams sind für diese Art von Arbeit am effektivsten, das Team muss maximale Autonomie bei minimaler Bürokratie und minimaler zentrale Kontrolle haben; Zusammenarbeit und eine Kultur des Lernens sind weitere Schlüssel zum Erfolg.</li>



<li><strong>Menschen</strong>: Unabhängig von ihrem Hintergrund sind die besten Leute für den jeweiligen Job zu engagieren, dabei ist Diversität wichtig; die Menschen sind gut zu behandeln – schlimm, dass das immer noch erwähnenswert ist, siehe hierzu auch unsere <strong><a href="https://dev.atra.consulting/2009/12/22/Leistung.html">Definition von Leistung</a></strong>, die immer schon die <strong><a href="https://dev.atra.consulting/2009/12/22/Leistung.html#ethics--ethik">ethische Komponente</a> </strong>umfasste.</li>



<li><strong>Technische Exzellenz</strong>: Systemisches Denken und die Suche nach ganzheitlichen Lösungen sind der Schlüssel zu technischer Exzellenz. Dabei muss pragmatisch geliefert werden und konstantes Feedback in alle Prozesse integriert werden.</li>
</ul>



<p class="wp-block-paragraph">Vieles davon findet sich heute in den Prinzipien von Agile, Lean oder auch DevOps wieder, wurde dort aber nicht »erfunden«, sondern geht auf Beispiele wie die hier genannten zurück.</p>



<h3 class="wp-block-heading"><br><strong>Empowering Agile Self-Organized Teams With Design Thinking</strong></h3>



<p class="wp-block-paragraph">Dieser&nbsp;<a href="https://qconnewyork.com/ny2018/ny2018/presentation/empowered-team-presentation-0.html" target="_blank" rel="noreferrer noopener"><strong>Vortrag</strong></a>&nbsp;gliederte sich in drei Teile. Zunächst stellte der Referent ausführlich seinen grundsätzlichen methodischen Rahmen vor. Anschließend ging er über eine Fallstudie der agilen Transformation einer konkreten Infrastruktureinheit auf Design Thinking für die Gestaltung von Organisationen ein. Abschließend stellte er das theoretische Gerüst von Design Thinking vor.</p>



<p class="wp-block-paragraph">Der grundsätzliche methodische Rahmen des Referenten war geprägt von »Klassikern« agiler Management-Ansätze.</p>



<p class="wp-block-paragraph"><em>»People are already doing their best; the problems are with the system. Only management can change the system.«</em>&nbsp;—W. Edwards Deming</p>



<p class="wp-block-paragraph"><em>»Every system is perfectly designed to get the result that it does.”</em>&nbsp;― W. Edwards Deming</p>



<p class="wp-block-paragraph">Aus Sicht des Referenten gibt es nicht den einen und besten Weg, etwas zu organisieren und somit auch nicht »das eine« Organisationsdesign. Er spricht sich auch klar und deutlich gegen klassische autoritäre Managementansätze aus:</p>



<p class="wp-block-paragraph"><em>»Organizations that operate from the authoritarian, hierarchical, command and control model, where the top leaders control the work, information, decisions, and allocation of resources, produce employees that are less empowered, less creative, and less reductive.«</em>&nbsp;–Creativity and Innovation: The Leadership Dynamics. Journal of Strategic Studies</p>



<p class="wp-block-paragraph">Dabei hob er auch noch einmal die&nbsp;<strong><a href="https://en.wikipedia.org/wiki/French_and_Raven%27s_bases_of_power" target="_blank" rel="noreferrer noopener">Quellen von Macht in Organisationen auf Basis von French und Ravens grundlegeneder Arbeit hierzu aus dem Jahre 1959</a>&nbsp;</strong>hervor:</p>



<ul class="wp-block-list">
<li><strong>Legitime Macht</strong> durch formale Autorität in einer Hierarchie.</li>



<li><strong>Wissensmacht</strong> durch Expertenwissen auf einem Gebiet.</li>



<li><strong>Macht durch Vergabe von Belohnung</strong> wie beispielsweise finanzielle aber auch immaterielle Anreize (Lob, Erweiterung des Verantwortungsbereiches).</li>



<li><strong>Macht durch Zwang</strong> wie beispielsweise die Möglichkeit, Degradierungen oder Entlassungen vorzunehmen.</li>



<li><strong>Macht durch Identifikation</strong> setzt charismatische Persönlichkeiten voraus, mit denen man sich identifizieren möchte.</li>



<li><strong>Informationsmacht</strong> entsteht durch die Fähigkeit, den Fluss von Informationen und auch Desinformationen in Organisationen steuern zu können.</li>
</ul>



<p class="wp-block-paragraph">Womit er zum »<em>Empowerment</em>«, also der Ermächtigung von Mitarbeitern überging. Dies bedeutet für den Referenten, dass eine Gruppe von Mitarbeitern Entscheidungen in einem gewissen Rahmen eigenständig und ohne weitere Rückversicherung beim Management treffen kann. Dem Management kommt hierbei eine besondere Bedeutung zu, weshalb der Referent anhand des sogenannten »<em>Leadership Continuums</em>« verschiedene Führungsansätze diskutierte:</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf12ab0c0&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf12ab0c0" class="aligncenter size-large wp-lightbox-container"><img decoding="async" width="1024" height="570" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_Empowering_Leadership-Styles-1024x570.png" alt="" class="wp-image-6384" title="QCon-NewYork-2018_Empowering_Leadership-Styles" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_Empowering_Leadership-Styles-1024x570.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_Empowering_Leadership-Styles-768x428.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption"><em>© William Evans | https://www.infoq.com/presentations/agile-self-organizing-teams-design-thinking</em></figcaption></figure>
</div>


<p class="wp-block-paragraph">Beide Enden des dargestellten Kontinuums schnitten dabei nicht besonders gut ab. Diktatorische Führung führt dazu, dass Mitarbeiter sich nicht ermächtigt fühlen und ihnen die Möglichkeit genommen wird, selbst Lösungen zu suchen, welche in der Regel besser sind, da sie näher am Problem sind. Das andere Ende, also vollständige Ermächtigung der Mitarbeiter, ist dabei allerdings auch nicht der Königsweg. Der Referent spricht hierbei auch vom Hippie, der gerade noch Ziele vorgibt und dann verschwindet. Dabei ist für die Mitarbeiter dann häufig keine Strategie erkennbar und es wird wenn überhaupt noch lokal optimiert.</p>



<p class="wp-block-paragraph">Der Lean Leader hingegen:</p>



<ul class="wp-block-list">
<li>Klärt die <strong>Vision</strong> und Absicht, also das Warum und Was,</li>



<li>benennt dabei aber auch die <strong>Grenzen</strong> und</li>



<li><strong>vergibt Entscheidungsbefugnisse</strong>.</li>



<li>Er lebt entsprechendes <strong>Verhalten</strong> vor und</li>



<li>erzeugt <strong>Vertrauen</strong>.</li>



<li>Er bevorzugt <strong>Experimente</strong>, die auch scheitern können, statt Lösungen vorzugeben.</li>
</ul>



<p class="wp-block-paragraph">Der erste Teil des Vortrags schloß mit dem folgenden Zitat ab:</p>



<p class="wp-block-paragraph"><em>»Individuals and teams closest to the problem, armed with unprecedented levels of insights from across the network, offer the best ability to decide and act decisively.«</em>&nbsp;-General Stanley McChrystal</p>



<p class="wp-block-paragraph">Interessanterweise spiegelt dieses Idealbild die Situation in Teilen der US-Armee, einer bis dato doch sehr hierarchischen Organisation wider, die sich aber aufgrund geänderter Rahmenbedingungen auch entsprechend an ein neues Führungs- und Organisationsprinzip angepasst hat.</p>



<p class="wp-block-paragraph">Ausgangssituation der Fallstudie im zweiten Teil des Vortrags war folgendes, wohlbekanntes Spannungsfeld zwischen Fachbereich und IT-Infrastruktur-Entwicklungsteam eines großen Pharmaunternehmens, welches nach&nbsp;<a href="https://dev.atra.consulting/2015/07/17/SW-Entwicklung-Vorgehensmodelle-Erfolgsraten.html">Wasserfall-Modell</a>&nbsp;arbeitete:</p>



<p class="wp-block-paragraph"><em>»You deliver last years tech, in twice the time, for three times the price, and a fraction of the value!«</em></p>



<p class="wp-block-paragraph">Nur sechs Wochen nach Umstellung auf eine agile Arbeitsweise konnten bereits folgende Erfolge vermeldet werden:</p>



<ul class="wp-block-list">
<li>Reduzierung der Lead Time für Services von 9 Monaten auf Tage, häufig Stunden.</li>



<li>Reduzierung ungeplanter Arbeit von 64 % auf 28 %.</li>



<li>Erhöhung der Zufriedenheit des Fachbereichs um 72 %.</li>
</ul>



<p class="wp-block-paragraph">Dies wurde folgendermaßen erreicht:</p>



<ol class="wp-block-list">
<li>Aufsetzen eines Kanban-Systems</li>



<li>Visualisierung <strong>aller</strong> Arbeit im Team</li>



<li>Messen des Wertstroms</li>



<li>Identifizierung aller Schritte, insbesondere Verschwendung (Frei-/Übergaben)</li>



<li>Einbeziehung der Anwender</li>



<li>Einbindung relevanter Stakeholder (Compliance, Security, Finance, …)</li>



<li>Durchführung einer Designstudie für den neuen Prozess</li>



<li>Prototypisierung, Testen, Messen und Lernen für diesen neuen Prozess</li>



<li>Minimum Viable Services entwicklen</li>



<li>Iterieren, Testen, Messen, Lernen, Iterieren, Wiederholen</li>
</ol>



<p class="wp-block-paragraph">Der Wertstrom-Messung kam dabei eine besondere Bedeutung zu, denn darüber lässt sich:</p>



<ul class="wp-block-list">
<li>Der Grund für Falschbedarf erkennen.</li>



<li>Verschwendung im System identifizieren, wie zum Beispiel<br>– Warteschlangen<br>– Unnötige Freigaben<br>– Rückgaben und Nacharbeiten.</li>
</ul>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf12acbbf&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf12acbbf" class="aligncenter size-large wp-lightbox-container"><img decoding="async" width="1024" height="565" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_DesignThinking_Wertstrom-Messung-1024x565.png" alt="" class="wp-image-6383" title="QCon-NewYork-2018_DesignThinking_Wertstrom-Messung" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_DesignThinking_Wertstrom-Messung-1024x565.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_DesignThinking_Wertstrom-Messung-768x424.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption"><em>© William Evans | https://www.infoq.com/presentations/agile-self-organizing-teams-design-thinking</em></figcaption></figure>
</div>


<p class="wp-block-paragraph">Den dritten Teil des Vortrags zum Hintergrund von Design Thinking leitete der Referent folgendermaßen ein:</p>



<p class="wp-block-paragraph"><em>»In practice it combines empathy to enable deep understanding and reframing of a problem in context, divergence to generate insights and solutions; visualization and prototyping to document, connect and test ideas, and rationality to analyze and assess the solutions outcome.«</em>&nbsp;– TIM BROWN, IDEO</p>



<p class="wp-block-paragraph">Hintergrund sind dabei die Grundlagen von Peter G. Rowe »<strong><a href="https://amzn.to/2CigbU3" target="_blank" rel="noreferrer noopener">Design Thinking</a></strong>« aus dem Jahr 1987 und Richard Buchanans »<a href="https://studiojunglecat.com/teaching/GRCD3010-f15/wp-content/uploads/2015/08/RichardBuchanan_WickedProblemsInDesignThinking.pdf" target="_blank" rel="noreferrer noopener"><strong>Wicked Problems in Design Thinking</strong></a>« von 1992. Wichtig ist dabei, analog zum<strong>&nbsp;<a href="https://de.wikipedia.org/wiki/Brainstorming" target="_blank" rel="noreferrer noopener">Brainstorming</a></strong>, zunächst in einem sogenannten Divergence-Schritt möglichst viele Optionen zu generieren, um im folgenden Convergence-Schritt durch Entscheidungen den Lösungsraum wieder einzugrenzen:</p>



<ul class="wp-block-list">
<li></li>
</ul>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf12add3a&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf12add3a" class="aligncenter size-large wp-lightbox-container"><img decoding="async" width="1024" height="593" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_DesignThinking_DivCon-1024x593.png" alt="" class="wp-image-6381" title="QCon-NewYork-2018_DesignThinking_DivCon" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_DesignThinking_DivCon-1024x593.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_DesignThinking_DivCon-768x445.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption"><em>© William Evans | https://www.infoq.com/presentations/agile-self-organizing-teams-design-thinking</em></figcaption></figure>
</div>


<p class="wp-block-paragraph">Ohne das Problem richtig verstanden zu haben, kann auch keine gute Lösung gefunden werden, denn</p>



<p class="wp-block-paragraph"><em>»A problem well stated is mostly solved.«</em>&nbsp;— CHARLES KETTERING</p>



<p class="wp-block-paragraph">Hierzu ist wiederum eine empathische Herangehensweise notwendig, denn in jedem Problem, welches zu uns gebracht wird, steckt die Chance, im Rahmen von Design Thinking etwas zu verbessern.</p>



<p class="wp-block-paragraph"><em>»The day soldiers stop bringing you their problems is the day you have stopped leading them. They have either lost confidence that you can help or concluded you do not care. Either case is a failure of leadership.«</em>&nbsp;– COLIN POWELL</p>



<p class="wp-block-paragraph">Was dann alles zusammengefasst zum sogenannten Double Diamond Modell des Design Thinking führt:</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;69b2cf12aeea2&quot;}" data-wp-interactive="core/image" data-wp-key="69b2cf12aeea2" class="aligncenter size-large wp-lightbox-container"><img decoding="async" width="1024" height="487" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_DesignThinking_DoubleDiamond-1024x487.png" alt="" class="wp-image-6382" title="QCon-NewYork-2018_DesignThinking_DoubleDiamond" srcset="https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_DesignThinking_DoubleDiamond-1024x487.png 1024w, https://dev.atra.consulting/wp-content/uploads/2025/04/QCon-NewYork-2018_DesignThinking_DoubleDiamond-768x365.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			aria-label="Vergrößern"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.imageButtonRight"
			data-wp-style--top="state.imageButtonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption"><em>© William Evans | https://www.infoq.com/presentations/agile-self-organizing-teams-design-thinking</em></figcaption></figure>
</div>


<h3 class="wp-block-heading"><br><strong>Software Is Eating the World, ML Is Going to Eat Software</strong></h3>



<p class="wp-block-paragraph">Der Referent dieses&nbsp;<strong><a href="https://qconnewyork.com/ny2018/ny2018/presentation/integrating-machine-learning-dev-tools-facebook.html" target="_blank" rel="noreferrer noopener">Vortrags</a></strong>&nbsp;ist Engineer im Developer Infrastructure Team von Facebook. Der Einblick ins Engineering bei Facebook und dass sie dort überhaupt genau so ein Team haben, welches Tools und Infrastruktur für Entwickler zentral bereitstellt, war dabei gleich die erste interessante Information.</p>



<p class="wp-block-paragraph">Facebook möchte Machine Learning in jeder Schicht ihres Technologiestacks integrieren, um Entwickler produktiver und Prozesse und Infrastruktur effizienter zu machen. Machine Learning ist dabei für Facebook nur ein weiteres Tool, wie beispielsweise objektorientierte oder funktionale Programmierung, welche auch entsprechend tief in die Programmiersprachen und Entwicklertools, wie zum Beispiel IDEs oder Versionskontrolle integriert wird.</p>



<p class="wp-block-paragraph">Machine Learning kommt da zum Einsatz, wo viele Daten anfallen, um Vorhersagen abzuleiten und Klassifizierungen sowie Cluster zu bilden. Der Referent nannte dabei zwei konkrete Anwendungsfälle in seinem Umfeld bei Facebook: zum einen das Cache Management in der Infrastruktur und zum anderen die Autovervollständigung ganzer Codeteile in der Entwicklung. Ausgangssituation für Letzteres ist dabei folgende Erkenntnis:</p>



<p class="wp-block-paragraph"><em>»70 % des Codes auf Github ist Copy &amp; Paste.«</em>&nbsp;– Joe Pamer</p>



<p class="wp-block-paragraph">Da der meiste Code also sowieso kopiert wird, sollen Entwickler in ihrer IDE, ähnlich zur Autovervollständigung von beispielsweise Schlüsselwörtern der jeweiligen Programmiersprache, Vorschläge für ganze Codeteile, wie zum Beispiel Methoden oder Klassen bekommen, die an die jeweilige Stelle im Code passen könnten. Das geht dann über einfache Code-Suche, wie wir zum&nbsp;<a href="https://dev.atra.consulting/2016/09/30/Codesharing.html"><strong>Codesharing</strong></a>&nbsp;mit Tools wie&nbsp;<strong><a href="https://sourcegraph.com/" target="_blank" rel="noreferrer noopener">Sourcegraph</a>&nbsp;</strong>und&nbsp;<strong><a href="https://searchcode.com/" target="_blank" rel="noreferrer noopener">Searchcode</a>&nbsp;</strong>skiziiert haben, hinaus und schon mehr in Richtung&nbsp;<a href="https://blog.acolyer.org/2018/06/26/deep-code-search/" target="_blank" rel="noreferrer noopener">Deep Code Search</a>, aber eben auf Basis der umfangreichen Codebasis von Facebook und mit Machine Learning, da Code ja auch nur strukturierte Daten sind. Mit diesem Ansatz konnte die Produktivität der Entwickler bei Facebook bereits um 14 % gesteigert werden. Bei geschätzten&nbsp;<strong><a href="https://www.quora.com/How-many-software-engineers-work-at-Facebook" target="_blank" rel="noreferrer noopener">10.000 Entwicklern, die für Facebook arbeiten</a></strong>, ist dies ein erheblicher Produktivitätsgewinn.</p>



<h3 class="wp-block-heading"><br><strong>Einschätzung</strong></h3>



<p class="wp-block-paragraph">Die&nbsp;<strong><a href="https://dev.atra.consulting/2018/07/30/QCon-NewYork-2018.html#workshops">Workshops</a>&nbsp;</strong>waren unserer Einschätzung nach nicht ganz »bleeding-edge«, die&nbsp;<strong><a href="https://dev.atra.consulting/2018/07/30/QCon-NewYork-2018.html#keynotes">Keynotes</a></strong>&nbsp;und&nbsp;<strong><a href="https://dev.atra.consulting/2018/07/30/QCon-NewYork-2018.html#vortr%C3%A4ge">Vorträge</a></strong>&nbsp;durchaus. Wobei die New Yorker QCon auf uns insgesamt etwas kleiner und vermutlich da eben nicht im Silicon Valley gelegen, auch nicht ganz so pulsierend wie die&nbsp;<strong><a href="https://dev.atra.consulting/2015/12/18/QCon-SanFrancisco-2015.html">Veranstaltung in San Francisco</a></strong>&nbsp;gewirkt hat. Egal wo, die Veranstaltungen sind immer einen Besuch wert, denn auch wenn es heutzutage eigentlich dafür keinen Grund mehr geben sollte, so sind die Themen hier entsprechenden Veranstaltungen in Deutschland dann doch immer noch ein Stück voraus.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:30%">
<figure class="wp-block-image is-resized"><img decoding="async" src="https://dev.atra.consulting/wp-content/uploads/2024/04/Team-Schwarze.jpg" alt="" class="wp-image-506" style="width:304px;height:auto" title="Team-Schwarze"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<h3 class="wp-block-heading">Michael Schwarze</h3>



<p class="wp-block-paragraph">Geschäftsführer</p>



<div style="height:16px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Michael ist ein erfahrener Softwareentwickler, -architekt und -manager mit über 30 Jahren Erfahrung in der Technologiebranche. Er hat sowohl in Startups als auch Konzernen auf Anwender- als auch Entwicklungs- und Beratungsseite gearbeitet.&nbsp; Coden ist für ihn nicht nur Beruf, sondern Leidenschaft, am liebsten mit dynamisch-typisierten Sprachen wie Ruby. Neben der Entwicklung langlebiger Softwaresysteme liegt ihm auch die Verbesserung des Managements in der Softwareentwicklung am Herzen. Wenn er nicht gerade mit seiner Familie und seinen zwei Kindern beschäftigt ist, findet man ihn in den Bergen, beim Joggen oder anderen sportlichen Aktivitäten.</p>



<div style="height:16px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-ad2f72ca wp-block-group-is-layout-flex">
<p class="wp-block-paragraph"><a href="mailto:m.schwarze@atra.consulting">m.schwarze@atra.consulting</a>    </p>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.linkedin.com/in/michael-schwarze/" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li></ul>
</div>
</div>
</div>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Die Wachstumsrate von Software</title>
		<link>https://dev.atra.consulting/engineering/wachstumsrate-software/</link>
		
		<dc:creator><![CDATA[Michael Schwarze]]></dc:creator>
		<pubDate>Wed, 28 Mar 2018 10:19:53 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Softwareentwicklung]]></category>
		<guid isPermaLink="false">https://dev.atra.consulting/uncategorized/die-wachstumsrate-von-software/</guid>

					<description><![CDATA[Wächst Software analog zu dem für Prozessoren geltenden&#160;mooreschen Gesetz? Les Hatton, Diomidis Spinellis und Michiel van Genuchten haben hierzu im vergangenen Jahr eine interessante Studie [1] im&#160;Journal of Software&#160;veröffentlicht, welche wir hier vorstellen. Das Ergebnis lautet übrigens tatsächlich 42. Hintergrund Vereinfacht ausgedrückt, besagt das&#160;mooresche Gesetz, dass sich die Leistungsfähigkeit von Computer-Prozessoren etwa alle 18 Monate [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Wächst Software analog zu dem für Prozessoren geltenden&nbsp;<a href="https://de.wikipedia.org/wiki/Mooresches_Gesetz" target="_blank" rel="noreferrer noopener">mooreschen Gesetz</a>? Les Hatton, Diomidis Spinellis und Michiel van Genuchten haben hierzu im vergangenen Jahr eine interessante Studie [<a href="https://doi.org/10.1002/smr.1847" target="_blank" rel="noreferrer noopener">1</a>] im&nbsp;<a href="https://onlinelibrary.wiley.com/journal/20477481" target="_blank" rel="noreferrer noopener">Journal of Software</a>&nbsp;veröffentlicht, welche wir hier vorstellen. Das Ergebnis lautet übrigens tatsächlich 42.</p>



<p class="wp-block-paragraph"><a href="https://dev.atra.consulting/wp-content/uploads/2025/01/Wachstumsrate_Software-1.png"></a></p>



<h3 class="wp-block-heading"><br><strong>Hintergrund</strong></h3>



<p class="wp-block-paragraph">Vereinfacht ausgedrückt, besagt das&nbsp;<a href="https://de.wikipedia.org/wiki/Mooresches_Gesetz" target="_blank" rel="noreferrer noopener">mooresche Gesetz</a>, dass sich die Leistungsfähigkeit von Computer-Prozessoren etwa alle 18 Monate verdoppelt. Leistungsfähigkeit wird hierbei mit der Anzahl von Transistoren gleichgesetzt, was zwar eben eine Vereinfachung ist, aber eine allgemein akzeptierte. Das »Gesetz« ist auch eher als Faustformel zu verstehen, welche aber empirisch belegt ist.</p>



<p class="wp-block-paragraph">Für Software fehlte so eine allgemein anerkannte Faustformel bislang, wie beispielsweise auch die&nbsp;<a href="https://bits.blogs.nytimes.com/2011/03/07/software-progress-beats-moores-law/" target="_blank" rel="noreferrer noopener">New York Times</a>&nbsp;feststellte:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>»There are no such laws in software.«</em></p>
</blockquote>



<p class="wp-block-paragraph">Gegenfalls wäre hier das&nbsp;<a href="https://de.wikipedia.org/wiki/Wirthsches_Gesetz" target="_blank" rel="noreferrer noopener">Wirthsche Gesetz</a>&nbsp;anzuführen, welches aber nur recht allgemein feststellt, dass »die Software schneller langsamer wird, als die Hardware schneller wird«. Demgegenüber stellte Marc Andreessen aber fest: »<a href="https://a16z.com/2016/08/20/why-software-is-eating-the-world/" target="_blank" rel="noreferrer noopener">Software is eating the world</a>«.</p>



<p class="wp-block-paragraph">Wie soll aber die Leistungsfähigkeit von Software beurteilt werden? Vielleicht durch die Anzahl ihrer Features? Dann stellt sich gleich die Frage, wie man Features misst und vergleicht, womit man zu aufwendigen Verfahren, wie etwa der&nbsp;<a href="https://amzn.to/2DRBYiD" target="_blank" rel="noreferrer noopener">Function Point Analyse</a>&nbsp;kommt. Nach unserer Erfahrung wird selbige nur selten eingesetzt, weshalb sie sich für einen empirischen Nachweis vermutlich nicht eignet. Natürlich ist Softwareentwicklung [komplex][<a href="https://dev.atra.consulting/blog/wann-agil-und-wann-klassisch/">3</a>] und lässt sich nur schwerlich auf eine einfache Metrik reduzieren, aber vielleicht ist eine Vereinfachung analog zum mooreschen Gesetz der Hardware auch für die Software eine Lösung.</p>



<p class="wp-block-paragraph">Michiel van Genuchten und Les Hatton zeigten einen entsprechenden Ansatz erstmals 2012 in ihrem Artikel <a href="https://doi.ieeecomputersociety.org/10.1109/MS.2012.79" target="_blank" rel="noreferrer noopener">»Compound Annual Growth Rate for Software«</a> [<a href="https://www.computer.org/csdl/magazine/so/2012/04/mso2012040019/13rRUxcsYJS" target="_blank" rel="noreferrer noopener">2</a>] im <a href="https://publications.computer.org/software-magazine/" target="_blank" rel="noreferrer noopener">IEEE Software Magazine</a> auf.</p>



<h3 class="wp-block-heading"><br><strong>Lines of Code</strong></h3>



<p class="wp-block-paragraph">Die Autoren umgehen die Frage der Leistungsfähigkeit von Software hier und messen stattdessen, wie sich die Codebasis von verschiedenen Softwaresystemen hinsichtlich ihrer Größe in Anzahl der Codezeilen (»<a href="https://de.wikipedia.org/wiki/Lines_of_Code" target="_blank" rel="noreferrer noopener">Lines of Code</a>« (LoC)) über die Zeit entwickeln. In Anlehnung an die Anzahl Transistoren des mooreschen Gesetz durchaus nachvollziehbar. Die zugrunde liegende Codebasis umfasste zwei Open und 6 Closed Source Systeme. Dies reichte zwar vielleicht noch nicht für eine statistisch relevante Aussage, das Ergebnis erschien mit einem Faktor von 1,16 aber schon recht stabil. Demnach verdoppelt sich Software also alle rund 5 Jahre im Umfang:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>»If we don’t know anything about a certain software system at hand, as a good starting point, we could assume it has a CAGR of the median value 1.16 and therefore doubles in size every four to five years.«</em></p>
</blockquote>



<p class="wp-block-paragraph">Interessanterweise stellen wir bei Diskussionen um die Messgröße Lines of Code in der Softwareentwicklung häufig sehr dogmatisch ablehnende Haltungen fest, ohne dass dann aber Alternativen aufgezeigt werden können. Natürlich sind die Lines of Code eine Vereinfachung der komplexen Softwareentwicklungswelt. Aber alle Metriken sind Reduzierungen und können und wollen nicht die ganze Komplexität in einer Größe zeigen – es sind Modelle. Wenn es um Fitness oder Gesundheit geht, schauen wir uns genauso vereinfachend zunächst häufig das Gewicht in kg einer Person an. Was aber nun, wenn jemand mehr Sport macht, dabei an Muskelmasse zunimmt und entsprechend sein Gewicht erhöht; ist das jetzt gut oder schlecht? Auch hier reicht das eindimensionale Körpergewicht in kg einer Person als Kennzahl alleine nicht mehr aus, ist aber ein guter Einstieg in die Diskussion und weitere Analyse. Genauso sollten wir es mit der Kennzahl LoC in der Softwareentwicklung halten.</p>



<h3 class="wp-block-heading"><br><strong>Compound Annual Growth Rate</strong></h3>



<p class="wp-block-paragraph">Die&nbsp;<a href="https://de.wikipedia.org/wiki/Wachstumsrate#J%C3%A4hrliche_Wachstumsrate_(Compound_Annual_Growth_Rate)" target="_blank" rel="noreferrer noopener">Compound Annual Growth Rate (CAGR) oder jährliche Wachstumsrate</a>&nbsp;ist eine »in der Betriebswirtschaft und Volkswirtschaft […] wesentliche Kennziffer«. Sie ist insbesondere im Finanzsektor etabliert, um zum Beispiel das komplexe Wachstumsverhalten von Finanzinstrumenten abzubilden. Da die CAGR auch Eigenschaften aufweist, die für das komplexe Verhalten von Software relevant sind, spricht vieles dafür, sie entsprechend zu übernehmen:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>»Sie stellt das durchschnittliche jährliche Wachstum einer zu betrachtenden Größe dar. […] Tatsächliche Ausschläge der Folgejahre in der Zwischenzeit wirken sich dabei nicht aus, die Wachstumsrate ist konstant.«</em></p>
</blockquote>



<p class="wp-block-paragraph">Auf Software angewandt, gleichen sich Effekte, wie zum Beispiel durch Refactoring-Maßnahmen, welche die Codebasis kurzeitig in die eine oder andere Richtung verändern können, ohne entsprechende Auswirkung auf die Funktionalität zu haben, dem folgend über die Zeit auch wieder aus.</p>



<h3 class="wp-block-heading"><br><strong>Follow-up</strong></h3>



<p class="wp-block-paragraph">Da dem eingangs erwähnten Artikel noch nicht genug statistisch relevantes Material für eine empirische Aussage zugrunde lag, haben Les Hatton und Michiel van Genuchten, diesmal erweitert um Diomidis Spinellis, 2017 »<a href="https://doi.org/10.1002/smr.1847" target="_blank" rel="noreferrer noopener">The long‐term growth rate of evolving software: Empirical results and implications</a>« [<a href="https://doi.org/10.1002/smr.1847" target="_blank" rel="noreferrer noopener">1</a>]&nbsp;veröffentlicht. Darin ermitteln sie den CAGR für über 404 Millionen Zeilen Code aus Open als auch Closed Source Software Systemen.</p>



<p class="wp-block-paragraph">Mit diesem erweiterten Datensatz konnten sie eine jährliche Wachstumsrate des Quellcodes von Softwaresystemen von 1,21 ermitteln. Ohne weitere Kenntnis um ein System kann man demzufolge davon ausgehen, dass&nbsp;<strong><em>ein Softwaresystem den Umfang seines Quellcodes alle 42 Monate verdoppelt</em></strong>.</p>



<p class="wp-block-paragraph">Interessant sind hier auch die in der Studie ausgewiesenen Unterschiede zwischen einzelnen Produkten und Branchen. Sun Solaris von Oracle und somit ein Closed Source System weist nur einen CAGR von 1,09 beziehungsweise eine Verdoppelung alle 8 Jahre auf, wohingegen der Open Source Linux Kernel auf einen CAGR von 1,32 kommt und sich somit schon nach 2,5 Jahren verdoppelt hat. Wobei die Autoren ansonsten keine Beziehung zwischen dem CAGR und der Art der Software (Open vs. Closed Source) herstellen konnten. Software im sicherheitskritischen Bereich wächst der Untersuchung zufolge mit einem CAGR für ein Flugmanagementsystem von 1,10 erheblich langsamer als beispielsweise eine Navigtionssoftware mit 1,23.</p>



<h3 class="wp-block-heading"><br><strong>Anwendung</strong></h3>



<p class="wp-block-paragraph">Software wächst. Um wie viel genau ist individuell unterschiedlich, im Schnitt kann man aber davon ausgehen, dass der Umfang an Quellcode, den man zu verwalten hat, pro Jahr um mehr als 20% zulegt. Darauf muss man sich als Entwicklungsleiter einer Softwareeinheit strukturell einstellen.</p>



<p class="wp-block-paragraph">Aus der Finanzwelt weiß man, dass&nbsp;<a href="https://www.forbes.com/sites/mitchelltuchman/2013/10/25/you-will-not-beat-the-market-virtually-no-one-does/" target="_blank" rel="noreferrer noopener">niemand den Markt schlägt</a>, man sein Geld also beispielsweise besser in einen passiv gemanagten Indexfonds anlegt, anstatt es einem aktiv gemanagten Fond anzuvertrauen. Auf die Softwareentwicklung umgemünzt, empfehlen die Autoren der Studie, eine Roadmap oder einen Produktmanager, welche beispielsweise eine Verdoppelung der Software in einem Jahr nahelegen, sehr kritisch zu hinterfragen. Was genau werden wir anders machen, um soviel besser als der »Markt« zu sein?</p>



<p class="wp-block-paragraph">Aus eigener Erfahrung heraus können wir auch anderherum bestätigen, dass Software wächst, zum Teil ob man nun will oder auch nicht. Wir kennen Softwaresysteme, von denen Unternehmen sich trennen wollten und daran auch mehr oder weniger aktiv gearbeitet haben und die trotzdem Jahr für Jahr weiter gewachsen sind. Um einen CAGR unter 1 zu erzielen, muss man als Entwicklungsleiter also andersherum auch die entsprechenden Voraussetzungen schaffen. Das bedeutet üblicherweise, im »Eingangskanal« nur noch die absolut notwendigen Anforderungen wie zum Beispiel gesetzliche Anpassungen durchzulassen und auf Umsetzungsseite die Kapazität zu reduzieren. Dies reicht unserer Erfahrung nach alleine aber noch nicht aus, um den CAGR unter 1 zu bringen und den Umfang eines Systems wirklich zu reduzieren. Je nach Struktur der Entwicklungsorganisation kann es beispielsweise helfen, ein dediziertes Team mit dem Abbau zu beauftragen oder aber den Abbau von Code über alle Teams hinweg zu incentivieren.</p>



<h3 class="wp-block-heading"><br><strong>Ausblick</strong></h3>



<p class="wp-block-paragraph"><a href="https://www.technologyreview.com/s/601441/moores-law-is-dead-now-what/" target="_blank" rel="noreferrer noopener">Moore’s Law nähert sich einem physikalischen Ende</a>. Wie aber beispielsweise auch in dem weiter oben erwähnten&nbsp;<a href="https://bits.blogs.nytimes.com/2011/03/07/software-progress-beats-moores-law/" target="_blank" rel="noreferrer noopener">Artikel der New York Times</a>&nbsp;formuliert wurde, hat Software keine solchen Begrenzungen:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><em>Software […] is pure abstraction — a building material without material constraints.</em></p>
</blockquote>



<p class="wp-block-paragraph">Somit ist ein Ende des Wachstums von Software nicht absehbar. Die hier vorgestellte Wachstumsrate erfasst dabei nur, wie ein einzelnes System wächst. Die Menge an Software insgesamt wird noch wesentlich stärker wachsen: »<a href="https://a16z.com/2016/08/20/why-software-is-eating-the-world/" target="_blank" rel="noreferrer noopener">Software is eating the world</a>«. Da&nbsp;<a href="https://arxiv.org/abs/1803.05859" target="_blank" rel="noreferrer noopener">Software sich absehbar auch noch selbst vervielfältigt</a>, dürften wir vor einer Art »<a href="https://www.spektrum.de/lexikon/biologie/kambrische-explosion/35250" target="_blank" rel="noreferrer noopener">kambrischen Explosion</a>&nbsp;der Software« stehen.</p>



<h3 class="wp-block-heading"><br><strong>Zusammenfassung</strong></h3>



<p class="wp-block-paragraph">Software wächst zwar langsamer als Hardware, aber sie verdoppelt ihren Umfang im Schnitt doch auch alle 42 Monate. Dies konnten die Autoren der Studie empirisch nachweisen. Damit haben Beteiligte der Softwareentwicklung mit dem CAGR für Software eine Fautformel an der Hand, die eine ähnliche Qualität wie das mooresche Gesetz für Hardware aufweist. Insbesondere bietet sie sich als Einstiegspunkt für Diskussionen bei individuellen Abweichungen an.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><br><strong>Referenzen</strong></h3>



<p class="wp-block-paragraph">[1] Hatton L., Spinellis D., van Genuchten M., „The long‐term growth rate of evolving software: Empirical results and implications“, J Softw Evol Proc. 2017;29:e1847.&nbsp;<a href="https://doi.org/10.1002/smr.1847" target="_blank" rel="noreferrer noopener">https://doi.org/10.1002/smr.1847</a></p>



<p class="wp-block-paragraph">[2] M. van Genuchten and L. Hatton, „Compound Annual Growth Rate for Software“, in IEEE Software, vol. 29, no. , pp. 19-21, 2012.&nbsp;<a href="https://doi.ieeecomputersociety.org/10.1109/MS.2012.79" target="_blank" rel="noreferrer noopener">https://doi.ieeecomputersociety.org/10.1109/MS.2012.79</a></p>



<p class="wp-block-paragraph">[3]:&nbsp;<a href="https://dev.atra.consulting/blog/wann-agil-und-wann-klassisch/">https://dev.atra.consulting/blog/wann-agil-und-wann-klassisch/</a></p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div style="height:40px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:30%">
<figure class="wp-block-image is-resized"><img decoding="async" src="https://dev.atra.consulting/wp-content/uploads/2024/04/Team-Schwarze.jpg" alt="" class="wp-image-506" style="width:304px;height:auto" title="Team-Schwarze"/></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<h3 class="wp-block-heading">Michael Schwarze</h3>



<p class="wp-block-paragraph">Geschäftsführer</p>



<div style="height:16px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Michael ist ein erfahrener Softwareentwickler, -architekt und -manager mit über 30 Jahren Erfahrung in der Technologiebranche. Er hat sowohl in Startups als auch Konzernen auf Anwender- als auch Entwicklungs- und Beratungsseite gearbeitet.&nbsp; Coden ist für ihn nicht nur Beruf, sondern Leidenschaft, am liebsten mit dynamisch-typisierten Sprachen wie Ruby. Neben der Entwicklung langlebiger Softwaresysteme liegt ihm auch die Verbesserung des Managements in der Softwareentwicklung am Herzen. Wenn er nicht gerade mit seiner Familie und seinen zwei Kindern beschäftigt ist, findet man ihn in den Bergen, beim Joggen oder anderen sportlichen Aktivitäten.</p>



<div style="height:16px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-ad2f72ca wp-block-group-is-layout-flex">
<p class="wp-block-paragraph"><a href="mailto:m.schwarze@atra.consulting">m.schwarze@atra.consulting</a>    </p>



<ul class="wp-block-social-links is-layout-flex wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-linkedin  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.linkedin.com/in/michael-schwarze/" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li></ul>
</div>
</div>
</div>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
