<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Business Analysis on Arc &amp; Digital</title><link>https://www.zils-kaisersesch.de/categories/business-analysis/</link><description>Recent content in Business Analysis on Arc &amp; Digital</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 06 Nov 2024 22:50:55 +0200</lastBuildDate><atom:link href="https://www.zils-kaisersesch.de/categories/business-analysis/index.xml" rel="self" type="application/rss+xml"/><item><title>Blockchain: A Trusted Database for Systems Boundaries</title><link>https://www.zils-kaisersesch.de/post/2020-01-15-blockchain-a-trusted-database/</link><pubDate>Wed, 15 Jan 2020 00:00:00 +0000</pubDate><guid>https://www.zils-kaisersesch.de/post/2020-01-15-blockchain-a-trusted-database/</guid><description>Software Architecture analysis of blockchain technology for enterprise systems. Business analysis perspective on DLT implementation by Stefan Zils, Eifel42.dev</description></item><item><title>Arc42 by Example</title><link>https://www.zils-kaisersesch.de/post/2020-02-02-arc42-by-example/</link><pubDate>Sun, 02 Feb 2020 00:00:00 +0000</pubDate><guid>https://www.zils-kaisersesch.de/post/2020-02-02-arc42-by-example/</guid><description>Arc42 software architecture documentation framework review by Stefan Zils, Software Architect at Eifel42.dev. Essential for enterprise architecture and requirements analysis.</description></item><item><title>Data in Motion Day 2024</title><link>https://www.zils-kaisersesch.de/post/2024-11-06-data-in-motion-tour-2024/</link><pubDate>Wed, 06 Nov 2024 22:50:55 +0200</pubDate><guid>https://www.zils-kaisersesch.de/post/2024-11-06-data-in-motion-tour-2024/</guid><description>&lt;p&gt;I had the opportunity to participate in &lt;strong&gt;Data in Motion Day 2024&lt;/strong&gt; in Frankfurt, analyzing stream processing from a &lt;strong&gt;business analysis&lt;/strong&gt; and &lt;strong&gt;enterprise architecture&lt;/strong&gt; perspective.&lt;/p&gt;
&lt;p&gt;One of my primary takeaways is that &lt;strong&gt;stream processing&lt;/strong&gt; extends beyond mere software frameworks and data management. It encourages a more profound comprehension of &lt;strong&gt;business operations&lt;/strong&gt; and their specific domains. This understanding is essential for &lt;strong&gt;requirements analysis&lt;/strong&gt; and leveraging data in real-time to drive strategic decision-making.&lt;/p&gt;
&lt;figure class="center-image"&gt;
 &lt;a href="https://www.zils-kaisersesch.de/images/2024-11-06-data-in-motion.webp" data-size="600x680"&gt;
 &lt;picture&gt;
 &lt;source srcset="https://www.zils-kaisersesch.de/images/2024-11-06-data-in-motion-400w.avif 400w,
 https://www.zils-kaisersesch.de/images/2024-11-06-data-in-motion-600w.avif 600w,
 https://www.zils-kaisersesch.de/images/2024-11-06-data-in-motion.avif 600w,
 https://www.zils-kaisersesch.de/images/2024-11-06-data-in-motion@2x.avif 1200w"
 type="image/avif"
 sizes="(max-width: 480px) 400px, 600px"&gt;
 &lt;source srcset="https://www.zils-kaisersesch.de/images/2024-11-06-data-in-motion-400w.webp 400w,
 https://www.zils-kaisersesch.de/images/2024-11-06-data-in-motion-600w.webp 600w,
 https://www.zils-kaisersesch.de/images/2024-11-06-data-in-motion.webp 600w,
 https://www.zils-kaisersesch.de/images/2024-11-06-data-in-motion@2x.webp 1200w"
 type="image/webp"
 sizes="(max-width: 480px) 400px, 600px"&gt;
 &lt;img src="https://www.zils-kaisersesch.de/images/2024-11-06-data-in-motion.webp"
 alt="Data in Motion 2024, Ticket"
 width="600"
 height="680"
 loading="eager"
 fetchpriority="high"
 decoding="async"
 sizes="(max-width: 480px) 400px, 600px"&gt;
 &lt;/picture&gt;
 &lt;/a&gt;
 &lt;figcaption&gt;Data in Motion 2024, Ticket&lt;/figcaption&gt;
