<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Joep Schuurkes (Posts about devops)</title><link>https://smallsheds.garden/</link><description></description><atom:link href="https://smallsheds.garden/categories/devops.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2026 &lt;a href="mailto:site@joep.slmail.me"&gt;Joep Schuurkes&lt;/a&gt; 
&lt;a href="https://creativecommons.org/licenses/by-nc/4.0/" rel="nofollow" target="_blank"&gt;
&lt;img alt="Creative Commons BY-NC License" style="border-width:0;margin: 0px 0px 0px 0px" src="https://licensebuttons.net/l/by-nc/4.0/80x15.png" /&gt;
&lt;/a&gt;
</copyright><lastBuildDate>Sun, 12 Apr 2026 11:47:02 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>An approach to teaching Agile 20 years after the Agile Manifesto</title><link>https://smallsheds.garden/blog/2021/an-approach-to-teaching-agile-20-years-after-the-agile-manifesto/</link><dc:creator>Joep Schuurkes</dc:creator><description>&lt;div&gt;&lt;p&gt;For a few weeks I've been thinking about how I would teach Agile&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="https://smallsheds.garden/blog/2021/an-approach-to-teaching-agile-20-years-after-the-agile-manifesto/#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; in 2021, 20 years after the &lt;a href="https://agilemanifesto.org/"&gt;Agile Manifesto&lt;/a&gt; was published. After sharing my thoughts at &lt;a href="https://citconf.com/virtual2021/"&gt;CitCon Europe 2021 Virtual&lt;/a&gt; and having an interesting conversation about the state of Agile and how to teach it, I figured it's time to write a blog post about it.&lt;/p&gt;
&lt;h3&gt;Why I started thinking about this&lt;/h3&gt;
&lt;p&gt;As Allan Kelly stated in a &lt;a href="https://www.allankellyassociates.co.uk/archives/2762/agile-won-the-war-but-lost-the-peace/"&gt;2018 blog post&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;"Agile won the war but lost the peace."&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Everyone is doing Agile, even though very few people are living the dream promised by Agile. This makes it very difficult to use "Agile" as a label, as a name for something. When someone says "Agile", are they referring to what you're already doing or to something they think you should be doing?&lt;/p&gt;
&lt;p&gt;Additionally, the &lt;a href="https://agilemanifesto.org/"&gt;Agile Manifesto&lt;/a&gt; was &lt;a href="https://agilemanifesto.org/history.html"&gt;written in 2001&lt;/a&gt;, based on what its authors were doing in the 1990s in response to the common ways of doing software development of that time. And since the Manifesto we've seen the introduction of Lean, of DevOps, and of CI/CD. So the amount of history that comes with Agile is large and it raises the question how much (if any) we should teach - especially since a lot of it is folklore instead of history&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="https://smallsheds.garden/blog/2021/an-approach-to-teaching-agile-20-years-after-the-agile-manifesto/#fn:2"&gt;2&lt;/a&gt;&lt;/sup&gt;. Doing Agile's history justice would probably cost more time than makes sense if your goal is to teach people how to develop software in an Agile way&lt;sup id="fnref:3"&gt;&lt;a class="footnote-ref" href="https://smallsheds.garden/blog/2021/an-approach-to-teaching-agile-20-years-after-the-agile-manifesto/#fn:3"&gt;3&lt;/a&gt;&lt;/sup&gt;. And a lot of that history was a relatively long time ago, which is why I titled my CitCon session "Teaching Agile to people younger than the Manifesto".&lt;/p&gt;
&lt;p&gt;&lt;a href="https://smallsheds.garden/blog/2021/an-approach-to-teaching-agile-20-years-after-the-agile-manifesto/"&gt;Read more…&lt;/a&gt; (4 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>agile</category><category>books</category><category>ci/cd</category><category>devops</category><category>lean</category><category>teaching</category><guid>https://smallsheds.garden/blog/2021/an-approach-to-teaching-agile-20-years-after-the-agile-manifesto/</guid><pubDate>Mon, 26 Apr 2021 14:54:34 GMT</pubDate></item><item><title>Your CI/CD pipeline does not run regression tests</title><link>https://smallsheds.garden/blog/2019/your-ci-cd-pipeline-does-not-run-regression-tests/</link><dc:creator>Joep Schuurkes</dc:creator><description>&lt;div&gt;&lt;h3&gt;CI/CD pipelines&lt;/h3&gt;
&lt;p&gt;The purpose of a CI/CD pipeline is to allow you to deliver small changes in a fast and controlled way. Without any tests in your pipeline you would gain a lot of speed. You'd also lose a lot control, which is why people in general do run tests in their pipeline. The purpose of these tests is to check if that stage of the pipeline meets the minimum level of acceptable quality for that stage.&lt;/p&gt;
&lt;p&gt;For example, commit stage tests will consist of mostly unit tests, a few integration tests, and even fewer end-to-end tests, because early in the pipeline speed is more important than comprehensiveness. When I commit my changes, I want the results fast enough so that I will wait for them - ready to fix any issue that might occur.&lt;/p&gt;
&lt;h3&gt;Regression testing&lt;/h3&gt;
&lt;p&gt;There are many definitions of regression testing, as you can read in &lt;a href="https://arborosa.org/2015/07/31/regression-testing/"&gt;Arborosa's blog post on the topic&lt;/a&gt;. I have always defined regression testing along the lines of "testing the parts that weren't impacted by a change to see if they really weren't impacted." (Which is really weird if you start thinking about it: something is regression testing depending on your knowledge of the system and the change.)&lt;/p&gt;
&lt;h3&gt;The tests in your pipeline are regression tests, …&lt;/h3&gt;
&lt;p&gt;Most of the tests that run in your pipeline are regression tests. Your commits are small and you have a lot of tests, so most of those will cover parts of the system that shouldn't have been impacted by your changes. So yes, regression tests.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://smallsheds.garden/blog/2019/your-ci-cd-pipeline-does-not-run-regression-tests/"&gt;Read more…&lt;/a&gt; (3 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>ci/cd</category><category>devops</category><category>regression testing</category><category>semantics</category><category>test automation</category><guid>https://smallsheds.garden/blog/2019/your-ci-cd-pipeline-does-not-run-regression-tests/</guid><pubDate>Mon, 05 Aug 2019 21:47:51 GMT</pubDate></item><item><title>Reflections on my testing manifesto</title><link>https://smallsheds.garden/blog/2018/reflections-on-my-testing-manifesto/</link><dc:creator>Joep Schuurkes</dc:creator><description>&lt;div&gt;&lt;p&gt;Earlier this month I published my &lt;a href="https://smallsheds.garden/blog/2018/manifesto-for-software-testing/"&gt;Manifesto for software testing&lt;/a&gt;. This manifesto is my attempt to bring together what I have learned about testing from the context-driven, agile and DevOps communities. Below you can find the manifesto with my reflections on it.&lt;/p&gt;
&lt;h5&gt;1. Testing is investigating in order to evaluate a product.&lt;/h5&gt;
&lt;p&gt;This definition is clearly influenced by James Bach's "questioning a product in order to evaluate it". I'm not sure at which point I started misremembering his definition as "investigating a product...", but it works well with a change I did make intentionally: moving "a product" to the second part of the definition. As explained in 6. I believe that in order to evaluate the product, we need to investigate a number of different things, not only the product.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://smallsheds.garden/blog/2018/reflections-on-my-testing-manifesto/"&gt;Read more…&lt;/a&gt; (5 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>agile</category><category>context-driven testing</category><category>devops</category><category>manifesto</category><category>software testing</category><guid>https://smallsheds.garden/blog/2018/reflections-on-my-testing-manifesto/</guid><pubDate>Sat, 22 Dec 2018 16:43:10 GMT</pubDate></item><item><title>Manifesto for software testing</title><link>https://smallsheds.garden/blog/2018/manifesto-for-software-testing/</link><dc:creator>Joep Schuurkes</dc:creator><description>&lt;div&gt;&lt;p&gt;1. Testing is investigating in order to evaluate a product.&lt;/p&gt;
&lt;p&gt;2. An evaluation is a judgement about quality – quality being value to persons who matter.&lt;/p&gt;
&lt;p&gt;3. This makes testing a fundamentally human and contextual activity.&lt;/p&gt;
&lt;p&gt;4. As such, testing is an exploratory and open-ended activity, requiring continuous evaluation of and experimentation with our practices.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://smallsheds.garden/blog/2018/manifesto-for-software-testing/"&gt;Read more…&lt;/a&gt; (1 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>agile</category><category>context-driven testing</category><category>devops</category><category>manifesto</category><category>software testing</category><guid>https://smallsheds.garden/blog/2018/manifesto-for-software-testing/</guid><pubDate>Tue, 04 Dec 2018 19:44:51 GMT</pubDate></item></channel></rss>