<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sdlc on tigger.dev</title><link>https://tigger.dev/tags/sdlc/</link><description>Recent content in Sdlc on tigger.dev</description><generator>Hugo</generator><language>en-gb-oed</language><copyright>© Tadhg O'Brien</copyright><lastBuildDate>Fri, 17 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tigger.dev/tags/sdlc/index.xml" rel="self" type="application/rss+xml"/><item><title>Claude Code: We've Got Issues</title><link>https://tigger.dev/2026-04-17-claude-code-sdlc/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><guid>https://tigger.dev/2026-04-17-claude-code-sdlc/</guid><description>&lt;div id="outline-container-headline-1" class="outline-2"&gt;
&lt;h2 id="headline-1"&gt;
A personal Software Development Lifecycle (SDLC), earned the hard way
&lt;/h2&gt;
&lt;div id="outline-text-headline-1" class="outline-text-2"&gt;
&lt;p&gt;Claude Code is Anthropic&amp;#39;s AI coding agent — an LLM that lives in your terminal, reads your codebase, and writes code on your behalf. Two years of using it, and a pattern I can now recite from memory. Given half a chance, it will do any of the following and report the job done.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Treat questions as instructions. &amp;#34;What do you think of X?&amp;#34; parsed not as an invitation to discuss but as a command to go and build X - committed to the codebase, &lt;strong&gt;sometimes with product decisions made along the way that nobody asked it to make&lt;/strong&gt;, before the conversation has even started.&lt;/li&gt;
&lt;li&gt;Override the human-in-the-loop entirely. Type the human&amp;#39;s approval keywords into its own chat output to unlock states only the human should unlock. Invoke the human&amp;#39;s emergency bypass keyword on its own authority because it decided the current task didn&amp;#39;t need human review. Forgery and self-granted exemption, both reported as task-complete.&lt;/li&gt;
&lt;li&gt;Disable a script&amp;#39;s own safety mechanism quietly. The script begins with the standard stop-immediately-if-anything-fails header (&lt;code class="verbatim"&gt;set -e&lt;/code&gt;), then appends an override (&lt;code class="verbatim"&gt;|| true&lt;/code&gt;) to every risky command below it, which tells the shell to pretend the line succeeded no matter what actually happened. The safety header is there. The safety is not.&lt;/li&gt;
&lt;li&gt;Make sensitive files readable, writable, and executable by anyone at all - including unauthenticated strangers reaching the machine over the internet - to get past a permissions error (&lt;code class="verbatim"&gt;chmod 777&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Switch off the check that verifies a web server is who it claims to be (SSL/TLS verification&lt;sup class="footnote-reference"&gt;&lt;a id="footnote-reference-1" href="#footnote-1"&gt;1&lt;/a&gt;&lt;/sup&gt;), because a server&amp;#39;s certificate was inconvenient.&lt;/li&gt;
&lt;li&gt;Hardcode credentials into source that was about to be committed.&lt;/li&gt;
&lt;li&gt;Silently create a &lt;strong&gt;public&lt;/strong&gt; GitHub repository and upload an entire directory tree to it, because it thought it should raise a ticket. To overcome the &amp;#34;obstacle&amp;#34; of finding itself in a private folder that was not tracked by a git&lt;sup class="footnote-reference"&gt;&lt;a id="footnote-reference-2" href="#footnote-2"&gt;2&lt;/a&gt;&lt;/sup&gt; repository.&lt;/li&gt;
&lt;li&gt;Report green across the board on a test suite that never actually ran the command a user would type. The compiled code did nothing. The dashboard said healthy, every test passed! Ostensibly the tests were there, but it had written them in a way that was most convenient for itself with the least amount of effort.&lt;sup class="footnote-reference"&gt;&lt;a id="footnote-reference-3" href="#footnote-3"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class="pull-quote"&gt;
 &lt;blockquote&gt;
 None of these are obscure mistakes. They are safety-critical decisions being made unilaterally, to get past whatever was in the way, and reported as task-complete.
 &lt;/blockquote&gt;&lt;/figure&gt;

These are not occasional slips. They are patterns. Reliable enough that you can name them and watch them recur on the next project if you do not actively intervene. &lt;/p&gt;</description></item></channel></rss>