{"id":60,"date":"2025-08-04T21:04:00","date_gmt":"2025-08-04T11:04:00","guid":{"rendered":"https:\/\/davidshoon.com\/?p=60"},"modified":"2026-10-20T09:50:08","modified_gmt":"2026-10-19T22:50:08","slug":"why-agile-doesnt-suck","status":"publish","type":"post","link":"https:\/\/davidshoon.com\/?p=60","title":{"rendered":"Why AGILE doesn&#8217;t suck."},"content":{"rendered":"<h1 style=\"text-align: left\">Why AGILE doesn&#8217;t suck.<\/h1>\n<p>Previously I wrote why AGILE sucks. Now I write a piece on why AGILE doesn&#8217;t suck.<\/p>\n<h2 style=\"text-align: left\">Godel<\/h2>\n<p>First off I start with a theorem based off Godel&#8217;s incompleteness theorem, which basically says:&nbsp;<\/p>\n<p>Any theory T has a paradox P, and can&#8217;t be resolved unless a new theory T&#8217; is made, which solves the paradox P but will have its own paradox P&#8217;.<\/p>\n<p>That is because of Godel&#8217;s incompleteness theorem. Either the theory is inconsistent, or cannot prove everything; which idealises itself as a paradox.<\/p>\n<h2 style=\"text-align: left\">Why AGILE doesn&#8217;t suck.<\/h2>\n<p>Imagine a computer program is a theory T. And that it should match the business case. However, there&#8217;s a paradox P, which the business case might need to meet and solve, and thus the computer program needs to change to T&#8217; (knowing full well there&#8217;s another P&#8217; that could be a problem.)<\/p>\n<p>So AGILE capitalises on this by making changes favourable &#8212; being flexible and not being fixed in a contract allows you to manipulate theories: T -&gt; T&#8217; -&gt; T&#8221; -&gt; T&#8221;&#8217; and so on; with corresponding paradox &#8220;Ps&#8221; i.e. P -&gt; P&#8217; -&gt; P&#8221; -&gt; P&#8221;&#8217;.<\/p>\n<p>However, this is where AGILE still sucks.<\/p>\n<h2 style=\"text-align: left\">Why AGILE still sucks.<\/h2>\n<p>If you manipulate theories, you will have a bunch of paradoxes which need to be solved by each theory. If it&#8217;s unsolved, that&#8217;s technical debt. So you have to refactor after each addition of a new theory, to ensure you eliminate the paradoxes and only have one SINGLE final paradox.<\/p>\n<h2 style=\"text-align: left\">But we are human.<\/h2>\n<p>So I guess that&#8217;s the deciding factor. We are human, and our business cases are always expanding in scope. Translated, this means our theories will always expand into some new theory.<\/p>\n<p>So this is why AGILE wins in the end. If done properly, with refactoring and eliminating paradoxes, it will have the better outcome.<\/p>\n<h2>However, when I run a business, and I sure as hell won&#8217;t develop more code than I need to unless you pay me a subscription fee&#8230;<\/h2>\n<p>Because creating code isn&#8217;t free.<\/p>\n<p>But, then, that&#8217;s where the generative AI is supposed to come in and tell me that you should code for free because otherwise you&#8217;ll be replaced with AI and its &#8220;Large Language Models&#8221;.<\/p>\n<p>But they&#8217;re flawed. We know, because they&#8217;re unable to solve even the simplest paradoxes.&nbsp;<\/p>\n<p>Because paradoxes are hard. And they&#8217;re dependent on the environment &#8212; e.g. chicken or egg paradox, which came first? We can&#8217;t tell just by looking at that sentence, but we know, given biology, that a bird that looked like a chicken laid an egg which had genetic mutations which gave rise to a chicken. (Note: It doesn&#8217;t resolve the paradox of which came first, the bird or the egg; as you can see, it just shifts the paradox into a larger scope paradox.)<\/p>\n<p>Generative AI is not even close to solving paradoxes like that, because it doesn&#8217;t experience the human world. The real world. The reality.<\/p>\n<p>Nature defines how paradoxes are solved.<\/p>\n<h2 style=\"text-align: left\">I was working on Riemann&#8217;s hypothesis by the way&#8230;<\/h2>\n<p>And I realised the reason why the hypothesis exists is because it&#8217;s trying to solve a paradox.<\/p>\n<p>We&#8217;re going to need a new theory T&#8217; (and not just ZFC set theory) to solve it. However, that&#8217;s the problem. Riemann&#8217;s hypothesis tackles the theory of theories and paradoxes, because it&#8217;s attempting to solve a problem relating to prime numbers, and that&#8217;s part of the problem, since there&#8217;s an infinite number of primes, and ZFC says you can&#8217;t prove infinity (since you can&#8217;t count to infinity), and that itself is a paradox.<\/p>\n<p>However, attacking RH using modular forms is something interesting. Imagine being able to wrap up all the prime numbers in a modular form. That would allow you to brute force all possibilities and solve RH.<\/p>\n<p>However, there is no pattern to prime numbers, as it appears to be randomly distributed as it gets larger. So &#8230; modular forms is probably not a solution, in fact, it&#8217;s probably a paradox in modular forms as well.<\/p>\n<p>The paradox P just keeps in escaping into every new theory T&#8217;.<\/p>\n<p>There is always going to be one final paradox anyway.<\/p>\n<p>So, hence, AGILE still sucks.<\/p>\n<p>(Edit: I mentioned &#8220;modular forms&#8221; and I only now realise that was a mistake. I meant finite field, which RH has been solved for, but whether this applies generally is another question.)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Why AGILE doesn&#8217;t suck. Previously I wrote why AGILE sucks. Now I write a piece on why AGILE doesn&#8217;t suck. Godel First off I start with a theorem based off Godel&#8217;s incompleteness theorem, which basically says:&nbsp; Any theory T has a paradox P, and can&#8217;t be resolved unless a new theory T&#8217; is made, which [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-60","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/davidshoon.com\/index.php?rest_route=\/wp\/v2\/posts\/60","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/davidshoon.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/davidshoon.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/davidshoon.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/davidshoon.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=60"}],"version-history":[{"count":1,"href":"https:\/\/davidshoon.com\/index.php?rest_route=\/wp\/v2\/posts\/60\/revisions"}],"predecessor-version":[{"id":61,"href":"https:\/\/davidshoon.com\/index.php?rest_route=\/wp\/v2\/posts\/60\/revisions\/61"}],"wp:attachment":[{"href":"https:\/\/davidshoon.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=60"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/davidshoon.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=60"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/davidshoon.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=60"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}