&lt;/figure&gt;</description></item><item><title>Agile Increment</title><link>https://www.zils-kaisersesch.de/post/2024-10-20-agile-increment/</link><pubDate>Sun, 20 Oct 2024 11:50:55 +0200</pubDate><guid>https://www.zils-kaisersesch.de/post/2024-10-20-agile-increment/</guid><description>&lt;h2 id="what-is-an-increment---a-business-analysis-perspective"&gt;What is an increment? - A Business Analysis Perspective&lt;/h2&gt;
&lt;p&gt;Agile methods are standard in software development and are expected to produce results. The &lt;strong&gt;Scrum guide&lt;/strong&gt; defines these results as increments.&lt;/p&gt;
&lt;p&gt;A manager in the software industry highlighted that her organization utilizes agile methods. However, she is interested in documenting the workshop outcomes rather than just engaging in agile discussions. This reflects a common &lt;strong&gt;requirements analysis&lt;/strong&gt; challenge in &lt;strong&gt;agile transformation&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="what-is-an-increment"&gt;What is an increment?&lt;/h2&gt;
&lt;p&gt;Agile methods are standard in software development and are expected to produce results. The Scrum guide defines these results as increments. Scrum is an agile and lightweight framework. A manager in the software industry highlighted that her organization utilizes agile methods. However, she is interested in documenting the workshop outcomes rather than just engaging in agile discussions.&lt;/p&gt;
&lt;p&gt;I believe that embracing agile methods is about generating business value across all aspects of the business.&lt;/p&gt;
&lt;h2 id="scrum-guide"&gt;Scrum Guide&lt;/h2&gt;
&lt;p&gt;The Scrum Guide 2020 describes the term of the Increment:&lt;/p&gt;
&lt;h3 id="increment"&gt;Increment&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;An Increment is a concrete stepping stone toward the Product Goal. Each Increment is additive to all prior Increments and thoroughly verified, ensuring that all Increments work together. To provide value, the Increment must be usable.
Multiple Increments may be created within a Sprint. The sum of the Increments is presented at the Sprint Review thus supporting empiricism. However, an Increment may be delivered to stakeholders prior to the end of the Sprint. The Sprint Review should never be considered a gate to releasing value.
Work cannot be considered part of an Increment unless it meets the Definition of Done (&lt;a href="https://scrumguides.org/scrum-guide.html#increment"&gt;Scrum Guide#increment&lt;/a&gt;).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="conclusion"&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Sprint strives to create something of value that aligns with the organization&amp;rsquo;s or product&amp;rsquo;s mission.&lt;/p&gt;
&lt;p&gt;Incorporating agile methods into other areas of knowledge work is an idea worth considering. When using agile methods, it&amp;rsquo;s important to note that they do not prohibit the creation of diagrams. The primary focus is on ensuring that the outcome is valuable and aligns with the overall mission. In traditional finance, business value is often measured in terms of profits and cost contribution. However, German drugstore DM has introduced a concept called &amp;ldquo;valuation accounting or value-development accounting (Wertbildungsrechnung)&amp;rdquo;, which takes into account a broader range of factors than just profit maximization. This approach has the potential to lead to more sustainable and resilient business models in the medium and long term (&lt;a href="https://next-u.de/2018/10/31/nutzen-statt-gewinnmaximierung-mit-der-wertbildungsrechnung/"&gt;Next-U Werbildungsrechnung&lt;/a&gt;).&lt;/p&gt;</description></item><item><title>Forgotten Knowledge</title><link>https://www.zils-kaisersesch.de/post/2024-08-01-documentation-cathedral/</link><pubDate>Thu, 01 Aug 2024 20:21:43 +0100</pubDate><guid>https://www.zils-kaisersesch.de/post/2024-08-01-documentation-cathedral/</guid><description>Software architecture documentation importance analyzed through historical perspective. Business analysis of knowledge preservation by Stefan Zils.</description></item><item><title>GDPR Compliance Pipeline</title><link>https://www.zils-kaisersesch.de/post/2024-05-25-gdpr-pipeline/</link><pubDate>Sat, 25 May 2024 20:16:42 +0100</pubDate><guid>https://www.zils-kaisersesch.de/post/2024-05-25-gdpr-pipeline/</guid><description>&lt;p&gt;In January, I mentioned that the European Union offers a &lt;a href="https://www.zils-kaisersesch.de/post/2024-01-13-eu-gdpr-tool/" title="free compliance checker"&gt;free GDPR compliance checker&lt;/a&gt;. As an &lt;strong&gt;business analyst&lt;/strong&gt; , I analyze how &lt;strong&gt;business process automation&lt;/strong&gt; can streamline &lt;strong&gt;compliance requirements analysis&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Small and medium-sized businesses can benefit greatly from using their websites as digital business cards. For example, I enjoy receiving feedback and knowing that people appreciate my posts. Actively tracking website visitors is too time-consuming for me. There are other marketing activities that are more target-oriented.&lt;/p&gt;
&lt;p&gt;When the EU introduced laws about cookie banners, I found it daunting to comply. However, I realized it was a chance to rethink my marketing strategies and ensure user privacy. This shift empowered me to understand that I do not have to track every visitor to be successful.&lt;/p&gt;
&lt;p&gt;Hugo does not create cookies by default. I will ensure that future updates only create cookies with my permission. Web design is not my main focus. As a hands-on architect, I need to stay updated on the latest techniques. Even open-source software can change key quality features over time, so I will verify cookie compliance after each deployment.&lt;/p&gt;
&lt;h3 id="github-actions-job"&gt;GitHub Actions Job&lt;/h3&gt;
&lt;p&gt;Since I only write a limited number of posts or articles per quarter, I do not have to consider the execution times.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The GitHub action includes:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Installing the latest version of the Website Evidence Collector.&lt;/li&gt;
&lt;li&gt;Running the tool.&lt;/li&gt;
&lt;li&gt;Storing the result on GitHub for ten days.&lt;/li&gt;
&lt;li&gt;Terminate the job if one or more cookies are discovered. The GitHub platform automatically triggers error notifications.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="github-job-collect-evidence"&gt;GitHub Job collect-evidence&lt;/h4&gt;
&lt;div class="gh-codeblock"&gt;
 &lt;div class="gh-codeblock-header"&gt;
 &lt;span class="gh-codeblock-lang"&gt;YAML&lt;/span&gt;
 &lt;button class="gh-copy-btn"&gt;
 &lt;svg class="gh-icon gh-icon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor"&gt;
 &lt;path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"&gt;&lt;/path&gt;
 &lt;path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"&gt;&lt;/path&gt;
 &lt;/svg&gt;
 &lt;svg class="gh-icon gh-icon-check" viewBox="0 0 16 16" width="16" height="16" fill="currentColor"&gt;
 &lt;path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.75.75 0 0 1 1.06-1.06L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"&gt;&lt;/path&gt;
 &lt;/svg&gt;
 &lt;/button&gt;
 &lt;/div&gt;
 &lt;div class="gh-codeblock-body"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;span class="lnt"&gt;20
&lt;/span&gt;&lt;span class="lnt"&gt;21
&lt;/span&gt;&lt;span class="lnt"&gt;22
&lt;/span&gt;&lt;span class="lnt"&gt;23
&lt;/span&gt;&lt;span class="lnt"&gt;24
&lt;/span&gt;&lt;span class="lnt"&gt;25
&lt;/span&gt;&lt;span class="lnt"&gt;26
&lt;/span&gt;&lt;span class="lnt"&gt;27
&lt;/span&gt;&lt;span class="lnt"&gt;28
&lt;/span&gt;&lt;span class="lnt"&gt;29
&lt;/span&gt;&lt;span class="lnt"&gt;30
&lt;/span&gt;&lt;span class="lnt"&gt;31
&lt;/span&gt;&lt;span class="lnt"&gt;32
&lt;/span&gt;&lt;span class="lnt"&gt;33
&lt;/span&gt;&lt;span class="lnt"&gt;34
&lt;/span&gt;&lt;span class="lnt"&gt;35
&lt;/span&gt;&lt;span class="lnt"&gt;36
&lt;/span&gt;&lt;span class="lnt"&gt;37
&lt;/span&gt;&lt;span class="lnt"&gt;38
&lt;/span&gt;&lt;span class="lnt"&gt;39
&lt;/span&gt;&lt;span class="lnt"&gt;40
&lt;/span&gt;&lt;span class="lnt"&gt;41
&lt;/span&gt;&lt;span class="lnt"&gt;42
&lt;/span&gt;&lt;span class="lnt"&gt;43
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;collect-evidence&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;runs-on&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;ubuntu-latest&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;needs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;deploy.....&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;steps&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Install jq&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="sd"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; sudo apt-get install jq
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; sudo wget https://github.com/mikefarah/yq/releases/download/v4.6.1/yq_linux_amd64 -O /usr/bin/yq &amp;amp;&amp;amp; sudo chmod +x /usr/bin/yq&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Setup Node.js&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;uses&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;actions/setup-node@v4&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;with&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;node-version&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;18&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Install Cypress&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;npm install cypress&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Install Website Evidence Collector&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;npm install --global https://github.com/EU-EDPS/website-evidence-collector/tarball/latest&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Collect evidence from websites&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;collect-eifel42&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="sd"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; website-evidence-collector -y -q --no-output https://www.eifel42.dev/ &amp;gt; eifel42.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; yq e -j eifel42.yaml &amp;gt; eifel42.json&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Upload evidence&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;uses&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;actions/upload-artifact@v4.3.3&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;with&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;evidence&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="sd"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; eifel42.yaml &lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Check cookies eifel42&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="sd"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; isEmpty=$(jq &amp;#39;.cookies | length == 0&amp;#39; eifel42.json)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; if [ &amp;#34;$isEmpty&amp;#34; = &amp;#34;true&amp;#34; ]; then
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; echo &amp;#34;Cookies array is empty&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; else
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; echo &amp;#34;Cookies array is not empty&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; exit -1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; fi&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="links"&gt;Links&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.zils-kaisersesch.de/docs/2024-05-25-eifel42.yaml"&gt;Example of website-evidence-collector output&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Microservices Basics</title><link>https://www.zils-kaisersesch.de/post/2021-10-12-microservices-basics/</link><pubDate>Tue, 12 Oct 2021 00:00:00 +0000</pubDate><guid>https://www.zils-kaisersesch.de/post/2021-10-12-microservices-basics/</guid><description>Microservices architecture basics guide by Stefan Zils, Software Architect. Enterprise architecture patterns for scalable business applications.</description></item></channel></rss>