<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[fluxum engineering]]></title><description><![CDATA[Value Streams, KI-Agenten, Teamarbeit, Technologie und neue Formen der agilen Zusammenarbeit]]></description><link>https://blog.fluxum.net</link><image><url>https://substackcdn.com/image/fetch/$s_!y_oj!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa142b85f-3d35-4a80-bdac-1835f765cd9e_512x512.png</url><title>fluxum engineering</title><link>https://blog.fluxum.net</link></image><generator>Substack</generator><lastBuildDate>Wed, 08 Apr 2026 12:44:11 GMT</lastBuildDate><atom:link href="https://blog.fluxum.net/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Martin Gross]]></copyright><language><![CDATA[de]]></language><webMaster><![CDATA[fluxum@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[fluxum@substack.com]]></itunes:email><itunes:name><![CDATA[Martin Gross]]></itunes:name></itunes:owner><itunes:author><![CDATA[Martin Gross]]></itunes:author><googleplay:owner><![CDATA[fluxum@substack.com]]></googleplay:owner><googleplay:email><![CDATA[fluxum@substack.com]]></googleplay:email><googleplay:author><![CDATA[Martin Gross]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[How Secure Is the Claude Code Sandbox on the Mac?]]></title><description><![CDATA[A Look Under the Hood of Claude Code and Cowork]]></description><link>https://blog.fluxum.net/p/how-secure-is-the-claude-code-sandbox</link><guid isPermaLink="false">https://blog.fluxum.net/p/how-secure-is-the-claude-code-sandbox</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Sun, 01 Mar 2026 14:43:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Jelx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>AI agents execute commands on your machine &#8212; but how well do the sandboxes of Claude Code and Cowork actually protect you? Both promise isolation, yet rely on entirely different mechanisms. I didn&#8217;t just read the documentation &#8212; I examined both systems from the inside using standard Linux tools. The result: the isolation is real, verifiable, and surprisingly well thought out.</em></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Jelx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Jelx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Jelx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Jelx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Jelx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Jelx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1813962,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.fluxum.net/i/189551969?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Jelx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Jelx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Jelx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Jelx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><blockquote><p>&#8220;If Claude decides to delete all my files: no big deal &#8212; but only inside an isolated VM.&#8221;</p></blockquote><p>Anyone who uses Claude Code in the terminal with default settings knows the drill: many commands require approval before Claude Code executes them. You constantly have to weigh whether a given command is safe or not.</p><blockquote><p>&#8220;Allow this? Allow once? Allow always?&#8221;</p></blockquote><p>You keep checking: is this harmless, or could this command cause problems? Cognitive load from reading command lines.</p><p>There are essentially two extremes: either you review every single permission request yourself, or you use the <code>--dangerously-skip-permissions</code> option, which allows everything. In between, there are many gradations. You can define your permissions with fine granularity, but that&#8217;s almost as much effort.</p><p>How nice would it be if you could simply allow everything while still being certain that nothing unwanted happens on your machine. Then agentic coding could proceed unhindered and you&#8217;d get results fast.</p><p>That&#8217;s exactly what an isolated system promises &#8212; one that runs shielded from your actual computer. Such an isolated system reduces the blast radius &#8212; the maximum damage a misguided command can cause &#8212; immensely. If something goes wrong, you simply restart and return to the last stable state. There are many ways to implement this.</p><p>One of them is the <code>/sandbox</code> command built into Claude Code. It activates a sandbox that restricts Claude Code at the OS level &#8212; file access and networking. You can let commands run automatically without confirming each one, because the sandbox limits what can happen. But how secure is it really?</p><p>And then there&#8217;s <strong>Cowork</strong> in the desktop version of the Claude app. Cowork is aimed more at knowledge workers than developers. It can access folders, create and modify files, install packages &#8212; all autonomously. At first glance, it&#8217;s not obvious how the protection works. There&#8217;s no <code>/sandbox</code> command you&#8217;d need to activate. The isolation happens in the background.</p><p>I was curious about both: how does the sandbox work in Claude Code? And how does Cowork protect me from unwanted changes on my machine?</p><p>I didn&#8217;t want to rely on the documentation alone &#8212; instead, I examined both systems from the inside. Here&#8217;s what I found.</p><h2>Two Products, Two Audiences, Two Security Models</h2><p>Before I dive into the technical details, an important distinction:</p><p><strong>Claude Code</strong> is a terminal tool for developers. It executes commands on your machine &#8212; in the same context where you work. The sandbox must be manually activated (<code>/sandbox</code>), making it opt-in. That makes sense: developers need as few restrictions as possible to be productive. They want to run commands that a restrictive sandbox would block. But with great power comes great responsibility. You need to understand what you&#8217;re approving.</p><p><strong>Cowork</strong> is part of the Claude Desktop app and is aimed at users who don&#8217;t want to deal with the command line. When someone asks Claude to create an Excel spreadsheet from five PDFs, they expect a result &#8212; not a discussion about file permissions. Cowork therefore needs to provide stronger protection, without requiring the user to configure anything.</p><p>The result: two different isolation models for two different risk profiles.</p><p>Let&#8217;s get into the details.</p><div><hr></div><h2>Cowork: A Linux Inside Your Mac</h2><p>Cowork launches a lightweight Linux VM via Apple&#8217;s Virtualization.framework. Not a container, but a real virtual machine with its own kernel.</p><p>What does the VM say about itself?</p><pre><code><code>$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.5 LTS"

$ uname -r
6.8.0-94-generic

$ uname -m
aarch64

$ nproc
4

$ free -h
              total    used    free
Mem:          3.8Gi   564Mi   1.8Gi
Swap:            0B      0B      0B

$ df -h /
Filesystem      Size  Used Avail Use%
/dev/nvme0n1p1  9.6G  7.2G  2.4G  75%
</code></code></pre><p>Ubuntu 22.04 on ARM64, 4 cores, 3.8 GB RAM, a 10 GB disk. No swap. Lean enough for document processing and scripts, but not meant for machine learning training.</p><p>On the macOS host, the VM files live at <code>~/Library/Application Support/Claude/vm_bundles/claudevm.bundle/</code>. The root image (<code>rootfs.img</code>) is 10 GB as a sparse file but only occupies about 7.5 GB on disk.</p><p>Alongside it sits a compressed backup (<code>rootfs.img.zst</code>, ~2 GB) and a few configuration files: <code>efivars.fd</code>, <code>macAddress</code>, <code>machineIdentifier</code>.</p><div><hr></div><h2>How Three Layers Work Together to Secure the Isolation</h2><p>The VM alone would already be a solid boundary. But Anthropic stacks three layers on top of each other.</p><h3>Layer 1: The VM</h3><p>Apple&#8217;s Virtualization.framework provides hardware isolation. The guest has its own kernel. Even an <code>rm -rf /</code> inside the VM leaves the host untouched.</p><h3>Layer 2: bubblewrap + seccomp</h3><p>Inside the VM, Claude doesn&#8217;t run directly &#8212; first comes <strong>bubblewrap</strong> (short: <code>bwrap</code>). Bubblewrap is a sandboxing tool that uses Linux namespaces to isolate processes from each other &#8212; similar to what containers do, but more lightweight.</p><p>It restricts what a process can see and do: which files, which network interfaces, which other processes.</p><p>In the Cowork VM, bubblewrap is PID 1 &#8212; the very first process:</p><pre><code><code>$ cat /proc/1/status | head -2
Name:   bwrap
State:  S (sleeping)
</code></code></pre><p>The bwrap command line (readable via <code>/proc/1/cmdline</code>) shows the key restrictions at a glance:</p><ul><li><p><code>--unshare-net</code> &#8212; separate network namespace, no direct network access</p></li><li><p><code>--unshare-pid</code> &#8212; separate PID namespace, other processes invisible</p></li><li><p><code>--ro-bind / /</code> &#8212; root filesystem mounted read-only</p></li><li><p><code>--die-with-parent</code> &#8212; if the parent process dies, the sandbox dies with it</p></li><li><p><code>--tmpfs /etc/ssh/ssh_config.d</code> &#8212; SSH configuration overlaid with an empty tmpfs</p></li></ul><p>Additionally, a <strong>seccomp filter</strong> is loaded. Seccomp (Secure Computing Mode) is a Linux kernel mechanism that determines which system calls a process is allowed to make. System calls are the interface between a program and the operating system &#8212; opening files, establishing network connections, starting processes.</p><p>A seccomp filter can selectively block individual system calls, drastically limiting a process&#8217;s radius of action.</p><pre><code><code>$ grep Seccomp /proc/self/status
Seccomp:         2
Seccomp_filters: 2
</code></code></pre><p><code>Seccomp: 2</code> means filter mode &#8212; there&#8217;s an active allowlist for permitted syscalls. The filter file is called <code>unix-block.bpf</code> and is loaded via a dedicated binary (<code>apply-seccomp</code>).</p><h3>Layer 3: Network Isolation</h3><p>No process in the sandbox has direct internet access. All traffic goes through a local proxy:</p><pre><code><code>$ env | grep HTTP_PROXY
HTTP_PROXY=http://localhost:3128

$ env | grep ALL_PROXY
ALL_PROXY=socks5h://localhost:1080
</code></code></pre><p>The proxy runs via <code>socat</code>, which tunnels TCP connections into Unix sockets that lead out of the VM. On the host side, an <strong>allowlist</strong> decides which domains may pass through.</p><p>I tested it:</p><pre><code><code>$ curl -s -o /dev/null -w "%{http_code}" https://registry.npmjs.org
200

$ curl -s -o /dev/null -w "%{http_code}" https://pypi.org
200

$ curl -sv https://evil-exfiltration-test.example.org 2&gt;&amp;1 | grep "HTTP/1.1"
&lt; HTTP/1.1 403 Forbidden

$ curl -sv https://evil-exfiltration-test.example.org 2&gt;&amp;1 | grep "X-Proxy"
&lt; X-Proxy-Error: blocked-by-allowlist
</code></code></pre><p>npm and PyPI get through. Everything else receives a <code>403 Forbidden</code> with the header <code>X-Proxy-Error: blocked-by-allowlist</code>. Direct DNS lookups also fail:</p><pre><code><code>$ nslookup google.com
socket(): Operation not permitted
;; no servers could be reached
</code></code></pre><p>This is consistent: even if a prompt injection attack were to trick Claude into sending data to an external server &#8212; the proxy would block it.</p><div><hr></div><h2>Which Files Does the VM See?</h2><p>Files enter the VM via <strong>VirtioFS</strong> &#8212; a filesystem protocol designed specifically for communication between a VM and its host. Instead of simulating real hardware, host and guest cooperate deliberately (paravirtualization). This makes file access fast and low-overhead.</p><pre><code><code>$ mount | grep virtiofs
/mnt/.virtiofs-root/shared/Work/.../Marketing on
  /sessions/elegant-adoring-brown/mnt/Marketing type fuse (rw,...)
</code></code></pre><p>Only the folder I selected in the Desktop app is mounted. Not my home directory, not my Desktop, not my Downloads &#8212; just the one folder I explicitly shared.</p><p>Plugins and Skills are additionally mounted via <strong>bindfs</strong>. Bindfs is a FUSE filesystem that remounts an existing folder at a different location &#8212; similar to a symlink, but with the ability to change permissions. This way, Skills can be mounted read-only even though they&#8217;re writable on the host. Uploads also land in a separate, read-only mount.</p><p>One detail reveals that the VM serves multiple conversations simultaneously: the <code>/sessions/</code> directory contains different sessions side by side:</p><pre><code><code>$ ls -la /sessions/
drwxr-x--- elegant-adoring-brown  elegant-adoring-brown  ...
drwxr-x--- nobody                 nogroup                awesome-epic-mccarthy
drwxr-x--- nobody                 nogroup                dazzling-vibrant-carson
</code></code></pre><p>Each session gets its own Linux user with its own UID. My user is called <code>elegant-adoring-brown</code> (uid 1005). The other sessions are listed under <code>nobody</code> &#8212; I can&#8217;t read their files.</p><div><hr></div><h2>How Does Claude Code Protect Without a VM?</h2><p>Claude Code in the terminal uses a different approach on macOS: Apple&#8217;s <strong>Seatbelt</strong> (also known as <code>sandbox-exec</code>). Instead of a VM, a dynamically generated sandbox profile restricts the process at the OS level. Important: the sandbox must be manually activated with <code>/sandbox</code> &#8212; without this step, Claude Code runs without OS-level isolation.</p><p>The profile starts with <code>(deny default)</code> &#8212; everything is forbidden unless explicitly allowed. The sandbox runtime is open source and available on GitHub. I downloaded the npm package <code>@anthropic-ai/sandbox-runtime</code> and analyzed the <code>macos-sandbox-utils.js</code>:</p><ul><li><p><strong>59 sysctl entries</strong> are made readable (hardware info like CPU count, memory size)</p></li><li><p><strong>14 Mach IPC services</strong> on the whitelist (Fonts, Logging, Security Server)</p></li><li><p><strong>Mandatory denies</strong> for <code>.env</code>, <code>.ssh</code>, <code>.aws</code>, <code>.git/hooks</code>, <code>.git/config</code> &#8212; even when the working directory has write access</p></li><li><p><strong>Move blocking</strong>: <code>file-write-rename</code> and <code>file-write-unlink</code> are blocked for protected paths, preventing circumvention of the denies via <code>mv</code></p></li></ul><p>The network isolation works the same way as with Cowork: all traffic goes through the same proxy with an allowlist. The difference: with Seatbelt, this happens at the process level (same kernel); with Cowork, at the VM level (separate kernel).</p><h3>Why Two Models?</h3><p>Claude Code is aimed at developers who need fast feedback in the terminal. The Seatbelt overhead is in the low single-digit millisecond range &#8212; I measured it on the host, no perceptible difference from a command without sandbox. Developers can selectively activate the sandbox when they want to give an agent more autonomy without having to approve every command.</p><p>Cowork gives Claude significantly more autonomy: it runs longer, creates files independently, installs packages. And it&#8217;s aimed at users who can&#8217;t assess (and don&#8217;t need to assess) which commands are being executed at the operating system level. The potential damage from an agent with local file access, code generation, and network egress is greater &#8212; and users are less able to evaluate it. Full VM isolation is appropriate here.</p><div><hr></div><h2>What I Take Away From This</h2><p>The isolation is real. Not just on paper, but verifiable.</p><p>Three things convinced me in particular:</p><p>First, the <strong>proxy allowlist with the explicit </strong><code>X-Proxy-Error: blocked-by-allowlist</code><strong> header</strong>. This isn&#8217;t a silent error message but a deliberate architectural decision. You can immediately see why a connection fails.</p><p>Second, the <strong>layering</strong>. The VM alone would be good. With bubblewrap and seccomp, it gets better. All three together make it significantly harder to break out of the sandbox. An exploit would have to simultaneously bypass the seccomp filter, escape the bwrap namespace, and then break out of the VM &#8212; on a system with no direct network access.</p><p>Third, the <strong>transparency</strong>. The sandbox runtime is open source. I downloaded the <code>macos-sandbox-utils.js</code> code &#8212; the 59 sysctl entries, the 14 Mach services, and the mandatory denies for <code>.env</code>, <code>.ssh</code>, and <code>.aws</code> are all there in black and white. The Seatbelt profile is dynamically generated, but the generating code is inspectable. The VM architecture can be examined from the inside. You don&#8217;t have to take anyone&#8217;s word for it &#8212; you can look for yourself.</p><p>If you want to look for yourself: the <a href="https://github.com/anthropic-experimental/sandbox-runtime">sandbox runtime is on GitHub</a>. An <code>npm pack</code> and a look at <code>macos-sandbox-utils.js</code> is all it takes to understand the Seatbelt profile.</p><div><hr></div><h2>What You Can Do Now</h2><p>If you&#8217;re using Claude Code and haven&#8217;t tried the sandbox yet: start a session and type <code>/sandbox</code>. That alone significantly reduces the effort of approving commands one by one. For everyday use, that&#8217;s often enough.</p><p>If you want to go deeper:</p><ul><li><p><strong>Inspect the sandbox runtime</strong>: <code>npm pack @anthropic-ai/sandbox-runtime</code>, unpack, read <code>macos-sandbox-utils.js</code>. There you&#8217;ll see exactly what&#8217;s allowed and what&#8217;s blocked.</p></li><li><p><strong>Examine Cowork from the inside</strong>: Launch Cowork and ask it to run <code>cat /proc/1/cmdline | tr '\0' '\n'</code>. The bubblewrap flags reveal the isolation in detail.</p></li><li><p><strong>Test the network</strong>: A <code>curl https://evil-exfiltration-test.example.org</code> inside the sandbox immediately shows you whether the allowlist is working.</p></li></ul><h2>What&#8217;s Next?</h2><p>The current state is clear. But one question remains: will it stay this way? Claude Code and Cowork already share the agentic architecture &#8212; and there are concrete signals that the security models are converging as well:</p><ul><li><p><strong>Docker</strong> is delivering MicroVM sandboxes with <code>docker-model-runner</code>, specifically designed for AI agents.</p></li><li><p><strong>Apple</strong> is bringing its own Containerization framework with macOS 26 &#8212; native container support on the Mac for the first time.</p></li><li><p><strong>Anthropic</strong> documents DevContainers as the official path toward stronger isolation in Claude Code.</p></li></ul><p>Three players, three approaches, one goal: agents should be able to do more without being able to cause more damage. In the next article, I&#8217;ll examine the pros and cons of each path &#8212; and why I consider one of them the most likely.</p><p>If you want to be notified when the next article is published:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/subscribe?&quot;,&quot;text&quot;:&quot;Jetzt abonnieren&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.fluxum.net/subscribe?"><span>Jetzt abonnieren</span></a></p><p></p><p>Subscribe to my Substack &#8212; free, no spam, just substance.</p><div><hr></div><h2>Sources</h2><ul><li><p><a href="https://code.claude.com/docs/en/sandboxing">Sandboxing &#8212; Claude Code Docs</a></p></li><li><p><a href="https://github.com/anthropic-experimental/sandbox-runtime">sandbox-runtime (GitHub)</a></p></li><li><p><a href="https://pvieito.com/2026/01/inside-claude-cowork">Inside Claude Cowork (Pedro Jos&#233; Pereira Vieito)</a> &#8212; Reverse engineering analysis of the VM architecture</p></li><li><p><a href="https://developer.apple.com/documentation/virtualization">Apple Virtualization Framework</a></p></li></ul>]]></content:encoded></item><item><title><![CDATA[Wie sicher ist die Claude Code Sandbox auf dem Mac?]]></title><description><![CDATA[Ein Blick unter die Haube von Claude Code und Cowork]]></description><link>https://blog.fluxum.net/p/wie-sicher-ist-die-claude-code-sandbox</link><guid isPermaLink="false">https://blog.fluxum.net/p/wie-sicher-ist-die-claude-code-sandbox</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Sun, 01 Mar 2026 14:28:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!jZwS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a668d0-c3b9-446b-b6b9-56b009b1664c_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div><hr></div><p><em>KI-Agenten f&#252;hren Befehle auf deinem Rechner aus &#8212; aber wie gut sch&#252;tzen dich die Sandboxes von Claude Code und Cowork? Beide versprechen Isolation, setzen aber auf unterschiedliche Mechanismen. Ich habe nicht nur die Dokumentation gelesen, sondern beide Systeme mit Linux-Tools von innen untersucht. Das Ergebnis: Die Isolation ist real, nachpr&#252;fbar und &#252;berraschend durchdacht.</em></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jZwS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a668d0-c3b9-446b-b6b9-56b009b1664c_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jZwS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a668d0-c3b9-446b-b6b9-56b009b1664c_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!jZwS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a668d0-c3b9-446b-b6b9-56b009b1664c_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!jZwS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a668d0-c3b9-446b-b6b9-56b009b1664c_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!jZwS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a668d0-c3b9-446b-b6b9-56b009b1664c_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jZwS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a668d0-c3b9-446b-b6b9-56b009b1664c_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e9a668d0-c3b9-446b-b6b9-56b009b1664c_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1813962,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.fluxum.net/i/189546259?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a668d0-c3b9-446b-b6b9-56b009b1664c_1024x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jZwS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a668d0-c3b9-446b-b6b9-56b009b1664c_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!jZwS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a668d0-c3b9-446b-b6b9-56b009b1664c_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!jZwS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a668d0-c3b9-446b-b6b9-56b009b1664c_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!jZwS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a668d0-c3b9-446b-b6b9-56b009b1664c_1024x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><blockquote><p>&#8222;Falls sich Claude entscheidet, alle meine Dateien zu l&#246;schen: Halb so wild. Aber bitte nur innerhalb einer isolierten VM !&#8220;</p></blockquote><p>Wer Claude Code im Terminal mit den Standardeinstellungen nutzt, kennt das: Viele Befehle ben&#246;tigen eine Freigabe, bevor Claude Code sie ausf&#252;hrt. </p><p>Immer wieder muss man abw&#228;gen, ob der jeweilige Befehl in Ordnung geht oder nicht:</p><blockquote><p>&#8222;Allow this? Allow once? Allow always?&#8220;</p></blockquote><p>St&#228;ndig pr&#252;ft man: Ist das ungef&#228;hrlich oder k&#246;nnte dieser Befehl zu Problemen f&#252;hren? Cognitive Load durch Kommandozeilen lesen.</p><p>Im Grunde gibt es zwei extreme Ans&#228;tze: Entweder man pr&#252;ft jede einzelne Freigabeanfrage selbst oder setzt auf die Option <code>--dangerously-skip-permissions</code>, wodurch alles erlaubt ist. Dazwischen gibt es viele Abstufungen. Man kann seine Permissions feingranular definieren, aber das ist fast genauso aufwendig.</p><p>Wie sch&#246;n w&#228;re es, wenn man einfach alles erlauben k&#246;nnte und dennoch sicher sein k&#246;nnte, dass nichts Unerw&#252;nschtes auf dem eigenen Rechner passiert. Dann k&#246;nnte Agentic Coding ungebremst stattfinden und man k&#228;me schnell zu Ergebnissen.</p><p>Genau das verspricht ein isoliertes System, das abgeschirmt vom eigenen Computer l&#228;uft. So ein isoliertes System verringert den Blast Radius &#8212; also den Schaden, den ein fehlgeleiteter Befehl maximal anrichten kann &#8212; immens. Wenn etwas schief geht, startet man einfach neu und geht zum letzten stabilen Ausgangszustand zur&#252;ck. Es gibt viele M&#246;glichkeiten, das umzusetzen.</p><p>Eine davon ist der in Claude Code eingebaute <code>/sandbox</code>-Befehl. Er aktiviert eine Sandbox, die Claude Code auf OS-Ebene einschr&#228;nkt &#8212; Dateizugriffe und Netzwerk. Man kann Commands automatisch laufen lassen, ohne jedes Mal zu best&#228;tigen, weil die Sandbox begrenzt, was passieren kann. Aber wie sicher ist das wirklich?</p><p>Und dann gibt es noch <strong>Cowork</strong> in der Desktop-Variante der Claude-App. Cowork richtet sich eher an Wissensarbeiter, nicht direkt an Entwickler. Es darf auf Ordner zugreifen, Dateien erstellen und ver&#228;ndern, Pakete installieren &#8212; und das alles autonom. Auf den ersten Blick ist dabei nicht ersichtlich, wie die Absicherung funktioniert. Es gibt keinen <code>/sandbox</code>-Befehl, den man aktivieren m&#252;sste. Die Isolation passiert im Hintergrund.</p><p>Mich hat beides interessiert: Wie funktioniert die Sandbox in Claude Code? Und wie sch&#252;tzt mich Cowork davor, dass ungewollte &#196;nderungen auf meinem Rechner passieren?</p><p>Dabei wollte ich mich nicht nur auf die Dokumentation verlassen, sondern ich habe beide Systeme von innen untersucht. Hier ist, was ich gefunden habe.</p><h2>Zwei Produkte, zwei Zielgruppen, zwei Sicherheitsmodelle</h2><p>Bevor ich in die Technik gehe, ein wichtiger Unterschied:</p><p><strong>Claude Code</strong> ist ein Terminal-Tool f&#252;r Entwickler. Es f&#252;hrt Befehle auf deinem Rechner aus &#8212; im selben Kontext, in dem du arbeitest. Die Sandbox muss manuell aktiviert werden (<code>/sandbox</code>), ist opt-in. Das ergibt Sinn: Entwickler brauchen m&#246;glichst wenig Einschr&#228;nkungen, um produktiv zu sein. Sie wollen Befehle ausf&#252;hren k&#246;nnen, die eine restriktive Sandbox behindern w&#252;rde. Aber mit vielen Rechten kommt viel Verantwortung. Man muss verstehen, was man abnickt.</p><p><strong>Cowork</strong> ist Teil der Claude Desktop-App und richtet sich an Nutzer, die sich nicht mit der Kommandozeile auseinander setzen wollen. Wenn jemand Claude bittet, eine Excel-Tabelle aus f&#252;nf PDFs zu erstellen, erwartet er ein Ergebnis &#8212; nicht eine Diskussion &#252;ber Dateiberechtigungen. Cowork muss daher st&#228;rker absichern, und zwar ohne dass der Nutzer das konfigurieren muss.</p><p>Das Ergebnis: Zwei unterschiedliche Isolationsmodelle f&#252;r zwei unterschiedliche Risikoprofile.</p><p>Lass uns in die Details gehen.</p><div><hr></div><h2>Cowork: Ein Linux in deinem Mac</h2><p>Cowork startet eine leichtgewichtige Linux-VM &#252;ber Apples Virtualization.framework. Kein Container, sondern eine echte virtuelle Maschine mit eigenem Kernel.</p><p>Was sagt die VM &#252;ber sich?</p><pre><code><code>$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.5 LTS"

