<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Blog on Uwe Friedrichsen</title>
    <link>https://ufried.com/blog/</link>
    <description>Recent content in Blog on Uwe Friedrichsen</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 24 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://ufried.com/blog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>We are our own worst enemies</title>
      <link>https://ufried.com/blog/worst_enemies/</link>
      <pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/worst_enemies/</guid>
      <description>&lt;h1 id=&#34;we-are-our-own-worst-enemies&#34;&gt;We are our own worst enemies&lt;/h1&gt;&#xA;&lt;p&gt;This post is about two observations I repeatedly make when looking around in our community. They are loosely connected by the topic of AI, which makes both observations more visible. The observations are about how we make our lives &amp;ndash; IMO unnecessarily &amp;ndash; harder.&lt;/p&gt;&#xA;&lt;p&gt;Let us start with the first observation.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-perceived-feeling-of-acceleration&#34;&gt;The perceived feeling of acceleration&lt;/h2&gt;&#xA;&lt;p&gt;My first observation in a nutshell:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The world does not accelerate that fast. We decided to accelerate.&lt;/p&gt;</description>
    </item>
    <item>
      <title>It has never been about code</title>
      <link>https://ufried.com/blog/never_been_about_code/</link>
      <pubDate>Fri, 03 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/never_been_about_code/</guid>
      <description>&lt;h1 id=&#34;it-has-never-been-about-code&#34;&gt;It has never been about code&lt;/h1&gt;&#xA;&lt;h2 id=&#34;the-dream&#34;&gt;The dream&lt;/h2&gt;&#xA;&lt;p&gt;It started many years ago with a dream &amp;ndash; a dream about a universal automaton. Many people were involved in its invention: &lt;a href=&#34;https://en.wikipedia.org/wiki/Ada_Lovelace&#34;&gt;Ada Lovelace&lt;/a&gt;, &lt;a href=&#34;https://en.wikipedia.org/wiki/Charles_Babbage&#34;&gt;Charles Babbage&lt;/a&gt;, &lt;a href=&#34;https://en.wikipedia.org/wiki/Alan_Turing&#34;&gt;Alan Turing&lt;/a&gt;, &lt;a href=&#34;https://en.wikipedia.org/wiki/Konrad_Zuse&#34;&gt;Conrad Zuse&lt;/a&gt;, and many more. &lt;a href=&#34;https://en.wikipedia.org/wiki/John_von_Neumann&#34;&gt;John von Neumann&lt;/a&gt; came relatively late to the party, but he described a hardware design in 1945 that became famous as the &lt;a href=&#34;https://en.wikipedia.org/wiki/Von_Neumann_architecture&#34;&gt;&amp;ldquo;Von Neumann architecture&amp;rdquo;&lt;/a&gt;. Even if the technology evolved a lot and computers became much more powerful since 1945, more than 80 years later, the design of most modern computers is still a refined version of the original Von Neumann architecture.&lt;/p&gt;</description>
    </item>
    <item>
      <title>In search of resilience</title>
      <link>https://ufried.com/blog/in_search_of_resilience/</link>
      <pubDate>Fri, 13 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/in_search_of_resilience/</guid>
      <description>&lt;h1 id=&#34;in-search-of-resilience&#34;&gt;In search of resilience&lt;/h1&gt;&#xA;&lt;p&gt;AI is eating IT. At least this is how it looks at the moment. AI everywhere, in all stages of software development as well as part of the solutions, including SaaS and COTS. The promise and widespread AI application pattern:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Make developers hyper-productive using AI to fix existing issues in IT, speed it up and reduce costs&lt;/li&gt;&#xA;&lt;li&gt;Automate business processes using AI to fix existing issues in business (including demographic change), speed them up and reduce costs&lt;/li&gt;&#xA;&lt;li&gt;As all issues and bottlenecks will be fixed thanks to AI, business can be scaled further&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;In short: AI will help to produce more, faster, and cheaper.&lt;/p&gt;</description>
    </item>
    <item>
      <title>You are not left behind</title>
      <link>https://ufried.com/blog/not_left_behind/</link>
      <pubDate>Fri, 20 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/not_left_behind/</guid>
      <description>&lt;h1 id=&#34;you-are-not-left-behind&#34;&gt;You are not left behind&lt;/h1&gt;&#xA;&lt;p&gt;How often have you heard a phrase like &amp;ldquo;If you do not become highly proficient in AI/LLMs/Agentic AI now, you will be left behind!&amp;rdquo; in recent months? Probably more often than you were able (or willing) to count. And it does not stop there. If we do not immediately learn the stuff as advised by the person uttering such phrases, we will lose our jobs and never get a job again. Our existences will be &lt;em&gt;destroyed&lt;/em&gt;. And this will be solely our fault because we did not listen and obey.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Forget technical debt</title>
      <link>https://ufried.com/blog/forget_technical_debt/</link>
      <pubDate>Fri, 30 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/forget_technical_debt/</guid>
      <description>&lt;h1 id=&#34;forget-technical-debt&#34;&gt;Forget technical debt&lt;/h1&gt;&#xA;&lt;p&gt;To be clear: I do not think we should actually forget technical debt. Also, this is not the nth post discussing if &amp;ldquo;debt&amp;rdquo; is an appropriate metaphor. I do not have a strong opinion regarding the metaphor. My point is rather that I realized in a recent discussion that in the end, it is not so much about technical debt but rather about something else, and I wanted to share the thought.&lt;/p&gt;</description>
    </item>
    <item>
      <title>We default to addition</title>
      <link>https://ufried.com/blog/addition_bias/</link>
      <pubDate>Fri, 09 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/addition_bias/</guid>
      <description>&lt;h1 id=&#34;we-default-to-addition&#34;&gt;We default to addition&lt;/h1&gt;&#xA;&lt;p&gt;I wrote a lot about the staggering complexity in IT, its detrimental effects, and what we can and should do about it (see, e.g., my &lt;a href=&#34;https://ufried.com/blog/simplify_intro/&#34;&gt;&amp;ldquo;Simplify!&amp;rdquo; blog series&lt;/a&gt;. I wrote about the embedding of the complexity problem in a bigger context in my &lt;a href=&#34;https://ufried.com/blog/responsible_it_1/&#34;&gt;&amp;ldquo;Responsible IT&amp;rdquo; blog series&lt;/a&gt;). I also identified several drivers that usually increase accidental complexity, i.e., complexity in the solution which not needed to solve the given problem (see the &lt;a href=&#34;https://ufried.com/blog/simplify_3_essential_and_accidental_complexity/&#34;&gt;third&lt;/a&gt; and &lt;a href=&#34;https://ufried.com/blog/simplify_4_accidental_complexity_in_depth/&#34;&gt;fourth&lt;/a&gt; post of my &lt;a href=&#34;https://ufried.com/blog/simplify_intro/&#34;&gt;&amp;ldquo;Simplify!&amp;rdquo; blog series&lt;/a&gt; for a more detailed introduction to accidental complexity).&lt;/p&gt;</description>
    </item>
    <item>
      <title>AI and the ironies of automation - Part 2</title>
      <link>https://ufried.com/blog/ironies_of_ai_2/</link>
      <pubDate>Fri, 12 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/ironies_of_ai_2/</guid>
      <description>&lt;h1 id=&#34;ai-and-the-ironies-of-automation---part-2&#34;&gt;AI and the ironies of automation - Part 2&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/ironies_of_ai_1/&#34;&gt;previous post&lt;/a&gt;, we discussed several observations, &lt;a href=&#34;https://en.wikipedia.org/wiki/Ironies_of_Automation&#34;&gt;Lisanne Bainbridge&lt;/a&gt; made in her much-noticed paper &lt;a href=&#34;https://www.sciencedirect.com/science/article/abs/pii/0005109883900468&#34;&gt;&amp;ldquo;The ironies of automation&amp;rdquo;&lt;/a&gt;, she published in 1983 and what they mean for the current &amp;ldquo;white-collar&amp;rdquo; work automation attempts leveraging LLMs and AI agents based on LLMs, still requiring humans in the loop. We stopped at the end of the first chapter, &amp;ldquo;Introduction&amp;rdquo;, of the paper.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will continue with the second chapter, &amp;ldquo;Approaches to solutions&amp;rdquo;, and see what we can learn there.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AI and the ironies of automation - Part 1</title>
      <link>https://ufried.com/blog/ironies_of_ai_1/</link>
      <pubDate>Fri, 21 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/ironies_of_ai_1/</guid>
      <description>&lt;h1 id=&#34;ai-and-the-ironies-of-automation---part-1&#34;&gt;AI and the ironies of automation - Part 1&lt;/h1&gt;&#xA;&lt;p&gt;In 1983, &lt;a href=&#34;https://en.wikipedia.org/wiki/Ironies_of_Automation&#34;&gt;Lisanne Bainbridge&lt;/a&gt; wrote the much-noticed paper &lt;a href=&#34;https://ckrybus.com/static/papers/Bainbridge_1983_Automatica.pdf&#34;&gt;&amp;ldquo;The ironies of automation&amp;rdquo;&lt;/a&gt;. Being a cognitive psychologist, she discussed some counter-intuitive effects of automation in her paper. She called those effects &lt;em&gt;ironies&lt;/em&gt; and &lt;em&gt;paradoxes&lt;/em&gt;, providing precise definitions for both terms:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;Irony&lt;/em&gt;: combination of circumstances, the result of which is the direct opposite of what might be expected.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Paradox&lt;/em&gt;: seemingly absurd though perhaps really well-founded statement.&lt;/p&gt;</description>
    </item>
    <item>
      <title>It is your fault if your application is down</title>
      <link>https://ufried.com/blog/it_is_your_fault/</link>
      <pubDate>Fri, 31 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/it_is_your_fault/</guid>
      <description>&lt;h1 id=&#34;it-is-your-fault-if-your-application-is-down&#34;&gt;It is your fault if your application is down&lt;/h1&gt;&#xA;&lt;p&gt;Recently, AWS experienced one of its rare partial outages. Its DynamoDB service experienced a disruption in the US-East-1 region that could be tracked down to a latent race condition in the DynamoDB DNS management system which caused the disruption. A comprehensive post-event summary describing the outage, its cause and the resulting effects can be found &lt;a href=&#34;https://aws.amazon.com/de/message/101925/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I do not want to add yet another opinion what AWS should have done differently. Quite the opposite. The trigger &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; was an extremely unlikely race condition that is exceptionally hard to spot when looking at the design and basically impossible to detect via testing. It was one of those surprises that nobody could anticipate and that only became clear in hindsight.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Solving the wrong problem</title>
      <link>https://ufried.com/blog/ai_assisted_coding/</link>
      <pubDate>Fri, 10 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/ai_assisted_coding/</guid>
      <description>&lt;h1 id=&#34;solving-the-wrong-problem&#34;&gt;Solving the wrong problem&lt;/h1&gt;&#xA;&lt;p&gt;I think a lot about AI-assisted and AI-based coding. The first one is a human who writes code with more or less support of an AI solution. We see it all the time already now. The second one is a human leaving the coding part to a fleet of AI agents. If the human does not even look into the code created but treats it as a black box and looks at the solution only from the outside, i.e., only watches what it is doing, it is usually called vibe coding.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The process deadlock</title>
      <link>https://ufried.com/blog/business_processes/</link>
      <pubDate>Fri, 19 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/business_processes/</guid>
      <description>&lt;h1 id=&#34;the-process-deadlock&#34;&gt;The process deadlock&lt;/h1&gt;&#xA;&lt;p&gt;When a company is small and young, work is often done in a seemingly ad hoc fashion. People briefly discuss and then do what appears to be the best solution for the task at hand. As the company is small and most people in the company have a good idea what is important and what is not, this approach tends to work quite well. Sometimes, a wrong decision may be made but in  general, this sort of ad hoc approach works quite well.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A note about eventual consistency - Part 2</title>
      <link>https://ufried.com/blog/eventual_consistency_2/</link>
      <pubDate>Fri, 29 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/eventual_consistency_2/</guid>
      <description>&lt;h1 id=&#34;a-note-about-eventual-consistency---part-2&#34;&gt;A note about eventual consistency - Part 2&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/eventual_consistency_1/&#34;&gt;previous post&lt;/a&gt; we discussed what eventual consistency actually means and why we sometimes need to favor eventual consistency over strong consistency. We also saw that most of the time we will not perceive any differences between eventual and strong consistency if set up properly. The differences only become apparent if the system encounters adverse conditions like, e.g., a network partition, loss of a node, or alike.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A note about eventual consistency - Part 1</title>
      <link>https://ufried.com/blog/eventual_consistency_1/</link>
      <pubDate>Fri, 08 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/eventual_consistency_1/</guid>
      <description>&lt;h1 id=&#34;a-note-about-eventual-consistency---part-1&#34;&gt;A note about eventual consistency - Part 1&lt;/h1&gt;&#xA;&lt;p&gt;Recently I saw a skeet on Bluesky:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;ldquo;Eventually consistent mainly means it will be regularly non consistent at all.&amp;rdquo;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I deliberately leave out the link to the post because I do not have the faintest idea regarding the context and motivation that made the author write that skeet and I do not want to make any assumptions about it. The author could have meant a lot of things.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thoughts on AI and software development - Part 5</title>
      <link>https://ufried.com/blog/ai_and_software_development_5/</link>
      <pubDate>Fri, 18 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/ai_and_software_development_5/</guid>
      <description>&lt;h1 id=&#34;thoughts-on-ai-and-software-development---part-5&#34;&gt;Thoughts on AI and software development - Part 5&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/ai_and_software_development_4/&#34;&gt;previous post&lt;/a&gt;, we completed our analysis of the projection Steve made by looking at some unresolved side effects and questions that would come with such a future.&lt;/p&gt;&#xA;&lt;p&gt;In this final post of this series, we will look at how we can hedge our options with such a scenario on the possible horizon and maybe tweak it a bit in our favor. Finally, I will wrap up with a few thoughts on how to deal with such sometimes grim and discomforting looking developments.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thoughts on AI and software development - Part 4</title>
      <link>https://ufried.com/blog/ai_and_software_development_4/</link>
      <pubDate>Fri, 27 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/ai_and_software_development_4/</guid>
      <description>&lt;h1 id=&#34;thoughts-on-ai-and-software-development---part-4&#34;&gt;Thoughts on AI and software development - Part 4&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/ai_and_software_development_3/&#34;&gt;previous post&lt;/a&gt;, we looked at the likely short- and mid-term consequences if Steve&amp;rsquo;s projection should become reality. We saw a bit disturbed that most likely the only winners of that projection would be the providers of agentic AI solutions and their investors while everyone else would be on the loser side of the game.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will complete our analysis by looking at some side effects and unresolved questions that would come with such a future.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thoughts on AI and software development - Part 3</title>
      <link>https://ufried.com/blog/ai_and_software_development_3/</link>
      <pubDate>Fri, 06 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/ai_and_software_development_3/</guid>
      <description>&lt;h1 id=&#34;thoughts-on-ai-and-software-development---part-3&#34;&gt;Thoughts on AI and software development - Part 3&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/ai_and_software_development_2/&#34;&gt;previous post&lt;/a&gt;, we looked at the &lt;em&gt;want&lt;/em&gt; side regarding Steve&amp;rsquo;s projection and the forces they trigger. We took off the rose-colored glasses and tried to have an unembellished look at these forces even if the things we saw, were a bit more gloomy and controversial than we would have liked it.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will continue our analysis by looking at the likely short- and mid-term consequences of such a future becoming reality &amp;ndash; also without any sugar coating.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thoughts on AI and software development - Part 2</title>
      <link>https://ufried.com/blog/ai_and_software_development_2/</link>
      <pubDate>Fri, 16 May 2025 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/ai_and_software_development_2/</guid>
      <description>&lt;h1 id=&#34;thoughts-on-ai-and-software-development---part-2&#34;&gt;Thoughts on AI and software development - Part 2&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/ai_and_software_development_1/&#34;&gt;previous post&lt;/a&gt;, we looked at Steve Yegge&amp;rsquo;s post where he made a projection from the vibe coding of today to controlling AI agent fleets in the near future that take over all coding reliably. Pondering this projection as a possible future, we realized that this future is not what we need as our actual problems in software development do not lie in a lack of developer productivity (or to be more precise: developer efficiency) but somewhere else.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thoughts on AI and software development - Part 1</title>
      <link>https://ufried.com/blog/ai_and_software_development_1/</link>
      <pubDate>Fri, 25 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/ai_and_software_development_1/</guid>
      <description>&lt;h1 id=&#34;thoughts-on-ai-and-software-development---part-1&#34;&gt;Thoughts on AI and software development - Part 1&lt;/h1&gt;&#xA;&lt;p&gt;This blog series will be a bit different. It might leave you with more questions than answers and I apologize for that upfront. It is also more controversial than most other posts, I have written before. In this post, I will discuss the current developments regarding AI in software development more from a CTO&amp;rsquo;s perspective. This means, I cannot simply reason about the pros and cons of a topic but I also need to take the market forces into account.&lt;/p&gt;</description>
    </item>
    <item>
      <title>(Un)coupling in distributed systems - Part 2</title>
      <link>https://ufried.com/blog/coupling_2/</link>
      <pubDate>Fri, 04 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/coupling_2/</guid>
      <description>&lt;h1 id=&#34;uncoupling-in-distributed-systems---part-2&#34;&gt;(Un)coupling in distributed systems - Part 2&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/coupling_1/&#34;&gt;previous post&lt;/a&gt;, we started to discuss a specific type of coupling, the coupling between processes in a distributed system. We discussed the fallacy that loose technical coupling, i.e., using a message-based communication style is sufficient to ensure loose coupling between processes. We learnt that instead we need to implement loose coupling at a technical &lt;em&gt;and&lt;/em&gt; a functional level to actually become loosely coupled.&lt;/p&gt;</description>
    </item>
    <item>
      <title>(Un)coupling in distributed systems - Part 1</title>
      <link>https://ufried.com/blog/coupling_1/</link>
      <pubDate>Fri, 14 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/coupling_1/</guid>
      <description>&lt;h1 id=&#34;uncoupling-in-distributed-systems---part-1&#34;&gt;(Un)coupling in distributed systems - Part 1&lt;/h1&gt;&#xA;&lt;p&gt;Coupling is a big issue in software design. With software landscapes becoming more and more complex, coupling painfully steps on our toes whenever we attempt to change things. Hence, we want to reduce coupling. On the other hand, without any coupling systems and their parts would not be able to interact. Hence, we need coupling &amp;ndash; feels a bit like being stuck between a rock and a hard place.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The long way towards resilience - Part 10</title>
      <link>https://ufried.com/blog/road_to_resilience_10/</link>
      <pubDate>Fri, 21 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/road_to_resilience_10/</guid>
      <description>&lt;h1 id=&#34;the-long-and-winding-road-towards-resilience---part-10&#34;&gt;The long and winding road towards resilience - Part 10&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/road_to_resilience_9/&#34;&gt;previous post&lt;/a&gt;, we discussed what we find at the peak of Mt. Resilience, the &lt;em&gt;peak of advanced resilience (anti-fragility)&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we discuss the final question left, which is if we always need to climb to the top or if it is okay to stop our journey at one of the interim plateaus.&lt;/p&gt;&#xA;&lt;h2 id=&#34;all-models-are-wrong-&#34;&gt;All models are wrong &amp;hellip;&lt;/h2&gt;&#xA;&lt;p&gt;Before we dive into the question, let me repeat a statement first, i made &lt;a href=&#34;https://ufried.com/blog/road_to_resilience_2/&#34;&gt;quite at the beginning of this blog series&lt;/a&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>The long way towards resilience - Part 9</title>
      <link>https://ufried.com/blog/road_to_resilience_9/</link>
      <pubDate>Fri, 31 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/road_to_resilience_9/</guid>
      <description>&lt;h1 id=&#34;the-long-and-winding-road-towards-resilience---part-9&#34;&gt;The long and winding road towards resilience - Part 9&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/road_to_resilience_8/&#34;&gt;previous post&lt;/a&gt;, we broadened our view and learned about the sameness of business and IT. We also used the four response types of resilience to change our static approach regarding threats towards a more dynamic one, including continuous evaluation of threats, learning and repositioning in an ever-changing threat landscape. This adds the last missing shard to resilience: Anti-fragility.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will discuss what we find at the peak of Mt. Resilience, the &lt;em&gt;peak of advanced resilience (anti-fragility)&lt;/em&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The long way towards resilience - Part 8</title>
      <link>https://ufried.com/blog/road_to_resilience_8/</link>
      <pubDate>Fri, 10 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/road_to_resilience_8/</guid>
      <description>&lt;h1 id=&#34;the-long-and-winding-road-towards-resilience---part-8&#34;&gt;The long and winding road towards resilience - Part 8&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/road_to_resilience_7/&#34;&gt;previous post&lt;/a&gt;, we discussed what we find at the high-plateau of basic resilience.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will discuss what is still missing to continue our journey to the top of Mt. Resilience. While discussing the missing ingredient, we will also broaden our view once more and find a familiar obstacle on our way.&lt;/p&gt;&#xA;&lt;p&gt;Let us get started.&lt;/p&gt;&#xA;&lt;h2 id=&#34;standing-still&#34;&gt;Standing still&lt;/h2&gt;&#xA;&lt;p&gt;As we have discussed in the &lt;a href=&#34;https://ufried.com/blog/road_to_resilience_7/&#34;&gt;previous post&lt;/a&gt;, we achieved resilience at the high-plateau of basic resilience, i.e., the ability to successfully cope with expected and unexpected adverse events and situations. We also saw we still lack the ability to evolve, to reposition ourselves in the face of a changing threats surface (with &amp;ldquo;threats&amp;rdquo; meaning adverse events and situations, see clarification in the next section).&lt;/p&gt;</description>
    </item>
    <item>
      <title>The long way towards resilience - Part 7</title>
      <link>https://ufried.com/blog/road_to_resilience_7/</link>
      <pubDate>Fri, 13 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/road_to_resilience_7/</guid>
      <description>&lt;h1 id=&#34;the-long-and-winding-road-towards-resilience---part-7&#34;&gt;The long and winding road towards resilience - Part 7&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/road_to_resilience_6/&#34;&gt;previous post&lt;/a&gt;, we discussed what it means to also prepare for surprises, the realizations needed to guide us to the next plateau, including the probably biggest obstacle in our way: efficiency obsession.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will discuss what we find at the third plateau, the &lt;em&gt;high-plateau of basic resilience&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-high-plateau-of-basic-resilience&#34;&gt;The high-plateau of basic resilience&lt;/h2&gt;&#xA;&lt;p&gt;The high-plateau of basic resilience is the third interim stop, companies tend to reach on their journey towards resilience.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The long way towards resilience - Part 6</title>
      <link>https://ufried.com/blog/road_to_resilience_6/</link>
      <pubDate>Fri, 22 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/road_to_resilience_6/</guid>
      <description>&lt;h1 id=&#34;the-long-and-winding-road-towards-resilience---part-6&#34;&gt;The long and winding road towards resilience - Part 6&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/road_to_resilience_5/&#34;&gt;previous post&lt;/a&gt;, we discussed the plateau of robustness, the second interim stop on the journey towards resilience, what it is good for, what its limitations are and what it means to get there.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will discuss what it means also to prepare for surprises, the additional realizations needed to guide us to the next plateau &amp;ndash; and we will meet the probably biggest obstacle on our way.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The long way towards resilience - Part 5</title>
      <link>https://ufried.com/blog/road_to_resilience_5/</link>
      <pubDate>Fri, 01 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/road_to_resilience_5/</guid>
      <description>&lt;h1 id=&#34;the-long-and-winding-road-towards-resilience---part-5&#34;&gt;The long and winding road towards resilience - Part 5&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/road_to_resilience_4/&#34;&gt;previous post&lt;/a&gt;, we discussed discussed the 100% availability trap and revisited availability. We also discussed the two realizations needed to continue our journey to the second plateau.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will discuss what we find at the second plateau, the &lt;em&gt;plateau of robustness&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-plateau-of-robustness&#34;&gt;The plateau of robustness&lt;/h2&gt;&#xA;&lt;p&gt;The plateau of robustness &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; is the second interim stop, companies tend to reach on their journey towards resilience.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The long way towards resilience - Part 4</title>
      <link>https://ufried.com/blog/road_to_resilience_4/</link>
      <pubDate>Fri, 11 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/road_to_resilience_4/</guid>
      <description>&lt;h1 id=&#34;the-long-and-winding-road-towards-resilience---part-4&#34;&gt;The long and winding road towards resilience - Part 4&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/road_to_resilience_3/&#34;&gt;previous post&lt;/a&gt;, we discussed the plateau of stability, the first interim stop on the journey towards resilience &amp;ndash; what it is good for, what its limitations are and why it is quite popular.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will discuss the 100% availability trap, I introduced at the end of the &lt;a href=&#34;https://ufried.com/blog/road_to_resilience_3/&#34;&gt;previous post&lt;/a&gt;, in more detail and revisit availability. We will also discuss the realizations needed to continue the journey to the next plateau.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The long way towards resilience - Part 3</title>
      <link>https://ufried.com/blog/road_to_resilience_3/</link>
      <pubDate>Fri, 20 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/road_to_resilience_3/</guid>
      <description>&lt;h1 id=&#34;the-long-and-winding-road-towards-resilience---part-3&#34;&gt;The long and winding road towards resilience - Part 3&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/road_to_resilience_2/&#34;&gt;previous post&lt;/a&gt;, we discussed the valley of feature-completeness, the starting point of our prototypical journey towards resilience and we realized that such a setup usually is not advisable anymore.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will discuss why we still see such a setup quite often in companies even if it is not suitable anymore with respect to the demands of today&amp;rsquo;s IT system landscapes. Then we will discuss which realization is needed to kick off the journey and what we will find at the first plateau.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The long way towards resilience - Part 2</title>
      <link>https://ufried.com/blog/road_to_resilience_2/</link>
      <pubDate>Fri, 30 Aug 2024 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/road_to_resilience_2/</guid>
      <description>&lt;h1 id=&#34;the-long-and-winding-road-towards-resilience---part-2&#34;&gt;The long and winding road towards resilience - Part 2&lt;/h1&gt;&#xA;&lt;p&gt;We laid the foundations for our journey towards resilience in the &lt;a href=&#34;https://ufried.com/blog/road_to_resilience_1/&#34;&gt;previous post&lt;/a&gt; by clarifying what resilience is. We needed to do this to create a common goal for our journey.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will discuss the starting point of our journey and why it is not sensible anymore to linger there.&lt;/p&gt;&#xA;&lt;p&gt;Note that I will describe a prototypical journey of a company from zero to resilience. The starting point and the interim stops are states I have seen several times on my own. Nevertheless, this is a simplified model, which means that the journey of your particular company might be different.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The long way towards resilience - Part 1</title>
      <link>https://ufried.com/blog/road_to_resilience_1/</link>
      <pubDate>Fri, 09 Aug 2024 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/road_to_resilience_1/</guid>
      <description>&lt;h1 id=&#34;the-long-and-winding-road-towards-resilience---part-1&#34;&gt;The long and winding road towards resilience - Part 1&lt;/h1&gt;&#xA;&lt;p&gt;In its core, this post series will discuss three questions:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What is resilience?&lt;/li&gt;&#xA;&lt;li&gt;How can we become resilient?&lt;/li&gt;&#xA;&lt;li&gt;Do we always need to go the full 9 yards?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;While the second question probably immediately makes sense to you, the first and third question may make you wonder. Is it not obvious what resilience is? And is there any alternative than doing everything needed if we want to become resilient? Based on my observations there is a lot of confusion regarding resilience. Almost everybody I talk to means something different if they talk about resilience.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Projects considered harmful - Part 2</title>
      <link>https://ufried.com/blog/projects_considered_harmful_2/</link>
      <pubDate>Fri, 19 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/projects_considered_harmful_2/</guid>
      <description>&lt;h1 id=&#34;projects-considered-harmful---part-2&#34;&gt;Projects considered harmful - Part 2&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/projects_considered_harmful_1/&#34;&gt;previous post&lt;/a&gt;, we discussed how the broken feedback loops that software development projects create lead to a continuously deteriorating IT system landscape, resulting in an ever-shrinking dependability &amp;ndash; which is probably the by far most important runtime property of software.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will discuss the other three reasons why I consider projects harmful:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Due to the project blinders effect, local optimizations are enforced, leading to a complexity explosion of the related IT system landscape.&lt;/li&gt;&#xA;&lt;li&gt;Software engineers, doing the actual work are tossed around from project to project which is problematic in terms of individual motivation and performance as well as in terms of team dynamics &amp;ndash; both leading to suboptimal results, compromising the quality of the related IT system landscape.&lt;/li&gt;&#xA;&lt;li&gt;If everything needs to be a project, if nothing can be accomplished without setting up a project, the regular organizational structure is completely inadequate. Instead of setting up more projects, the regular organizational structure needs to be fixed.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Finally, we will summarize our findings. Let us get started &amp;hellip;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Projects considered harmful - Part 1</title>
      <link>https://ufried.com/blog/projects_considered_harmful_1/</link>
      <pubDate>Fri, 28 Jun 2024 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/projects_considered_harmful_1/</guid>
      <description>&lt;h1 id=&#34;projects-considered-harmful---part-1&#34;&gt;Projects considered harmful - Part 1&lt;/h1&gt;&#xA;&lt;p&gt;What is a project?&lt;/p&gt;&#xA;&lt;p&gt;Lots of fancy definitions of the term &amp;ldquo;project&amp;rdquo; exist but in its core, it boils down to this:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;A project is a temporary work structure set up to accomplish a particular task.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;We take people from their regular organizational structures, group them together in a project team, give them a task and usually also a project organizational and process structure. Besides the deliverable, the task usually also contains a set of constraints, most commonly time and budget constraints.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Responsible IT - Part 2</title>
      <link>https://ufried.com/blog/responsible_it_2/</link>
      <pubDate>Fri, 07 Jun 2024 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/responsible_it_2/</guid>
      <description>&lt;h1 id=&#34;responsible-it---part-2&#34;&gt;Responsible IT - Part 2&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/responsible_it_1/&#34;&gt;previous post&lt;/a&gt;, we discussed the biggest challenges, IT organizations face these days. We have seen four big challenges, each with its own peculiarities:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;em&gt;Post-industrial markets&lt;/em&gt; and the resulting decision uncertainty (which equally affects IT due to the consequences of digital transformation).&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Digital transformation&lt;/em&gt; and its consequences, the fact that business and IT have become inseparable and especially the indispensability of IT.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Highly complex, highly diverse and outdated IT system landscapes&lt;/em&gt;, held together with lots of duct tape and kept running which WD-40 all over the place.&lt;/li&gt;&#xA;&lt;li&gt;Demographic change and the resulting &lt;em&gt;skills shortage&lt;/em&gt; (which is a big issue at least for the Western hemisphere).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;In this post, we look at the typical response patterns, why they usually only reinforce the problems and then try to rethink the solution space from first principles.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Responsible IT - Part 1</title>
      <link>https://ufried.com/blog/responsible_it_1/</link>
      <pubDate>Fri, 17 May 2024 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/responsible_it_1/</guid>
      <description>&lt;h1 id=&#34;responsible-it---part-1&#34;&gt;Responsible IT - Part 1&lt;/h1&gt;&#xA;&lt;p&gt;Lately, I attended an IT decision maker conference. A few hundred CIOs and other IT decision makers under a single roof. When looking at the conference schedule, you found the usual suspects:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Lots of talks about AI, especially GenAI&lt;/li&gt;&#xA;&lt;li&gt;Quite some talks about modernization of IT and digital transformation ((mis-)using digital transformation as a synonym for IT modernization)&lt;/li&gt;&#xA;&lt;li&gt;Some talks about cloud migration and platforms, complementing the previous topic&lt;/li&gt;&#xA;&lt;li&gt;A few talks about data, data quality, green IT and security&lt;/li&gt;&#xA;&lt;li&gt;A tiny amount of talks about low code and digital sovereignty&lt;/li&gt;&#xA;&lt;li&gt;All that garnished with two or three talks about diversity and ethics, especially regarding AI&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Up to this point nothing surprising. But when talking to some of those decision makers and trying to understand what really moves them, a much more interesting picture started to unfold:&lt;/p&gt;</description>
    </item>
    <item>
      <title>The need-vs-want dilemma</title>
      <link>https://ufried.com/blog/need-vs-want/</link>
      <pubDate>Fri, 26 Apr 2024 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/need-vs-want/</guid>
      <description>&lt;h1 id=&#34;the-need-vs-want-dilemma&#34;&gt;The need-vs-want dilemma&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://www.amazon.com/-/de/dp/0836204387/&#34;&gt;The Calvin and Hobbes Tenth Anniversary Book&lt;/a&gt;, author &lt;a href=&#34;https://en.wikipedia.org/wiki/Bill_Watterson&#34;&gt;Bill Watterson&lt;/a&gt; commented on some selected comic strips. Especially one comment made a lasting impression on me:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;[&amp;hellip;] I don&amp;rsquo;t know that there&amp;rsquo;s any connection between what we need and what we like.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Watterson made this comment in the context of a strip where Calvin, the 6 year old precocious and sometimes annoying main character presented a &amp;ldquo;poll of six-year-olds in this household&amp;rdquo; to his dad, trying to influence his father&amp;rsquo;s policies. Of course, the strip and Watterson&amp;rsquo;s comment on it were a skit on politicians who align their messages and their acting with the results of polls &amp;ndash; which reflect what people &lt;em&gt;want&lt;/em&gt; and not what they &lt;em&gt;need&lt;/em&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Software - It&#39;s not what you think it is - Part 7</title>
      <link>https://ufried.com/blog/software_fallacies_7/</link>
      <pubDate>Fri, 05 Apr 2024 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/software_fallacies_7/</guid>
      <description>&lt;h1 id=&#34;software---its-not-what-you-think-it-is---part-7&#34;&gt;Software - It&amp;rsquo;s not what you think it is - Part 7&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/software_fallacies_6/&#34;&gt;previous post&lt;/a&gt;, we summed up the misconceptions we discussed in this series and what they mean for the current discussion if AI solutions will replace software developers.&lt;/p&gt;&#xA;&lt;p&gt;In this final post of this blog series, we will discuss what the misconceptions mean for the humans affected by them and how we could possibly improve the situation. Let us dive in.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Software - It&#39;s not what you think it is - Part 6</title>
      <link>https://ufried.com/blog/software_fallacies_6/</link>
      <pubDate>Fri, 15 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/software_fallacies_6/</guid>
      <description>&lt;h1 id=&#34;software---its-not-what-you-think-it-is---part-6&#34;&gt;Software - It&amp;rsquo;s not what you think it is - Part 6&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/software_fallacies_5/&#34;&gt;previous post&lt;/a&gt; we have discussed that software is invisible which deprives humans from an essential reasoning instrument. We have also looked at the malleability curse, the property of software that it can be bent and twisted in totally absurd and nonsensical ways while still working in some way.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will summarize the findings from all previous posts of this series and discuss what it means for us and how we could improve the situation &amp;ndash; with a focus on AI solutions in this post and the humans involved in the &lt;a href=&#34;https://ufried.com/blog/software_fallacies_7/&#34;&gt;next and final post&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Software - It&#39;s not what you think it is - Part 5</title>
      <link>https://ufried.com/blog/software_fallacies_5/</link>
      <pubDate>Fri, 23 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/software_fallacies_5/</guid>
      <description>&lt;h1 id=&#34;software---its-not-what-you-think-it-is---part-5&#34;&gt;Software - It&amp;rsquo;s not what you think it is - Part 5&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/software_fallacies_4/&#34;&gt;previous post&lt;/a&gt;, we discussed the value preservation dilemma of software. We have seen that software &amp;ndash; opposed to almost all physical goods &amp;ndash; needs to be changed and adapted to the ever-changing needs and demands of its environment to preserve its value.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will look at the final two issues of software I would like to discuss in this blog series, the invisibility dilemma and the malleability curse. Let us start with the invisibility dilemma.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Software - It&#39;s not what you think it is - Part 4</title>
      <link>https://ufried.com/blog/software_fallacies_4/</link>
      <pubDate>Fri, 02 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/software_fallacies_4/</guid>
      <description>&lt;h1 id=&#34;software---its-not-what-you-think-it-is---part-4&#34;&gt;Software - It&amp;rsquo;s not what you think it is - Part 4&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/software_fallacies_3/&#34;&gt;previous post&lt;/a&gt; of this blog series we discussed the greenfield fallacy and its consequences. In this post we will discuss the next misconception, the value preservation dilemma and its consequences. Let us get started.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-value-preservation-dilemma&#34;&gt;The value preservation dilemma&lt;/h2&gt;&#xA;&lt;p&gt;Many misconceptions regarding software stem from comparisons with physical products like, e.g., cars or houses. We already discussed the &lt;a href=&#34;https://ufried.com/blog/software_fallacies_1/&#34;&gt;assembly line fallacy&lt;/a&gt; in the first post of this series. The value preservation dilemma also has its roots in these broken comparisons.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Software - It&#39;s not what you think it is - Part 3</title>
      <link>https://ufried.com/blog/software_fallacies_3/</link>
      <pubDate>Fri, 12 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/software_fallacies_3/</guid>
      <description>&lt;h1 id=&#34;software---its-not-what-you-think-it-is---part-3&#34;&gt;Software - It&amp;rsquo;s not what you think it is - Part 3&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/software_fallacies_2/&#34;&gt;previous post of this blog series&lt;/a&gt; we discussed the broken abstraction dilemma, that abstractions help to create concise descriptions but take away degrees of freedom, and that breaking an abstraction usually means increasing the required size of the description by orders of magnitude.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will first discuss what the broken abstraction dilemma means for AI solutions before moving on to the greenfield fallacy. Let us get started.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Software - It&#39;s not what you think it is - Part 2</title>
      <link>https://ufried.com/blog/software_fallacies_2/</link>
      <pubDate>Fri, 22 Dec 2023 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/software_fallacies_2/</guid>
      <description>&lt;h1 id=&#34;software---its-not-what-you-think-it-is---part-2&#34;&gt;Software - It&amp;rsquo;s not what you think it is - Part 2&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/software_fallacies_1/&#34;&gt;previous post of this blog series&lt;/a&gt; we discussed the assembly line fallacy, the misconception that software development is the same as building a car and learned that software development is part of the design, not the construction.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will discuss the next misconception, the broken abstraction dilemma and its consequences. This is particularly relevant for the concept of AI solutions writing software based on the input of business experts. Let us get started.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Software - It&#39;s not what you think it is - Part 1</title>
      <link>https://ufried.com/blog/software_fallacies_1/</link>
      <pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/software_fallacies_1/</guid>
      <description>&lt;h1 id=&#34;software---its-not-what-you-think-it-is---part-1&#34;&gt;Software - It&amp;rsquo;s not what you think it is - Part 1&lt;/h1&gt;&#xA;&lt;p&gt;The current AI hype is accompanied with a lot of predictions that software development will be taken over by AI solutions soon and most software developers will lose their jobs together with most other white collar workers. While I agree that &lt;a href=&#34;https://ufried.com/blog/chatgpt_already_knows/&#34;&gt;AI solutions will have a significant impact on software development&lt;/a&gt;, I disagree with the notion that software development will be taken over by AI solutions anytime soon.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Back to the future</title>
      <link>https://ufried.com/blog/back_to_the_future/</link>
      <pubDate>Fri, 10 Nov 2023 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/back_to_the_future/</guid>
      <description>&lt;h1 id=&#34;back-to-the-future&#34;&gt;Back to the future&lt;/h1&gt;&#xA;&lt;p&gt;Recently I tried to catch up with the recent developments in platform engineering when I experienced once more a just too familiar déjà vu feeling. During my research, I came across the following definition of platform engineering:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;ldquo;Platform engineering is the discipline of designing and building toolchains and workflows that enable self-service capabilities for software engineering organizations in the cloud-native era. Platform engineers provide an integrated product most often referred to as an “Internal Developer Platform” covering the operational necessities of the entire lifecycle of an application. An Internal Developer Platform (IDP) encompasses a variety of technologies and tools, integrated in a manner that reduces cognitive load on developers while retaining essential context and underlying technologies.&amp;rdquo; &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rethinking job ads - Part 2</title>
      <link>https://ufried.com/blog/rethinking_job_ads_2/</link>
      <pubDate>Fri, 20 Oct 2023 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/rethinking_job_ads_2/</guid>
      <description>&lt;h1 id=&#34;rethinking-job-ads---part-2&#34;&gt;Rethinking job-ads - Part 2&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/rethinking_job_ads_1/&#34;&gt;first part of this two-part blog post&lt;/a&gt;, I explained why I think most job ads today are rather pointless and are not particularly helpful in finding the people you need. Then I discussed some pointers that lead the way towards better criteria for job ads and mapped them against the typical job ad of today.&lt;/p&gt;&#xA;&lt;p&gt;In this second post, we will go a step further and look at how job ads could look like that reflect the actual needs of today better. We will also discuss what it means for the interview process because you cannot really separate the ads and the interview process. Finally, we will sum it all up.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rethinking job ads - Part 1</title>
      <link>https://ufried.com/blog/rethinking_job_ads_1/</link>
      <pubDate>Fri, 29 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/rethinking_job_ads_1/</guid>
      <description>&lt;h1 id=&#34;rethinking-job-ads---part-1&#34;&gt;Rethinking job-ads - Part 1&lt;/h1&gt;&#xA;&lt;p&gt;Sometimes I read through job ads and almost always they leave me a bit at a loss. They always ask in a checklist style for some traits and experiences that based on my experience are either rather pointless or not really essential. Or they ask for a very narrow hyper-specialized profile garnished with the usual &amp;ldquo;you should be team-minded&amp;rdquo; antidote which is even worse regarding today&amp;rsquo;s challenges.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Forget efficiency</title>
      <link>https://ufried.com/blog/efficiency_vs_effectiveness/</link>
      <pubDate>Fri, 08 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/efficiency_vs_effectiveness/</guid>
      <description>&lt;h1 id=&#34;forget-efficiency&#34;&gt;Forget efficiency&lt;/h1&gt;&#xA;&lt;p&gt;Should we really forget efficiency? No. But we should postpone focusing on efficiency until we are effective.&lt;/p&gt;&#xA;&lt;p&gt;Basically, the previous sentence is the summary of this blog post and maybe it sounds obvious at first reading. But based on my experiences it is not. The biggest problem we have (not only) in IT these days is a lack of effectiveness. And what do we do to solve this problem? We attempt to improve our efficiency &amp;ndash; amplifying our problems instead of solving any of them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ChatGPT already knows - Part 7</title>
      <link>https://ufried.com/blog/chatgpt_already_knows_7/</link>
      <pubDate>Fri, 18 Aug 2023 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/chatgpt_already_knows_7/</guid>
      <description>&lt;h1 id=&#34;chatgpt-already-knows---part-7&#34;&gt;ChatGPT already knows - Part 7&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/chatgpt_already_knows_6/&#34;&gt;previous post&lt;/a&gt;, we explored why we need to be a bit rebellious to take the road towards becoming a &amp;ldquo;full-range engineer&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;We have also discussed that it is not enough for our industry if software engineers change their positioning. Being sustainable (in its general meaning) in an increasingly complex, unpredictable and ambiguous world requires a different focus than the currently predominant one.&lt;/p&gt;&#xA;&lt;p&gt;In this final post of the series, we will put everything together, we have discussed so far and sum it up.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ChatGPT already knows - Part 6</title>
      <link>https://ufried.com/blog/chatgpt_already_knows_6/</link>
      <pubDate>Fri, 04 Aug 2023 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/chatgpt_already_knows_6/</guid>
      <description>&lt;h1 id=&#34;chatgpt-already-knows---part-6&#34;&gt;ChatGPT already knows - Part 6&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/chatgpt_already_knows_5/&#34;&gt;previous post&lt;/a&gt;, we discussed what it needs to become a &amp;ldquo;full-range engineer&amp;rdquo; and have seen that this is quite different from what software engineers often strive for today. However, the idea of a full-range engineer is focused on creating more value in a highly complex, uncertain and ambiguous environment and thus also improving our value.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will explore why we need to be a bit rebellious to take this road and discuss if a changed positioning of software engineers is sufficient for the future of our industry.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ChatGPT already knows - Part 5</title>
      <link>https://ufried.com/blog/chatgpt_already_knows_5/</link>
      <pubDate>Fri, 21 Jul 2023 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/chatgpt_already_knows_5/</guid>
      <description>&lt;h1 id=&#34;chatgpt-already-knows---part-5&#34;&gt;ChatGPT already knows - Part 5&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/chatgpt_already_knows_4/&#34;&gt;previous post&lt;/a&gt;, we examined how the omnipresent hyper-specialization in IT pushes software engineers into areas of human weaknesses and how nerd culture (involuntarily) reinforces the push. We also collected a little list of ideas how we can position ourselves as software engineers, aligned with humans strengths, preserving our value as software engineers in the face of modern AI solutions.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will discuss the first 6 items from the list at the end of the previous post, what it needs to become a &amp;ldquo;full-range engineer&amp;rdquo; (and of cause explain what &amp;ldquo;full-range engineer&amp;rdquo; means).&lt;/p&gt;</description>
    </item>
    <item>
      <title>ChatGPT already knows - Part 4</title>
      <link>https://ufried.com/blog/chatgpt_already_knows_4/</link>
      <pubDate>Fri, 07 Jul 2023 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/chatgpt_already_knows_4/</guid>
      <description>&lt;h1 id=&#34;chatgpt-already-knows---part-4&#34;&gt;ChatGPT already knows - Part 4&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/chatgpt_already_knows_3/&#34;&gt;previous post&lt;/a&gt;, we discussed what humans and AI solutions are (not) good at and have learned the strengths and weaknesses of humans and modern AI solutions basically complement each other. We have also seen that software engineers often do not leverage their human strengths. Instead, they often position themselves in ways that places them in direct competition with the strengths of AI solutions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ChatGPT already knows - Part 3</title>
      <link>https://ufried.com/blog/chatgpt_already_knows_3/</link>
      <pubDate>Fri, 23 Jun 2023 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/chatgpt_already_knows_3/</guid>
      <description>&lt;h1 id=&#34;chatgpt-already-knows---part-3&#34;&gt;ChatGPT already knows - Part 3&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/chatgpt_already_knows_2/&#34;&gt;previous post&lt;/a&gt;, we discussed where we came from as an industry, where we currently are and what the job of a software engineer (should) comprise. We also saw that most software engineers only fulfill a small part of what the role actually comprises, leading to direct competition with modern AI solutions that most likely we will not win.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will discuss what humans and AI solutions are (not) good at to get a better understanding how we can position ourselves in a more valuable way without competing with AI solutions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ChatGPT already knows - Part 2</title>
      <link>https://ufried.com/blog/chatgpt_already_knows_2/</link>
      <pubDate>Fri, 09 Jun 2023 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/chatgpt_already_knows_2/</guid>
      <description>&lt;h1 id=&#34;chatgpt-already-knows---part-2&#34;&gt;ChatGPT already knows - Part 2&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/chatgpt_already_knows/&#34;&gt;previous post&lt;/a&gt;, we discussed that detail knowledge, one of the major differentiators in software engineering careers, ceases to be a differentiator due to the growing capabilities of modern AI solutions. Whatever relevant detail knowledge a software engineer can have, these tools also can have. We stopped with the question what is left to software engineers in such a changing landscape, how to preserve one&amp;rsquo;s value.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ChatGPT already knows - Part 1</title>
      <link>https://ufried.com/blog/chatgpt_already_knows/</link>
      <pubDate>Fri, 19 May 2023 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/chatgpt_already_knows/</guid>
      <description>&lt;h1 id=&#34;chatgpt-already-knows---part-1&#34;&gt;ChatGPT already knows - Part 1&lt;/h1&gt;&#xA;&lt;p&gt;At the moment, we see a lot of discussions revolving ChatGPT and other modern AI tools like, e.g., GitHub Copilot. Many managers praise them as the new silver bullet to beat the (often self-made) skills shortage that will make software developers redundant while driving software development efficiency to unprecedented heights.&lt;/p&gt;&#xA;&lt;p&gt;Most software engineers on the other hand do not get tired to assure each other that these tools are nothing but another productivity aid which is completely useless without the guidance of an experienced software engineer. Hence, basically nothing will change for them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Let&#39;s (not) break up the monolith - Part 2</title>
      <link>https://ufried.com/blog/break_up_the_monolith_2/</link>
      <pubDate>Fri, 28 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/break_up_the_monolith_2/</guid>
      <description>&lt;h1 id=&#34;lets-not-break-up-the-monolith---part-2&#34;&gt;Let&amp;rsquo;s (not) break up the monolith - Part 2&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/break_up_the_monolith_1/&#34;&gt;previous post&lt;/a&gt;, we started with the observation that companies (still) want to break up their monoliths into microservices. If you ask them what they expect from this measure, they typically expect to cure the &amp;ldquo;big ball of mud&amp;rdquo; issue with microservices or to improve their time to market with them.&lt;/p&gt;&#xA;&lt;p&gt;We then discussed that simply changing the runtime artifact style from monolith to microservice will not help with the &amp;ldquo;big ball of mud&amp;rdquo; issue because the actual problems lie in the organization, the processes and the people, but not in the technology &amp;ndash; especially not in the runtime artifact style.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Let&#39;s (not) break up the monolith - Part 1</title>
      <link>https://ufried.com/blog/break_up_the_monolith_1/</link>
      <pubDate>Fri, 07 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/break_up_the_monolith_1/</guid>
      <description>&lt;h1 id=&#34;lets-not-break-up-the-monolith---part-1&#34;&gt;Let&amp;rsquo;s (not) break up the monolith - Part 1&lt;/h1&gt;&#xA;&lt;p&gt;Time and again clients approach my colleagues and me with the request that they want to break up their monolith into microservices and they ask us how to do this best. Apparently, they are convinced that breaking up the monolith into microservices will solve some big problems they had for a long time.&lt;/p&gt;&#xA;&lt;p&gt;Often, they are not willing to discuss if the measure will help to solve the problem they think it will solve. They only want advice at the technical design and implementation level.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reality check</title>
      <link>https://ufried.com/blog/reality_check/</link>
      <pubDate>Fri, 17 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/reality_check/</guid>
      <description>&lt;h1 id=&#34;reality-check&#34;&gt;Reality check&lt;/h1&gt;&#xA;&lt;p&gt;Recently, I had two experiences within a few days that made me think regarding system dependability. In both situations, the systems acted detached from their surrounding reality and thus became confusing or even annoying &amp;ndash; even if it would have been easy for them to detect their reality detachment.&lt;/p&gt;&#xA;&lt;h2 id=&#34;a-train-in-the-past&#34;&gt;A train in the past&lt;/h2&gt;&#xA;&lt;p&gt;The first experience was in a train. I traveled from Munich to Cologne. As it happens sometimes in German ICE trains, the information displays had a hiccup at the beginning of the trip, i.e., they did not display any information. About 30 or 40 minutes later, the system worked again. Probably someone restarted it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The tail at scale</title>
      <link>https://ufried.com/blog/tail_at_scale/</link>
      <pubDate>Fri, 24 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/tail_at_scale/</guid>
      <description>&lt;h1 id=&#34;the-tail-at-scale&#34;&gt;The tail at scale&lt;/h1&gt;&#xA;&lt;p&gt;About a decade ago, Jeffrey Dean and Luiz André Barroso published their IMO great article &lt;a href=&#34;https://research.google/pubs/pub40801/&#34;&gt;&amp;ldquo;The tail at scale&amp;rdquo;&lt;/a&gt; in the Communications of the ACM &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;. The article dives into the topic of latency tail-tolerance.&lt;/p&gt;&#xA;&lt;p&gt;I read the article several years ago and found it very interesting. Recently, I reread the article and was surprised, how many of the ideas and concepts described in the article I have forgotten since the first reading. Hence, I decided to capture the key ideas of the article, hoping that I will not forget them again &amp;ndash; or at least having a quick way to look reread them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Watch your time - Part 2</title>
      <link>https://ufried.com/blog/watch_your_time_2/</link>
      <pubDate>Fri, 03 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/watch_your_time_2/</guid>
      <description>&lt;h1 id=&#34;watch-your-time---part-2&#34;&gt;Watch your time - Part 2&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/watch_your_time_1/&#34;&gt;previous post&lt;/a&gt;, we identified time as our most precious resource. We saw that we are always confronted with a lot of tasks and expectations of other people. We also discussed that quite some of them turn out not to have any value for us or other people we care about. I call such tasks &lt;em&gt;time killers&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I then discussed egoistic time thieves as an example of time killers &amp;ndash; including the distinction between time thieves and people you help to grow because not everyone reaching out to you automatically is a time thief.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Watch your time - Part 1</title>
      <link>https://ufried.com/blog/watch_your_time_1/</link>
      <pubDate>Fri, 13 Jan 2023 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/watch_your_time_1/</guid>
      <description>&lt;h1 id=&#34;watch-your-time---part-1&#34;&gt;Watch your time - Part 1&lt;/h1&gt;&#xA;&lt;p&gt;This is my 100th blog post and the first post, I release in 2023. I would like to use this post to write about something more general for a change. I would like to write about time.&lt;/p&gt;&#xA;&lt;p&gt;Not about time in general, its relativity or the problems with time in distributed systems. I would like to write about time as your most precious resource, as the only actual currency of your life.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Keeping the balance</title>
      <link>https://ufried.com/blog/danger_of_extreme_positions/</link>
      <pubDate>Fri, 16 Dec 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/danger_of_extreme_positions/</guid>
      <description>&lt;h1 id=&#34;keeping-the-balance&#34;&gt;Keeping the balance&lt;/h1&gt;&#xA;&lt;p&gt;In this last post before the end of the year 2022, I would like to discuss a bit more general topic. I would like to discuss the problems of extreme positions in IT, why they are so popular &amp;ndash; and why they are so harmful.&lt;/p&gt;&#xA;&lt;p&gt;Let me start with a statement, I sometimes tend to make:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Any moron can take an extreme position. But it takes real intelligence to work out a good compromise.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Towards greener requirements</title>
      <link>https://ufried.com/blog/towards_greener_requirements/</link>
      <pubDate>Fri, 02 Dec 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/towards_greener_requirements/</guid>
      <description>&lt;h1 id=&#34;towards-greener-requirements&#34;&gt;Towards greener requirements&lt;/h1&gt;&#xA;&lt;p&gt;I did not yet write a lot about sustainability in this blog. However, I think it will become one of the mega-drivers of the upcoming years in IT. As a consequence, I think it is sensible to start pondering how to include sustainability into our daily work.&lt;/p&gt;&#xA;&lt;p&gt;Like &lt;a href=&#34;https://ufried.com/blog/resilience/&#34;&gt;resilience&lt;/a&gt;, sustainability has a lot of facets and dimensions and will I lay them out in a future foundational blog post. All of these dimensions affect IT, resulting in better working conditions, better business agility, higher society value (i.e., customer value based on society needs) and a reduced ecological footprint, if done right.&lt;/p&gt;</description>
    </item>
    <item>
      <title>People only change in pain - Part 2</title>
      <link>https://ufried.com/blog/change_in_pain_2/</link>
      <pubDate>Fri, 11 Nov 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/change_in_pain_2/</guid>
      <description>&lt;h1 id=&#34;people-only-change-in-pain---part-2&#34;&gt;People only change in pain - Part 2&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/change_in_pain_1/&#34;&gt;previous post&lt;/a&gt;, I discussed that people tend to embrace change the more likely, the worse they experience their current situation or expect their future situation to become if they do not change.&lt;/p&gt;&#xA;&lt;p&gt;I illustrated this irrational behavior and also introduced some reinforcing effects that tend to make change even more unlikely due to an inaccurate assessment of the current and future situation. In this post, I will dive deeper into these reinforcing effects and discuss the resulting effects.&lt;/p&gt;</description>
    </item>
    <item>
      <title>People only change in pain - Part 1</title>
      <link>https://ufried.com/blog/change_in_pain_1/</link>
      <pubDate>Fri, 21 Oct 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/change_in_pain_1/</guid>
      <description>&lt;h1 id=&#34;people-only-change-in-pain---part-1&#34;&gt;People only change in pain - Part 1&lt;/h1&gt;&#xA;&lt;p&gt;In a &lt;a href=&#34;https://ufried.com/blog/robust_change_model/&#34;&gt;previous post&lt;/a&gt;, I discussed that the decision process, if confronted with change, is not rational but rather a gut decision. I also briefly mentioned that people tend to embrace change the more willingly, the worse they experience their current situation (or the more they are afraid of negative future implications if they do not change now).&lt;/p&gt;&#xA;&lt;p&gt;This irrational behavior has quite severe implications regarding most change initiatives we can observe in companies these days. Therefore, I would like to dig a bit deeper into this topic in this post and the &lt;a href=&#34;https://ufried.com/blog/change_in_pain_2/&#34;&gt;next one&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The right dose of resilience</title>
      <link>https://ufried.com/blog/right_dose_of_resilience/</link>
      <pubDate>Fri, 30 Sep 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/right_dose_of_resilience/</guid>
      <description>&lt;h1 id=&#34;the-right-dose-of-resilience&#34;&gt;The right dose of resilience&lt;/h1&gt;&#xA;&lt;p&gt;We have discussed the &lt;a href=&#34;https://ufried.com/blog/business_case_of_rsd/&#34;&gt;business case for resilient software design&lt;/a&gt; in my previous post. Let us assume, you have a budget and you know which are the most critical business processes/capabilities/interactions (whatever term suits your needs best) you need to secure, i.e., make more resilient.&lt;/p&gt;&#xA;&lt;p&gt;Now what?&lt;/p&gt;&#xA;&lt;h2 id=&#34;getting-functional-design-right&#34;&gt;Getting functional design right&lt;/h2&gt;&#xA;&lt;p&gt;Based on my experience, first you should revisit your functional design. You should assess how you sliced and decoupled the different application parts at a functional level because that determines how resilient your application can become. If your coupling at the functional level is tight, all technical measures including resilience patterns will not help.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The business case of resilient software design</title>
      <link>https://ufried.com/blog/business_case_of_rsd/</link>
      <pubDate>Fri, 09 Sep 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/business_case_of_rsd/</guid>
      <description>&lt;h1 id=&#34;the-business-case-of-resilient-software-design&#34;&gt;The business case of resilient software design&lt;/h1&gt;&#xA;&lt;p&gt;The business case of resilience is a bit tricky. You find quite disparate forces at work: While some people tend to underrate the need and value of resilience a lot, other people find it hard to stop adding resilience measures. As so often, the sweet spot is somewhere in the middle.&lt;/p&gt;&#xA;&lt;h2 id=&#34;underspending&#34;&gt;Underspending&lt;/h2&gt;&#xA;&lt;p&gt;Let us start with people who have the tendency to put too little attention on resilience. Often, those people can be found at a not-so-technical decision maker level. Let us assume, you go to your manager asking for budget to make your application more resilient. A counterquestion in such a situation could be: &amp;ldquo;How much money will we earn with it?&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>The missing ops-dev feedback loop</title>
      <link>https://ufried.com/blog/ops_dev_feedback_loop/</link>
      <pubDate>Fri, 19 Aug 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/ops_dev_feedback_loop/</guid>
      <description>&lt;h1 id=&#34;the-missing-ops-dev-feedback-loop&#34;&gt;The missing ops-dev feedback loop&lt;/h1&gt;&#xA;&lt;p&gt;I recently had a short discussion with a Product Owner after a talk I gave about resilient software design. His question was: &amp;ldquo;How can I motivate developers to care more about resilience?&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;I found it interesting that a Product Owner (PO) approached me with that question because quite often POs are only focused on feature delivery and thus keep developers from building more resilient applications. Here it was the other way round &amp;ndash; kudos to this Product Owner!&lt;/p&gt;</description>
    </item>
    <item>
      <title>The 100% availability trap</title>
      <link>https://ufried.com/blog/the_availability_trap/</link>
      <pubDate>Fri, 29 Jul 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/the_availability_trap/</guid>
      <description>&lt;h1 id=&#34;the-100-availability-trap&#34;&gt;The 100% availability trap&lt;/h1&gt;&#xA;&lt;p&gt;I briefly &lt;a href=&#34;https://ufried.com/blog/why_resilient_software_design_3/#the-100-availability-trap&#34;&gt;mentioned the 100% availability trap in a prior post&lt;/a&gt;. As this misconception is so widespread, I decided to discuss it in more detail in this post.&lt;/p&gt;&#xA;&lt;h2 id=&#34;a-typical-discussion&#34;&gt;A typical discussion&lt;/h2&gt;&#xA;&lt;p&gt;Let me start with two familiar situations. In the first situation, a developer, aware of the fact that she might experience some kind of failure accessing a remote system, reaches out to her product manager:&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Developer: &amp;ldquo;How should the application respond if it cannot reach that other system due to a technical problem?&amp;rdquo;&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why we need resilient software design - Part 5</title>
      <link>https://ufried.com/blog/why_resilient_software_design_5/</link>
      <pubDate>Fri, 15 Jul 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/why_resilient_software_design_5/</guid>
      <description>&lt;h1 id=&#34;why-we-need-resilient-software-design---part-5&#34;&gt;Why we need resilient software design - Part 5&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/why_resilient_software_design_4/&#34;&gt;previous post&lt;/a&gt;, we discussed why the imponderabilities of distributed systems will hit us at the application level and we cannot leave their handling to the operations teams as we did in the past.&lt;/p&gt;&#xA;&lt;p&gt;In this final post of this little blog post series, we will first recapitulate what we have learned so far and then discuss what it all means with respect to resilient software design.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why we need resilient software design - Part 4</title>
      <link>https://ufried.com/blog/why_resilient_software_design_4/</link>
      <pubDate>Fri, 01 Jul 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/why_resilient_software_design_4/</guid>
      <description>&lt;h1 id=&#34;why-we-need-resilient-software-design---part-4&#34;&gt;Why we need resilient software design - Part 4&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/why_resilient_software_design_3/&#34;&gt;previous post&lt;/a&gt;, we discussed availability, and how more nodes and the effects of remote communication affect it negatively. We learned that failures in today&amp;rsquo;s distributed, highly interconnected system landscapes are unavoidable and that we need to embrace them if we want to create highly available solutions.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will discuss why these failures will hit us at the application level for sure and why we cannot leave their handling to the operations teams as we did in the past.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why we need resilient software design - Part 3</title>
      <link>https://ufried.com/blog/why_resilient_software_design_3/</link>
      <pubDate>Fri, 17 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/why_resilient_software_design_3/</guid>
      <description>&lt;h1 id=&#34;why-we-need-resilient-software-design---part-3&#34;&gt;Why we need resilient software design - Part 3&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/why_resilient_software_design_2/&#34;&gt;previous post&lt;/a&gt;, we discussed what distributed systems mean in terms of failure modes that can occur and what their concrete consequences are regarding application behavior.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will see that these failure modes are not some theoretic concept, but something very real, i.e., that the question is not &lt;em&gt;if&lt;/em&gt; your systems will fail but &lt;em&gt;when&lt;/em&gt; and &lt;em&gt;how bad&lt;/em&gt; they will fail.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why we need resilient software design - Part 2</title>
      <link>https://ufried.com/blog/why_resilient_software_design_2/</link>
      <pubDate>Fri, 03 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/why_resilient_software_design_2/</guid>
      <description>&lt;h1 id=&#34;why-we-need-resilient-software-design---part-2&#34;&gt;Why we need resilient software design - Part 2&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/why_resilient_software_design_1/&#34;&gt;previous, introductory post why we need resilient software design&lt;/a&gt;, we discussed the stepwise journey from isolated monolithic applications to distributed system landscapes where applications continually communicate with each other. We also discussed that the number of peers involved continually grew (and still grows), while the update propagation duration expectations became shorter and the availability expectations went to &amp;ldquo;never down&amp;rdquo; at the same time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why we need resilient software design - Part 1</title>
      <link>https://ufried.com/blog/why_resilient_software_design_1/</link>
      <pubDate>Fri, 20 May 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/why_resilient_software_design_1/</guid>
      <description>&lt;h1 id=&#34;why-we-need-resilient-software-design---part-1&#34;&gt;Why we need resilient software design - Part 1&lt;/h1&gt;&#xA;&lt;p&gt;In this post series, I will discuss what resilience means for IT systems and why resilient software design has become mandatory.&lt;/p&gt;&#xA;&lt;p&gt;In one of my &lt;a href=&#34;https://ufried.com/blog/resilience/&#34;&gt;previous posts&lt;/a&gt;, I discussed why I think resilience has become the probably most important paradigm of the 21st century. Still, the examples used mostly were about people and organizations. Thus, you might ask yourself if resilience is also as relevant for IT system design.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Resilience vs. Fault tolerance</title>
      <link>https://ufried.com/blog/resilience_vs_fault_tolerance/</link>
      <pubDate>Fri, 06 May 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/resilience_vs_fault_tolerance/</guid>
      <description>&lt;h1 id=&#34;resilience-vs-fault-tolerance&#34;&gt;Resilience vs. Fault tolerance&lt;/h1&gt;&#xA;&lt;p&gt;In this post, I will discuss if there is a difference between resilience and fault tolerance when talking about IT systems.&lt;/p&gt;&#xA;&lt;p&gt;In my &lt;a href=&#34;https://ufried.com/blog/resilience/&#34;&gt;previous post&lt;/a&gt;, I discussed why I think resilience has become the probably most important paradigm of the 21st century. Still, the examples I used were mostly about people and organizations and you might ask yourself if this &amp;ldquo;resilience thing&amp;rdquo; also applies to IT systems &amp;ndash; or if it is just fault tolerance in disguise, using a new, fancier term.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Resilience</title>
      <link>https://ufried.com/blog/resilience/</link>
      <pubDate>Fri, 22 Apr 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/resilience/</guid>
      <description>&lt;h1 id=&#34;resilience---a-new-paradigm-for-the-21st-century&#34;&gt;Resilience - A new paradigm for the 21st century&lt;/h1&gt;&#xA;&lt;p&gt;Resilience IMO is a huge topic. It has a broader scope than most people think and &amp;ndash; even more important &amp;ndash; it has become much more relevant for most of us than most people imagine. Thus, time to shed some light on this topic. Over the course of several posts in the future I will discuss several aspects of resilience. Of course, my main focus will still be IT. But in some places I will leave the boundaries of IT as this topic affects &amp;ndash; and supports &amp;ndash; us in many ways.&lt;/p&gt;</description>
    </item>
    <item>
      <title>In search of a robust change model</title>
      <link>https://ufried.com/blog/robust_change_model/</link>
      <pubDate>Fri, 25 Mar 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/robust_change_model/</guid>
      <description>&lt;h1 id=&#34;in-search-of-a-robust-change-model&#34;&gt;In search of a robust change model&lt;/h1&gt;&#xA;&lt;p&gt;Change is hard.&lt;/p&gt;&#xA;&lt;p&gt;But not for you, you might say. You embrace change.&lt;/p&gt;&#xA;&lt;p&gt;Really?&lt;/p&gt;&#xA;&lt;p&gt;If you think about it for a moment and are honest, probably you would admit that it depends. In some places you embrace change while in other places you dislike or even fight it.&lt;/p&gt;&#xA;&lt;h2 id=&#34;changed-procedures-require-a-lot-of-attention-from-the-brain&#34;&gt;Changed procedures require a lot of attention from the brain&lt;/h2&gt;&#xA;&lt;p&gt;We cannot be open to all kinds of change all the time. It would kill our productivity. Changing habits and routines requires slow thinking &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;. Slow thinking consumes a lot of energy and we can only think about so much in slow thinking mode. Therefore, we need a lot of habits and routines to get through our days successfully.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The public cloud revolution - Part 2</title>
      <link>https://ufried.com/blog/public_cloud_revolution_2/</link>
      <pubDate>Fri, 11 Mar 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/public_cloud_revolution_2/</guid>
      <description>&lt;h1 id=&#34;the-public-cloud-revolution---part-2&#34;&gt;The public cloud revolution - Part 2&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/public_cloud_revolution_1/&#34;&gt;previous post&lt;/a&gt; we discussed the evolution of the public cloud offerings from their beginnings until around 2015, starting at the plain compute and storage level and working their way up to the PaaS level.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will continue our cloud evolution journey and see how the evolution turned into a revolution.&lt;/p&gt;&#xA;&lt;h2 id=&#34;public-cloud-2017&#34;&gt;Public cloud ~2017&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://ufried.com/blog/public_cloud_revolution_2/cloud_revolution5.jpg&#34; alt=&#34;Wardley map illustrating the value chain from user needs down to IT delivery for a public cloud setting around 2017. See text for a detailed explanation of the image contents.&#34; title=&#34;Wardley map describing value chain for public cloud around 2017&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>The public cloud revolution - Part 1</title>
      <link>https://ufried.com/blog/public_cloud_revolution_1/</link>
      <pubDate>Fri, 25 Feb 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/public_cloud_revolution_1/</guid>
      <description>&lt;h1 id=&#34;the-public-cloud-revolution---part-1&#34;&gt;The public cloud revolution - Part 1&lt;/h1&gt;&#xA;&lt;p&gt;Discussing with other people, I often realize that many of them have not yet understood how much of a revolution public cloud is. In my previous posts, I already discussed why I think &lt;a href=&#34;https://ufried.com/blog/cloud_ready_fallacy/&#34;&gt;cloud-ready is not a viable strategy&lt;/a&gt; and the &lt;a href=&#34;https://ufried.com/blog/disruption_delay/&#34;&gt;disruption delay&lt;/a&gt; which also affects cloud computing. Here I would like to add a different perspective.&lt;/p&gt;&#xA;&lt;p&gt;My claim is: &lt;em&gt;Public cloud, used right, is a game changer on the business side.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Leaving the rat race - Part 6</title>
      <link>https://ufried.com/blog/leaving_the_rat_race_6/</link>
      <pubDate>Fri, 11 Feb 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/leaving_the_rat_race_6/</guid>
      <description>&lt;h1 id=&#34;leaving-the-rat-race---part-6&#34;&gt;Leaving the rat race - Part 6&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/leaving_the_rat_race_5/&#34;&gt;previous post&lt;/a&gt;, I gave a few recommendations how to deal with the hype industry and leave the rat race.&lt;/p&gt;&#xA;&lt;p&gt;In this final post of this little blog series, I will add a few ideas how to use your time in a more useful way, discuss a few risks and side effects of taking this road and sum up the whole series.&lt;/p&gt;&#xA;&lt;h2 id=&#34;using-your-time-better&#34;&gt;Using your time better&lt;/h2&gt;&#xA;&lt;p&gt;Let us assume the recommendations of the &lt;a href=&#34;https://ufried.com/blog/leaving_the_rat_race_5/&#34;&gt;previous post&lt;/a&gt; will help you to leave the rat race. This will not only result in a lot less stress, but also in more spare time. This raises the question if there are options to use some of that time to learn something more useful. &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Leaving the rat race - Part 5</title>
      <link>https://ufried.com/blog/leaving_the_rat_race_5/</link>
      <pubDate>Fri, 28 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/leaving_the_rat_race_5/</guid>
      <description>&lt;h1 id=&#34;leaving-the-rat-race---part-5&#34;&gt;Leaving the rat race - Part 5&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/leaving_the_rat_race_4/&#34;&gt;previous post&lt;/a&gt; we discussed the actual strengths of humans and how the FOMO &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; cycle tends to play against it.&lt;/p&gt;&#xA;&lt;p&gt;In this post, I will give a few recommendations how to deal with the hype industry and leave the rat race.&lt;/p&gt;&#xA;&lt;h2 id=&#34;recommendations&#34;&gt;Recommendations&lt;/h2&gt;&#xA;&lt;p&gt;Constant FOMO does not feel good. And as we have seen, the constant flood of &amp;ldquo;innovation&amp;rdquo;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ufried.com/blog/leaving_the_rat_race_2/&#34;&gt;is not real innovation&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ufried.com/blog/leaving_the_rat_race_3/&#34;&gt;does not solve the problems they claim to solve but merely distracts from the actual problems&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ufried.com/blog/leaving_the_rat_race_4/&#34;&gt;stresses people and leads to response patterns (especially hyper-specialization) that work against the strengths of humans&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;This means, for most people it would be advantageous to leave the rat race, to break out of the FOMO cycle.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Leaving the rat race - Part 4</title>
      <link>https://ufried.com/blog/leaving_the_rat_race_4/</link>
      <pubDate>Fri, 14 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/leaving_the_rat_race_4/</guid>
      <description>&lt;h1 id=&#34;leaving-the-rat-race---part-4&#34;&gt;Leaving the rat race - Part 4&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/leaving_the_rat_race_3/&#34;&gt;previous post&lt;/a&gt; we discussed that most of the &amp;ldquo;innovation&amp;rdquo; hype is nothing but a distraction from our actual problems.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will look at the actual strengths of humans and why the FOMO &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; cycle tends to play against it.&lt;/p&gt;&#xA;&lt;h2 id=&#34;anti-patterns-resulting-from-cognitive-overload&#34;&gt;Anti-patterns resulting from cognitive overload&lt;/h2&gt;&#xA;&lt;p&gt;I already described in the &lt;a href=&#34;https://ufried.com/blog/simplify_2/&#34;&gt;second post&lt;/a&gt; of my &lt;a href=&#34;https://ufried.com/blog/simplify_intro/&#34;&gt;Simplify!&lt;/a&gt; blog series that people who feel overwhelmed by the amount of perceived &amp;ldquo;innovation&amp;rdquo; develop &amp;ldquo;survival patterns&amp;rdquo;, ways to deal with the situation, evading the FOMO cycle as good as possible.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Leaving the rat race - Part 3</title>
      <link>https://ufried.com/blog/leaving_the_rat_race_3/</link>
      <pubDate>Fri, 17 Dec 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/leaving_the_rat_race_3/</guid>
      <description>&lt;h1 id=&#34;leaving-the-rat-race---part-3&#34;&gt;Leaving the rat race - Part 3&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/leaving_the_rat_race_2/&#34;&gt;previous post&lt;/a&gt; we discussed that we are by far not as &amp;ldquo;innovative&amp;rdquo; as we claim to be, that most of the innovation puffery comes from a hype industry, trying to lure and force people into buying their products and services.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will discuss that most of the &amp;ldquo;innovation&amp;rdquo; hype is but distraction from our actual problems.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-distraction-from-the-actual-problems&#34;&gt;The distraction from the actual problems&lt;/h2&gt;&#xA;&lt;p&gt;If we take a critical look at all the &amp;ldquo;innovations&amp;rdquo; we are confronted with on a monthly, weekly, daily basis, we see that most of them promise to solve some of the enduring problems we have in IT for a long time:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Leaving the rat race - Part 2</title>
      <link>https://ufried.com/blog/leaving_the_rat_race_2/</link>
      <pubDate>Fri, 03 Dec 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/leaving_the_rat_race_2/</guid>
      <description>&lt;h1 id=&#34;leaving-the-rat-race---part-2&#34;&gt;Leaving the rat race - Part 2&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/leaving_the_rat_race_1/&#34;&gt;previous post&lt;/a&gt; we discussed the omnipresent FOMO and the resulting feeling of continuously running a Red Queen&amp;rsquo;s race for many of the affected people. I also discussed that based on my observations this impression of such a continuous high &amp;ldquo;innovation&amp;rdquo; speed is mainly driven by an IT hype industry which benefits from people who are in a constant state of FOMO.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will discuss if we are really as innovative as we claim to be.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Leaving the rat race - Part 1</title>
      <link>https://ufried.com/blog/leaving_the_rat_race_1/</link>
      <pubDate>Fri, 19 Nov 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/leaving_the_rat_race_1/</guid>
      <description>&lt;h1 id=&#34;leaving-the-rat-race---part-1&#34;&gt;Leaving the rat race - Part 1&lt;/h1&gt;&#xA;&lt;p&gt;Recently I got a comment in a brief Twitter discussion that really made me think. I emphasized I think, developers also need to have at least some understanding of the business problems they solve &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;. Besides quite some agreement, I also got the following comment (analogously, not literally): &amp;ldquo;Developers are so busy keeping their IT skills sharp. They do not have time to bother with anything else.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>The non-existence of ACID consistency - Part 4</title>
      <link>https://ufried.com/blog/no_acid_4/</link>
      <pubDate>Fri, 05 Nov 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/no_acid_4/</guid>
      <description>&lt;h1 id=&#34;the-non-existence-of-acid-consistency---part-4&#34;&gt;The non-existence of ACID consistency - Part 4&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/no_acid_3/&#34;&gt;previous post&lt;/a&gt; of this little blog series, we discussed the actual value of strong ACID-like consistency.&lt;/p&gt;&#xA;&lt;p&gt;In this final post of the series, we will discuss why ACID is usually not what you think it is.&lt;/p&gt;&#xA;&lt;h2 id=&#34;be-aware-that-acid-usually-is-not-what-you-think-it-is&#34;&gt;Be aware that &amp;ldquo;ACID&amp;rdquo; usually is not what you think it is&lt;/h2&gt;&#xA;&lt;p&gt;If people think about ACID transactions, they typically think in terms of &lt;em&gt;serializability&lt;/em&gt;, the strongest transaction isolation level, the ANSI SQL standard defines.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The non-existence of ACID consistency - Part 3</title>
      <link>https://ufried.com/blog/no_acid_3/</link>
      <pubDate>Fri, 22 Oct 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/no_acid_3/</guid>
      <description>&lt;h1 id=&#34;the-non-existence-of-acid-consistency---part-3&#34;&gt;The non-existence of ACID consistency - Part 3&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/no_acid_2/&#34;&gt;previous post&lt;/a&gt; of this blog series, we discussed why the &amp;ldquo;strong consistency is needed for business reasons&amp;rdquo; requirement is void. In this post, we will discuss the actual value of strong ACID-like consistency.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-real-value-of-acid-consistency&#34;&gt;The real value of ACID consistency&lt;/h2&gt;&#xA;&lt;p&gt;The previous post may have left the question: Are strong consistency and ACID transactions pointless?&lt;/p&gt;&#xA;&lt;p&gt;The definite answer to that question is: No, not at all!&lt;/p&gt;</description>
    </item>
    <item>
      <title>The non-existence of ACID consistency - Part 2</title>
      <link>https://ufried.com/blog/no_acid_2/</link>
      <pubDate>Fri, 08 Oct 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/no_acid_2/</guid>
      <description>&lt;h1 id=&#34;the-non-existence-of-acid-consistency---part-2&#34;&gt;The non-existence of ACID consistency - Part 2&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/no_acid_1/&#34;&gt;previous post&lt;/a&gt; of this blog series, we discussed why strong consistency across multiple distributed data nodes is a bad idea. In this post, we will discuss why the &amp;ldquo;strong consistency is needed for business reasons&amp;rdquo; requirement is void.&lt;/p&gt;&#xA;&lt;h2 id=&#34;acid-consistency-does-not-exist-outside-it&#34;&gt;ACID consistency does not exist outside IT&lt;/h2&gt;&#xA;&lt;p&gt;If you explain why strong consistency across system boundaries is a bad idea, you often encounter the &amp;ldquo;but it is needed for business reasons&amp;rdquo; argument. There would be functional requirements why strong consistency across system boundaries is needed.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The non-existence of ACID consistency - Part 1</title>
      <link>https://ufried.com/blog/no_acid_1/</link>
      <pubDate>Fri, 24 Sep 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/no_acid_1/</guid>
      <description>&lt;h1 id=&#34;the-non-existence-of-acid-consistency---part-1&#34;&gt;The non-existence of ACID consistency - Part 1&lt;/h1&gt;&#xA;&lt;p&gt;Well, of course &lt;a href=&#34;https://en.wikipedia.org/wiki/ACID&#34;&gt;ACID consistency&lt;/a&gt; exists &amp;ndash; and it is a good thing that it exists. Thus, feel free to call the post title clickbait &amp;hellip; ;)&lt;/p&gt;&#xA;&lt;p&gt;My point here is that it should not exist as functional requirement. But putting all these nuances in the title would have resulted in an awfully long title. So, I decided to keep the title short and risk the accusation of clickbait in return.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The disruption delay</title>
      <link>https://ufried.com/blog/disruption_delay/</link>
      <pubDate>Fri, 10 Sep 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/disruption_delay/</guid>
      <description>&lt;h1 id=&#34;the-disruption-delay&#34;&gt;The disruption delay&lt;/h1&gt;&#xA;&lt;p&gt;This blog post is about an observation I made pondering the slow adoption rates of several technologies in IT that I consider being game changers. My claim is:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;It takes about 20 years until a disruptive IT technology arrives at mainstream.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;With &amp;ldquo;disruptive&amp;rdquo; I mean that the technology will significantly change the way we &lt;em&gt;do&lt;/em&gt; or &lt;em&gt;use&lt;/em&gt; IT.&lt;/p&gt;&#xA;&lt;p&gt;E.g., &lt;a href=&#34;https://ufried.com/blog/oss_1_rise_of_oss/&#34;&gt;Open Source Software (OSS)&lt;/a&gt; changed the way we &lt;em&gt;do&lt;/em&gt; IT, i.e., we create, build and sometimes even run software differently. Yet, OSS did not change a lot how IT was used, i.e., which kinds of solutions we build with it. The World Wide Web (WWW) on the other hand massively changed the way, how IT is &lt;em&gt;used&lt;/em&gt;. E.g., e-commerce would be unthinkable without the WWW. It also changed the way we do IT a bit, but the biggest impact was how it changed the way IT is used.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The limits of standardization</title>
      <link>https://ufried.com/blog/limits_of_standardization/</link>
      <pubDate>Fri, 27 Aug 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/limits_of_standardization/</guid>
      <description>&lt;h1 id=&#34;the-limits-of-standardization&#34;&gt;The limits of standardization&lt;/h1&gt;&#xA;&lt;p&gt;Standardization is a two-edged sword. It has a value, but it also comes at a price.&lt;/p&gt;&#xA;&lt;p&gt;If you solely think in terms of efficiency, standardization is the holy grail for you:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;You can leverage economics of scale, i.e., produce a single item at a lower price.&lt;/li&gt;&#xA;&lt;li&gt;You may get required resources or licenses at a lower rate because you buy higher volumes (another effect of economies of scale).&lt;/li&gt;&#xA;&lt;li&gt;You only have to design your processes and train your people once.&lt;/li&gt;&#xA;&lt;li&gt;You can leverage the fact that only one options exists, e.g., by creating an automation around it and offering services at a higher abstraction level.&lt;/li&gt;&#xA;&lt;li&gt;You can run and monitor more instances of the same with little effort added. At best the effort stays the same, no matter how many instances you run.&lt;/li&gt;&#xA;&lt;li&gt;And so on &amp;hellip;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The bottom line is: Standardization allows you to do more for less money &amp;ndash; which is the primary goal of everyone who tries to maximize efficiency.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The non-functional-no-value trap</title>
      <link>https://ufried.com/blog/nfrs_have_value/</link>
      <pubDate>Fri, 13 Aug 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/nfrs_have_value/</guid>
      <description>&lt;h1 id=&#34;the-non-functional-no-value-trap&#34;&gt;The non-functional-no-value trap&lt;/h1&gt;&#xA;&lt;p&gt;This post is about another &amp;ldquo;evergreen&amp;rdquo; in IT: The fallacy that only business features have business value.&lt;/p&gt;&#xA;&lt;p&gt;You think this is not a fallacy? That only business features have business value?&lt;/p&gt;&#xA;&lt;p&gt;Well, you are not the only one. I meet such persons quite often, especially if I work in an architectural context. There, the project managers (non-agile flavor) or product owners (agile flavor) often claim that non-functional requirements do not create business value and thus need to be prioritized down, postponed or dropped completely.&lt;/p&gt;</description>
    </item>
    <item>
      <title>People are not resources</title>
      <link>https://ufried.com/blog/people_are_not_resources/</link>
      <pubDate>Fri, 30 Jul 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/people_are_not_resources/</guid>
      <description>&lt;h1 id=&#34;people-are-not-resources&#34;&gt;People are not resources&lt;/h1&gt;&#xA;&lt;p&gt;It is summer. Most people try to enjoy the weather (at least when there is weather to enjoy). They do not want to rack their minds pondering mind-bending ideas. Therefore, I decided to pick some imo relatively straightforward ideas from my blog topics backlog for the next few posts. I hope they will still contain some food for thought for you.&lt;/p&gt;&#xA;&lt;p&gt;The first topic that I want to discuss in this post is sort of &amp;ldquo;evergreen&amp;rdquo;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>The industrialization of IT fallacy</title>
      <link>https://ufried.com/blog/industrialization_fallacy/</link>
      <pubDate>Fri, 16 Jul 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/industrialization_fallacy/</guid>
      <description>&lt;h1 id=&#34;the-industrialization-of-it-fallacy&#34;&gt;The industrialization of IT fallacy&lt;/h1&gt;&#xA;&lt;p&gt;Probably you also heard it several times before. Someone comes along saying that IT is a young and immature domain. That we are not yet an engineering discipline. That the way we write code sucks: Slow, not enough throughput, error-prone, not easily repeatable.&lt;/p&gt;&#xA;&lt;p&gt;Hence, we need to learn from other domains like car manufacturing or house building how to professionalize our domain, adopting their engineering experience. We need to implement more of the industrial practices of, e.g., car manufacturing in our software development process. We need to set up efficient software production assembly lines and make writing code as efficient as building a car. And so on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quality - The unknown entity - Part 4</title>
      <link>https://ufried.com/blog/quality_4/</link>
      <pubDate>Fri, 02 Jul 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/quality_4/</guid>
      <description>&lt;h1 id=&#34;quality---the-unknown-entity---part-4&#34;&gt;Quality - The unknown entity - Part 4&lt;/h1&gt;&#xA;&lt;p&gt;This is the fourth and last post of a blog series discussing quality.&lt;/p&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/quality_3/&#34;&gt;previous post&lt;/a&gt; we discussed that quality always lives in a larger context which affects the different quality attributes. We also discussed that thus we always need to discuss quality with respect to the given context.&lt;/p&gt;&#xA;&lt;p&gt;In this final post of the blog series we will discuss that as a consequence of the previous observations quality needs to be balanced on multiple levels. We will also discuss that it temporarily can be okay to compromise quality to reach a more important goal. Finally, we will discuss that just looking at what you do not want (e.g., bugs) does not necessarily lead to quality.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quality - The unknown entity - Part 3</title>
      <link>https://ufried.com/blog/quality_3/</link>
      <pubDate>Fri, 18 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/quality_3/</guid>
      <description>&lt;h1 id=&#34;quality---the-unknown-entity---part-3&#34;&gt;Quality - The unknown entity - Part 3&lt;/h1&gt;&#xA;&lt;p&gt;This is the third post of a blog series discussing quality.&lt;/p&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/quality_2/&#34;&gt;previous post&lt;/a&gt; we discussed that we need to make quality measurable to create the required shared understanding. We also discussed that many people do not understand how their demands affect quality (and how we need to help them). And we discussed that we need to deal with the fact that quality attributes can be conflicting.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quality - The unknown entity - Part 2</title>
      <link>https://ufried.com/blog/quality_2/</link>
      <pubDate>Fri, 04 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/quality_2/</guid>
      <description>&lt;h1 id=&#34;quality---the-unknown-entity---part-2&#34;&gt;Quality - The unknown entity - Part 2&lt;/h1&gt;&#xA;&lt;p&gt;This is the second post of a blog series discussing quality.&lt;/p&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/quality_1/&#34;&gt;previous post&lt;/a&gt; we discussed that quality is subjective and that quality has many dimensions.&lt;/p&gt;&#xA;&lt;p&gt;In this post we continue the discussion regarding relevant properties of quality. First, we discuss we need to make quality measurable &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; to create the required shared understanding. Then, we discuss many people do not understand how their demands affect quality (and how we need to help them). Finally, we discuss quality attributes can conflict and how to deal with that.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quality - The unknown entity - Part 1</title>
      <link>https://ufried.com/blog/quality_1/</link>
      <pubDate>Fri, 21 May 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/quality_1/</guid>
      <description>&lt;h1 id=&#34;quality---the-unknown-entity---part-1&#34;&gt;Quality - The unknown entity - Part 1&lt;/h1&gt;&#xA;&lt;p&gt;Quality is the subject of countless discussions, e.g., with unsatisfied clients. &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;I had the situation more than once that a client was not satisfied, that they felt their quality expectations for the software were not met. When I then went to the development team and asked them about quality, it often turned out that they did not understand the reproach. In their perception, quality was good.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The importance of comments - Part 3</title>
      <link>https://ufried.com/blog/comments_3/</link>
      <pubDate>Fri, 07 May 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/comments_3/</guid>
      <description>&lt;h1 id=&#34;the-importance-of-comments---part-3&#34;&gt;The importance of comments - Part 3&lt;/h1&gt;&#xA;&lt;p&gt;This is the third and last post discussing the value of comments in code.&lt;/p&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/comments_1/&#34;&gt;first post&lt;/a&gt; we discussed the problems of the widespread dogmatic &amp;ldquo;clean code&amp;rdquo; interpretation that you must not write any comments. We also discussed that we should not document the &amp;ldquo;how&amp;rdquo; as the code already does it.&lt;/p&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/comments_2/&#34;&gt;second post&lt;/a&gt; we discussed the value of documenting &amp;ldquo;what&amp;rdquo; for the readers and users of the code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The importance of comments - Part 2</title>
      <link>https://ufried.com/blog/comments_2/</link>
      <pubDate>Fri, 30 Apr 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/comments_2/</guid>
      <description>&lt;h1 id=&#34;the-importance-of-comments---part-2&#34;&gt;The importance of comments - Part 2&lt;/h1&gt;&#xA;&lt;p&gt;This is the second post discussing the value of comments in code.&lt;/p&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/comments_1/&#34;&gt;first post&lt;/a&gt; we discussed the problems of the widespread dogmatic &amp;ldquo;clean code&amp;rdquo; interpretation that you must not write any comments. We also discussed that we should not document the &amp;ldquo;how&amp;rdquo; as the code already does it.&lt;/p&gt;&#xA;&lt;p&gt;In this post we will continue the discussion by looking at how documenting the &amp;ldquo;what&amp;rdquo; of code can create a lot of value for the readers and users of the code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The importance of comments - Part 1</title>
      <link>https://ufried.com/blog/comments_1/</link>
      <pubDate>Fri, 23 Apr 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/comments_1/</guid>
      <description>&lt;h1 id=&#34;the-importance-of-comments---part-1&#34;&gt;The importance of comments - Part 1&lt;/h1&gt;&#xA;&lt;p&gt;I wrote about &lt;a href=&#34;https://ufried.com/blog/documentation/&#34;&gt;the importance of documentation&lt;/a&gt; a few weeks ago. In this post I will discuss a related, also controversially discussed topic: Comments.&lt;/p&gt;&#xA;&lt;p&gt;As the discussion is too long for a single post, I decided to split it up in three posts. This post discusses the widespread, often dogmatic &amp;ldquo;clean code&amp;rdquo; comment confusion and why it is not useful. Additionally, the post discusses how to best (not) document the &amp;ldquo;how&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Don&#39;t make me think!</title>
      <link>https://ufried.com/blog/api_concept_spill/</link>
      <pubDate>Fri, 09 Apr 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/api_concept_spill/</guid>
      <description>&lt;h1 id=&#34;dont-make-me-think&#34;&gt;Don&amp;rsquo;t make me think!&lt;/h1&gt;&#xA;&lt;p&gt;API design is a huge topic these days and you find a lot of information about how to design good APIs. Unfortunately, most of it is about tools or technology: Use Tool X for great APIs! Use technology Y and everything will be fine!&lt;/p&gt;&#xA;&lt;p&gt;Admittedly, we need good tooling to get our job done efficiently. And it is tempting! Let us just add an annotation to that class &amp;ndash; et voilà: We have exposed an API. Now let us just put that vendor&amp;rsquo;s API gateway in front of it for dealing with the cross-cutting magic like authentication, rate limiting, etc. and we are done. The next 5 story points from the backlog easily burnt down. Let&amp;rsquo;s sprint on!&lt;/p&gt;</description>
    </item>
    <item>
      <title>The importance of documentation</title>
      <link>https://ufried.com/blog/documentation/</link>
      <pubDate>Fri, 19 Mar 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/documentation/</guid>
      <description>&lt;h1 id=&#34;the-importance-of-documentation&#34;&gt;The importance of documentation&lt;/h1&gt;&#xA;&lt;p&gt;Documentation &amp;ndash; not only since the rise of Agile a controversially discussed topic in IT. On the one hand, we see a lot of demand for documentation by many parties. On the other hand nobody wants to create it.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-agile-documentation-confusion&#34;&gt;The Agile documentation confusion&lt;/h2&gt;&#xA;&lt;p&gt;The rise of Agile then delivered the supposedly watertight argument for software developers who loathe to write documentation:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Working software over comprehensive documentation &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>The cloud-ready fallacy</title>
      <link>https://ufried.com/blog/cloud_ready_fallacy/</link>
      <pubDate>Fri, 05 Mar 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/cloud_ready_fallacy/</guid>
      <description>&lt;h1 id=&#34;the-cloud-ready-fallacy&#34;&gt;The cloud-ready fallacy&lt;/h1&gt;&#xA;&lt;p&gt;Lately, I had a discussion with an on-premises data center manager who claimed that public cloud does not leverage any cost advantages over on-premises computing. His numbers would even prove that public cloud is more expensive than the on-premises operations they offer.&lt;/p&gt;&#xA;&lt;p&gt;His conclusion was that there is no need to use public cloud offerings at all. It would only make things more complicated, risky and expensive due to:&lt;/p&gt;</description>
    </item>
    <item>
      <title>The limits of the Saga pattern</title>
      <link>https://ufried.com/blog/limits_of_saga_pattern/</link>
      <pubDate>Fri, 19 Feb 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/limits_of_saga_pattern/</guid>
      <description>&lt;h1 id=&#34;the-limits-of-the-saga-pattern&#34;&gt;The limits of the Saga pattern&lt;/h1&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://microservices.io/patterns/data/saga.html&#34;&gt;Saga pattern&lt;/a&gt; has become quite popular in the context of microservices. While it basically is described correctly in the referenced source, most often I see a grave misunderstanding.&lt;/p&gt;&#xA;&lt;p&gt;The typical narrative goes like: &amp;ldquo;If you have a transaction that spans multiple services and their databases, do not use distributed transactions. Use the Saga pattern instead: Call the affected services in a row &amp;ndash; typically by using events for activity propagation. If a services fails to update its database, roll back the transaction by triggering compensating actions in the services that already ran their updates.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>The microservices fallacy - Part 11</title>
      <link>https://ufried.com/blog/microservices_fallacy_11_recommendations/</link>
      <pubDate>Fri, 05 Feb 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/microservices_fallacy_11_recommendations/</guid>
      <description>&lt;h1 id=&#34;the-microservices-fallacy---part-11&#34;&gt;The microservices fallacy - Part 11&lt;/h1&gt;&#xA;&lt;p&gt;This post complements the discussion of the previous posts with a few general complementing recommendations and concludes this blog post series.&lt;/p&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/microservices_fallacy_10_microliths/&#34;&gt;previous post&lt;/a&gt; we discussed microliths as a second alternative to microservices. Additionally, we we discussed a few typical challenges that people often face after deciding for one of the three alternatives microservices, moduliths or microliths and how to respond to them.&lt;/p&gt;&#xA;&lt;p&gt;This post complements the findings of the previous posts with several general recommendations.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The microservices fallacy - Part 10</title>
      <link>https://ufried.com/blog/microservices_fallacy_10_microliths/</link>
      <pubDate>Fri, 29 Jan 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/microservices_fallacy_10_microliths/</guid>
      <description>&lt;h1 id=&#34;the-microservices-fallacy---part-10&#34;&gt;The microservices fallacy - Part 10&lt;/h1&gt;&#xA;&lt;p&gt;In this post we take a look at microliths as an alternative to microservices.&lt;/p&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/microservices_fallacy_9_moduliths/&#34;&gt;previous post&lt;/a&gt; we discussed moduliths as a possible alternative to microservices, when it makes sense to go for them and what preconditions must be met to use them successfully.&lt;/p&gt;&#xA;&lt;p&gt;In this post we will continue with the second alternative I want to discuss in more detail: Microliths. Additionally, we will look at some problems that you might face if you decide for one of the discussed styles and what you can do about it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The microservices fallacy - Part 9</title>
      <link>https://ufried.com/blog/microservices_fallacy_9_moduliths/</link>
      <pubDate>Fri, 22 Jan 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/microservices_fallacy_9_moduliths/</guid>
      <description>&lt;h1 id=&#34;the-microservices-fallacy---part-9&#34;&gt;The microservices fallacy - Part 9&lt;/h1&gt;&#xA;&lt;p&gt;In this post we take a look at moduliths as an alternative to microservices.&lt;/p&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/microservices_fallacy_8_choices/&#34;&gt;previous post&lt;/a&gt; we started to make sense of what we have learned from this blog series so far. We discussed when microservices are a sensible choice and what other conditions must be met to harvest their benefits and not only experience their downsides.&lt;/p&gt;&#xA;&lt;p&gt;We then started to discuss what to do if the required preconditions for microservices are not met, and I wrote that I will discuss two alternative architectural styles in more details. The first alternative are moduliths which are the topic of this post.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The microservices fallacy - Part 8</title>
      <link>https://ufried.com/blog/microservices_fallacy_8_choices/</link>
      <pubDate>Fri, 15 Jan 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/microservices_fallacy_8_choices/</guid>
      <description>&lt;h1 id=&#34;the-microservices-fallacy---part-8&#34;&gt;The microservices fallacy - Part 8&lt;/h1&gt;&#xA;&lt;p&gt;In this post we start to make sense of what we have discussed so far &amp;ndash; when we should use microservices, when not to use them and what to do instead.&lt;/p&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/microservices_fallacy_7_actual_reasons/&#34;&gt;previous post&lt;/a&gt; we discussed the actual reasons that justify the use of microservices and drew an interim conclusion. In this post we take the basis we built so far and use it to discuss when to use microservices, when not to use them and what to do instead.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The microservices fallacy - Part 7</title>
      <link>https://ufried.com/blog/microservices_fallacy_7_actual_reasons/</link>
      <pubDate>Fri, 08 Jan 2021 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/microservices_fallacy_7_actual_reasons/</guid>
      <description>&lt;h1 id=&#34;the-microservices-fallacy---part-7&#34;&gt;The microservices fallacy - Part 7&lt;/h1&gt;&#xA;&lt;p&gt;This post discusses actual reasons that justify the use of microservices.&lt;/p&gt;&#xA;&lt;p&gt;I hope you had a good start in the new year 2021! After a two weeks break, we will continue the blog series regarding the fallacies of microservices (and what to do about it).&lt;/p&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/microservices_fallacy_6_technology/&#34;&gt;previous post&lt;/a&gt; we discussed the last fallacy from the &lt;a href=&#34;https://ufried.com/blog/microservices_fallacy_1/#the-fallacies&#34;&gt;list&lt;/a&gt; &amp;ndash; that microservices make technology changes easier. In this post we move on and leave the fallacies behind. In this post we discuss actual reasons that justify the use of microservices and draw an interim conclusion.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The microservices fallacy - Part 6</title>
      <link>https://ufried.com/blog/microservices_fallacy_6_technology/</link>
      <pubDate>Fri, 18 Dec 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/microservices_fallacy_6_technology/</guid>
      <description>&lt;h1 id=&#34;the-microservices-fallacy---part-6&#34;&gt;The microservices fallacy - Part 6&lt;/h1&gt;&#xA;&lt;p&gt;This post discusses the fallacy that microservices make technology changes easier.&lt;/p&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/microservices_fallacy_5_design/&#34;&gt;previous post&lt;/a&gt; we discussed the fallacy that microservices lead to better solution design. In this post we look at the last fallacy from the &lt;a href=&#34;https://ufried.com/blog/microservices_fallacy_1/#the-fallacies&#34;&gt;list&lt;/a&gt; &amp;ndash; that microservices make technology changes easier.&lt;/p&gt;&#xA;&lt;h2 id=&#34;easier-change-of-technology&#34;&gt;Easier change of technology&lt;/h2&gt;&#xA;&lt;p&gt;The last fallacy I will discuss is that microservices make it easier to change technologies and to explore new technologies.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The microservices fallacy - Part 5</title>
      <link>https://ufried.com/blog/microservices_fallacy_5_design/</link>
      <pubDate>Fri, 11 Dec 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/microservices_fallacy_5_design/</guid>
      <description>&lt;h1 id=&#34;the-microservices-fallacy---part-5&#34;&gt;The microservices fallacy - Part 5&lt;/h1&gt;&#xA;&lt;p&gt;This post discusses the widespread fallacy that microservices lead to better solution design.&lt;/p&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/microservices_fallacy_4_reusability_autonomy/&#34;&gt;previous post&lt;/a&gt; we discussed two fallacies &amp;ndash; that microservices improve reusability (and thus pay for themselves after a short while) and that microservices improve team autonomy. In this post we take a closer look at the fifth fallacy I want to discuss &amp;ndash; that microservices lead to better solution design.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The microservices fallacy - Part 4</title>
      <link>https://ufried.com/blog/microservices_fallacy_4_reusability_autonomy/</link>
      <pubDate>Fri, 04 Dec 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/microservices_fallacy_4_reusability_autonomy/</guid>
      <description>&lt;h1 id=&#34;the-microservices-fallacy---part-4&#34;&gt;The microservices fallacy - Part 4&lt;/h1&gt;&#xA;&lt;p&gt;This post discusses two widespread fallacies &amp;ndash; that microservices improve reusability (and thus pay for themselves after a short while) and that microservices improve team autonomy.&lt;/p&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/microservices_fallacy_3_simplicity/&#34;&gt;previous post&lt;/a&gt; of this series we discussed the fallacy that microservices lead to simpler solutions.&lt;/p&gt;&#xA;&lt;p&gt;In this post we will first look at the reusability fallacy. As I already wrote a whole blog series about that topic, I keep the discussion short in this post. After that we will have a bit longer look at the fallacy that microservices improve team autonomy. But let us begin with the reusability topic.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The importance of resilience engineering</title>
      <link>https://ufried.com/blog/resilience_engineering/</link>
      <pubDate>Fri, 27 Nov 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/resilience_engineering/</guid>
      <description>&lt;h1 id=&#34;the-importance-of-resilience-engineering&#34;&gt;The importance of resilience engineering&lt;/h1&gt;&#xA;&lt;p&gt;There was a bigger outage at AWS this week, and of course media coverage was big again. E.g., &lt;a href=&#34;https://www.washingtonpost.com/business/economy/amazon-web-services-outage-stymies-businesses/2020/11/25/b54a6106-2f4f-11eb-860d-f7999599cbc2_story.html&#34;&gt;&amp;ldquo;Amazon Web Services outage hobbles businesses&amp;rdquo;&lt;/a&gt;, titles the Washington Post, just to name one.&lt;/p&gt;&#xA;&lt;p&gt;You can find a lot more media coverage. Yet, for me the interesting part was not the fact that AWS had one of its rare outages. It was the bottom line that most of the articles had: AWS had a partial outage and therefore companies using AWS were hobbled.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The microservices fallacy - Part 3</title>
      <link>https://ufried.com/blog/microservices_fallacy_3_simplicity/</link>
      <pubDate>Fri, 20 Nov 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/microservices_fallacy_3_simplicity/</guid>
      <description>&lt;h1 id=&#34;the-microservices-fallacy---part-3&#34;&gt;The microservices fallacy - Part 3&lt;/h1&gt;&#xA;&lt;p&gt;This post discusses the widespread fallacy that solutions become simpler with microservices.&lt;/p&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/microservices_fallacy_2_scalability/&#34;&gt;previous post&lt;/a&gt; we discussed the fallacy that microservices are needed for scalability purposes. In this post we take a closer look at the second fallacy &amp;ndash; that microservices lead to simpler solutions.&lt;/p&gt;&#xA;&lt;h2 id=&#34;simplicity&#34;&gt;Simplicity&lt;/h2&gt;&#xA;&lt;p&gt;Another widespread justification of microservices is that they would be simpler than monoliths. This idea is rooted in the famous quote by &lt;a href=&#34;https://twitter.com/boicy&#34;&gt;James Lewis&lt;/a&gt; that a microservice should always be of a size that you can get your head wrapped around. In other words: A single person should be able to understand a single microservice as a whole.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The microservices fallacy - Part 2</title>
      <link>https://ufried.com/blog/microservices_fallacy_2_scalability/</link>
      <pubDate>Fri, 13 Nov 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/microservices_fallacy_2_scalability/</guid>
      <description>&lt;h1 id=&#34;the-microservices-fallacy---part-2&#34;&gt;The microservices fallacy - Part 2&lt;/h1&gt;&#xA;&lt;p&gt;This post discusses the widespread fallacy that microservices are needed to tackle scaling issues.&lt;/p&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/microservices_fallacy_1/&#34;&gt;previous post&lt;/a&gt; we looked at the origins of microservices, how the hype started, and we listed the most widespread fallacies regarding microservices. In this post we take a closer look at the first fallacy &amp;ndash; that microservices are needed for scalability.&lt;/p&gt;&#xA;&lt;h2 id=&#34;scalability&#34;&gt;Scalability&lt;/h2&gt;&#xA;&lt;p&gt;One of the most commonly used justifications for microservices is scalability: &amp;ldquo;We need microservices to scale our application dynamically.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>The microservices fallacy - Part 1</title>
      <link>https://ufried.com/blog/microservices_fallacy_1/</link>
      <pubDate>Fri, 06 Nov 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/microservices_fallacy_1/</guid>
      <description>&lt;h1 id=&#34;the-microservices-fallacy---part-1&#34;&gt;The microservices fallacy - Part 1&lt;/h1&gt;&#xA;&lt;p&gt;This is a blog series discussing the fallacies of microservices. It complements a &lt;a href=&#34;https://speakerdeck.com/ufried/you-dont-want-no-microservices&#34;&gt;talk I have given&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In this series I will start with a little motivation why I think we need to revisit microservices critically. Then I will have a look at the origins of microservices (which already reveals a lot about the common misconceptions).&lt;/p&gt;&#xA;&lt;p&gt;After that I will go through the most widespread fallacies one by one, followed by actual reasons to use microservices. Based on that, I will provide a few recommendations when to use microservices, when not to use them and which alternative approaches to use instead. Finally, I will complement the series with a few general considerations.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The value of speed</title>
      <link>https://ufried.com/blog/value_of_speed/</link>
      <pubDate>Fri, 30 Oct 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/value_of_speed/</guid>
      <description>&lt;h1 id=&#34;the-value-of-speed&#34;&gt;The value of speed&lt;/h1&gt;&#xA;&lt;p&gt;The speed of the IT value chain often is a topic in discussions I have with decision makers. The common theme is: The IT value chain is too slow. We need to deliver faster.&lt;/p&gt;&#xA;&lt;p&gt;But how fast do you need to become, is my question then. I tell them, that the best in class, e.g., Amazon deploy roughly twice per second. Of course that is the deployment rate of all their teams united, but also a single team usually deploys many times a day. Combined with an appropriate management of requirements this means lead times from an idea to production of a few hours, sometimes just minutes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The purpose of architecture</title>
      <link>https://ufried.com/blog/purpose_of_architecture/</link>
      <pubDate>Fri, 23 Oct 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/purpose_of_architecture/</guid>
      <description>&lt;h1 id=&#34;the-purpose-of-architecture&#34;&gt;The purpose of architecture&lt;/h1&gt;&#xA;&lt;p&gt;Software architecture is one of the things in software development that is important. At least that is what many people &amp;ndash; especially software architects &amp;ndash; claim: It is about the &amp;ldquo;important decisions&amp;rdquo;, the &amp;ldquo;decisions that are hard to change later&amp;rdquo;, and so on.&lt;/p&gt;&#xA;&lt;p&gt;To be frank, doing architectural work myself for more than 25 years meanwhile, these statements always left me a bit unsatisfied. It always gave me a bit of a &amp;ldquo;We also do not know what architecture is about. Somehow we believe it is important and to secure our jobs we need to talk everybody else into believing they cannot do without us.&amp;rdquo; feeling.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Throwing things away</title>
      <link>https://ufried.com/blog/throwing_things_away/</link>
      <pubDate>Fri, 16 Oct 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/throwing_things_away/</guid>
      <description>&lt;h1 id=&#34;throwing-things-away&#34;&gt;Throwing things away&lt;/h1&gt;&#xA;&lt;p&gt;This post sort of complements the &lt;a href=&#34;https://ufried.com/blog/simplify_intro/&#34;&gt;&amp;ldquo;Simplify!&amp;rdquo; blog series&lt;/a&gt; as it also points towards the simplification of the IT landscape. Still, based on a different train of thought, I decided to make it an independent post.&lt;/p&gt;&#xA;&lt;h2 id=&#34;removing-code-does-not-create-value&#34;&gt;&amp;ldquo;Removing code does not create value&amp;rdquo;&lt;/h2&gt;&#xA;&lt;p&gt;The problem starts with an essential fallacy: &lt;em&gt;Removing code does not create business value.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Whenever decisions are made what tasks IT development budget will be spent on, the question is: &amp;ldquo;Does it create business value?&amp;rdquo; &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simplify! - Introduction</title>
      <link>https://ufried.com/blog/simplify_intro/</link>
      <pubDate>Tue, 13 Oct 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/simplify_intro/</guid>
      <description>&lt;h1 id=&#34;simplify--introduction&#34;&gt;Simplify! &amp;ndash; Introduction&lt;/h1&gt;&#xA;&lt;p&gt;When I look around, I see two evolutions that in combination worry me a lot:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;IT has become an indispensable part of everyday business and private life.&lt;/li&gt;&#xA;&lt;li&gt;The complexity on the IT solution side grows all the time.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Therefore, I wrote a blog series that discusses this evolution, its effects and what we can do about it. &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;The series consists of the following parts:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ufried.com/blog/simplify_1/&#34;&gt;Part 1&lt;/a&gt; &amp;ndash; Software has become indispensable in our everyday business and private life. If the software does not work as intended, we have a problem. At the same time, complexity in IT explodes and we are drowning in ever-growing complexity in IT &amp;ndash; a worrying combination.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ufried.com/blog/simplify_2/&#34;&gt;Part 2&lt;/a&gt; &amp;ndash; The complexity explosion stresses affected people out. As a result they develop counter-productive &amp;ldquo;survival patterns&amp;rdquo;: Going for superficial knowledge. Hyper-specialization. Ignoring developments. Becoming &amp;ldquo;opinionated&amp;rdquo;. Giving up. Or burning out while trying to keep up. Those patterns lead to vicious self-reinforcing cycles that lead to even more complexity.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ufried.com/blog/simplify_3_essential_and_accidental_complexity/&#34;&gt;Part 3&lt;/a&gt; &amp;ndash; Complexity needs to be divided in essential and accidental complexity. Essential Complexity is inherent in, and the essence of, the problem (as seen by the users). Accidental Complexity is all the rest —- complexity with which the people affected would not have to deal in the ideal world. While we cannot eliminate essential complexity, we need to work hard to avoid accidental complexity.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ufried.com/blog/simplify_4_accidental_complexity_in_depth/&#34;&gt;Part 4&lt;/a&gt; &amp;ndash; We need to distinguish different kinds of accidental complexity: Due to unnecessary requirements not adding value to the solution. Due to overly complex platforms regarding the given problem. Due to a lack of adequate platform support regarding the given problem. Due to overly complex software regarding the given problem.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ufried.com/blog/simplify_5_market/&#34;&gt;Part 5&lt;/a&gt; &amp;ndash; Accidental complexity on a market level. Old response patterns to changing market realities lead to a lot of accidental complexity. Many companies face post-industrial markets and try to address changed markets demands by intensifying old industrial response patterns.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ufried.com/blog/simplify_6_company/&#34;&gt;Part 6&lt;/a&gt; &amp;ndash; Accidental complexity on a company level. Not understanding IT (especially its primary &amp;ldquo;material&amp;rdquo; software) and the role of IT today lead to a lot of accidental complexity, either by imposing counter-productive practices on IT or by blindly copying concepts from others without understanding them.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ufried.com/blog/simplify_7_requirements/&#34;&gt;Part 7&lt;/a&gt; &amp;amp; &lt;a href=&#34;https://ufried.com/blog/simplify_8_constraints/&#34;&gt;Part 8&lt;/a&gt; &amp;ndash; Accidental complexity on a project level. Degenerated budgeting and IT staffing processes. Inward-bound focus of the organization resulting in a loss of market focus. Neglecting uncertainty reinforcing the situation. &amp;ldquo;Agile&amp;rdquo; and &amp;ldquo;DevOps&amp;rdquo; cargo cults, reinforcing industrial practices in a new disguise. The &amp;ldquo;high utilization means more productivity&amp;rdquo; fallacy. Rigid project constraints for the wrong reasons. All these and more lead to increasing accidental complexity.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ufried.com/blog/simplify_9_technology/&#34;&gt;Part 9&lt;/a&gt; &amp;ndash; Technology explosion as the result of an ongoing, not yet completed technology evolution cycle. FOMO and the tendency to blindly copy concepts as reinforcing drivers. And so on. Massively increased accidental complexity as a result.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ufried.com/blog/simplify_10_architecture_drivers/&#34;&gt;Part 10&lt;/a&gt; &amp;amp; &lt;a href=&#34;https://ufried.com/blog/simplify_11_architecture_mitigation/&#34;&gt;Part 11&lt;/a&gt; &amp;ndash; Accidental complexity on an architectural level. Unresolved design deficiencies. Black holes and strange attractors crippling evolution. Architecture narcissism leading to bloated designs. Neglecting the business domain and focusing on technology only, and vice versa. The habit of DIY, combined with misconceptions regarding OSS. Missing the technology evolution. All these and more lead to increasing accidental complexity.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ufried.com/blog/simplify_12_implementation/&#34;&gt;Part 12&lt;/a&gt; &amp;ndash; Accidental complexity on an implementation level. Breaking existing designs. Going for implementation shortcuts. Design by Stack Overflow. Show-off implementation. Keystroke theater. Quality theater. All these and more lead to increased accidental complexity.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ufried.com/blog/simplify_13_layers_of_systems_drivers/&#34;&gt;Part 13&lt;/a&gt; &amp;amp; &lt;a href=&#34;https://ufried.com/blog/simplify_14_layers_of_systems_mitigation/&#34;&gt;Part 14&lt;/a&gt; &amp;ndash; An IT landscape consisting of layers of systems never cleaned up. Missing responsiveness of IT leading to solutions bypassing the IT department. Fear of decommissioning old systems. Missing the technology evolution and when to replace complex custom-built solutions. The &amp;ldquo;no-time to clean up&amp;rdquo; fallacy. The big clean-up initiative, trying to fix the existing mess &amp;ldquo;once and for all&amp;rdquo; with a single approach. All these and more lead to increasing accidental complexity.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ufried.com/blog/simplify_15_summing_up/&#34;&gt;Part 15&lt;/a&gt; &amp;ndash; Summing up and some general considerations. We need to simplify to survive in the long run. Some of the general recommendations do not only help in this context. Learn to do the right thing. Do not only focus on doing things right.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;I have augmented this series with 3 posts about OSS, the first one discussing &lt;a href=&#34;https://ufried.com/blog/oss_1_rise_of_oss/&#34;&gt;the rise and benefits of OSS&lt;/a&gt;, the second one discussing widespread &lt;a href=&#34;https://ufried.com/blog/oss_2_misconceptions/&#34;&gt;misconceptions regarding OSS&lt;/a&gt; and the third one discussing the &lt;a href=&#34;https://ufried.com/blog/oss_3_today/&#34;&gt;changed role of OSS in a cloud-native world&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simplify! - Part 15</title>
      <link>https://ufried.com/blog/simplify_15_summing_up/</link>
      <pubDate>Fri, 09 Oct 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/simplify_15_summing_up/</guid>
      <description>&lt;h1 id=&#34;simplify--part-15&#34;&gt;Simplify! &amp;ndash; Part 15&lt;/h1&gt;&#xA;&lt;p&gt;Hooray! This is the last post of the &amp;ldquo;Simplify!&amp;rdquo; series. As I wrote before: I would never have expected that it would become that long. Initially, I expected 4, maybe 5 parts. Most likely I would not have dared to begin with it if I would have known. Anyway, we have arrived here &amp;ndash; at last!&lt;/p&gt;&#xA;&lt;p&gt;Before I add a few final considerations, let us briefly recap what we have discussed so far:&lt;/p&gt;</description>
    </item>
    <item>
      <title>The continuous amnesia issue</title>
      <link>https://ufried.com/blog/continuous_amnesia_issue/</link>
      <pubDate>Fri, 02 Oct 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/continuous_amnesia_issue/</guid>
      <description>&lt;h1 id=&#34;the-continuous-amnesia-issue&#34;&gt;The continuous amnesia issue&lt;/h1&gt;&#xA;&lt;p&gt;In this post I want to discuss an issue that I, being for a longer time in IT meanwhile, observe over and over again. It is the observation that as an industry we continuously forget what we have learned.&lt;/p&gt;&#xA;&lt;p&gt;What do I mean with that claim?&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-very-first-discussion--again-and-again-and-&#34;&gt;The very first discussion &amp;ndash; again and again and &amp;hellip;&lt;/h2&gt;&#xA;&lt;p&gt;Probably I best illustrate this by sharing an experience I had. About two years ago I attended an unconference. It was not the first time I attended it. I liked it a lot. It always had a very energetic atmosphere. The participants were very active, loved to share and discuss. But unlike the previous times, I decided to do something different that year.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simplify! - Part 14</title>
      <link>https://ufried.com/blog/simplify_14_layers_of_systems_mitigation/</link>
      <pubDate>Fri, 25 Sep 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/simplify_14_layers_of_systems_mitigation/</guid>
      <description>&lt;h1 id=&#34;simplify--part-14&#34;&gt;Simplify! &amp;ndash; Part 14&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/simplify_13_layers_of_systems_drivers/&#34;&gt;previous post&lt;/a&gt;, I discussed several relevant drivers that lead to ever-increasing complexity of the IT landscape, creating layers over layers of technology over time that never get cleaned up. As the post would have become too long otherwise, I left out the mitigation options.&lt;/p&gt;&#xA;&lt;p&gt;This is the content of this post.&lt;/p&gt;&#xA;&lt;h2 id=&#34;improving-the-situation&#34;&gt;Improving the situation&lt;/h2&gt;&#xA;&lt;p&gt;As written in the previous post, there are certainly more drivers of ever-increasing IT landscape complexity, but the discussed ones are probably the most widespread and most harmful ones.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simplify! - Part 13</title>
      <link>https://ufried.com/blog/simplify_13_layers_of_systems_drivers/</link>
      <pubDate>Fri, 18 Sep 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/simplify_13_layers_of_systems_drivers/</guid>
      <description>&lt;h1 id=&#34;simplify--part-13&#34;&gt;Simplify! &amp;ndash; Part 13&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/simplify_12_implementation/&#34;&gt;previous post&lt;/a&gt;, I discussed several drivers of accidental complexity on the implementation level and what we can do about it.&lt;/p&gt;&#xA;&lt;p&gt;As announced there, I would like starting to discuss a final source of accidental complexity in this post, which are layers of technology that built up over time in an IT system landscape and never get cleaned up.&lt;/p&gt;&#xA;&lt;p&gt;Based on my observations there are several drivers that support this source of accidental complexity. Here I will discuss the most popular and influential ones that I have observed.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simplify! - Part 12</title>
      <link>https://ufried.com/blog/simplify_12_implementation/</link>
      <pubDate>Fri, 11 Sep 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/simplify_12_implementation/</guid>
      <description>&lt;h1 id=&#34;simplify--part-12&#34;&gt;Simplify! &amp;ndash; Part 12&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/simplify_11_architecture_mitigation/&#34;&gt;previous post&lt;/a&gt;, I completed the consideration of accidental complexity at the architecture level by discussing potential countermeasures to the drivers of accidental complexity which I discussed in the &lt;a href=&#34;https://ufried.com/blog/simplify_10_architecture_drivers/&#34;&gt;post before&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;When I started to discuss the different drivers of accidental complexity in IT and what we can do about it &lt;a href=&#34;https://ufried.com/blog/simplify_5_market/&#34;&gt;several posts ago&lt;/a&gt;, I wrote that I would move &amp;ldquo;from the outside in&amp;rdquo; to provide a bit of structure. In this post we finally reach the most inward level, the implementation level.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simplify! - Part 11</title>
      <link>https://ufried.com/blog/simplify_11_architecture_mitigation/</link>
      <pubDate>Fri, 04 Sep 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/simplify_11_architecture_mitigation/</guid>
      <description>&lt;h1 id=&#34;simplify--part-11&#34;&gt;Simplify! &amp;ndash; Part 11&lt;/h1&gt;&#xA;&lt;p&gt;This post is about mitigation techniques regarding accidental complexity in the architectural level.&lt;/p&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/simplify_10_architecture_drivers/&#34;&gt;previous post&lt;/a&gt;, I discussed several relevant drivers on the architectural level that lead to increased accidental complexity of the IT landscape. As the post would have become too long otherwise, I left out the part what we can do about it.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-need-for-simplicity&#34;&gt;The need for simplicity&lt;/h2&gt;&#xA;&lt;p&gt;But before I dive into the countermeasures, I would like to reemphasize why accidental complexity has become such a huge problem in IT. We already discussed some relevant problems in the &lt;a href=&#34;https://ufried.com/blog/simplify_1/&#34;&gt;first&lt;/a&gt; and &lt;a href=&#34;https://ufried.com/blog/simplify_2/&#34;&gt;second&lt;/a&gt; post of this blog series:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simplify! - Part 10</title>
      <link>https://ufried.com/blog/simplify_10_architecture_drivers/</link>
      <pubDate>Fri, 28 Aug 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/simplify_10_architecture_drivers/</guid>
      <description>&lt;h1 id=&#34;simplify--part-10&#34;&gt;Simplify! &amp;ndash; Part 10&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/simplify_9_technology/&#34;&gt;previous post&lt;/a&gt;, I discussed the technology explosion we could observe in the recent years, its drivers, how it often creates unneeded complexity, reinforcing drivers and what we can do about it.&lt;/p&gt;&#xA;&lt;p&gt;I also mentioned that some widespread misconceptions regarding OSS (Open Source Software) act as a driver of accidental complexity. Therefore I inserted a little &lt;a href=&#34;https://ufried.com/blog/oss_1_rise_of_oss/&#34;&gt;blog series discussing OSS&lt;/a&gt;, its rise, its benefits, the typical misconceptions and its role today to provide the required prerequisites for this post (and to keep its length acceptable).&lt;/p&gt;</description>
    </item>
    <item>
      <title>The laws of architectural work</title>
      <link>https://ufried.com/blog/laws_of_architectural_work/</link>
      <pubDate>Fri, 21 Aug 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/laws_of_architectural_work/</guid>
      <description>&lt;h1 id=&#34;the-laws-of-architectural-work&#34;&gt;The laws of architectural work&lt;/h1&gt;&#xA;&lt;p&gt;After completing the short &lt;a href=&#34;https://ufried.com/blog/oss_1_rise_of_oss/&#34;&gt;&amp;ldquo;OSS&amp;rdquo; blog series&lt;/a&gt; series and before returning to the &lt;a href=&#34;https://ufried.com/blog/simplify_1/&#34;&gt;&amp;ldquo;Simplify!&amp;rdquo; blog series&lt;/a&gt; that grew quite a lot while writing, I would like to discuss a completely different topic. I call it &amp;ldquo;the two first laws of architectural work&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;Of course, what I will describe are not actual laws. &amp;ldquo;Findings&amp;rdquo; or &amp;ldquo;lessons&amp;rdquo; (without the educational undertone) would be more accurate.&lt;/p&gt;&#xA;&lt;p&gt;And even if they were laws, I do not know if they would be the first two ones. I just called them the first two ones to emphasize their relative importance. At least I find them very relevant as I see so many places where they are &amp;ndash; often willfully &amp;ndash; ignored which usually leads to negative consequences.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Open Source Software - Part 3</title>
      <link>https://ufried.com/blog/oss_3_today/</link>
      <pubDate>Fri, 14 Aug 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/oss_3_today/</guid>
      <description>&lt;h1 id=&#34;open-source-software--part-3&#34;&gt;Open Source Software &amp;ndash; Part 3&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/oss_2_misconceptions/&#34;&gt;previous post&lt;/a&gt;, I discussed the two most widespread misconceptions about OSS, that OSS is for free and that it does not create any lock-in.&lt;/p&gt;&#xA;&lt;p&gt;In this final post about OSS, we will discuss the role of OSS in the IT world of today and what it means for us.&lt;/p&gt;&#xA;&lt;h2 id=&#34;a-changing-world&#34;&gt;A changing world&lt;/h2&gt;&#xA;&lt;p&gt;As I wrote in the &lt;a href=&#34;https://ufried.com/blog/oss_1_rise_of_oss/&#34;&gt;first post of this series&lt;/a&gt; the triumph of OSS in IT mainly took place between approx. 1990 and 2015. But between 1990 and today &lt;em&gt;a lot&lt;/em&gt; of things changed in IT. Especially the success of cloud technologies gave rise to a complete new breed of offerings: The managed services.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Open Source Software - Part 2</title>
      <link>https://ufried.com/blog/oss_2_misconceptions/</link>
      <pubDate>Fri, 07 Aug 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/oss_2_misconceptions/</guid>
      <description>&lt;h1 id=&#34;open-source-software--part-2&#34;&gt;Open Source Software &amp;ndash; Part 2&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/oss_1_rise_of_oss/&#34;&gt;previous post&lt;/a&gt;, I discussed the rise of OSS, the positive effects it had and how it changed software development. At the end of the post I mentioned that also some misconceptions sneaked in. These I will discuss in this post.&lt;/p&gt;&#xA;&lt;h2 id=&#34;misconceptions-sneaking-in&#34;&gt;Misconceptions sneaking in&lt;/h2&gt;&#xA;&lt;p&gt;While the rise and success of OSS was really important for the whole software development domain, it also fostered an &amp;ldquo;OSS is good, commercial software is evil&amp;rdquo; attitude and boosted a DIY (Do it yourself) attitude across developers. Note that creating a dichotomy &amp;ldquo;OSS vs. commercial&amp;rdquo; already is a misconception in itself &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;, but very often &amp;ldquo;OSS&amp;rdquo; still is misinterpreted as &amp;ldquo;strictly non-commercial&amp;rdquo; &amp;ndash; including the misleading conclusions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Open Source Software - Part 1</title>
      <link>https://ufried.com/blog/oss_1_rise_of_oss/</link>
      <pubDate>Fri, 31 Jul 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/oss_1_rise_of_oss/</guid>
      <description>&lt;h1 id=&#34;open-source-software--part-1&#34;&gt;Open Source Software &amp;ndash; Part 1&lt;/h1&gt;&#xA;&lt;p&gt;When I started to discuss accidental complexity on the architectural level in my &lt;a href=&#34;https://ufried.com/blog/simplify_1/&#34;&gt;&amp;ldquo;Simplify!&amp;rdquo; blog series&lt;/a&gt;, I quickly realized that I needed to discuss Open Source Software (OSS) first as it often acts as a driver of accidental complexity on the architectural level today.&lt;/p&gt;&#xA;&lt;p&gt;So, I started to discuss OSS inside the post. While doing this, I quickly realized that OSS deserves a more detailed discussion than just a few paragraphs in a post about a different topic. Especially, as so often it is important to understand the past evolution of a topic &amp;ndash; here OSS &amp;ndash; to be able to assess today&amp;rsquo;s situation correctly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simplify! - Part 9</title>
      <link>https://ufried.com/blog/simplify_9_technology/</link>
      <pubDate>Fri, 24 Jul 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/simplify_9_technology/</guid>
      <description>&lt;h1 id=&#34;simplify--part-9&#34;&gt;Simplify! &amp;ndash; Part 9&lt;/h1&gt;&#xA;&lt;p&gt;With the &lt;a href=&#34;https://ufried.com/blog/simplify_8_constraints/&#34;&gt;previous post&lt;/a&gt;, we finished discussing the complexity drivers and mitigation options &amp;ldquo;above&amp;rdquo; the technology level. Starting with this post, we will discuss the technology level and &amp;ldquo;below&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;In this post, I will start with the technology evolution of the recent years and its implications. In the following posts, I will complement the discussion with some typical misconceptions regarding OSS (open source software), architecture narcissism and quality theater on the development level.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simplify! - Part 8</title>
      <link>https://ufried.com/blog/simplify_8_constraints/</link>
      <pubDate>Fri, 17 Jul 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/simplify_8_constraints/</guid>
      <description>&lt;h1 id=&#34;simplify--part-8&#34;&gt;Simplify! &amp;ndash; Part 8&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/simplify_7_requirements/&#34;&gt;previous post of this series&lt;/a&gt; I started to discuss drivers on the project level that lead to accidental complexity regarding unnecessary requirements that do not add any value to the solution.&lt;/p&gt;&#xA;&lt;p&gt;In this post, we will continue on the project level, but with a bit different focus. The topics of this post will be:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&amp;ldquo;Agile&amp;rdquo; and &amp;ldquo;DevOps&amp;rdquo; cargo cults, not improving anything&lt;/li&gt;&#xA;&lt;li&gt;The &amp;ldquo;high utilization means more productivity&amp;rdquo; fallacy&lt;/li&gt;&#xA;&lt;li&gt;Enterprise Architecture Management as an impediment&lt;/li&gt;&#xA;&lt;li&gt;Compliance/governance implemented wrong adding accidental complexity&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;These topics do not directly affect the requirements, the platform or solution design, but they tend to create constraints that negatively affect projects in a way that leads to more accidental complexity.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Worlds apart</title>
      <link>https://ufried.com/blog/detached_it/</link>
      <pubDate>Fri, 10 Jul 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/detached_it/</guid>
      <description>&lt;h1 id=&#34;worlds-apart&#34;&gt;Worlds apart&lt;/h1&gt;&#xA;&lt;p&gt;A few days ago, I saw the following job advertisement creating a lot of mockery in the Internet:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://ufried.com/blog/detached_it/kubernetes_job_ad.jpg&#34; alt=&#34;A job ad requiring at least 12 years of experience with administration of Kubernetes, a tool that was initially released 6 years ago&#34; title=&#34;A job advertisement requiring the impossible&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;While I perfectly understand why it received so many ironic comments, I think it goes deeper. Pondering the paradox of the job ad for a moment, I thought that it actually points out some much more fundamental problems. Thus, I decided to spontaneously interrupt my &lt;a href=&#34;https://ufried.com/blog/simplify_intro/&#34;&gt;&amp;ldquo;Simplify!&amp;rdquo;&lt;/a&gt; blog series and insert this post.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simplify! - Part 7</title>
      <link>https://ufried.com/blog/simplify_7_requirements/</link>
      <pubDate>Fri, 03 Jul 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/simplify_7_requirements/</guid>
      <description>&lt;h1 id=&#34;simplify--part-7&#34;&gt;Simplify! &amp;ndash; Part 7&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/simplify_6_company/&#34;&gt;previous post of this series&lt;/a&gt; I discussed some drivers on the company level that (among other things) cause a lot of accidental complexity in IT. The drivers were not understanding IT and its role today.&lt;/p&gt;&#xA;&lt;p&gt;Together with not understanding post-industrial markets and digital transformation which I &lt;a href=&#34;https://ufried.com/blog/simplify_5_market/&#34;&gt;discussed before&lt;/a&gt;, they ultimately form the root cause for many other effects and evolutions, we will discuss in this and the subsequent posts.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simplify! - Part 6</title>
      <link>https://ufried.com/blog/simplify_6_company/</link>
      <pubDate>Fri, 26 Jun 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/simplify_6_company/</guid>
      <description>&lt;h1 id=&#34;simplify--part-6&#34;&gt;Simplify! &amp;ndash; Part 6&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/simplify_5_market/&#34;&gt;previous post of this series&lt;/a&gt;, we looked at post-industrial markets and digital transformation as external market-based drivers that create pressure on companies and their IT departments. We also have seen how not understanding these drivers usually leads to counter-productive responses that ultimately make things worse instead better.&lt;/p&gt;&#xA;&lt;p&gt;Especially, not understanding post-industrial markets and digital transformation is the root cause for many measures that we will discuss in the upcoming posts of this series. Those measures brought IT in the place where it is right now, being overly complex with lots of accidental complexity.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simplify! - Part 5</title>
      <link>https://ufried.com/blog/simplify_5_market/</link>
      <pubDate>Fri, 19 Jun 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/simplify_5_market/</guid>
      <description>&lt;h1 id=&#34;simplify--part-5&#34;&gt;Simplify! &amp;ndash; Part 5&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/simplify_4_accidental_complexity_in_depth/&#34;&gt;previous post&lt;/a&gt;, we looked at the different types of accidental complexity that help us to identify the places where to look for unnecessary complexity.&lt;/p&gt;&#xA;&lt;p&gt;I also wrote that before starting this search, it first makes sense to understand better the origins of the current excessive complexity. How did it emerge? Understanding this evolution provides us with the final piece we need to understand before we can discuss countermeasures to simplify IT again.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dismiss maturity models</title>
      <link>https://ufried.com/blog/capability_models/</link>
      <pubDate>Fri, 12 Jun 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/capability_models/</guid>
      <description>&lt;h1 id=&#34;dismiss-maturity-models&#34;&gt;Dismiss maturity models&lt;/h1&gt;&#xA;&lt;p&gt;I wanted to give you a short break from my &lt;a href=&#34;https://ufried.com/blog/simplify_1/&#34;&gt;&amp;ldquo;Simplify!&amp;rdquo;&lt;/a&gt; blog series. Well, admittedly, I also needed a little break &amp;hellip; ;)&lt;/p&gt;&#xA;&lt;p&gt;Therefore I will discuss a different topic in this post. The topic is the difference between maturity and capability models and why you should prefer the latter. &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;maturity-models&#34;&gt;Maturity models&lt;/h2&gt;&#xA;&lt;p&gt;Whenever improvement comes up, the next maturity model is just around the corner. E.g., the &lt;a href=&#34;https://en.wikipedia.org/wiki/Maturity_model&#34;&gt;Wikipedia page for maturity models&lt;/a&gt; lists about 50 different maturity modes, around 15 for IT alone.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simplify! - Part 4</title>
      <link>https://ufried.com/blog/simplify_4_accidental_complexity_in_depth/</link>
      <pubDate>Fri, 05 Jun 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/simplify_4_accidental_complexity_in_depth/</guid>
      <description>&lt;h1 id=&#34;simplify--part-4&#34;&gt;Simplify! &amp;ndash; Part 4&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/simplify_3_essential_and_accidental_complexity/&#34;&gt;previous post&lt;/a&gt;, I discussed the difference between essential and accidental complexity. While we cannot avoid the essential complexity of a given problem, accidental complexity makes things unnecessarily harder without adding any value to the solution.&lt;/p&gt;&#xA;&lt;p&gt;I stopped the post with the default theme that essential complexity is everything that comes from the problem side (a.k.a. the business domain). Whenever the solution complexity exceeds the problem complexity, that excess is accidental complexity added in the solution domain (a.k.a. in IT).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simplify! - Part 3</title>
      <link>https://ufried.com/blog/simplify_3_essential_and_accidental_complexity/</link>
      <pubDate>Fri, 29 May 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/simplify_3_essential_and_accidental_complexity/</guid>
      <description>&lt;h1 id=&#34;simplify--part-3&#34;&gt;Simplify! &amp;ndash; Part 3&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/simplify_1/&#34;&gt;first post of this blog series&lt;/a&gt;, I described two antagonistic observations: IT has become an indispensable part of everyday business and private life while at the same time the complexity on the IT solution side grows all the time, meanwhile being on the verge of unmaintainability.&lt;/p&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/simplify_2/&#34;&gt;previous post&lt;/a&gt;, I discussed that the excessive complexity is extremely unhealthy for the people affected as well as for the companies they are working for. Additionally, I described that the &amp;ldquo;survival&amp;rdquo; patterns that the people apply to escape the stress induced by the complexity create a self-reinforcing loop that in the end makes things worse instead of creating a relief &amp;ndash; especially if combined with constant efficiency pressure as it is normal for most companies.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simplify! - Part 2</title>
      <link>https://ufried.com/blog/simplify_2/</link>
      <pubDate>Fri, 22 May 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/simplify_2/</guid>
      <description>&lt;h1 id=&#34;simplify--part-2&#34;&gt;Simplify! &amp;ndash; Part 2&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/simplify_1/&#34;&gt;previous post&lt;/a&gt;, I described two observations:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;IT has become an indispensable part of everyday business and private life.&lt;/li&gt;&#xA;&lt;li&gt;Complexity on the IT solution side grows all the time approaching the verge of unmaintainability.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;In this post, I will dive a bit deeper. Analyzing the effects of this evolution on people and companies I will explain why it is an unhealthy and unsustainable evolution.&lt;/p&gt;&#xA;&lt;h2 id=&#34;effects-of-exploding-complexity-on-people&#34;&gt;Effects of exploding complexity on people&lt;/h2&gt;&#xA;&lt;p&gt;Before understanding the effects of exploding complexity on companies, it is important to understand its on the affected people first. From what I see, most people &amp;ndash; no matter if in development or in operations &amp;ndash; feel overstrained with the current abundance of concepts, tools and technologies. It is already impossible to know all these topics and its variants just superficially, let alone in depth.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simplify! - Part 1</title>
      <link>https://ufried.com/blog/simplify_1/</link>
      <pubDate>Fri, 15 May 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/simplify_1/</guid>
      <description>&lt;h1 id=&#34;simplify--part-1&#34;&gt;Simplify! &amp;ndash; Part 1&lt;/h1&gt;&#xA;&lt;p&gt;This little post series will be a bit different from the former ones as it discusses a relatively new train of thought of mine. Hence, in some  places the reasoning may still feel a bit rough and not as thought out as in prior posts. If you should encounter such a place, please bear with me &amp;ndash; and maybe help improving the reasoning via discussing the topic with me.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Degrees of uncertainty</title>
      <link>https://ufried.com/blog/degrees_of_uncertainty/</link>
      <pubDate>Fri, 08 May 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/degrees_of_uncertainty/</guid>
      <description>&lt;h1 id=&#34;degrees-of-uncertainty&#34;&gt;Degrees of uncertainty&lt;/h1&gt;&#xA;&lt;p&gt;After introducing the &lt;a href=&#34;https://ufried.com/blog/understanding_uncertainty/&#34;&gt;concept of uncertainty as the unifying main driver of rethinking IT&lt;/a&gt;, I discussed the basic approach how to act under uncertainty in the &lt;a href=&#34;https://ufried.com/blog/acting_under_uncertainty/&#34;&gt;previous post&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In this post, I will discuss that not everything is equally affected by uncertainty and how we need to respond differently to different levels of certainty and uncertainty.&lt;/p&gt;&#xA;&lt;h2 id=&#34;from-certainty-to-uncertainty&#34;&gt;From certainty to uncertainty&lt;/h2&gt;&#xA;&lt;p&gt;As I wrote before: Uncertainty is the unifying driver of rethinking IT and we need to rethink basically everything that we became used to in the last 50+ years in IT &amp;ndash; and we often hold dear.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Acting under uncertainty</title>
      <link>https://ufried.com/blog/acting_under_uncertainty/</link>
      <pubDate>Fri, 01 May 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/acting_under_uncertainty/</guid>
      <description>&lt;h1 id=&#34;acting-under-uncertainty&#34;&gt;Acting under uncertainty&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/understanding_uncertainty/&#34;&gt;previous post&lt;/a&gt;, I introduced the concept of uncertainty as the unifying main driver of rethinking IT. I described how it breaks the certainty-based value prediction model that most of our acting (not only) in IT is based upon and why so many people and companies have difficulties to accept and adapt to uncertainty.&lt;/p&gt;&#xA;&lt;p&gt;In this post, I will continue with discussing the basic approach how to act under uncertainty.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Understanding uncertainty</title>
      <link>https://ufried.com/blog/understanding_uncertainty/</link>
      <pubDate>Fri, 24 Apr 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/understanding_uncertainty/</guid>
      <description>&lt;h1 id=&#34;understanding-uncertainty&#34;&gt;Understanding uncertainty&lt;/h1&gt;&#xA;&lt;p&gt;After a few posts discussing some aspects of software architecture, I would like to continue with the probably most important concept that I see in the world (not only) of IT today: &lt;strong&gt;uncertainty&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I already mentioned some of the most important drivers of uncertainty in previous posts, like &lt;a href=&#34;https://ufried.com/blog/markets/&#34;&gt;the evolution of markets&lt;/a&gt;, &lt;a href=&#34;https://ufried.com/blog/evolution_of_it/&#34;&gt;the evolution of IT&lt;/a&gt;, &lt;a href=&#34;https://ufried.com/blog/digital_transformation_explained/&#34;&gt;the three waves of digital transformation&lt;/a&gt; and &lt;a href=&#34;https://ufried.com/blog/flavors_of_it_1/&#34;&gt;the different flavors of IT&lt;/a&gt;. Additionally, I mentioned complexity, another relevant driver of uncertainty in the posts about &lt;a href=&#34;https://ufried.com/blog/evolution_of_it/&#34;&gt;the evolution of IT&lt;/a&gt; and &lt;a href=&#34;https://ufried.com/blog/flavors_of_it_1/&#34;&gt;the different flavors of IT&lt;/a&gt;. &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>The invisibility dilemma of software</title>
      <link>https://ufried.com/blog/invisibility_dilemma/</link>
      <pubDate>Fri, 17 Apr 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/invisibility_dilemma/</guid>
      <description>&lt;h1 id=&#34;the-invisibility-dilemma-of-software&#34;&gt;The invisibility dilemma of software&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/legacy_systems/&#34;&gt;previous post&lt;/a&gt;, I mentioned the second law of program evolution that Lehman described in his paper &lt;a href=&#34;https://users.ece.utexas.edu/~perry/education/SE-Intro/lehman.pdf&#34;&gt;Programs, life cycles, and laws of software evolution&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;The law of increasing complexity&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;As an evolving program is continually changed, its complexity, reflecting deteriorating structure, increases unless work is done to maintain or reduce it.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;It was part of my explanation why I think, so-called &amp;ldquo;legacy systems&amp;rdquo; often are in a bad shape. Quite some of you probably noticed the &amp;ldquo;&lt;em&gt;&amp;hellip; unless work is done to maintain or reduce it&lt;/em&gt;&amp;rdquo; part of the law and wondered if I did not miss an important aspect in my discussion of legacy systems.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Legacy systems</title>
      <link>https://ufried.com/blog/legacy_systems/</link>
      <pubDate>Fri, 10 Apr 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/legacy_systems/</guid>
      <description>&lt;h1 id=&#34;legacy-systems&#34;&gt;Legacy systems&lt;/h1&gt;&#xA;&lt;p&gt;Last week I stumbled upon a nice quote from Corey Quinn that I shared via Twitter:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://ufried.com/blog/legacy_systems/legacy1.png&#34; alt=&#34;Tweet from myself: &amp;ldquo;[&amp;hellip;] &amp;rsquo;legacy,&amp;rsquo; which is condescending-engineer-speak for &amp;lsquo;actually makes money.&amp;rsquo;&amp;rdquo; &amp;hellip; really nice quote by @QuinnyPig (Corey Quinn). couldn&amp;rsquo;t agree more. personally, i abandoned the term &amp;ldquo;legacy&amp;rdquo; and replaced it with &amp;ldquo;core&amp;rdquo; several years ago to remind everyone (incl. me) of that fact&#34; title=&#34;My tweet regarding legacy systems that gave me the idea for this post&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>The reusability fallacy - Part 4</title>
      <link>https://ufried.com/blog/reusability_fallacy_4/</link>
      <pubDate>Fri, 03 Apr 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/reusability_fallacy_4/</guid>
      <description>&lt;h1 id=&#34;the-reusability-fallacy--part-4&#34;&gt;The reusability fallacy &amp;ndash; Part 4&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/reusability_fallacy_3/&#34;&gt;previous part of this series&lt;/a&gt; I discussed why reusability is a false friend in distributed systems and thus should not be used to sell distributed architectural approaches. Additionally, I discussed the difference between &amp;ldquo;usable&amp;rdquo; and &amp;ldquo;reusable&amp;rdquo; assets and why you should strive for &amp;ldquo;usability&amp;rdquo; in distributed approaches like, e.g., microservices.&lt;/p&gt;&#xA;&lt;p&gt;In this final part of this little series, I will briefly summarize what we have discussed so far and then then give a few practical recommendations, when and where to strive for reusability, when to avoid it and what to do instead.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The reusability fallacy - Part 3</title>
      <link>https://ufried.com/blog/reusability_fallacy_3/</link>
      <pubDate>Fri, 27 Mar 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/reusability_fallacy_3/</guid>
      <description>&lt;h1 id=&#34;the-reusability-fallacy--part-3&#34;&gt;The reusability fallacy &amp;ndash; Part 3&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/reusability_fallacy_2/&#34;&gt;second part of this blog series about reusability&lt;/a&gt; I discussed the costs of making a software asset reusable. It turned out that creating an actually reusable asset means multiple times the costs and efforts compared to creating the same asset just for a single purpose.&lt;/p&gt;&#xA;&lt;p&gt;Additionally, we have looked at asset properties that work as reusability promoters or inhibitors to understand which functionalities are worth being made reusable and which are not. It turned out that almost everything worth being made reusable already exists &amp;ndash; typically as part of the programming language ecosystems or an OSS solution. On the other hand, the architectural paradigms that are usually sold with reusability as huge cost saver typically target the functional domains that offer little reuse potential.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The reusability fallacy - Part 2</title>
      <link>https://ufried.com/blog/reusability_fallacy_2/</link>
      <pubDate>Fri, 20 Mar 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/reusability_fallacy_2/</guid>
      <description>&lt;h1 id=&#34;the-reusability-fallacy--part-2&#34;&gt;The reusability fallacy &amp;ndash; Part 2&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/reusability_fallacy_1/&#34;&gt;first part of this blog series about reusability&lt;/a&gt; I discussed why all the reusability ideas break that root in the physical world and that are based on the idea you can save money in the production process by using reusable/standardized parts. We have seen that the actual production process in IT is already practically optimal. Thus, if reusability can help to save time, costs and efforts at all, it can only do so in the design process, which &amp;ndash; as we have also seen &amp;ndash; is everything until the last line of code is written.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The reusability fallacy - Part 1</title>
      <link>https://ufried.com/blog/reusability_fallacy_1/</link>
      <pubDate>Fri, 13 Mar 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/reusability_fallacy_1/</guid>
      <description>&lt;h1 id=&#34;the-reusability-fallacy--part-1&#34;&gt;The reusability fallacy &amp;ndash; Part 1&lt;/h1&gt;&#xA;&lt;p&gt;After several posts discussing different aspects of IT as a whole, I would like to start discussing another thread of thinking: software architecture. This is a huge topic and I pondered for quite a while where to start. Finally, I decided to start with debunking the long-lived architectural myth of reusability because this makes it easier to understand some of the ideas that I will discuss in later posts.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The different flavors of IT - Part 2</title>
      <link>https://ufried.com/blog/flavors_of_it_2/</link>
      <pubDate>Fri, 06 Mar 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/flavors_of_it_2/</guid>
      <description>&lt;h1 id=&#34;the-different-flavors-of-it--part-2&#34;&gt;The different flavors of IT &amp;ndash; Part 2&lt;/h1&gt;&#xA;&lt;p&gt;In the &lt;a href=&#34;https://ufried.com/blog/flavors_of_it_1/&#34;&gt;last post&lt;/a&gt;, I described how different external drivers (pre-industrial, industrial, post-industrial) lead to different IT working modes and discussed their typical properties.&lt;/p&gt;&#xA;&lt;p&gt;In this post, I will first add another complementing point of view that leads to a fourth working mode. Afterwards, I will briefly discuss how this model can also help to understand the lifecycle of IT-based business offerings better. Finally, I will show how this model can be generalized to different domains and the problems that arise if different working modes collide.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The different flavors of IT - Part 1</title>
      <link>https://ufried.com/blog/flavors_of_it_1/</link>
      <pubDate>Fri, 28 Feb 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/flavors_of_it_1/</guid>
      <description>&lt;h1 id=&#34;the-different-flavors-of-it--part-1&#34;&gt;The different flavors of IT &amp;ndash; Part 1&lt;/h1&gt;&#xA;&lt;p&gt;In a &lt;a href=&#34;https://ufried.com/blog/markets/&#34;&gt;previous post&lt;/a&gt;, I discussed pre-industrial, industrial and post-industrial markets. It also helps to understand a lot of other developments and problems (not only) in the world of IT. In this post, I will discuss how it affects the IT working mode.&lt;/p&gt;&#xA;&lt;p&gt;Different market situations typically result in different IT working modes, i.e., properties that an IT organization implements. As long as the IT working mode is in sync with the external drivers, everything is fine. If not, it leads to problems. But before discussing those problems, let us first look at the working modes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The three waves of digital transformation</title>
      <link>https://ufried.com/blog/digital_transformation_explained/</link>
      <pubDate>Fri, 21 Feb 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/digital_transformation_explained/</guid>
      <description>&lt;h1 id=&#34;the-three-waves-of-digital-transformation&#34;&gt;The three waves of digital transformation&lt;/h1&gt;&#xA;&lt;p&gt;&amp;ldquo;Digital transformation&amp;rdquo; is probably one of the most overstressed terms of the last years - not only in IT, but also everywhere else: in the news, the media, every conference, everywhere. You just cannot not escape it. But what makes it really annoying is that most people who talk about it do not seem to have any proper idea what it actually means.&lt;/p&gt;&#xA;&lt;p&gt;One manager proudly announces that they are working on an electronic customer file and thus are a digital leader. The next one talks about their e-commerce strategy, the third one about their cloud strategy and yet another one about platforms and API economy. And of course all are self-proclaimed leaders of digital transformation.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Systems thinking and quality</title>
      <link>https://ufried.com/blog/systems_thinking_and_quality/</link>
      <pubDate>Fri, 14 Feb 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/systems_thinking_and_quality/</guid>
      <description>&lt;h1 id=&#34;systems-thinking-and-quality&#34;&gt;Systems thinking and quality&lt;/h1&gt;&#xA;&lt;p&gt;A few days ago I rediscovered a short presentation that &lt;a href=&#34;https://en.wikipedia.org/wiki/Russell_L._Ackoff&#34;&gt;Dr. Russell Ackoff&lt;/a&gt; gave in 1994. The recording of this presentation was titled &lt;a href=&#34;https://www.youtube.com/watch?v=OqEeIG8aPPk&#34;&gt;&amp;ldquo;If Russ Ackoff had given a TED talk&amp;hellip;&amp;rdquo;&lt;/a&gt; on YouTube. The presentation is really short &amp;ndash; just 12 minutes. But it contains &lt;em&gt;a lot&lt;/em&gt; of wisdom, probably too much to understand it all at once.&lt;/p&gt;&#xA;&lt;p&gt;I meanwhile watched the presentation several times and I am still not sure if I really got my head wrapped around all details. While the ideas and examples that Ackoff present feel simple and straightforward, I think it is surprisingly hard to really understand their consequences for our daily challenges. That&amp;rsquo;s why I decided to present and discuss them in this post &amp;ndash; of course not claiming for myself that I completely understood what Russ Ackoff said.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The evolution of IT</title>
      <link>https://ufried.com/blog/evolution_of_it/</link>
      <pubDate>Fri, 07 Feb 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/evolution_of_it/</guid>
      <description>&lt;h1 id=&#34;the-evolution-of-it&#34;&gt;The evolution of IT&lt;/h1&gt;&#xA;&lt;p&gt;In &lt;a href=&#34;https://ufried.com/blog/markets/&#34;&gt;a former post&lt;/a&gt;, I briefly described the evolution of markets because it influences the IT of today a lot, including the confusion we often experience. In this post, I discuss the evolution of IT itself, as this is also relevant to understand the current state and role of IT.&lt;/p&gt;&#xA;&lt;h2 id=&#34;once-upon-a-time&#34;&gt;Once upon a time&lt;/h2&gt;&#xA;&lt;p&gt;In the beginning (long before we started calling IT &amp;ldquo;IT&amp;rdquo;), there were tube-based computer (omitting the short phase of mechanical computers). They were relatively unreliable and maintenance intensive. Thus, they were not interesting for commercial use.&lt;/p&gt;</description>
    </item>
    <item>
      <title>All models are wrong. Some are useful!</title>
      <link>https://ufried.com/blog/power-of-models/</link>
      <pubDate>Fri, 31 Jan 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/power-of-models/</guid>
      <description>&lt;h1 id=&#34;all-models-are-wrong-some-are-useful&#34;&gt;All models are wrong. Some are useful!&lt;/h1&gt;&#xA;&lt;p&gt;I work with models a lot. I use them to make real-world effects better comprehensible and thus enable pondering them. When sharing such a model with other people, every once in a while someone cites&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;All models are wrong, but some are useful. &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;To be more precise: Usually, only the first part of the quote is cited. I do not want to speculate about the motivations of the persons who cite this quote. They will have their reasons. I mention the quote because from my point of view it is really useful to explain the power and the limitations of models.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The demise of business processes</title>
      <link>https://ufried.com/blog/demise-of-business-processes/</link>
      <pubDate>Fri, 24 Jan 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/demise-of-business-processes/</guid>
      <description>&lt;h1 id=&#34;the-demise-of-business-processes&#34;&gt;The demise of business processes&lt;/h1&gt;&#xA;&lt;p&gt;Whenever you come to a client as an IT consultant, it will not take long before someone will start talking about business processes. A typical narration is like &amp;ldquo;That&amp;rsquo;s a nice idea. But we need to make sure that everything is aligned with our business processes&amp;rdquo;. This is not limited to IT projects. If you create a new product, if you touch the organization or change anything else: it needs to be aligned with the business processes. The whole company seems to revolve around their business processes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The evolution of markets</title>
      <link>https://ufried.com/blog/markets/</link>
      <pubDate>Fri, 17 Jan 2020 00:00:00 +0000</pubDate>
      <guid>https://ufried.com/blog/markets/</guid>
      <description>&lt;h1 id=&#34;the-evolution-of-markets&#34;&gt;The evolution of markets&lt;/h1&gt;&#xA;&lt;p&gt;While preparing a series of blog posts describing several of the ideas I worked on in the last years, I realized that many of the topics are interrelated. Quite a lot of the ideas reference the concepts of industrial and post-industrial markets. Thus, it is probably a good idea to start with those concepts.&lt;/p&gt;&#xA;&lt;p&gt;If you ask yourself why I talk about markets in the context of IT, please just bear with me for a moment. The core properties of the markets influence IT more than most people would ever assume and many issues of today&amp;rsquo;s IT become apparent, once you have understood those properties and how they affect IT.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