$ uname -r
6.8.0-94-generic

$ uname -m
aarch64

$ nproc
4

$ free -h
              total    used    free
Mem:          3.8Gi   564Mi   1.8Gi
Swap:            0B      0B      0B

$ df -h /
Filesystem      Size  Used Avail Use%
/dev/nvme0n1p1  9.6G  7.2G  2.4G  75%
</code></code></pre><p>Ubuntu 22.04 auf ARM64, 4 Kerne, 3,8 GB RAM, eine 10-GB-Disk. Kein Swap. Schlank genug f&#252;r Dokumentenverarbeitung und Skripte, aber nicht f&#252;r Machine-Learning-Training gedacht.</p><p>Auf dem macOS-Host finden sich die VM-Dateien unter <code>~/Library/Application Support/Claude/vm_bundles/claudevm.bundle/</code>. Das Root-Image (<code>rootfs.img</code>) ist 10 GB gro&#223; als Sparse-Datei, belegt aber nur etwa 7,5 GB on-disk.</p><p>Daneben liegt ein komprimiertes Backup (<code>rootfs.img.zst</code>, ~2 GB) und ein paar Konfigurationsdateien: <code>efivars.fd</code>, <code>macAddress</code>, <code>machineIdentifier</code>.</p><div><hr></div><h2>Wie drei Schichten zusammen die Isolation absichern</h2><p>Die VM allein w&#228;re schon eine solide Grenze. Aber Anthropic stapelt drei Schichten &#252;bereinander.</p><h3>Schicht 1: Die VM</h3><p>Apples Virtualization.framework stellt Hardware-Isolation bereit. Der Gast hat seinen eigenen Kernel. Selbst ein <code>rm -rf /</code> in der VM l&#228;sst den Host unber&#252;hrt.</p><h3>Schicht 2: bubblewrap + seccomp</h3><p>Innerhalb der VM l&#228;uft nicht direkt Claude, sondern erst <strong>bubblewrap</strong> (kurz: <code>bwrap</code>). Bubblewrap ist ein Sandboxing-Tool, das Linux-Namespaces nutzt, um Prozesse voneinander zu isolieren &#8212; &#228;hnlich wie Container es tun, aber leichtgewichtiger.</p><p>Es schr&#228;nkt ein, was ein Prozess sehen und tun darf: welche Dateien, welche Netzwerkschnittstellen, welche anderen Prozesse.</p><p>In der Cowork-VM ist bubblewrap PID 1, also der allererste Prozess:</p><pre><code><code>$ cat /proc/1/status | head -2
Name:   bwrap
State:  S (sleeping)
</code></code></pre><p>Die bwrap-Kommandozeile (&#252;ber <code>/proc/1/cmdline</code> auslesbar) zeigt die wichtigsten Einschr&#228;nkungen im &#220;berblick:</p><ul><li><p><code>--unshare-net</code> &#8212; eigener Netzwerk-Namespace, kein direkter Netzzugang</p></li><li><p><code>--unshare-pid</code> &#8212; eigener PID-Namespace, andere Prozesse unsichtbar</p></li><li><p><code>--ro-bind / /</code> &#8212; Root-Dateisystem read-only eingebunden</p></li><li><p><code>--die-with-parent</code> &#8212; stirbt der Elternprozess, stirbt die Sandbox mit</p></li><li><p><code>--tmpfs /etc/ssh/ssh_config.d</code> &#8212; SSH-Konfiguration wird mit einem leeren tmpfs &#252;berdeckt</p></li></ul><p>Zus&#228;tzlich wird ein <strong>seccomp-Filter</strong> geladen. Seccomp (Secure Computing Mode) ist ein Mechanismus im Linux-Kernel, der festlegt, welche Systemaufrufe ein Prozess machen darf. Systemaufrufe sind die Schnittstelle zwischen einem Programm und dem Betriebssystem &#8212; Dateien &#246;ffnen, Netzwerkverbindungen herstellen, Prozesse starten.</p><p>Ein seccomp-Filter kann gezielt einzelne Systemaufrufe blockieren und damit den Aktionsradius eines Prozesses stark einschr&#228;nken.</p><pre><code><code>$ grep Seccomp /proc/self/status
Seccomp:         2
Seccomp_filters: 2
</code></code></pre><p><code>Seccomp: 2</code> bedeutet Filter-Modus &#8212; es gibt eine aktive Allowlist f&#252;r erlaubte Syscalls. Die Filterdatei hei&#223;t <code>unix-block.bpf</code> und wird &#252;ber eine eigene Binary (<code>apply-seccomp</code>) geladen.</p><h3>Schicht 3: Netzwerk-Isolation</h3><p>Kein Prozess in der Sandbox hat direkten Internetzugang. Aller Traffic geht durch einen lokalen Proxy:</p><pre><code><code>$ env | grep HTTP_PROXY
HTTP_PROXY=http://localhost:3128

$ env | grep ALL_PROXY
ALL_PROXY=socks5h://localhost:1080
</code></code></pre><p>Der Proxy l&#228;uft &#252;ber <code>socat</code>, das TCP-Verbindungen in Unix-Sockets tunnelt, die aus der VM herausf&#252;hren. Auf der Host-Seite entscheidet eine <strong>Allowlist</strong>, welche Domains passieren d&#252;rfen.</p><p>Ich habe es getestet:</p><pre><code><code>$ curl -s -o /dev/null -w "%{http_code}" https://registry.npmjs.org
200

$ curl -s -o /dev/null -w "%{http_code}" https://pypi.org
200

$ curl -sv https://evil-exfiltration-test.example.org 2&gt;&amp;1 | grep "HTTP/1.1"
&lt; HTTP/1.1 403 Forbidden

$ curl -sv https://evil-exfiltration-test.example.org 2&gt;&amp;1 | grep "X-Proxy"
&lt; X-Proxy-Error: blocked-by-allowlist
</code></code></pre><p>npm und PyPI kommen durch. Alles andere bekommt ein <code>403 Forbidden</code> mit dem Header <code>X-Proxy-Error: blocked-by-allowlist</code>. Auch direkte DNS-Lookups scheitern:</p><pre><code><code>$ nslookup google.com
socket(): Operation not permitted
;; no servers could be reached
</code></code></pre><p>Das ist konsequent: Selbst wenn ein Prompt-Injection-Angriff Claude dazu bringen w&#252;rde, Daten an einen externen Server zu senden &#8212; der Proxy w&#252;rde es blockieren.</p><div><hr></div><h2>Welche Dateien sieht die VM?</h2><p>Dateien kommen &#252;ber <strong>VirtioFS</strong> in die VM &#8212; ein Dateisystem-Protokoll, das speziell f&#252;r die Kommunikation zwischen VM und Host entwickelt wurde. Statt echte Hardware zu simulieren, arbeiten Host und Guest bewusst zusammen (Paravirtualisierung). Das macht den Dateizugriff schnell und mit wenig Overhead m&#246;glich.</p><pre><code><code>$ mount | grep virtiofs
/mnt/.virtiofs-root/shared/Work/.../Marketing on
  /sessions/elegant-adoring-brown/mnt/Marketing type fuse (rw,...)
</code></code></pre><p>Nur der Ordner, den ich in der Desktop-App ausgew&#228;hlt habe, wird gemountet. Nicht mein Home-Verzeichnis, nicht mein Desktop, nicht meine Downloads &#8212; nur der eine Ordner, den ich explizit freigegeben habe.</p><p>Plugins und Skills werden &#252;ber <strong>bindfs</strong> zus&#228;tzlich eingebunden. Bindfs ist ein FUSE-Dateisystem, das einen vorhandenen Ordner an einer anderen Stelle nochmal einbindet &#8212; &#228;hnlich wie ein Symlink, aber mit der M&#246;glichkeit, die Berechtigungen zu &#228;ndern. So k&#246;nnen Skills zum Beispiel read-only eingebunden werden, obwohl sie auf dem Host beschreibbar sind. Uploads landen ebenfalls in einem separaten, schreibgesch&#252;tzten Mount.</p><p>Ein Detail verr&#228;t, dass die VM mehrere Conversations gleichzeitig bedient: Im <code>/sessions/</code>-Verzeichnis sitzen verschiedene Sessions nebeneinander:</p><pre><code><code>$ ls -la /sessions/
drwxr-x--- elegant-adoring-brown  elegant-adoring-brown  ...
drwxr-x--- nobody                 nogroup                awesome-epic-mccarthy
drwxr-x--- nobody                 nogroup                dazzling-vibrant-carson
</code></code></pre><p>Jede Session bekommt einen eigenen Linux-User mit eigener UID. Mein User hei&#223;t <code>elegant-adoring-brown</code> (uid 1005). Die anderen Sessions sind unter <code>nobody</code> gelistet &#8212; ich kann ihre Dateien nicht lesen.</p><div><hr></div><h2>Wie sch&#252;tzt Claude Code ohne VM?</h2><p>Claude Code im Terminal nutzt auf macOS einen anderen Ansatz: Apples <strong>Seatbelt</strong> (auch bekannt als <code>sandbox-exec</code>). Statt einer VM wird ein dynamisch generiertes Sandbox-Profil erstellt, das den Prozess auf OS-Ebene einschr&#228;nkt. Wichtig: Die Sandbox muss manuell mit <code>/sandbox</code> aktiviert werden &#8212; ohne diesen Schritt l&#228;uft Claude Code ohne OS-Level-Isolation.</p><p>Das Profil startet mit <code>(deny default)</code> &#8212; alles ist verboten, au&#223;er es wird explizit erlaubt. Die Sandbox-Runtime ist Open Source und auf GitHub einsehbar. Ich habe das npm-Paket <code>@anthropic-ai/sandbox-runtime</code> heruntergeladen und die <code>macos-sandbox-utils.js</code> analysiert:</p><ul><li><p><strong>59 sysctl-Eintr&#228;ge</strong> werden zum Lesen freigegeben (Hardware-Info wie CPU-Anzahl, Speichergr&#246;&#223;e)</p></li><li><p><strong>14 Mach-IPC-Services</strong> auf der Whitelist (Fonts, Logging, Security Server)</p></li><li><p><strong>Mandatory Denies</strong> f&#252;r <code>.env</code>, <code>.ssh</code>, <code>.aws</code>, <code>.git/hooks</code>, <code>.git/config</code> &#8212; auch wenn das Arbeitsverzeichnis Schreibzugriff hat</p></li><li><p><strong>Move-Blocking</strong>: <code>file-write-rename</code> und <code>file-write-unlink</code> werden f&#252;r gesch&#252;tzte Pfade blockiert, damit man die Denies nicht per <code>mv</code> umgehen kann</p></li></ul><p>Die Netzwerk-Isolation funktioniert genauso wie bei Cowork: Aller Traffic geht durch denselben Proxy mit Allowlist. Der Unterschied: Bei Seatbelt passiert das auf Prozess-Ebene (gleicher Kernel), bei Cowork auf VM-Ebene (eigener Kernel).</p><h3>Warum zwei Modelle?</h3><p>Claude Code richtet sich an Entwickler, die im Terminal schnelles Feedback brauchen. Der Seatbelt-Overhead liegt im niedrigen einstelligen Millisekundenbereich &#8212; ich habe es auf dem Host gemessen, kein sp&#252;rbarer Unterschied zu einem Befehl ohne Sandbox. Entwickler k&#246;nnen die Sandbox gezielt aktivieren, wenn sie einem Agenten mehr Autonomie geben wollen, ohne jeden Befehl freigeben zu m&#252;ssen.</p><p>Cowork gibt Claude deutlich mehr Autonomie: Es l&#228;uft l&#228;nger, erstellt eigenst&#228;ndig Dateien, installiert Pakete. Und es richtet sich an Nutzer, die nicht einsch&#228;tzen k&#246;nnen (und nicht einsch&#228;tzen m&#252;ssen), welche Befehle auf Betriebssystemebene ausgef&#252;hrt werden. Der m&#246;gliche Schaden eines Agenten mit lokalem Dateizugriff, Codegenerierung und Netzwerk-Egress ist gr&#246;&#223;er &#8212; und die Nutzer k&#246;nnen ihn schlechter einsch&#228;tzen. Die volle VM-Isolation ist hier angemessen.</p><div><hr></div><h2>Was ich daraus mitnehme</h2><p>Die Isolation ist real. Nicht nur auf dem Papier, sondern nachpr&#252;fbar.</p><p>Drei Dinge haben mich besonders &#252;berzeugt:</p><p>Erstens die <strong>Proxy-Allowlist mit dem expliziten </strong><code>X-Proxy-Error: blocked-by-allowlist</code><strong> Header</strong>. Das ist keine stille Fehlermeldung, sondern eine bewusste Architekturentscheidung. Man sieht sofort, warum eine Verbindung scheitert.</p><p>Zweitens die <strong>Schichtung</strong>. VM allein w&#228;re gut. Mit bubblewrap und seccomp wird&#8217;s besser. Alle drei zusammen machen es deutlich schwieriger, aus der Sandbox auszubrechen. Ein Exploit m&#252;sste gleichzeitig den seccomp-Filter umgehen, aus dem bwrap-Namespace ausbrechen und dann noch aus der VM raus &#8212; auf einem System, das keinen direkten Netzzugang hat.</p><p>Drittens die <strong>Transparenz</strong>. Die Sandbox-Runtime ist Open Source. Ich habe den Code der <code>macos-sandbox-utils.js</code> heruntergeladen &#8212; dort stehen die 59 sysctl-Eintr&#228;ge, die 14 Mach-Services und die Mandatory Denies f&#252;r <code>.env</code>, <code>.ssh</code> und <code>.aws</code> schwarz auf wei&#223;. Das Seatbelt-Profil wird dynamisch generiert, aber der generierende Code ist einsehbar. Die VM-Architektur l&#228;sst sich von innen inspizieren. Man muss niemandem glauben &#8212; man kann nachschauen.</p><p>Wer selbst nachschauen will: Die <a href="https://github.com/anthropic-experimental/sandbox-runtime">Sandbox-Runtime liegt auf GitHub</a>. Ein <code>npm pack</code> und ein Blick in <code>macos-sandbox-utils.js</code> reichen, um das Seatbelt-Profil zu verstehen.</p><div><hr></div><h2>Was du jetzt tun kannst</h2><p>Wenn du Claude Code nutzt und die Sandbox noch nicht ausprobiert hast: Starte eine Session und tippe <code>/sandbox</code>. Allein das reduziert den Aufwand, Befehle einzeln freizugeben, erheblich. F&#252;r den Alltag reicht das oft schon.</p><p>Wenn du tiefer einsteigen willst:</p><ul><li><p><strong>Sandbox-Runtime inspizieren</strong>: <code>npm pack @anthropic-ai/sandbox-runtime</code>, entpacken, <code>macos-sandbox-utils.js</code> lesen. Dort siehst du exakt, was erlaubt und was blockiert wird.</p></li><li><p><strong>Cowork von innen ansehen</strong>: Starte Cowork und bitte es <code>cat /proc/1/cmdline | tr '\0' '\n'</code> auszuf&#252;hren. Die bubblewrap-Flags verraten dir die Isolation im Detail.</p></li><li><p><strong>Netzwerk testen</strong>: Ein <code>curl https://evil-exfiltration-test.example.org</code> in der Sandbox zeigt dir sofort, ob die Allowlist greift.</p></li></ul><h2>Wie geht es weiter?</h2><p>Damit ist der Ist-Zustand klar. Aber eine Frage bleibt: Wird das so bleiben? Claude Code und Cowork teilen sich bereits die agentic Architektur &#8212; und es gibt konkrete Signale, dass auch die Sicherheitsmodelle zusammenwachsen:</p><ul><li><p><strong>Docker</strong> liefert mit <code>docker-model-runner</code> MicroVM-Sandboxes, die speziell f&#252;r KI-Agenten gedacht sind.</p></li><li><p><strong>Apple</strong> bringt mit macOS 26 ein eigenes Containerization-Framework &#8212; erstmals native Container-Unterst&#252;tzung auf dem Mac.</p></li><li><p><strong>Anthropic</strong> dokumentiert DevContainer als offiziellen Weg f&#252;r st&#228;rkere Isolation in Claude Code.</p></li></ul><p>Drei Player, drei Ans&#228;tze, ein Ziel: Agenten sollen mehr d&#252;rfen, ohne mehr Schaden anrichten zu k&#246;nnen. Im n&#228;chsten Artikel werde ich mir anschauen, was f&#252;r und gegen jeden dieser Pfade spricht &#8212; und warum ich einen davon f&#252;r den wahrscheinlichsten halte.</p><p>Wenn du benachrichtigt werden willst, wenn der n&#228;chste Artikel ver&#246;ffentlich ist:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/subscribe?&quot;,&quot;text&quot;:&quot;Jetzt abonnieren&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.fluxum.net/subscribe?"><span>Jetzt abonnieren</span></a></p><p></p><h2>Quellen</h2><ul><li><p><a href="https://code.claude.com/docs/en/sandboxing">Sandboxing &#8212; Claude Code Docs</a></p></li><li><p><a href="https://github.com/anthropic-experimental/sandbox-runtime">sandbox-runtime (GitHub)</a></p></li><li><p><a href="https://pvieito.com/2026/01/inside-claude-cowork">Inside Claude Cowork (Pedro Jos&#233; Pereira Vieito)</a> &#8212; Reverse-Engineering-Analyse der VM-Architektur</p></li><li><p><a href="https://developer.apple.com/documentation/virtualization">Apple Virtualization Framework</a></p></li></ul>]]></content:encoded></item><item><title><![CDATA[Der neue Engpass]]></title><description><![CDATA[Warum schnellerer Code eure Probleme nicht l&#246;st]]></description><link>https://blog.fluxum.net/p/der-neue-engpass</link><guid isPermaLink="false">https://blog.fluxum.net/p/der-neue-engpass</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Wed, 28 Jan 2026 13:57:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!0Y8G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30082918-ff1f-485f-9ad0-74d2d98860b3_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Wir haben Code-Generierung so effizient gemacht, dass wir jetzt ein neues Problem haben: Menschen, die schneller Output abnehmen m&#252;ssen, als sie denken k&#246;nnen.</p><p>Die AI-Diskussion in der Softwareentwicklung dreht sich fast ausschlie&#223;lich um eine Frage: Wie generieren wir Code schneller? Das ist verst&#228;ndlich &#8211; aber es lenkt von dem ab, was gerade wirklich passiert.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Danke f&#252;rs Lesen von fluxum engineering! Abonnieren Sie kostenlos, um neue Posts zu erhalten und meine Arbeit zu unterst&#252;tzen.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0Y8G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30082918-ff1f-485f-9ad0-74d2d98860b3_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0Y8G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30082918-ff1f-485f-9ad0-74d2d98860b3_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!0Y8G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30082918-ff1f-485f-9ad0-74d2d98860b3_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!0Y8G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30082918-ff1f-485f-9ad0-74d2d98860b3_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!0Y8G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30082918-ff1f-485f-9ad0-74d2d98860b3_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0Y8G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30082918-ff1f-485f-9ad0-74d2d98860b3_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/30082918-ff1f-485f-9ad0-74d2d98860b3_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2188226,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.fluxum.net/i/186079359?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30082918-ff1f-485f-9ad0-74d2d98860b3_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0Y8G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30082918-ff1f-485f-9ad0-74d2d98860b3_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!0Y8G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30082918-ff1f-485f-9ad0-74d2d98860b3_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!0Y8G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30082918-ff1f-485f-9ad0-74d2d98860b3_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!0Y8G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30082918-ff1f-485f-9ad0-74d2d98860b3_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h3>Das Bottleneck hat sich verschoben</h3><p>Vor einem Jahr war &#8220;Code schreiben&#8221; noch ein limitierender Faktor. Heute kann ein einzelner Entwickler mit den richtigen Agents an einem Tag produzieren, wof&#252;r fr&#252;her eine Woche n&#246;tig war.</p><p>Klingt nach Fortschritt. Ist es auch &#8211; bis man fragt: Wer reviewt das alles? Wer versteht es? Wer verantwortet es?</p><p>Die Velocity-Metriken sehen fantastisch aus. Aber die Engp&#228;sse sind nicht verschwunden. Sie haben sich verschoben &#8211; zum Menschen.</p><h3>F&#252;nf Fragen, auf die niemand gute Antworten hat</h3><p><strong>1. Wie bewertest du Arbeit, die du nicht mehr selbst machst?</strong></p><p>Engineering Leads haben jahrelang Code-Reviews gemacht. Sie wussten, worauf sie achten mussten, weil sie selbst im Code steckten. Wenn Agents den Gro&#223;teil des Codes produzieren und Engineers zu &#8220;Orchestratoren&#8221; werden &#8211; nach welchen Kriterien bewerten wir dann? Wie unterscheidest du guten von schlechtem Output, wenn du selbst nicht mehr Zeile f&#252;r Zeile durchgehst?</p><p><strong>2. Wer &#252;bernimmt die Verantwortung?</strong></p><p>Agent generiert Code. Engineer gibt ihn frei. QA testet. Alles gr&#252;n. Drei Monate sp&#228;ter: Security-Problem, das niemand gesehen hat.</p><p>Wer ist verantwortlich? Der Engineer, der den Code freigegeben hat, ohne ihn wirklich zu verstehen? Das Team, das die Guardrails definiert hat? Die Organisation, die keine besseren Review-Prozesse etabliert hat?</p><p>In klassischen Strukturen war Verantwortung an Wissen gekoppelt: Wer den Code geschrieben hat, verstand ihn und verantwortete ihn. Diese Kopplung l&#246;st sich gerade auf.</p><p><strong>3. Wie bef&#228;higst du Menschen, Verantwortung zu &#252;bernehmen, die sie nicht tragen k&#246;nnen?</strong></p><p>&#8220;Human in the Loop&#8221; klingt beruhigend. Aber was bedeutet das konkret?</p><p>Ein Mensch, der zehnmal so viel Output &#252;berpr&#252;fen muss wie vorher, pr&#252;ft nicht gr&#252;ndlicher &#8211; er pr&#252;ft oberfl&#228;chlicher. Oder er wird zum Bottleneck, der die gesamte AI-Velocity wieder zunichtemacht.</p><p>Wir verlangen von Menschen, dass sie Arbeit verantworten, f&#252;r die wir sie weder ausgebildet noch ausgestattet haben.</p><p><strong>4. Was genau wird verifiziert &#8211; und was nicht?</strong></p><p>Tests laufen durch. Linting ist sauber. Der Code funktioniert.</p><p>Aber: Ist die Architektur-Entscheidung richtig? Passt die L&#246;sung ins Gesamtsystem? Entsteht gerade technische Schuld, die erst in zwei Jahren sichtbar wird?</p><p>Agents optimieren lokal. Sie l&#246;sen die Aufgabe, die vor ihnen liegt. Die systemischen Auswirkungen sieht niemand &#8211; bis es zu sp&#228;t ist.</p><p><strong>5. Was passiert mit den Bereichen, die nicht Engineering hei&#223;en?</strong></p><p>Code-Generierung ist nur ein Teil des Delivery-Systems. Was ist mit Produktentscheidungen, die jetzt schneller technisch umsetzbar sind &#8211; aber nicht schneller durchdacht? Was ist mit Dokumentation, die niemand mehr schreibt, weil der Code sich zu schnell &#228;ndert? Mit Onboarding neuer Teammitglieder in eine Codebase, die niemand im Team mehr wirklich versteht?</p><p>Wenn Engineering pl&#246;tzlich zehnmal schneller liefern kann, verschiebt sich der Druck auf Product, Design, QA. Die Friction wandert &#8211; sie verschwindet nicht.</p><h3>Das eigentliche Problem</h3><p>Wir haben das Code-Schreiben beschleunigt. Aber die Arbeit, die sich nicht beschleunigen l&#228;sst &#8211; verstehen, bewerten, entscheiden, verantworten &#8211; ist immer noch da. Und unsere Organisationen sind nicht daf&#252;r gebaut.</p><p>Die meisten Unternehmen behandeln AI wie ein Upgrade ihrer Werkzeuge. Schnellere IDE, besserer Copilot, mehr Output pro Kopf.</p><p>Aber das Werkzeug hat sich fundamental ver&#228;ndert. Es trifft jetzt eigene Entscheidungen. Und wir haben keine Strukturen, Prozesse oder Rollenbilder, die damit umgehen k&#246;nnen.</p><p>Kleine AI-native Teams bauen gerade ihre Strukturen um diese Realit&#228;t herum. Gro&#223;e Organisationen diskutieren noch, welchen Copilot sie lizenzieren. Die Frage ist nicht, ob sich das r&#228;cht &#8211; sondern wann.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Danke f&#252;rs Lesen von fluxum engineering! Abonnieren Sie kostenlos, um neue Posts zu erhalten und meine Arbeit zu unterst&#252;tzen.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Wer kontrolliert die Agenten?]]></title><description><![CDATA[Kann man dem Output &#252;berhaupt vertrauen?]]></description><link>https://blog.fluxum.net/p/wer-kontrolliert-die-agenten</link><guid isPermaLink="false">https://blog.fluxum.net/p/wer-kontrolliert-die-agenten</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Fri, 16 Jan 2026 19:34:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!BM2t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907a5a4f-c6b1-4ebe-ba5c-607b12ae855c_1024x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p>&#8222;Ich schreibe kaum noch Code. Und trotzdem baue ich mehr Software als je zuvor.&#8220;</p></blockquote><p>Als ich das <a href="https://www.linkedin.com/posts/martingrossfluxum_ich-schreibe-kaum-noch-code-und-trotzdem-activity-7406338672528371712-JaYG/?rcm=ACoAAAQB_GMBre69owxxAqyVokpRE271ccFibqM">k&#252;rzlich auf LinkedIn</a> schrieb, kam:</p><blockquote><p>&#8222;Naja, und wer kontrolliert die Agenten? Wer r&#228;umt die technischen Schulden, die sie produzieren, wieder auf?&#8221;</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BM2t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907a5a4f-c6b1-4ebe-ba5c-607b12ae855c_1024x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BM2t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907a5a4f-c6b1-4ebe-ba5c-607b12ae855c_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!BM2t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907a5a4f-c6b1-4ebe-ba5c-607b12ae855c_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!BM2t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907a5a4f-c6b1-4ebe-ba5c-607b12ae855c_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!BM2t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907a5a4f-c6b1-4ebe-ba5c-607b12ae855c_1024x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BM2t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907a5a4f-c6b1-4ebe-ba5c-607b12ae855c_1024x1024.jpeg" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/907a5a4f-c6b1-4ebe-ba5c-607b12ae855c_1024x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:135690,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.fluxum.net/i/184803595?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907a5a4f-c6b1-4ebe-ba5c-607b12ae855c_1024x1024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BM2t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907a5a4f-c6b1-4ebe-ba5c-607b12ae855c_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!BM2t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907a5a4f-c6b1-4ebe-ba5c-607b12ae855c_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!BM2t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907a5a4f-c6b1-4ebe-ba5c-607b12ae855c_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!BM2t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F907a5a4f-c6b1-4ebe-ba5c-607b12ae855c_1024x1024.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Eine Frage, eine berechtigte Frage, mit der ich mich ebenfalls schon besch&#228;ftigt hatte.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Danke f&#252;rs Lesen von fluxum engineering! Abonnieren Sie kostenlos, um neue Posts zu erhalten und meine Arbeit zu unterst&#252;tzen.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Eine Frage, die ich nicht mit einem Zweizeiler beantworten kann.</p><h2>Die Frage hinter der Frage</h2><p>Wer so fragt, will wissen: </p><p>Kannst du dem Output &#252;berhaupt vertrauen? </p><p>Oder baust du dir gerade ein Kartenhaus, das beim ersten echten Problem zusammenf&#228;llt?</p><p>Meine Antwort ist unbefriedigend f&#252;r alle, die ein klares Ja oder Nein wollen: Es kommt darauf an. Und genau dieses &#8222;es kommt darauf an&#8221; ist der eigentliche Skill, den ich in den letzten Monaten entwickelt habe.</p><h2>Nicht alles ist gleich kritisch</h2><p>Der erste Schritt war eine simple Erkenntnis: Nicht jeder Bereich meiner Software verdient dieselbe Aufmerksamkeit.</p><p>Ich unterscheide grob nach zwei Kriterien:</p><ol><li><p>Wie schnell sehe ich, wenn etwas nicht funktioniert?</p></li><li><p>Wie gro&#223; ist der potenzielle Schaden?</p></li></ol><p><strong>Kritische Bereiche</strong> sind f&#252;r mich zum Beispiel:</p><ul><li><p>Authentifizierung und Login-Flows</p></li><li><p>Autorisierungslogik &#8211; wer darf was sehen und tun</p></li><li><p>Datenbankdesign, insbesondere das Datenmodell</p></li><li><p>Row Level Security f&#252;r Datenbanken</p></li><li><p>Alles, was mit Zahlungen oder sensiblen Nutzerdaten zu tun hat</p></li><li><p>Alles, von dem viel abh&#228;ngt</p></li></ul><p>Diese Bereiche haben zwei Eigenschaften gemeinsam:</p><ul><li><p>Fehler sind nicht sofort sichtbar, und</p></li><li><p>wenn sie auftreten, ist der Schaden potenziell gro&#223;.</p></li></ul><p>Eine kaputte Authentifizierung merkst du nicht, wenn du die Anwendung durchklickst. Du merkst sie, wenn jemand anderes sie ausnutzt.</p><p><strong>Unkritische Bereiche</strong> sind f&#252;r mich:</p><ul><li><p>Frontend-Darstellung und UI-Komponenten</p></li><li><p>Styling und Layout</p></li><li><p>Nicht-sicherheitsrelevante Formularvalidierungen</p></li><li><p>Hilfsfunktionen und Utilities</p></li></ul><p>Das heisst nicht, dass sie unwichtig sind. Aber wenn hier etwas nicht funktioniert, sehe ich es schnell. Ein Button, der nicht reagiert, eine Liste, die nicht rendert &#8211; das f&#228;llt beim Testen auf. Und selbst wenn es durchrutscht: Der Schaden ist begrenzt. Kein Nutzer verliert Geld oder Daten, weil ein Schatten an der falschen Stelle sitzt.</p><h2>Wie ich Agenten einsetze</h2><p>F&#252;r meine Projekte habe ich spezialisierte Subagents aufgebaut, die auf definierte Aufgaben zugeschnitten sind. Manche habe ich selbst konfiguriert, bei anderen greife ich auf vorgefertigte L&#246;sungen zur&#252;ck. Entscheidend ist nicht das einzelne Tool, sondern wie sie zusammenarbeiten.</p><p>Mein Workflow folgt einem Muster, das menschliche Review-Prozesse nachbildet:</p><p><strong>Stufe 1: Entwurf.</strong> Ein Agent erstellt einen ersten Vorschlag &#8211; sei es Code, eine Architekturentscheidung oder ein Datenbankschema.</p><p><strong>Stufe 2: Ausarbeitung.</strong> Ein anderer Agent nimmt den Entwurf und arbeitet die Details aus. Er kennt den Kontext, aber er hat eine andere Perspektive.</p><p><strong>Stufe 3: Pr&#252;fung.</strong> Ein dritter Agent &#252;berpr&#252;ft das Ergebnis. Er fragt: Was k&#246;nnte man aus Sicherheitsperspektive verbessern? Wo sind potenzielle Schwachstellen?</p><p>Das klingt aufwendiger, als es ist. In der Praxis l&#228;uft vieles davon automatisiert. Ich sto&#223;e den Prozess an und bekomme am Ende einen Report, den ich durchgehe.</p><h2>Der entscheidende Unterschied: Wo ich selbst hinschaue</h2><p>Bei unkritischen Bereichen reicht mir, was die spezialisierten Agenten identifizieren.</p><p>Bei kritischen Bereichen ist das Agenten-Review nur die erste Runde. Die zweite Runde mache ich selbst.</p><p>Das bedeutet konkret: Ich lese den Code. Ich hinterfrage die Architekturentscheidungen. Ich &#252;berlege, welche Edge Cases nicht abgedeckt sind. Ich gleiche ab, ob das, was da steht, zu meinem mentalen Modell des Systems passt.</p><p>Das ist der Human-in-the-Loop, von dem alle reden. Nur dass er eben nicht bei jeder Zeile Code greift, sondern gezielt dort, wo es darauf ankommt.</p><h2>Vorgaben von Anfang an</h2><p>Ein Bereich, in dem sich der agentenbasierte Ansatz besonders bew&#228;hrt. Statt Anforderungen nachtr&#228;glich zu pr&#252;fen, bette ich sie von Anfang an in den Entwicklungsprozess ein.</p><p>Das funktioniert &#252;ber Guidelines &#8211; Markdown-Dateien, die beschreiben, welche Regeln gelten. Diese Guidelines flie&#223;en in die Spezifikations- und Planungsphase ein. Die Agenten kennen sie und ber&#252;cksichtigen sie.</p><p>Anschlie&#223;end lasse ich spezialisierte Agenten Reviews durchf&#252;hren und Reports erstellen. Diese Reports gehe ich durch, hinterfrage kritisch, f&#252;hre meine eigene Analyse durch und gleiche ab. Wenn Probleme auftauchen, lasse ich sie durch die Agenten beheben und sto&#223;e dann ein erneutes Review an.</p><p>Es ist ein iterativer Prozess. Aber einer, der Compliance by Design erm&#246;glicht, statt sie als nachtr&#228;glichen Kontrollschritt zu behandeln.</p><h2>Die Bilanz: &#196;hnliche Probleme, andere Dynamik</h2><p>Produzieren Agenten mehr technische Schulden als Menschen? Nach meiner Erfahrung: Nein. Es sind dieselben Probleme &#8211; nur schneller sichtbar.</p><p>Wenn eine Codebasis w&#228;chst, entsteht duplizierter Code. Nicht, weil die Agenten schlecht arbeiten, sondern weil ihnen der Gesamt&#252;berblick fehlt. Ein erfahrener Entwickler, der seit Monaten an einem Projekt arbeitet, wei&#223; implizit, dass es schon eine Utility-Funktion f&#252;r diesen Fall gibt. Ein Agent sieht nur den aktuellen Kontext.</p><p>Das ist kein Argument gegen Agenten. Es ist ein Argument f&#252;r iterative Zyklen.</p><p>Mein Vorgehen: Erst die Funktionalit&#228;t, dann das Aufr&#228;umen. Ich lasse entwickeln, schaue, dass es funktioniert, und starte dann eine neue Runde, in der ich gezielt auf Code-Qualit&#228;t achte. Daf&#252;r nutze ich einen Subagent, der sich auf Refactorings spezialisiert hat &#8211; er analysiert, identifiziert Duplikate, schl&#228;gt Zusammenf&#252;hrungen vor.</p><p>Dieses Vorgehen ist nicht neu. Es ist das, was erfahrene Entwickler schon immer gemacht haben: Erst zum Laufen bringen, dann aufr&#228;umen. Wer versucht, von Anfang an hundertprozentig sauberen Code zu schreiben, verzettelt sich und blockiert sich selbst.</p><p>Der Unterschied: Mit Agenten passiert beides schneller. Die technischen Schulden entstehen schneller &#8211; aber sie werden auch schneller sichtbar und schneller abgebaut.</p><h2>Was Agenten gut k&#246;nnen &#8211; und was nicht</h2><p>Nach Monaten intensiver Arbeit mit diesem Setup habe ich ein klareres Bild davon, wo die St&#228;rken und Grenzen liegen.</p><p><strong>Agenten schreiben exzellenten Code im Kleinen.</strong> Eine einzelne Funktion, ein Modul, eine Komponente &#8211; das bekommen sie auf dem Niveau eines erfahrenen Entwicklers hin. Saubere Struktur, gute Benennung, Best Practices.</p><p><strong>Was ihnen fehlt, ist der System&#252;berblick.</strong> Sie sehen nicht, wie die Teile zusammenh&#228;ngen. Sie wissen nicht, dass die Entscheidung in Modul A Auswirkungen auf Modul B hat, wenn das nicht explizit im Kontext steht.</p><p>Das liegt in der Natur der Sache: Eine KI kann nur aus dem verstehen, was ihr als Kontext gegeben wird. Ein erfahrener Entwickler hat das Gesamtsystem im Kopf &#8211; auch die Teile, die er nie explizit aufgeschrieben hat.</p><h2>Der Skill-Shift</h2><p>Diese Erkenntnis hat Konsequenzen f&#252;r die Art, wie ich arbeite.</p><p>Fr&#252;her konnte vieles implizit bleiben. Ich wusste, wie das System funktioniert, und musste es niemandem erkl&#228;ren. Jetzt muss ich es externalisieren &#8211; durch Spezifikationen, Guidelines, Architektur-Dokumentation. Was fr&#252;her im Kopf bleiben konnte, muss jetzt explizit werden.</p><p>Das ist mehr Arbeit. Aber es ist bessere Arbeit. Denn was ich f&#252;r die Agenten aufschreibe, hilft auch anderen Teammitgliedern. Also den Menschen<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>. Es zwingt mich, meine Entscheidungen zu artikulieren, statt sie vorauszusetzen.</p><p>Der Shift, den ich beobachte, ist real:</p><p>Weniger &#8222;wie schreibe ich diesen Code&#8221;, mehr &#8222;wie lenke ich die Agenten&#8221;. Das bedeutet nicht, dass Programmierkenntnisse unwichtig werden. Es bedeutet, dass sie nicht mehr ausreichen.</p><p>Was jetzt z&#228;hlt:</p><ul><li><p><strong>Systemdesign auf h&#246;herer Ebene:</strong> Architektur, Schnittstellen, Datenmodelle</p></li><li><p><strong>Sicherheitsdenken:</strong> Wo sind die Angriffsfl&#228;chen, was muss besonders gesch&#252;tzt werden</p></li><li><p><strong>Agenten-Orchestrierung:</strong> Wie koordiniere ich verschiedene spezialisierte Agenten, wie definiere ich Richtlinien, wie behalte ich die Kontrolle</p></li><li><p><strong>Kritisches Pr&#252;fen:</strong> Wann vertraue ich dem Output, wann schaue ich selbst hin</p></li></ul><h2>Die Antwort auf die urspr&#252;ngliche Frage</h2><p>Wer kontrolliert die Agenten? Ich. Aber nicht bei jeder Zeile Code.</p><p>Ich kontrolliere durch Struktur: spezialisierte Agenten, die sich gegenseitig pr&#252;fen. Ich kontrolliere durch Fokus: menschliche Reviews dort, wo der Schaden am gr&#246;&#223;ten w&#228;re. Ich kontrolliere durch Iteration: Entwickeln, pr&#252;fen, aufr&#228;umen, wiederholen.</p><p>Und ich kontrolliere durch Akzeptanz: Die Einsicht, dass kein Prozess perfekt ist &#8211; weder mit Agenten noch ohne. Dass technische Schulden entstehen und abgebaut werden m&#252;ssen. Dass Fehler passieren und gefunden werden m&#252;ssen.</p><p>Der Unterschied ist nicht, dass Agenten fehlerfreien Code produzieren. Der Unterschied ist, dass ich mehr produziere und schneller iteriere. Und dass ich meine Zeit dort einsetze, wo sie den gr&#246;&#223;ten Unterschied macht: bei den Entscheidungen, die ein System sicher oder unsicher, wartbar oder unwartbar machen.</p><p>Das ist keine Zukunftsvision. Das ist mein Alltag seit Monaten. Und bisher funktioniert es.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Danke f&#252;rs Lesen von fluxum engineering! Abonnieren Sie kostenlos, um neue Posts zu erhalten und meine Arbeit zu unterst&#252;tzen.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Ich finde es schwierig, wenn manche Leute KI-Agenten als Teammitglieder bezeichnen, also vermenschlichen. Eine KI ist und bleibt eine intelligente Maschine und ist kein Menschenersatz. </p></div></div>]]></content:encoded></item><item><title><![CDATA[Warum in der agentenbasierten Softwareentwicklung Workflows für mich immer wichtiger werden]]></title><description><![CDATA[Als Softwareentwickler schreiben wir immer weniger Code selbst.]]></description><link>https://blog.fluxum.net/p/warum-in-der-agentenbasierten-softwareentwicklun</link><guid isPermaLink="false">https://blog.fluxum.net/p/warum-in-der-agentenbasierten-softwareentwicklun</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Fri, 09 Jan 2026 12:33:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!y_oj!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa142b85f-3d35-4a80-bdac-1835f765cd9e_512x512.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Als Softwareentwickler schreiben wir immer weniger Code selbst. Die Aufgabe verschiebt sich mehr in die Richtung, KI-Agenten in den jeweils passend gestalteten Workflows arbeiten zu lassen, damit sie so zuverl&#228;ssige Ergebnisse liefern. </p><p>Deshalb ist es so spannend sich gegenseitig auszutauschen und zu h&#246;ren, wie andere konzeptionell an die KI-gest&#252;tzte Softwareentwicklung herangehen. </p><p>Denn letztendlich war es schon immer der richtige L&#246;sungsansatz, der den eigentlichen Mehrwert liefert. Wenn man wei&#223;, wie man ein Problem l&#246;sen kann, ist die anschlie&#223;ende Umsetzung fast trivial.</p><p>Zudem wird immer deutlicher, dass testgetriebene Entwicklung wichtiger denn je ist:</p><p>1. Tests dienen als Leitplanken, die eine Beschreibung des Ziels liefern.</p><p>2. Tests dienen als Feedback-Schleife. Agenten k&#246;nnen sie eigenst&#228;ndig ausf&#252;hren und erhalten dadurch Feedback, wie gut sie ihre Aufgaben erf&#252;llt haben.</p><p>&#8594; Agenten k&#246;nnen autonom und iterativ weiterarbeiten, bis das Ergebnis die Erfolgskriterien erf&#252;llt.</p><p>3. Und wie sonst will man bei jeder Iteration die Korrektheit von so viel Code pr&#252;fen?</p>]]></content:encoded></item><item><title><![CDATA[Where humans matter: Agentic Coding in Practice]]></title><description><![CDATA[What I Learned from AI-Assisted Software Development and How I Approach It Today]]></description><link>https://blog.fluxum.net/p/where-humans-matter-agentic-coding</link><guid isPermaLink="false">https://blog.fluxum.net/p/where-humans-matter-agentic-coding</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Tue, 09 Dec 2025 18:06:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!y_oj!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa142b85f-3d35-4a80-bdac-1835f765cd9e_512x512.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1>Agentic Coding: What I&#8217;ve learned and how I approach it today</h1><p>The discussion about agentic coding fluctuates between two extremes: &#8220;AI will solve everything&#8221; on the one hand, &#8220;It&#8217;s all just hype&#8221; on the other.</p><p>Both positions fall short. After months of intensive work with coding agents, I would like to share with you what I have learned in the process &#8211; and how my way of working has changed.</p><h2>The current state of affairs: 7 theses</h2><p>Before I get to my own specific experiences, here are 7 core theses written by Simon Wardley, which I have supplemented with my own perspective:</p><p><strong>Development is not yet engineering.</strong> While testing has become a systematic discipline through practices such as TDD, development remains largely intuition-driven. There are patterns, but no consistent system. Agentic coding could be a catalyst for this transformation, if we approach it correctly.</p><p><strong>Small, contextual tools beat monoliths with LLM on top.</strong> The prevailing approach of simply enriching existing systems with LLM capabilities does not exploit the potential. More effective are combinable tools with clear inputs, outputs, and specific application contexts.</p><p><strong>LLMs are coherence machines, not truth machines.</strong> They optimize for plausibility, not correctness. This makes them valuable for drafting and exploration, but unreliable for final decisions without human validation.</p><p><strong>Code is more than functionality &#8211; structure is the real decision.</strong> Architectural decisions manifest themselves in code. LLMs can generate functionality, but structural decisions require an understanding of the system.</p><p><strong>The key question: Where do humans stand in the decision-making process?</strong> It&#8217;s not about whether AI is used, but where human judgment remains indispensable. This boundary must be drawn consciously.</p><p><strong>Practices are still evolving.</strong> What is considered state of the art today may be obsolete tomorrow. Beware of hasty best practices.</p><p><strong>Experimentation is fine, but with an awareness of the terrain.</strong> Speed without direction is just getting lost quickly.</p><h2>My approach today</h2><p>These theories align well with my experiences. However, theory is one thing and daily practice is another. Here&#8217;s what works for me.</p><h3>A deliberately modular setup</h3><p>I don&#8217;t like working with fully integrated solutions. Not on principle, but because they don&#8217;t work optimally for my workflow.</p><p>My setup consists of three components:</p><ol><li><p>An IDE, such as IntelliJ IDEA, which allows me to keep track of the code. I can quickly check where everything is located. Git integration is extremely important here &#8212; it makes changes traceable and reversible. IntelliJ can do almost everything I need, including inspecting databases. Unfortunately, with power comes complexity. For smaller projects, I prefer the ZED editor because it&#8217;s more streamlined and intuitive.</p></li><li><p>I use the terminal (preferably Ghostty) with my coding agent, which is currently mainly Claude Code. There, I give instructions, observe, and control.</p></li><li><p>I use an LLM chat window for conceptual work. At the beginning of a project, I use it to work through ideas and organize them in a document before writing code.</p></li></ol><p>This three-way split is no coincidence. It corresponds to the principle of specialized tools: each component has its strengths, none tries to be everything.</p><p>I use other specialized tools here and there, such as the GitHub Desktop app. But at its core, these three tools are the ones I use.</p><h3>Sub-agents as the key</h3><p>Perhaps the most important lesson learned in recent months is that specialized sub-agents deliver significantly better results than general-purpose agents. The reason is simple&#8212;the tailored context makes all the difference.</p><p>Two examples from my experience:</p><p><strong>Quality assurance:</strong> A sub-agent exclusively responsible for quality assurance checks against specified guidelines and documentation. It does not advise; it validates. This is essentially TDD thinking at the agent level &#8212; explicit standards instead of intuition.</p><p><strong>UI design:</strong> I achieve significantly better results when designing user interfaces with a specialized design sub-agent. I specify the direction the design should take and which design principles apply. The agent generates designs within these guidelines instead of working in a vacuum.</p><p>In both cases, the lever is the specialized context and the focused system prompt of the sub-agent, not the general intelligence of the model.</p><h3>Validating coherence</h3><p>Yes, LLM output has misled me before. In fact, it was precisely because it sounded plausible. The coherence was there, but the truth was not.</p><p>My validation process is two-stage. First, I verify what I can myself. For everything else, I use specialized sub-agents with internet access that can verify facts. However, it&#8217;s crucial to note that ultimately, humans remain responsible. The sub-agents are tools, not decision-makers.</p><p>Hallucinations don&#8217;t like to stay alone. Where one thing is wrong, other things are often invalid.</p><h3>Keeping an eye on structure</h3><p>When does generated code become problematic? Most obviously, when source code files become too large. There are too many lines. Too much functionality in individual functions.</p><p>My approach: I let almost everything be generated. If I want to make changes, I let the agent adapt and then check it. Experience shows that this is faster than writing it myself, unless the changes are minor restructuring or corrections. In that case, I intervene directly.</p><p>However, I am responsible for the structure. I decide when a file becomes too large, when functionality needs to be split up, and what the architecture and refactorings should look like. I usually define the architecture before coding begins and document it in Markdown files.</p><h3>The real problem is communication</h3><p>Ultimately, humans must decide if what has been generated is good enough. Human judgment is indispensable because only humans can determine if they have received what they wanted.</p><p>Here lies an uncomfortable truth: Even with AI, the problem is often communication. The question is not &#8220;Can AI do that?&#8221; but &#8220;Can I articulate what I want?&#8221; This is not a new insight&#8212;anyone who has ever written requirements knows this. But with Agentic Coding, it becomes immediately apparent.</p><h3>Not balance, but a pendulum</h3><p>Is there a perfect balance between trying things out quickly and understanding what I&#8217;m doing? I don&#8217;t think so. It&#8217;s more like swinging back and forth.</p><p>I try out ideas to see if they lead to reasonable results. At the latest, I need to understand what I&#8217;m doing when I&#8217;m convinced of the direction and want to check its viability for the future.</p><p>That&#8217;s more honest than any best practice. Practices are still evolving. Anyone who claims to have found the optimal workflow today will be working differently in six months.</p><h2>The open question</h2><p>The core architectural question of our time remains: Where do we place people in the decision-making process?</p><p>This is not a technical question. It is a question of organization, responsibility, and design. Every organization must answer it for itself&#8212;consciously, rather than implicitly through tool adoption.</p><p>As of today, my answer is: People decide on the structure, validate the results, and take responsibility. Agents generate, specialize, and accelerate. The boundary is not fixed; it shifts with every learning experience.</p><p>That is precisely what makes this such an interesting time.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Wo der Mensch bleibt: Agentic Coding in der Praxis]]></title><description><![CDATA[Was ich bei der KI-unterst&#252;tzten Softwareentwicklung gelernt habe und wie ich es heute angehe]]></description><link>https://blog.fluxum.net/p/wo-der-mensch-bleibt-agentic-coding</link><guid isPermaLink="false">https://blog.fluxum.net/p/wo-der-mensch-bleibt-agentic-coding</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Tue, 09 Dec 2025 16:54:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!y_oj!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa142b85f-3d35-4a80-bdac-1835f765cd9e_512x512.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1>Agentic Coding: Was ich gelernt habe und wie ich es heute angehe</h1><p>Die Diskussion um Agentic Coding schwankt zwischen zwei Extremen: &#8220;AI wird alles l&#246;sen&#8221; auf der einen Seite, &#8220;Alles nur Hype&#8221; auf der anderen.</p><p>Beide Positionen greifen zu kurz. Nach Monaten intensiver Arbeit mit Coding-Agents m&#246;chte ich mit euch teilen, was ich dabei gelernt habe &#8211; und wie sich meine Arbeitsweise ver&#228;ndert hat.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Danke f&#252;rs Lesen von fluxum engineering! Abonnieren Sie kostenlos, um neue Posts zu erhalten und meine Arbeit zu unterst&#252;tzen.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Der aktuelle Stand: 7 Thesen</h2><p>Bevor ich zu meinen konkreten, eigenen Erfahrungen komme, hier 7 Kernthesen, zu denen Simon Wardley geschrieben hat und die ich durch meine Perspektive erg&#228;nzt habe:</p><p><strong>Entwicklung ist noch kein Engineering.</strong> W&#228;hrend Testing durch Praktiken wie TDD zu einer systematischen Disziplin geworden ist, bleibt die Entwicklung zum gr&#246;&#223;ten Teil intuitions-getrieben. Es gibt Patterns, aber keine durchg&#228;ngige Systematik. Agentic Coding k&#246;nnte ein Katalysator f&#252;r diese Transformation sein &#8211; wenn wir es richtig angehen.</p><p><strong>Kleine, kontextuelle Tools schlagen Monolithen mit aufgesetztem LLM.</strong> Der vorherrschende Ansatz, bestehende Systeme einfach mit LLM-F&#228;higkeiten anzureichern, nutzt das Potenzial nicht aus. Effektiver sind kombinierbare Tools mit klaren Inputs, Outputs und spezifischem Anwendungskontext.</p><p><strong>LLMs sind Koh&#228;renz-Maschinen, keine Wahrheits-Maschinen.</strong> Sie optimieren auf Plausibilit&#228;t, nicht auf Korrektheit. Das macht sie wertvoll f&#252;r Entw&#252;rfe und Exploration, aber unzuverl&#228;ssig f&#252;r finale Entscheidungen ohne menschliche Validierung.</p><p><strong>Code ist mehr als Funktionalit&#228;t &#8211; Struktur ist die eigentliche Entscheidung.</strong> Architektonische Entscheidungen manifestieren sich im Code. LLMs k&#246;nnen Funktionalit&#228;t generieren, aber strukturelle Entscheidungen erfordern Systemverst&#228;ndnis.</p><p><strong>Die Kernfrage: Wo stehen Menschen im Entscheidungsprozess?</strong> Es geht nicht darum, ob AI eingesetzt wird, sondern wo menschliches Urteil unverzichtbar bleibt. Diese Grenzziehung muss bewusst getroffen werden.</p><p><strong>Die Praktiken sind noch im Entstehen.</strong> Was heute als State of the Art gilt, kann morgen &#252;berholt sein. Vorsicht vor vorschnellen Best Practices.</p><p><strong>Experimentieren ja, aber mit Bewusstsein f&#252;r das Terrain.</strong> Geschwindigkeit ohne Richtung ist nur schnelles Verirren.</p><h2>Wie ich es heute angehe</h2><p>Diese Thesen decken sich gut mit meinen Erfahrungen. Aber Theorie ist das eine, die t&#228;gliche Praxis das andere. Hier ist, was bei mir funktioniert.</p><h3>Ein bewusst modulares Setup</h3><p>Ich arbeite ungern mit komplett integrierten L&#246;sungen. Nicht aus Prinzip, sondern weil sie nicht optimal f&#252;r meinen Workflow funktionieren.</p><p>Mein Setup besteht aus drei Komponenten:</p><ol><li><p>Eine IDE wie IntelliJ IDEA, weil ich hier den &#220;berblick &#252;ber den Code behalten kann. Schnell pr&#252;fen, wo was untergebracht ist. Die Git-Integration ist dabei eminent wichtig &#8211; sie macht &#196;nderungen nachvollziehbar und reversibel. IntelliJ kann nahezu alles (inkl. Datenbanken inspizieren), was ich brauche. Leider kommt mit M&#228;chtigkeit eine gewisse Un&#252;bersichtlichkeit. F&#252;r kleinere Projekte nutze ich gerne den ZED-Editor, der schlanker und &#252;bersichtlicher ist.</p></li><li><p>Das Terminal (am liebsten Ghostty) mit meinem Coding-Agent, aktuell haupts&#228;chlich Claude Code. Hier gebe ich Anweisungen, beobachte und steuere.</p></li><li><p>Ein LLM-Chat-Fenster f&#252;r die konzeptionelle Arbeit. Gerade am Anfang eines Projekts nutze ich es, um Ideen durchzuarbeiten und in ein Dokument zu bringen, bevor Code entsteht.</p></li></ol><p>Diese Dreiteilung ist kein Zufall. Sie entspricht dem Prinzip der spezialisierten Tools: Jede Komponente hat ihre St&#228;rke, keine versucht alles zu sein.</p><p>Hier und da nutze ich noch andere spezialisierte Tools, wie die GitHub Desktop App. Aber im Kern sind es diese drei, die ich benutze.</p><h3>Sub-Agents als Schl&#252;ssel</h3><p>Das vielleicht wichtigste Learning der letzten Monate: Spezialisierte Sub-Agents liefern deutlich bessere Ergebnisse als ein General-Purpose-Agent f&#252;r alle Aufgaben. Der Grund ist simpel &#8211; der zugeschnittene Kontext macht den Unterschied.</p><p>Zwei Beispiele aus meiner Praxis:</p><p><strong>Qualit&#228;tssicherung:</strong> Ein Sub-Agent, der ausschlie&#223;lich f&#252;r QA zust&#228;ndig ist, pr&#252;ft gegen vorgegebene Richtlinien und Dokumentationen. Er r&#228;t nicht, er validiert. Das ist im Grunde TDD-Denken auf Agent-Ebene &#8211; explizite Standards statt Intuition.</p><p><strong>UI-Design:</strong> Bei der Gestaltung von Benutzeroberfl&#228;chen erziele ich mit einem spezialisierten Design-Sub-Agent wesentlich bessere Ergebnisse. Ich kann Vorgaben machen, in welche Richtung das Design gehen soll, welche Designprinzipien gelten. Der Agent generiert innerhalb dieser Leitplanken, statt im luftleeren Raum zu arbeiten.</p><p>In beiden F&#228;llen ist der spezialisierte Kontext und der fokussierte Systemprompt des Sub-Agents der Hebel, nicht die allgemeine Intelligenz des Modells.</p><h3>Koh&#228;renz validieren</h3><p>Ja, LLM-Output hat mich schon in die Irre gef&#252;hrt. Tats&#228;chlich gerade weil er plausibel klang. Die Koh&#228;renz war da, die Wahrheit nicht.</p><p>Meine Validierung l&#228;uft zweistufig: Ich pr&#252;fe erst einmal selbst, was ich pr&#252;fen kann. F&#252;r alles andere nutze ich spezialisierte Sub-Agents mit Internetzugriff, die Fakten verifizieren k&#246;nnen. Aber &#8211; und das ist entscheidend &#8211; schlussendlich bleibt der Mensch verantwortlich. Die Sub-Agents sind Hilfsmittel, keine Entscheider.</p><p>Und Halluzinationen bleiben nicht gerne allein. Da, wo eine Sache nicht stimmt, sind oft andere Dinge nicht valide.</p><h3>Struktur im Blick behalten</h3><p>Wann wird generierter Code zum Problem? Am offensichtlichsten, wenn Source-Code-Files einfach zu gro&#223; werden. Zu viele Zeilen. Zu viel Funktionalit&#228;t in einzelnen Funktionen.</p><p>Mein Ansatz: Ich lasse fast alles generieren. Wenn ich &#196;nderungen will, lasse ich die Agent anpassen und &#252;berpr&#252;fe anschlie&#223;end. Die Erfahrung zeigt, dass das schneller geht als selbst zu schreiben &#8211; es sei denn, es sind kleinere Umstrukturierungen oder Korrekturen. Da greife ich direkt ein.</p><p>Die Struktur aber bleibt meine Verantwortung. Ich entscheide, wann ein File zu gro&#223; wird, wann Funktionalit&#228;t aufgeteilt werden muss, wie Refactorings aussehen sollen und die Architektur sein soll. Gerade die Architektur lege ich meist fest, bevor das Codieren beginnt, und dokumentiere sie in Markdown-Dateien.</p><h3>Das eigentliche Problem ist Kommunikation</h3><p>Schlussendlich muss der Mensch die Entscheidung treffen, ob das Generierte gut genug ist. Das menschliche Urteil bleibt unverzichtbar, weil nur der Mensch beurteilen kann, ob er bekommen hat, was er wollte.</p><p>Und hier liegt eine unbequeme Wahrheit: Auch mit KI ist das Problem h&#228;ufig die Kommunikation. Nicht &#8220;kann die KI das?&#8221;, sondern &#8220;kann ich artikulieren, was ich will?&#8221;. Das ist keine neue Erkenntnis &#8211; jeder, der je Requirements geschrieben hat, kennt das. Aber mit Agentic Coding wird es unmittelbar sp&#252;rbar.</p><h3>Keine Balance, sondern ein Pendel</h3><p>Gibt es eine perfekte Balance zwischen schnell ausprobieren und verstehen, was ich tue? Ich glaube nicht. Es ist eher ein Hin- und Herschwingen.</p><p>Manche Ideen probiere ich einfach aus, um zu sehen, ob sie zu einem vern&#252;nftigen Ergebnis f&#252;hren. Verstehen, was ich tue, muss ich sp&#228;testens dann, wenn ich von der Richtung &#252;berzeugt bin &#8211; und pr&#252;fen will, ob sie tragf&#228;hig f&#252;r die Zukunft ist.</p><p>Das ist ehrlicher als jede Best Practice. Die Praktiken entwickeln sich noch. Wer heute behauptet, den optimalen Workflow gefunden zu haben, wird in sechs Monaten anders arbeiten.</p><h2>Die offene Frage</h2><p>Die architektonische Kernfrage unserer Zeit bleibt: Wo platzieren wir Menschen im Entscheidungsprozess?</p><p>Das ist keine technische Frage. Es ist eine Frage der Organisation, der Verantwortung, des Designs. Jede Organisation muss sie f&#252;r sich beantworten &#8211; bewusst, nicht durch Tool-Adoption implizit.</p><p>Meine Antwort, Stand heute: Der Mensch entscheidet &#252;ber Struktur, validiert Ergebnisse, tr&#228;gt Verantwortung. Die Agents generieren, spezialisieren, beschleunigen. Die Grenze ist nicht fix, sie verschiebt sich mit jedem Learning.</p><p>Und genau das macht diese Zeit so interessant.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Danke f&#252;rs Lesen von fluxum engineering! Abonnieren Sie kostenlos, um neue Posts zu erhalten und meine Arbeit zu unterst&#252;tzen.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Figure 03: Faszinierend, beeindruckend – und irgendwie unheimlich]]></title><description><![CDATA[Der erste humanoide Roboter, der in unseren privatesten R&#228;umen operiert &#8211; und wir haben keine Instinkte daf&#252;r, wie wir damit umgehen sollen.]]></description><link>https://blog.fluxum.net/p/figure-03-faszinierend-beeindruckend</link><guid isPermaLink="false">https://blog.fluxum.net/p/figure-03-faszinierend-beeindruckend</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Thu, 09 Oct 2025 22:40:17 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/175740098/14422acddcce2990db475f1f7050cb7d.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Figure 03 bewegt sich durch eine Wohnung. Langsam, bed&#228;chtig, mit einer Entschlossenheit, die keinen Raum f&#252;r Zweifel l&#228;sst. Kein Z&#246;gern, kein Stolpern &#8211; nur diese gleichm&#228;&#223;ige, unaufhaltsame Vorw&#228;rtsbewegung, als h&#228;tte der Roboter alle Zeit der Welt und w&#252;sste genau, wohin er will. </p><p>Dann dreht er sich zur Kamera. </p><p>Kein Augenkontakt &#8211; nur ein schwarzes Antlitz mit ein paar blinkenden Lichtern. Keine Mimik, kein L&#228;cheln, keine Unsicherheit. Nur Absicht.</p><p>Ich denke an C-3PO. An seine zappeligen, fast schusseligen Bewegungen, die ihn harmlos machten. An R2-D2, der piepste und gegen W&#228;nde fuhr. Figure 03 macht nichts davon. Er ist kompetent. Pr&#228;zise. Und genau das, gerade das, f&#252;hlt sich falsch an.</p><p>Faszinierend. Beeindruckend. Und trotzdem irgendwie ... unheimlich. Vielleicht habe ich zu viele dystopische Filme gesehen. Oder mein Instinkt sagt mir etwas, das ich ernst nehmen sollte.</p><p>Denn Figure 03 ist nicht der erste humanoide Roboter. Aber er ist der erste, der explizit daf&#252;r gebaut wurde, in meinem Zuhause herumzulaufen. Und das macht einen Unterschied.</p><h2>Der Unterschied: Verletzlichkeit</h2><p>Warum f&#252;hlt sich Figure 03 anders an als all die anderen smarten Ger&#228;te, mit denen wir l&#228;ngst leben?</p><p>Alexa und Siri h&#246;ren zu. Sie sammeln Daten, analysieren unsere Gewohnheiten, kennen unsere Stimmen. Aber sie stehen in einer Ecke. Wir wissen, wo sie sind. Wir haben gelernt, damit zu leben &#8212; oder es zu verdr&#228;ngen.</p><p>Staubsauger-Roboter bewegen sich durch unsere Wohnungen, tauchen unter Sofas, kartografieren unsere R&#228;ume. Aber sie sind offensichtlich dumm. Sie sind simpel und vorhersehbar. Wenn sie gegen die Wand fahren, lachen wir. Keine Bedrohung, weil sie so eindeutig Maschine sind.</p><p>Figure 03 ist anders. Er ist autonom und entscheidet selbst, wohin er geht. Er kann eigenst&#228;ndig handeln: T&#252;ren &#246;ffnen, Dinge greifen, die Umgebung aktiv ver&#228;ndern. Und er ist allgegenw&#228;rtig. Er ist nicht nur f&#252;r das Wohnzimmer gedacht, sondern f&#252;r alle R&#228;ume: K&#252;che, Schlafzimmer, Bad. Dort, wo wir am verletzlichsten sind.</p><p>Das Problem ist nicht die Technologie. Das Problem ist, dass Figure 03 in R&#228;umen agiert, in denen wir am verletzlichsten sind: w&#228;hrend wir schlafen, streiten, weinen, nackt durchs Bad laufen. </p><p>Wir haben keine evolution&#228;ren Instinkte daf&#252;r, wie man mit einem autonomen, beobachtenden, handlungsf&#228;higen Ding im eigenen Schlafzimmer umgeht.</p><p>Wir haben gelernt, damit zu leben, dass Google mehr &#252;ber uns wei&#223; als unsere Mutter. Dass Social-Media-Plattformen unsere Stimmungen erkennen, bevor wir sie selbst bemerken. Aber das passiert irgendwo da drau&#223;en, in der Cloud, abstrakt. </p><p>Figure 03 ist nicht abstrakt. Er steht neben deinem Bett. Mit seinem schwarzen Antlitz. Keine Seele dahinter. Und er geht langsam, sehr langsam, zur T&#252;r.</p><h2>Das eigentlich Beunruhigende</h2><p>Aber hier kommt das eigentlich Beunruhigende: In f&#252;nf, vielleicht zehn Jahren wird das alles normal sein. Figure 03, oder sein Nachfolger, wird so selbstverst&#228;ndlich sein wie heute ein Smartphone. Und genau das sollte uns mehr zu denken geben als die Technologie selbst.</p><p>Die Entwicklung beschleunigt sich rasant. Figure 01, 02, 03 &#8211; innerhalb k&#252;rzester Zeit. Parallel dazu die Spr&#252;nge bei Large Language Models: GPT-3, GPT-4 und -5, Claude, Gemini. </p><p>Wir haben uns so an exponentiellen Fortschritt gew&#246;hnt, dass wir bereits entt&#228;uscht sind, wenn die n&#228;chste Verbesserung ein paar Monate l&#228;nger braucht oder nicht sofort offensichtlich ist. Die Science Fiction von vor zehn Jahren ist heute Produktank&#252;ndigung. Und wir zucken kaum noch.</p><p>Vor 20 Jahren h&#228;tten wir es f&#252;r absurd gehalten, dass Konzerne unsere Bewegungsprofile haben. Dass sie vorhersagen k&#246;nnen, wann wir schwanger sind, depressiv werden oder den Job wechseln. </p><p>Heute? Achselzucken: &#8220;Was soll man machen?&#8221;</p><p>Gew&#246;hnung ist jedoch kein neutraler Prozess. Wenn wir uns an Technologie gew&#246;hnen, verlieren wir die F&#228;higkeit, die grundlegende Frage zu stellen: <br>&#8222;Will ich das wirklich?&#8221; </p><p>Stattdessen wird die Frage lauten: &#8222;Warum hast du noch keinen?&#8221; </p><p>In zehn Jahren wird jemand, der Figure 03 ablehnt, vielleicht klingen wie jemand, der heute &#8222;kein Internet&#8221; will &#8211; weltfremd, r&#252;ckst&#228;ndig, irrational.</p><p>Es geht nicht nur um Technologie. Es geht um die Frage: </p><ul><li><p>Wohin wollen wir als Menschen? </p></li><li><p>Welche Art von Zuhause wollen wir haben? </p></li><li><p>Welche Art von Beziehungen &#8211; zu uns selbst, zu anderen Menschen, zu den Dingen, die uns umgeben? </p></li></ul><p>Diese Fragen werden nicht durch Produktank&#252;ndigungen beantwortet, sondern durch unsere Entscheidungen. Aber nur, wenn wir sie noch stellen, bevor sie irrelevant werden.</p><p>Der Hersteller wei&#223; das. Figure 03 hat waschbare Kleidung, sanfte Materialien, wireless charging. Die Design-Entscheidungen sind nicht zuf&#228;llig. Sie wollen, dass wir ihn als Mitbewohner und nicht als Maschine sehen. Und die Chancen daf&#252;r stehen gut, denn der Nutzen ist gro&#223;.</p><h2>Die Frage bleibt</h2><p>W&#252;rde ich Figure 03 in mein Zuhause lassen? </p><p>Ehrlich gesagt, wei&#223; ich es nicht. </p><p>Die Technologie ist beeindruckend. Die M&#246;glichkeiten sind verlockend. Vielleicht ist mein Unbehagen aber auch nur eine irrationale Reaktion auf zu viele dystopische Filme.</p><p>Aber vielleicht ist es auch das Letzte, was uns noch sagt: <br>&#8222;Halt. Warte. Denk nochmal nach.&#8221; </p><p>Bevor wir es normalisieren. Bevor die Frage nicht mehr lautet, ob wir es wollen, sondern warum wir es nicht haben.</p><p>Frag mich in f&#252;nf Jahren nochmal &#8211; vielleicht finde ich die Frage dann absurd. Vielleicht habe ich mich dann daran gew&#246;hnt, in dieses schwarze Antlitz zu schauen. </p><p>Oder es ist l&#228;ngst ein Gesicht. Und das w&#228;re vielleicht noch unheimlicher.</p><p></p><div><hr></div><p>Quelle des Videos: Introducing Figure 03 <a href="https://www.figure.ai/news/introducing-figure-03">https://www.figure.ai/news/introducing-figure-03</a></p>]]></content:encoded></item><item><title><![CDATA[Wieviel Arbeitszeit verbringen Softwareentwickler mit dem eigentlichen Schreiben von Code?]]></title><description><![CDATA[Es ist ein &#252;berraschend geringer Anteil]]></description><link>https://blog.fluxum.net/p/wieviel-arbeitszeit-verbringen-softwareentwickle</link><guid isPermaLink="false">https://blog.fluxum.net/p/wieviel-arbeitszeit-verbringen-softwareentwickle</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Fri, 16 May 2025 12:57:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!nwu_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c042fe-0673-4b27-9936-b5faba097f3c_1024x455.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Softwareentwickler verbringen einen &#252;berraschend geringen Anteil ihrer Arbeitszeit mit dem eigentlichen Schreiben von Code. Aktuelle Studien und Analysen zeigen, dass dieser Anteil je nach Quelle und Definition zwischen 10&#8239;% und 30&#8239;% liegt.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nwu_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c042fe-0673-4b27-9936-b5faba097f3c_1024x455.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nwu_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c042fe-0673-4b27-9936-b5faba097f3c_1024x455.png 424w, https://substackcdn.com/image/fetch/$s_!nwu_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c042fe-0673-4b27-9936-b5faba097f3c_1024x455.png 848w, https://substackcdn.com/image/fetch/$s_!nwu_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c042fe-0673-4b27-9936-b5faba097f3c_1024x455.png 1272w, https://substackcdn.com/image/fetch/$s_!nwu_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c042fe-0673-4b27-9936-b5faba097f3c_1024x455.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nwu_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c042fe-0673-4b27-9936-b5faba097f3c_1024x455.png" width="1024" height="455" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98c042fe-0673-4b27-9936-b5faba097f3c_1024x455.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:455,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:523670,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.fluxum.net/i/163705922?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c042fe-0673-4b27-9936-b5faba097f3c_1024x455.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nwu_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c042fe-0673-4b27-9936-b5faba097f3c_1024x455.png 424w, https://substackcdn.com/image/fetch/$s_!nwu_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c042fe-0673-4b27-9936-b5faba097f3c_1024x455.png 848w, https://substackcdn.com/image/fetch/$s_!nwu_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c042fe-0673-4b27-9936-b5faba097f3c_1024x455.png 1272w, https://substackcdn.com/image/fetch/$s_!nwu_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c042fe-0673-4b27-9936-b5faba097f3c_1024x455.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Danke f&#252;rs Lesen von fluxum engineering! Abonnieren Sie kostenlos, um neue Posts zu erhalten und meine Arbeit zu unterst&#252;tzen.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3><strong>Verteilung der Arbeitszeit</strong></h3><ul><li><p><strong>Aktives Codieren:</strong> Laut einer Analyse von Software.com verbringen Entwickler im Durchschnitt nur etwa 52 Minuten pro Tag mit aktivem Codieren, was etwa 10&#8239;% ihrer Arbeitszeit entspricht .</p></li><li><p><strong>Anwendungsentwicklung:</strong> Eine IDC-Studie aus dem Jahr 2024 ergab, dass Entwickler etwa 16&#8239;% ihrer Zeit mit der Entwicklung von Anwendungen verbringen. Der Gro&#223;teil ihrer Zeit flie&#223;t in operative und unterst&#252;tzende Aufgaben wie CI/CD-Prozesse, Sicherheitsma&#223;nahmen und Performance-Monitoring .</p></li><li><p><strong>Meetings:</strong> Eine Studie von Clockwise zeigt, dass Entwickler durchschnittlich ein Drittel ihrer Arbeitszeit in Meetings verbringen. Zus&#228;tzlich fallen etwa 6,3 Stunden pro Woche auf fragmentierte Zeit, in der keine konzentrierte Arbeit m&#246;glich ist .</p></li><li><p><strong>Code-Wartung:</strong> Laut einer Umfrage von Tidelift verbringen Entwickler durchschnittlich 30&#8239;% ihrer Zeit mit der Wartung von Code, einschlie&#223;lich der Pflege von Open-Source-Komponenten .</p></li></ul><h3><strong>Weitere T&#228;tigkeiten</strong></h3><p>Neben dem Codieren sind Entwickler mit einer Vielzahl anderer Aufgaben besch&#228;ftigt, darunter:</p><ul><li><p><strong>Debugging:</strong> Embedded-Entwickler verbringen etwa 40&#8239;% ihrer Zeit mit dem Debuggen von Code .</p></li><li><p><strong>Kommunikation:</strong> Studien zeigen, dass Entwickler mehr als 50&#8239;% ihrer Zeit mit Kommunikation verbringen, w&#228;hrend das eigentliche Programmieren nur etwa 10&#8239;% bis 15&#8239;% ihrer Zeit ausmacht .</p></li><li><p><strong>Anwendungsprobleme:</strong> Eine Studie von Cisco ergab, dass Entwickler &#252;ber die H&#228;lfte ihrer Arbeitszeit (57&#8239;%) mit der Behebung von Performance-Problemen in bestehenden Anwendungen verbringen .</p></li></ul><h3><strong>Fazit</strong></h3><p>Die Vorstellung, dass Entwickler den Gro&#223;teil ihrer Zeit mit dem Schreiben von Code verbringen, entspricht nicht der Realit&#228;t. Vielmehr sind sie in zahlreiche andere Aufgaben eingebunden, die f&#252;r den Entwicklungsprozess ebenso entscheidend sind. Dies unterstreicht die Bedeutung eines ganzheitlichen Verst&#228;ndnisses von Entwicklerproduktivit&#228;t, das &#252;ber das reine Codieren hinausgeht.</p><p></p><div><hr></div><h4>Quellen:</h4><ul><li><p>https://www.software.com/reports/code-time-report</p></li><li><p>https://www.infoworld.com/article/3831759/developers-spend-most-of-their-time-not-coding-idc-report.html</p></li><li><p>https://www.heise.de/news/Softwareentwickler-verbringen-ein-Drittel-ihrer-Arbeitszeit-in-Meetings-7236712.html</p></li><li><p>https://www.sonarsource.com/blog/developers-spend-30-of-their-time-on-code-maintenance-our-latest-survey-results-part-3/</p></li><li><p>https://en.wikipedia.org/wiki/Software_Peter_principle</p></li><li><p>https://ap-verlag.de/entwickler-verbraten-ueber-die-haelfte-ihrer-arbeitszeit-fuer-das-beheben-von-anwendungsproblemen/88394/</p></li></ul><p></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Danke f&#252;rs Lesen von fluxum engineering! Abonnieren Sie kostenlos, um neue Posts zu erhalten und meine Arbeit zu unterst&#252;tzen.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Bottlenecks erkennen statt "Retro-Müdigkeit"]]></title><description><![CDATA[&#8222;Unsere Retros bringen nichts mehr."]]></description><link>https://blog.fluxum.net/p/bottlenecks-erkennen-statt-retro</link><guid isPermaLink="false">https://blog.fluxum.net/p/bottlenecks-erkennen-statt-retro</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Wed, 14 May 2025 16:39:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8Z0A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512f139f-ab16-44a3-9c27-eb12cb53634f_1024x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#8222;Unsere Retros bringen nichts mehr."<br><br>Das h&#246;re ich immer wieder.<br><br>Das Problem? <br>&#8594; Zu viele Aktionspunkte, <br>&#8594; zu wenig Fokus <br>&#8594; und das Team verliert die Motivation, weil sich nichts &#228;ndert.<br><br>Ein klassisches Symptom einer "Retro-M&#252;digkeit".<br><br>Die L&#246;sung ist &#252;berraschend einfach:<br>Ein einst&#252;ndiger Value Stream Mapping Workshop.<br><br>&#8222;Ist das nicht eher etwas f&#252;r die produzierende Industrie?&#8220;<br>Nein. Es ist etwas f&#252;r Teams, die Ergebnisse liefern wollen &#8211; schneller, klarer, wirkungsvoller.<br><br>Im Workshop wird sichtbar:<br><br>&#9642;&#65039; Wie Entscheidungen blockiert werden, weil keiner das gro&#223;e Ganze sieht.<br>&#9642;&#65039; Wo Designs h&#228;ngen bleiben, weil Feedback-Schleifen zu sp&#228;t kommen.<br>&#9642;&#65039; Warum Features langsam geliefert werden, obwohl das Team eigentlich gut arbeitet.<br>&#9642;&#65039; Welche DevOps-Prinzipien gewollt &#8211; aber nicht gelebt werden.<br><br><br>Das Ergebnis?<br>&#8627; Statt 15 halbherzigen Aktionspunkten: 3 klare Engp&#228;sse identifizieren<br>&#8627; Die wahren Blockaden werden sichtbar - es liegt nicht an den Menschen, sondern dem Arbeitsfluss <br>&#8627; Das Team hat wieder ein gemeinsames Bild der Situation<br>&#8627; F&#252;hrungskr&#228;fte k&#246;nnen gezielt unterst&#252;tzen, statt sich zu verzetteln<br><br>Manchmal braucht es einen Perspektivwechsel, um aus einer festgefahrenen Situation herauszukommen.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8Z0A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512f139f-ab16-44a3-9c27-eb12cb53634f_1024x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8Z0A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512f139f-ab16-44a3-9c27-eb12cb53634f_1024x1536.png 424w, https://substackcdn.com/image/fetch/$s_!8Z0A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512f139f-ab16-44a3-9c27-eb12cb53634f_1024x1536.png 848w, https://substackcdn.com/image/fetch/$s_!8Z0A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512f139f-ab16-44a3-9c27-eb12cb53634f_1024x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!8Z0A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512f139f-ab16-44a3-9c27-eb12cb53634f_1024x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8Z0A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512f139f-ab16-44a3-9c27-eb12cb53634f_1024x1536.png" width="1024" height="1536" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/512f139f-ab16-44a3-9c27-eb12cb53634f_1024x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1536,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1672097,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.fluxum.net/i/163565820?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512f139f-ab16-44a3-9c27-eb12cb53634f_1024x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8Z0A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512f139f-ab16-44a3-9c27-eb12cb53634f_1024x1536.png 424w, https://substackcdn.com/image/fetch/$s_!8Z0A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512f139f-ab16-44a3-9c27-eb12cb53634f_1024x1536.png 848w, https://substackcdn.com/image/fetch/$s_!8Z0A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512f139f-ab16-44a3-9c27-eb12cb53634f_1024x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!8Z0A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F512f139f-ab16-44a3-9c27-eb12cb53634f_1024x1536.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><br><br>Wenn du Verantwortung tr&#228;gst &#8211; als F&#252;hrungskraft, Designer:in, Produktmensch oder Engineer &#8211; und wissen willst, wo es bei euch wirklich klemmt, dann lade ich dich ein:<br><br>Mach statt Retro mal ein Value Stream Mapping.</p><p><strong>PS:</strong> Vielleicht fragt sich jetzt der eine oder andere: "Aber wie genau funktioniert dieses Value Stream Mapping bei Software-Teams?"<br><br>Im Kern geht es darum, den kompletten Weg einer Anforderung - vom ersten Gedanken bis zur Nutzung durch den Kunden - zu visualisieren.<br><br>Das Besondere: Wir messen nicht nur die aktive Arbeitszeit, sondern auch die Wartezeit zwischen den Schritten.<br><br>Bei einem Team zeigte sich: Von 21 Tagen Durchlaufzeit waren nur 3 Tage tats&#228;chliche Arbeitszeit. Der Rest? Warten und Blockaden.<br><br>Diese Transparenz ver&#228;ndert vieles.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Danke f&#252;rs Lesen von fluxum engineering! Abonnieren Sie kostenlos, um neue Posts zu erhalten und meine Arbeit zu unterst&#252;tzen.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Von Silos zu High-Performance Teams]]></title><description><![CDATA[Wie DevOps-Coaching Teams aus der Produktivit&#228;tsfalle f&#252;hrt]]></description><link>https://blog.fluxum.net/p/von-silos-zu-high-performance-teams</link><guid isPermaLink="false">https://blog.fluxum.net/p/von-silos-zu-high-performance-teams</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Fri, 01 Nov 2024 10:58:25 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/150859679/e7afb6f5e515e71ea5a1602d32c00301.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Was passiert, wenn hochqualifizierte IT-Teams daran scheitern, ihr volles Potenzial zu entfalten? </p><p>In diesem 15-min&#252;tigen Deep Dive<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> geht es darum, </p><ol><li><p>welche Probleme die Produktivit&#228;t in der Softwareentwicklung ausbremsen und </p></li><li><p>was Sie dagegen tun k&#246;nnen.</p></li></ol><p>Der Dialog zeigt auf, welche konkreten Schritte Sie unternehmen k&#246;nnen, um  Herausforderungen wie diesen zu begegnen:</p><ol><li><p><strong>Kommunikation &amp; Zusammenarbeit</strong>: warum selbst erfahrene Teams in Silos arbeiten</p></li></ol><ul><li><p>Silo-Denken zwischen Entwicklung und Operations</p></li><li><p>Teams arbeiten in "getrennten Welten"</p></li><li><p>Mangelnde Kommunikation f&#252;hrt zu Missverst&#228;ndnissen</p></li><li><p>Konflikte zwischen Teams</p><p></p></li></ul><ol start="2"><li><p><strong>Kultur &amp; Mindset</strong>: wie eine Kultur der Schuldzuweisung echtes Lernen und &#8216;Continuous Improvement&#8217; verhindert und </p></li></ol><ul><li><p>Angst vor Fehlern</p></li><li><p>Kultur der Schuldzuweisung statt Lernkultur</p></li><li><p>Widerst&#228;nde gegen Ver&#228;nderungen</p></li><li><p>Klammern an alten Gewohnheiten</p><p></p></li></ul><ol start="3"><li><p><strong>F&#252;hrung &amp; Kontrolle</strong>: warum zu viel Kontrolle die Leistung senkt</p></li></ol><ul><li><p>Angst der F&#252;hrungskr&#228;fte vor Kontrollverlust</p></li><li><p>Zu viele detaillierte Anweisungen von oben</p></li><li><p>Mangelnde Autonomie der Teams</p></li><li><p>Fehlendes Vertrauen in Team-F&#228;higkeiten</p><p></p></li></ul><ol start="4"><li><p><strong>Performance &amp; Effizienz</strong>:</p></li></ol><ul><li><p>Langsame Release-Zyklen</p></li><li><p>Verz&#246;gerungen in der Entwicklung</p></li><li><p>Qualit&#228;tsprobleme in der Software</p></li><li><p>Leistung bleibt hinter Erwartungen zur&#252;ck</p></li></ul><p>H&#246;ren Sie, wie DevOps Coaching diese Herausforderungen angeht - als nachhaltiger Weg zu besserer Zusammenarbeit und besseren Ergebnissen. </p><p>F&#252;r alle, die verstehen wollen, warum es nichts bringt, einfach nur neue Tools einzuf&#252;hren, um eine bessere Teamleistung zu erreichen.</p><p></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>als virtueller Podcast</p></div></div>]]></content:encoded></item><item><title><![CDATA[Complex or complicated: What's the difference?]]></title><description><![CDATA[Without understanding this elementary difference, you will not reach your goal]]></description><link>https://blog.fluxum.net/p/complex-or-complicated-whats-the</link><guid isPermaLink="false">https://blog.fluxum.net/p/complex-or-complicated-whats-the</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Fri, 13 Sep 2024 12:26:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!YpZt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Recognizing whether a problem is of a complicated or complex nature is a necessary prerequisite for finding a solution.</p><p>A distinction is often not made in everyday language:</p><blockquote><p>This is a complex problem.</p><p>It's a complicated system.</p></blockquote><p>Some people use complex as the intensified form of complicated. A complex problem would then be a more complicated problem.</p><h3>A fundamental difference</h3><p>The difference between a complex system and a complicated system is of a fundamental nature.</p><p>It is not a quantitative difference, but a qualitative one. This is because they behave differently. The complicated system is predictable, the complex system is unpredictable and reacts unexpectedly to changes. </p><h3>What is complicated?</h3><p>Complicated is a system that is difficult to get an overview of. Nevertheless, the complicated system can be understood by analyzing the individual parts.</p><p>For example, a mixing console is not immediately obvious to the layman. But with the help of a specialist or an instruction manual, you can learn to understand the functions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YpZt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YpZt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YpZt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YpZt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YpZt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YpZt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg" width="1456" height="972" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/c71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:972,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:265540,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YpZt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YpZt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YpZt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YpZt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h6>Photo by <a href="https://unsplash.com/@chuttersnap?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">chuttersnap</a></h6><p></p><p>Complicated therefore has something to do with not knowing and a lack of comprehensibility. </p><blockquote><p>Complexity is the measure of our ignorance. A problem (or: "unignorable event") is complicated because we do not understand it. Because we lack knowledge. This can be remedied by cramming or acquiring knowledge.</p></blockquote><p>Roberto Poli <a href="https://www.cadmusjournal.org/files/pdfreprints/vol2issue1/reprint-cj-v2-i1-complex-vs-complicated-systems-rpoli.pdf">writes</a>:</p><blockquote><p>&#8222;Complicated problems originate from causes that can be individually distinguished; they can be addressed piece&#173;-by-&#173;piece; for each input to the system there is a proportionate output; the relevant systems can be controlled and the problems they present admit permanent solutions.&#8220;</p></blockquote><p>Solutions can be found for complicated systems that will work again and again and deliver the same effect. The solutions are reproducible.</p><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/p/complex-or-complicated-whats-the?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Teilen&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.fluxum.net/p/complex-or-complicated-whats-the?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Teilen</span></a></p><h3>Complex</h3><p>Complexity means unpredictability. Complexity is the measure of the number of surprises you have to reckon with.</p><p>There is no simple cause-and-effect relationship. The influencing factors can influence or even reverse each other through interactions and feedback effects.</p><p>Complex means:</p><p>Outputs are not proportional or linear to inputs; small changes in one part of the system can cause unexpected outputs in other parts of the system or a system-wide reorganization.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Y4SP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y4SP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Y4SP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Y4SP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Y4SP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y4SP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/bb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:383208,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Y4SP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Y4SP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Y4SP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Y4SP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h6>Photo by <a href="https://unsplash.com/@hikeshaw?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">H Shaw</a></h6><p></p><p>Complex systems such as organizations can behave completely differently despite the same measures. The same solution that worked for one system may fail completely elsewhere. Solutions are not transferable.</p><p></p><blockquote><p>Complexity is like the weather. There is nothing wrong with it. It's just bad not to be prepared for it. &#8212;  &#187;<a href="https://www.m-vg.de/mediafiles/Leseprobe/9783868815863.pdf">Komplexithoden</a>&#171;</p></blockquote><p></p><p><a href="https://en.wikipedia.org/wiki/Complex_system">Examples</a> for complex systems:</p><ul><li><p>the earth's global climate</p></li><li><p>social and economic organizations (such as companies and cities)</p></li><li><p>Ecosystems</p></li></ul><p></p><p>Roberto Poli <a href="https://www.cadmusjournal.org/files/pdfreprints/vol2issue1/reprint-cj-v2-i1-complex-vs-complicated-systems-rpoli.pdf">adds</a>:</p><blockquote><p>&#8222;Complex problems and systems result from networks of multiple interacting causes that cannot be individually distinguished; must be addressed as entire systems, that is they cannot be addressed in a piecemeal way; they are such that small inputs may result in disproportionate effects; the problems they present cannot be solved once and for ever, but require to be systematically managed and typically any intervention merges into new problems as a result of the interventions dealing with them.&#8220;</p></blockquote><p></p><p>Surprisingly, most systems are complex in nature. Only complicated systems are the exception.</p><h3>Various solution approaches</h3><p>The solution to a complex problem cannot be approached in the same way as the solution to a complicated problem. They require different solution strategies.</p><p>Complicated systems can be analyzed and predictions can be made about the behavior of the system. Experts can help with this. Solutions can be reused.</p><p>Complex systems, on the other hand, defy an understanding of the overall relationships, as the factors influence each other. </p><blockquote><p>&#8222;The distinction between complicated and complex systems is of immense importance, yet it is often overlooked. Decision-makers commonly mistake complex systems for simply complicated ones and look for solutions without realizing that &#8216;learning to dance&#8217; with a complex system is definitely different from &#8216;solving&#8217; the problems arising from it.&#8220;</p></blockquote><p>If you handle complex things as if they were complicated, <a href="https://sloanreview.mit.edu/article/the-critical-difference-between-complex-and-complicated/">you are doomed to failure</a>.</p><p>Complexity means that there can be a certain degree of control; but it is not complete control, the situation is not fully controllable. By recognizing patterns, some relationships can be understood.</p><p>In a complex environment, you cannot expect a comprehensive plan or strategy to work as intended. An approach of trying, learning and adapting is more likely to get you further. Mistakes can be made and risks can be taken.</p><p>However, you shouldn't make big bets on large projects or invest too much in comprehensive plans, but instead constantly learn in small steps and make appropriate adjustments.</p><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/subscribe?&quot;,&quot;text&quot;:&quot;Jetzt abonnieren&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.fluxum.net/subscribe?"><span>Jetzt abonnieren</span></a></p><div><hr></div><p>&#8212; <a href="https://twitter.com/MartinGross">Martin Gross</a></p>]]></content:encoded></item><item><title><![CDATA[3 Dinge, die ich vom Bohren dreieckiger Löcher gelernt habe]]></title><description><![CDATA[Ja, es geht wirklich]]></description><link>https://blog.fluxum.net/p/3-dinge-die-ich-vom-bohren-dreieckiger</link><guid isPermaLink="false">https://blog.fluxum.net/p/3-dinge-die-ich-vom-bohren-dreieckiger</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Sat, 06 Jul 2024 16:24:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2eOE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec4b8ead-2f32-487b-a0bc-e134fab06b01_1024x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Habt ihr jemals gedacht, dass es unm&#246;glich ist, ein dreieckiges Loch zu bohren?</p><p>Ich habe es definitiv. </p><p>Doch die Animation von <a href="https://beaujanzen.wixsite.com/reason-for-math">Beau Janzen</a> zeigt, dass es tats&#228;chlich geht und ist  beeindruckend. Ich konnte mir vorher nicht vorstellen, wie das gehen k&#246;nnte.</p><p>Aber schaut erst einmal selbst:</p><div id="tiktok-iframe?media=1&amp;app=1&amp;url=https%3A%2F%2Fwww.tiktok.com%2F%40reason4math%2Fvideo%2F7372387971884174638&amp;key=e27c740634285c9ddc20db64f73358dd" class="tiktok-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://www.tiktok.com/@reason4math/video/7372387971884174638&quot;,&quot;title&quot;:&quot;Drilling a triangular hole. Yes, I know there logistical issues is making this work, but this is intended as a fun geometric breakdown. I&#8217;m creating all this work on my own, so if you like my content and would like to see more, I&#8217;d appreciate your support. In my bio, you can leave a tip in my Linktree. Thanks! #drill #triangle #hole #geometry #geometryart #math #maths #engineering #satisfying #satisfyingvideo #originalanimation #mathtok #stemtok&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ec4b8ead-2f32-487b-a0bc-e134fab06b01_1024x1024.jpeg&quot;,&quot;author&quot;:&quot;Beau Janzen&quot;,&quot;embed_url&quot;:&quot;https://cdn.iframe.ly/api/iframe?media=1&amp;app=1&amp;url=https%3A%2F%2Fwww.tiktok.com%2F%40reason4math%2Fvideo%2F7372387971884174638&amp;key=e27c740634285c9ddc20db64f73358dd&quot;,&quot;author_url&quot;:&quot;https://www.tiktok.com/@reason4math&quot;,&quot;belowTheFold&quot;:false}" data-component-name="TikTokCreateTikTokEmbed"><iframe id="iframe-tiktok-iframe?media=1&amp;app=1&amp;url=https%3A%2F%2Fwww.tiktok.com%2F%40reason4math%2Fvideo%2F7372387971884174638&amp;key=e27c740634285c9ddc20db64f73358dd" class="tiktok-iframe" src="https://cdn.iframe.ly/api/iframe?media=1&amp;app=1&amp;url=https%3A%2F%2Fwww.tiktok.com%2F%40reason4math%2Fvideo%2F7372387971884174638&amp;key=e27c740634285c9ddc20db64f73358dd" frameborder="0" allow="autoplay; fullscreen; encrypted-media" allowfullscreen="" scrolling="no"></iframe><iframe src="https://team-hosted-public.s3.amazonaws.com/set-then-check-cookie.html" id="third-party-iframe-tiktok-iframe?media=1&amp;app=1&amp;url=https%3A%2F%2Fwww.tiktok.com%2F%40reason4math%2Fvideo%2F7372387971884174638&amp;key=e27c740634285c9ddc20db64f73358dd" class="third-party-cookie-check-iframe" style="display: none;"></iframe><div class="tiktok-wrap static" data-component-name="TikTokCreateStaticTikTokEmbed"><a href="https://www.tiktok.com/@reason4math/video/7372387971884174638" target="_blank"><img class="tiktok thumbnail" src="https://substackcdn.com/image/fetch/$s_!2eOE!,w_640,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec4b8ead-2f32-487b-a0bc-e134fab06b01_1024x1024.jpeg" style="background-image: url(https://substackcdn.com/image/fetch/$s_!2eOE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec4b8ead-2f32-487b-a0bc-e134fab06b01_1024x1024.jpeg);"></a><div class="content"><a class="author" href="https://www.tiktok.com/@reason4math" target="_blank">@reason4math</a><a class="title" href="https://www.tiktok.com/@reason4math/video/7372387971884174638" target="_blank">Drilling a triangular hole. Yes, I know there logistical issues is making this work, but this is intended as a fun geometric breakdown. I&#8217;m creating all this work on my own, so if you like my content and would like to see more, I&#8217;d appreciate your support. In my bio, you can leave a tip in my Linktree. Thanks! #drill #triangle #hole #geometry #geometryart #math #maths #engineering #satisfying #satisfyingvideo #originalanimation #mathtok #stemtok</a></div></div><div class="fallback-failure" id="fallback-failure-tiktok-iframe?media=1&amp;app=1&amp;url=https%3A%2F%2Fwww.tiktok.com%2F%40reason4math%2Fvideo%2F7372387971884174638&amp;key=e27c740634285c9ddc20db64f73358dd"><div class="error-content"><img class="error-icon" src="https://substackcdn.com//img/alert-circle.svg">Tiktok failed to load.<br><br>Enable 3rd party cookies or use another browser</div></div></div><p>Um besser zu verstehen, warum diese Animation &#8212; neben der Tatsache, dass sie das Bohren eines dreieckigen Lochs zeigt &#8212; so faszinierend ist, habe ich sie mir mehrfach angeschaut. </p><p>3 Dinge wurden mir erneut bewusst. <br>3 Dinge, die ich in Zukunft mehr in meine T&#228;tigkeit integrieren m&#246;chte:</p><p>1. Wir beschr&#228;nken unser Denken auf das Vertraute, das wir kennen und t&#228;glich sehen. Bis uns jemand etwas unvorhergesehenes Neues zeigt. Und dass das, was wir f&#252;r unm&#246;glich hielten, doch m&#246;glich ist.</p><p>2. Gute Visualisierungen sind ein hervorragendes Mittel, um neue Probleml&#246;sungsans&#228;tze f&#252;r jedermann verst&#228;ndlich zu machen.</p><p>3. Anstatt nur die endg&#252;ltige L&#246;sung zu pr&#228;sentieren, ist es viel besser, die Menschen von der Machbarkeit einer L&#246;sung zu &#252;berzeugen, indem man ihnen den Denkprozess zeigt, der zu dieser L&#246;sung f&#252;hrt. </p><p>Lasst euch inspirieren:<br>Welche 'unm&#246;glichen' Probleme begegnen euch in eurem Alltag oder Beruf? <br><br>Wie w&#228;re es, wenn ihr euch heute die Zeit nehmt, eines davon aus einer v&#246;llig neuen Perspektive zu betrachten. Zeichnet es auf, diskutiert es mit anderen oder sucht nach unkonventionellen L&#246;sungsans&#228;tzen im Internet. </p><p>Vielleicht findet ihr euer eigenes 'dreieckiges Loch' und beweist, dass das, was unm&#246;glich erschien doch m&#246;glich ist. <br><br>Teilt gerne eure Erkenntnisse in den Kommentaren und inspiriert uns, &#252;ber den Tellerrand zu schauen. </p><p>Denn manchmal ist die kreativste L&#246;sung nur einen ungew&#246;hnlichen Ansatz entfernt.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/p/3-dinge-die-ich-vom-bohren-dreieckiger/comments&quot;,&quot;text&quot;:&quot;Einen Kommentar hinterlassen&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.fluxum.net/p/3-dinge-die-ich-vom-bohren-dreieckiger/comments"><span>Einen Kommentar hinterlassen</span></a></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Warum technische Probleme oft organisatorische Ursachen haben]]></title><description><![CDATA[Die meisten Probleme, die als technische oder Produktprobleme erscheinen, sind in Wirklichkeit Management- oder Organisationsprobleme.]]></description><link>https://blog.fluxum.net/p/warum-technische-probleme-oft-organisatorische</link><guid isPermaLink="false">https://blog.fluxum.net/p/warum-technische-probleme-oft-organisatorische</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Thu, 06 Jun 2024 17:24:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!y_oj!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa142b85f-3d35-4a80-bdac-1835f765cd9e_512x512.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Die meisten Probleme, die als technische oder Produktprobleme erscheinen, sind in Wirklichkeit Management- oder Organisationsprobleme.<br><br>Ein Beispiel:<br><br>Es gibt keine klare Vision und Strategie f&#252;r das Produkt.<br><br>Die Folge:<br><br>Die Abteilungen und Teams stimmen sich nicht ab, reden nicht wirklich miteinander und verstehen daher nicht, was die Kunden wirklich brauchen und wohin das Unternehmen will.<br><br>Die Konsequenz:<br><br>Die Teams werden in unterschiedliche Richtungen gezogen, weil verschiedene Stakeholder eine Vielzahl von Anforderungen an sie stellen, von denen viele im Widerspruch zu anderen Anforderungen stehen.<br><br>Die Auswirkungen:<br><br>&#8594; Stress und &#220;berforderung<br>Die Teams sind gestresst und &#252;berlastet. Es bleibt keine Zeit, die Arbeit zu unterbrechen, um Altlasten zu bereinigen und die Zusammenarbeit zu verbessern. Das System wird mit der Zeit immer instabiler.<br><br>&#8594; Die Probleme h&#228;ufen sich<br>Immer h&#228;ufiger tauchen Probleme auf, die das Team zus&#228;tzlich belasten. Die Arbeitsbelastung steigt und die Motivation des Teams sinkt.<br><br>&#8594; Schlechte Code-Qualit&#228;t<br>Der Code wird in aller Eile geschrieben und nicht ausreichend getestet, weil alle so besch&#228;ftigt sind und niemand Zeit zum Testen hat. Dies f&#252;hrt zu weiteren Problemen.<br><br><br>Deswegen: <br><br>Nehmen Sie sich die Zeit, Ihre Vision und Strategie zu entwickeln und stellen Sie sicher, dass alle an einem Strang ziehen. <br><br>Es ist wichtig, sich auf technische F&#228;higkeiten und Produktstrategien zu fokussieren. Aber echter Mehrwert entsteht nur, wenn die Qualit&#228;t stimmt, die Zusammenarbeit funktioniert und alles auf ein klares Ziel ausgerichtet ist.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Danke, dass Sie fluxum engineering lesen! Schlie&#223;en Sie ein Free-Abonnement ab, um &#252;ber neue Posts benachrichtigt zu werden und meine Arbeit zu unterst&#252;tzen.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Kognitive Verzerrung]]></title><description><![CDATA[Systematische fehlerhafte Neigungen beim Wahrnehmen, Erinnern, Denken und Urteilen. Sie bleiben meist unbewusst.]]></description><link>https://blog.fluxum.net/p/kognitive-verzerrung</link><guid isPermaLink="false">https://blog.fluxum.net/p/kognitive-verzerrung</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Sun, 17 Dec 2023 21:37:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Lb-B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F893245ac-3cbd-43f2-bdf7-1067af9e0933_2880x2274.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://upload.wikimedia.org/wikipedia/commons/6/65/Cognitive_bias_codex_en.svg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Lb-B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F893245ac-3cbd-43f2-bdf7-1067af9e0933_2880x2274.png 424w, https://substackcdn.com/image/fetch/$s_!Lb-B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F893245ac-3cbd-43f2-bdf7-1067af9e0933_2880x2274.png 848w, https://substackcdn.com/image/fetch/$s_!Lb-B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F893245ac-3cbd-43f2-bdf7-1067af9e0933_2880x2274.png 1272w, https://substackcdn.com/image/fetch/$s_!Lb-B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F893245ac-3cbd-43f2-bdf7-1067af9e0933_2880x2274.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Lb-B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F893245ac-3cbd-43f2-bdf7-1067af9e0933_2880x2274.png" width="1456" height="1150" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/893245ac-3cbd-43f2-bdf7-1067af9e0933_2880x2274.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1150,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;undefined&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://upload.wikimedia.org/wikipedia/commons/6/65/Cognitive_bias_codex_en.svg&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="undefined" title="undefined" srcset="https://substackcdn.com/image/fetch/$s_!Lb-B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F893245ac-3cbd-43f2-bdf7-1067af9e0933_2880x2274.png 424w, https://substackcdn.com/image/fetch/$s_!Lb-B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F893245ac-3cbd-43f2-bdf7-1067af9e0933_2880x2274.png 848w, https://substackcdn.com/image/fetch/$s_!Lb-B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F893245ac-3cbd-43f2-bdf7-1067af9e0933_2880x2274.png 1272w, https://substackcdn.com/image/fetch/$s_!Lb-B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F893245ac-3cbd-43f2-bdf7-1067af9e0933_2880x2274.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Systematische fehlerhafte Neigungen beim <a href="https://de.wikipedia.org/wiki/Wahrnehmung">Wahrnehmen</a>, <a href="https://de.wikipedia.org/wiki/Erinnerung_(Psychologie)">Erinnern</a>, <a href="https://de.wikipedia.org/wiki/Denkpsychologie">Denken</a> und <a href="https://de.wikipedia.org/wiki/Urteil_(Logik)">Urteilen</a>. Sie bleiben meist <a href="https://de.wikipedia.org/wiki/Das_Unbewusste">unbewusst</a>.</p><p></p>]]></content:encoded></item><item><title><![CDATA[4 Strategien um Software-Architektur zukunftssicher zu machen]]></title><description><![CDATA[Wie kann man mit unerwarteten Herausforderungen in der Softwarearchitektur umgehen (ohne alles im Voraus zu wissen)?]]></description><link>https://blog.fluxum.net/p/unvorhersehbarkeit-in-der-software</link><guid isPermaLink="false">https://blog.fluxum.net/p/unvorhersehbarkeit-in-der-software</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Sat, 05 Aug 2023 15:00:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!fgjW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52c598ba-8f53-431c-8f77-a6dd41322563_1024x640.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Nat&#252;rlich m&#246;chte man die Architektur eines neuen Softwaresystems auf Anhieb so hinbekommen, dass sie &#252;ber die Jahre stabil bleibt. Leider funktioniert das aber nicht. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fgjW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52c598ba-8f53-431c-8f77-a6dd41322563_1024x640.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fgjW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52c598ba-8f53-431c-8f77-a6dd41322563_1024x640.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fgjW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52c598ba-8f53-431c-8f77-a6dd41322563_1024x640.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fgjW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52c598ba-8f53-431c-8f77-a6dd41322563_1024x640.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fgjW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52c598ba-8f53-431c-8f77-a6dd41322563_1024x640.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fgjW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52c598ba-8f53-431c-8f77-a6dd41322563_1024x640.jpeg" width="1024" height="640" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/52c598ba-8f53-431c-8f77-a6dd41322563_1024x640.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:640,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:72722,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fgjW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52c598ba-8f53-431c-8f77-a6dd41322563_1024x640.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fgjW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52c598ba-8f53-431c-8f77-a6dd41322563_1024x640.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fgjW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52c598ba-8f53-431c-8f77-a6dd41322563_1024x640.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fgjW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52c598ba-8f53-431c-8f77-a6dd41322563_1024x640.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Dazu weiss man am Anfang einfach noch viel zu wenig. Wie wird sich das System weiterentwickeln? Was sind zuk&#252;nftige Nutzerw&#252;nsche? </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/subscribe?&quot;,&quot;text&quot;:&quot;Jetzt abonnieren&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.fluxum.net/subscribe?"><span>Jetzt abonnieren</span></a></p><ol><li><p><em>Anforderungs&#228;nderungen</em><br>W&#228;hrend der Entwicklung kann ein neues Gesch&#228;ftsszenario oder eine neue Benutzeranforderung auftreten, die eine signifikante &#196;nderung der Softwarearchitektur erfordert. Beispielsweise kann eine &#196;nderung, die eine h&#246;here Skalierbarkeit erfordert, Auswirkungen auf die gesamte Systemstruktur haben.</p></li><li><p><em>Unvorhergesehene technologische Einschr&#228;nkungen</em><br>Die urspr&#252;ngliche Architektur k&#246;nnte auf Technologien basieren, die sich sp&#228;ter als ungeeignet f&#252;r die Anforderungen erweisen. Dies k&#246;nnte bedeuten, dass wir die Architektur neu bewerten und m&#246;glicherweise stark modifizieren m&#252;ssen.</p></li><li><p><em>Unerkannte Interaktionen zwischen Komponenten</em> <br>Manchmal kann die Art und Weise, wie verschiedene Teile eines Systems interagieren, unerwartete Probleme verursachen. Dies kann dazu f&#252;hren, dass wir die Architektur &#228;ndern d&#252;rfen, um diese Probleme zu beheben.</p></li><li><p><em>Sicherheitsl&#252;cken</em> <br>In der Softwarearchitektur k&#246;nnen unerkannte Sicherheitsprobleme auftreten, die zu schwerwiegenden Sicherheitsl&#252;cken f&#252;hren k&#246;nnen. Die Behebung solcher Sicherheitsl&#252;cken kann eine umfassende &#220;berarbeitung der Architektur erfordern.</p></li><li><p><em>Neue Technologien oder Plattformen</em><br>Die rasche Entwicklung neuer Technologien oder Plattformen kann dazu f&#252;hren, dass die aktuelle Softwarearchitektur veraltet oder ungeeignet ist und angepasst oder &#252;berarbeitet werden muss.</p></li><li><p><em>Unerwartete Performance-Probleme</em><br>Trotz bester Planung und Testverfahren k&#246;nnen Leistungsprobleme auftreten, die schwer vorhersehbar waren, wie z.B. Engp&#228;sse unter bestimmten Lastbedingungen.</p></li></ol><p>Nur anpassungsf&#228;hige Architekturen sind langfristig &#252;berlebensf&#228;hig. </p><p>Stichwort: Unknown unknowns.</p><blockquote><p><em>&#8220;&#8230;there are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns &#8212; the ones we don&#8217;t know we don&#8217;t know.&#8221;</em></p><p><em>&#8211; Donald Rumsfeld</em></p></blockquote><p>Umgebungssysteme ver&#228;ndern sich und wir m&#252;ssen die Architektur an die ver&#228;nderten Bedingungen anpassen. Alles andere wird obsolet.</p><p>Die " unknown unknowns " zeigen eindrucksvoll, wie unvorhersehbare Elemente die gesamte Softwarearchitektur beeinflussen k&#246;nnen. Hier wird deutlich, dass es entscheidend ist, stets die gesamte Architektur im Auge zu behalten. Und nicht nur das, wir m&#252;ssen uns auf Ver&#228;nderungen und Unsicherheiten einstellen, die w&#228;hrend des gesamten Lebenszyklus der Software auftreten werden.</p><p>In der Welt der Softwareentwicklung bedeutet Stillstand R&#252;ckschritt. Die uns umgebenden Systeme &#228;ndern sich st&#228;ndig und verlangen von uns, dass wir uns st&#228;ndig anpassen.</p><p>Die Alternative? Unsere Arbeit verliert an Relevanz, wird obsolet.</p><p>Zum Gl&#252;ck gibt es Wegweiser, die uns zeigen, wie wir uns in dieser sich st&#228;ndig ver&#228;ndernden Landschaft bewegen k&#246;nnen. Einer dieser Wegweiser ist das Buch "Building Evolutionary Architectures" von Neal Ford und Rebecca Parsons. </p><p>Hier einige besonders pr&#228;gnante Gedanken:</p><ol><li><p>Evolution&#228;re Architektur sieht den Wandel kommen. Es ist unm&#246;glich zu sagen, wann oder wie, aber eines ist sicher: Der Wandel wird kommen, und wir m&#252;ssen bereit sein.</p></li><li><p>Ein System ist evolution&#228;r, wenn es leicht zu verstehen und sicher zu ver&#228;ndern ist. Das ist leichter gesagt als getan, denn Verst&#228;ndlichkeit bedeutet nicht immer, dass &#196;nderungen einfach umzusetzen sind.</p></li><li><p>Microservices sind eine M&#246;glichkeit, aber nicht die einzige. Auch ein Monolith kann evolution&#228;r sein, wenn er gut strukturiert ist und klar definierte und abgegrenzte Kontexte hat.</p></li><li><p>Conway's Law bietet uns eine Denkweise, wie wir Menschen, Kommunikation und Organisationen zielgerichtet gestalten k&#246;nnen. <br>Die Architektur passt sich den Kommunikationsstrukturen der Organisation an, daher sollten wir die Organisation an die gew&#252;nschte Architektur anpassen. Es ist wichtig, dass wir alle an einem Strang ziehen und das gleiche Zielverst&#228;ndnis haben.</p></li></ol><p>Unabh&#228;ngig davon, welche Architektur wir entwickeln, sollten wir auf Ver&#228;nderungen vorbereitet sein. Und das geht nur, wenn das System einfach zu verstehen ist. Microservices sind daf&#252;r keine Voraussetzung. </p><p>Was wirklich z&#228;hlt, ist, dass wir alle das gleiche Ziel verfolgen und das gleiche Verst&#228;ndnis haben. Dann k&#246;nnen wir sicher navigieren, auch wenn die "unknown unknowns" auf uns zukommen. </p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Danke f&#252;r das Lesen fluxum! Abonnieren Sie kostenlos, um neue Beitr&#228;ge zu erhalten und meine Arbeit zu unterst&#252;tzen.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Technical debt and airlines]]></title><description><![CDATA[Technical debt is often ignored, but it can put your business at risk.]]></description><link>https://blog.fluxum.net/p/technical-debt-and-airlines</link><guid isPermaLink="false">https://blog.fluxum.net/p/technical-debt-and-airlines</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Sun, 01 Jan 2023 17:30:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f5c69a2-bb00-4ca2-a0d7-d19aff945ff0_1140x684.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2VBW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f5c69a2-bb00-4ca2-a0d7-d19aff945ff0_1140x684.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2VBW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f5c69a2-bb00-4ca2-a0d7-d19aff945ff0_1140x684.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2VBW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f5c69a2-bb00-4ca2-a0d7-d19aff945ff0_1140x684.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2VBW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f5c69a2-bb00-4ca2-a0d7-d19aff945ff0_1140x684.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2VBW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f5c69a2-bb00-4ca2-a0d7-d19aff945ff0_1140x684.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2VBW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f5c69a2-bb00-4ca2-a0d7-d19aff945ff0_1140x684.jpeg" width="1140" height="684" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f5c69a2-bb00-4ca2-a0d7-d19aff945ff0_1140x684.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:684,&quot;width&quot;:1140,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2VBW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f5c69a2-bb00-4ca2-a0d7-d19aff945ff0_1140x684.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2VBW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f5c69a2-bb00-4ca2-a0d7-d19aff945ff0_1140x684.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2VBW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f5c69a2-bb00-4ca2-a0d7-d19aff945ff0_1140x684.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2VBW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f5c69a2-bb00-4ca2-a0d7-d19aff945ff0_1140x684.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Technical debt is often ignored, but it can put your business at risk.</p><p>Technical debt seems "to be a key factor in why Southwest Airlines couldn&#8217;t return to business as usual. More than 15,000 of its flights were canceled starting on Dec. 22, including more than 2,300 canceled this past Thursday &#8212; almost a week after the storm had passed."</p><p>Outdated software and technical debt were the main factors in Southwest Airlines' widespread flight cancellations after a winter storm in December 2022, <a href="https://www.nytimes.com/2022/12/31/opinion/southwest-airlines-computers.html?unlocked_article_code=i-lsBN9U_dvO3D-yog8_mwdtZ_obmhVMqpSht6i3BD9mGmo9qr0HrdGexbGDUQJTamlZfXTuKH72BUVZ-miYoVhdLmFnFOzoJbOr5q_p7G1O6CXroiaIRBRUilzNGQGuWkNMH5dOaK1oxbOrdpiPRSQ7DWb_yuYomjik6LqN8ZOhi0xtDrmPiuV8vjGUHNTeFCqR3fPziSzdc8X6tbXy27n5c3aGvtH-7BDWARw24EzvG7-_kBhXypVxOJ-8_BBYEmc-rZC4s-Y93uSStt5SHtnL7RqNN-ZzbYEsu19dNllDTszUXvPxRTIFwQqqwmGF2rPKeG046yfBhMeAFxKbB-6yvBoEspw&amp;smid=share-url">according to an opinion column in The New York Times</a>.</p><p>In software development, <strong>technical debt</strong> is the implied cost of additional rework caused by choosing an easy (limited) solution now instead of using a better approach that would take longer. (Wikipedia)</p><p>Or as the article says "software can be written in a rapid and shoddy way, rather than in a more resilient manner that makes it more dependable and easier to fix or expand. As you might expect, the former is cheaper and quicker."</p><p>The cancellations, which stranded hundreds of thousands of passengers, were caused by Southwest's failure to modernize its systems, the column argues.</p><div><hr></div><p><em>Photo by DeepMind on Unsplash</em></p>]]></content:encoded></item><item><title><![CDATA[How to assess the characteristics of agile companies]]></title><description><![CDATA[Obvious and subtle signs]]></description><link>https://blog.fluxum.net/p/how-to-assess-characteristics-agile-companies</link><guid isPermaLink="false">https://blog.fluxum.net/p/how-to-assess-characteristics-agile-companies</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Fri, 30 Dec 2022 11:37:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd79b4a-f078-444a-a890-5a47d873f268_960x638.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DBG3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd79b4a-f078-444a-a890-5a47d873f268_960x638.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DBG3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd79b4a-f078-444a-a890-5a47d873f268_960x638.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DBG3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd79b4a-f078-444a-a890-5a47d873f268_960x638.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DBG3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd79b4a-f078-444a-a890-5a47d873f268_960x638.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DBG3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd79b4a-f078-444a-a890-5a47d873f268_960x638.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DBG3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd79b4a-f078-444a-a890-5a47d873f268_960x638.jpeg" width="960" height="638" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3fd79b4a-f078-444a-a890-5a47d873f268_960x638.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:638,&quot;width&quot;:960,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;How to assess the characteristics of agile companies&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="How to assess the characteristics of agile companies" title="How to assess the characteristics of agile companies" srcset="https://substackcdn.com/image/fetch/$s_!DBG3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd79b4a-f078-444a-a890-5a47d873f268_960x638.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DBG3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd79b4a-f078-444a-a890-5a47d873f268_960x638.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DBG3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd79b4a-f078-444a-a890-5a47d873f268_960x638.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DBG3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd79b4a-f078-444a-a890-5a47d873f268_960x638.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There are many signs of an agile company culture, both obvious and subtle. The subtle ones are harder to spot, of course.</p><p>When you assess the 5 characteristics, you'll get a better understanding of an organization's level of agility.</p><p>And as so often in life, better understanding starts with asking better questions.</p><h2>Now let's start with the 5 characteristics.</h2><p>Agile companies ...</p><ol><li><p>embrace fast failures.</p></li><li><p>value distributed decision making.</p></li><li><p>create joy in the workplace.</p></li><li><p>release products frequently.</p></li><li><p>inspect and adapt through retrospectives.</p></li></ol><p>Okay, let's delve a little deeper into the details. &#128071;</p><h2>Fast failures</h2><p>Agile Organizations celebrate fast failures. Experiments are small.</p><p>They encourage teams to try something new to delight customers and share what they&#8217;ve learned with the rest of the organization.</p><p>The learning from any failures isn&#8217;t hidden but shared openly.</p><h2>Distributed decision making</h2><p>The ability to make decisions and respond to rapidly changing customer needs.</p><p>If you are dependent upon leadership to make all decisions you will be slow and sluggish. And typically, the larger the organization, the slower the response.</p><p>Self-organizing agile teams are empowered to make decisions day-to-day in alignment with the strategic direction. These teams have regular contact with real customers, enabling them to learn about changing customer needs and react quickly.</p><h2>Joy in the workplace</h2><p>People who create value directly for customers and work at a sustainable pace, really enjoy the way they work.</p><p>These organizations have teams that are deeply connected to the impact their product has on their customers.</p><h2>Releasing products frequently</h2><p>Customer-facing value: The more frequently you release products, the more opportunities you have to impress customers and receive feedback.</p><p>Frequent releases allow an organization to sense and respond to changing customer needs, and deliver the right product at the right time.</p><h2>Inspect and adapt</h2><p>All members have a voice in how the work is organized. Team retrospectives have actionable results that the team builds into the next sprint. When retrospectives are done correctly, teams try something new each sprint in order to work in a better way.</p><p>Retrospectives are valuable at an organization-level as well. Agile cultures inspect and adapt how they are organized.</p><p>And agile organizations aren&#8217;t just doing retrospective theater. They listen to team feedback and make real, actionable changes to improve collaboration and maximize outcomes.</p><h2>Summary</h2><p>Agile organizations prioritize fast failures, distributed decision-making, joy in the workplace, frequent product releases, and continuous improvement through retrospectives.</p><p>They encourage teams to experiment and learn from failures, empower teams to make decisions in alignment with the organization's strategy, foster a positive work culture, regularly release products to gather feedback and respond to changing customer needs, and actively listen to and implement feedback to improve team experiences and maximize business outcomes.</p><p>Next time you want to check how agile a company really is, you can use these criteria as a guide.</p><h2>Asking the right questions</h2><p>If you are interested in the questions you can ask for a better understanding of the agile mindset of the organization:</p><p>Can you tell me some stories of team and product failures and how the organization responded?</p><p>How are decisions about products made at the team level? What leadership approvals are required and why?</p><p>What are your company's mission, vision, and values? What does team communication look like to get to know each other as people, not just about work?</p><p>Do your teams release working software/products to your customers in every sprint? If not, how often and why?</p><p>What experiments are your teams trying in this sprint to improve their collaboration? How has your organizational design changed based on feedback from your people?</p>]]></content:encoded></item><item><title><![CDATA[Sprache als Silo]]></title><description><![CDATA[Missverst&#228;ndnisse sind die Folge]]></description><link>https://blog.fluxum.net/p/sprache-als-silo</link><guid isPermaLink="false">https://blog.fluxum.net/p/sprache-als-silo</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Thu, 29 Dec 2022 17:12:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/WC8BCvEGvyA" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Sprechen wir die gleiche Sprache? Und was bedeutet das eigentlich, was der andere gerade gesagt hat.<br><br>Nicht nur bei Jugendw&#246;rtern kommt man da manchmal ins Gr&#252;beln, ob man das richtig verstanden hat. :-)<br></p><div id="youtube2-WC8BCvEGvyA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;WC8BCvEGvyA&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/WC8BCvEGvyA?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><br>Auch zwischen Softwareentwicklern und Betrieb (auch bekannt als Ops) kommt es da schnell zu Kommunikationsproblemen, weil man jeweils eigene Terminologien verwendet. Man redet aneinander vorbei. Missverst&#228;ndnissen sind die Folge.<br><br>Deshalb ist es so wichtig, dass man sich regelm&#228;&#223;ig austauscht, um zu verstehen, was die Anderen f&#252;r Aufgaben zu bew&#228;ltigen haben und was sie eigentlich meinen, wenn sie etwas sagen.<br><br>Auch das ist DevOps-Kultur.<br><br>Denn am Schluss z&#228;hlt das erfolgreiche Produkt, egal ob man im Betrieb, in der Softwareentwicklung oder auf Business-Seite arbeitet.</p>]]></content:encoded></item><item><title><![CDATA[Kennen Sie Ihr Unternehmen wirklich?]]></title><description><![CDATA[Dann stellen Sie sich mal die folgenden Fragen:]]></description><link>https://blog.fluxum.net/p/kennen-sie-ihr-unternehmen-wirklich</link><guid isPermaLink="false">https://blog.fluxum.net/p/kennen-sie-ihr-unternehmen-wirklich</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Wed, 28 Dec 2022 22:45:45 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f08e5254-30ad-4d36-91b7-70f2c4371196_1152x256.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Dann stellen Sie sich mal die folgenden Fragen:</p><ul><li><p>Was f&#252;r Probleme l&#246;sen wir f&#252;r unsere Kunden?</p></li><li><p>Wie l&#246;sen wir diese Probleme konkret?</p></li><li><p>Was unterscheidet uns von unseren Mitbewerbern?</p></li><li><p>Wie k&#246;nnen wir unsere Vertrauensw&#252;rdigkeit unter Beweis stellen?</p></li><li><p>Wie ist die finanzielle Performance unseres Unternehmens im Vergleich zu den anderen Unternehmen unserer Branche?</p></li><li><p>Warum entscheiden sich unsere Kunden f&#252;r unser Produkt oder unsere Dienstleistung und nicht f&#252;r andere Optionen?</p></li></ul><p>Wenn man die gesch&#228;ftlichen Zusammenh&#228;nge nicht versteht, riskiert man in Initiativen zu investieren, die letztlich keinen Mehrwert bringen.</p>]]></content:encoded></item></channel></rss>