Joep Schuurkes (Posts about software development)https://smallsheds.garden/categories/software-development.atom2024-02-26T20:32:14ZJoep SchuurkesNikolaSo you want to become a test engineer?https://smallsheds.garden/blog/2024/so-you-want-to-become-a-test-engineer/2024-02-26T00:00:00+01:002024-02-26T00:00:00+01:00Joep Schuurkes<div><p>Becoming a test engineer these days is probably harder than it was for me back in 2006. Back then, there was no test automation, we worked in the slow rhythm of waterfall, and for years I was in a team with other testers or at least had a test manager to bounce ideas off. These days, there's a good chance none of these are true as you start as a test engineer.</p>
<p>While most of these changes are good ones (please don't take test automation or agile away), it does make me empathize with anyone who starts their career as a test engineer today. The pace is higher and the skill set is broader. More importantly, you need to navigate your career while no one is really sure where to position testers in their organization. That's not a straightforward environment to start a career in.</p>
<p>So here are four pieces of advice I'd give myself if I'd start my career in testing today:</p>
<ul>
<li>testing can be many different things</li>
<li>you're a software engineer that specializes in testing</li>
<li>the end-game is leadership skills</li>
<li>shape your career in a way that suits you</li>
</ul>
<p><a href="https://smallsheds.garden/blog/2024/so-you-want-to-become-a-test-engineer/">Read more…</a> (4 min remaining to read)</p></div>Never estimate in something that's not negotiablehttps://smallsheds.garden/blog/2024/never-estimate-in-something-thats-not-negotiable/2024-01-22T00:00:00+01:002024-01-22T00:00:00+01:00Joep Schuurkes<div><p>Estimates in software development are hard. There are good reasons not to estimate at all. Work in thin slices, keep cycle time low, and deliver at steady pace. And yet, it's still fair of others to ask: when will this big chunk of work be done? And not "maybe done", but "definitely-I-can-promise-this-to-people done".</p>
<p>Ideally you can calculate an expected delivery date based on your current pace and the number of slices in the new big chunk of work. But maybe you don't have the slices yet. Or it's a new kind of work and your current pace won't really apply. Or there are upcoming changes in your team or organization that make any calculation tenuous.</p>
<p>So you have to provide an estimate. And you do. You say <em>"six months"</em>. And the other person - from sales or marketing or some engineering director - says: <em>"We need it in three."</em> What just happened is that you estimated in something that's not negotiable. In time, in this case. And the end result is that everyone is unhappy. You have other options, though. You can negotiate in something else than time.</p>
<p><a href="https://smallsheds.garden/blog/2024/never-estimate-in-something-thats-not-negotiable/">Read more…</a> (3 min remaining to read)</p></div>A good tester is all over the placehttps://smallsheds.garden/blog/2023/a-good-tester-is-all-over-the-place/2023-11-26T00:00:00+01:002023-11-26T00:00:00+01:00Joep Schuurkes<div><p>Over the past year, I've been thinking about how testing-related roles are still an unsolved problem in software development. We keep trying different permutations: shifting left and shifting right, being closer to the programmers while not too far from other testers, doing less testing ourselves so we can support others more, etc.</p>
<p>And still, to be effective in any of these permutations, you can't let yourself be limited by them. You need to work both inside and outside the existing structures. You have to "be all over the place", in a good way.</p>
<h2>Testers do testing</h2>
<p>Let's start with a straightforward statement: a tester tests. Then what is testing? I <a href="https://smallsheds.garden/blog/2018/reflections-on-my-testing-manifesto/">still like</a> the definition <em>"Testing is investigating in order to evaluate a product."</em> The most obvious thing to investigate, to test, is the code that is being written. The best way to do this, in my opinion, is through the combination of exploratory testing and test automation, i.e. what <a href="https://maaretp.com/">Maaret Pyhäjärvi</a> has named "<a href="https://www.youtube.com/watch?v=T_67oQrPZhQ">contemporary exploratory testing</a>". And to be clear, while the execution part tends to be the most visible, effective testing also needs good test strategy, design, and reporting.</p>
<p><a href="https://smallsheds.garden/blog/2023/a-good-tester-is-all-over-the-place/">Read more…</a> (11 min remaining to read)</p></div>Our work management tools are limiting our imaginationhttps://smallsheds.garden/blog/2023/our-work-management-tools-are-limiting-our-imagination/2023-01-29T22:34:25+01:002023-01-29T22:34:25+01:00Joep Schuurkes<figure><img src="https://smallsheds.garden/images/2023/work-mgt-tools/fig4-stories-on-a-wall.jpg"></figure> <div><p>Several weeks ago I had a thought that felt both serious and not serious, so <a href="https://chaos.social/@joeposaurus/109635747014542350">I asked on Mastodon</a>:</p>
<blockquote>
<p>Should I write a blog post about companies leaving money on the table by not leveraging their choice of work management tool (Jira, Shortcut, etc) as a competitive advantage?</p>
</blockquote>
<p>31% said "yes" and 54% said "a post about what now?", which I suppose reflects my own feelings about the topic. And it motivated me to write this post - especially that 54%. So let's talk about work management tools, the original (user) stories, affordances and constraints, and how these tools are limiting our imagination. </p>
<p><a href="https://smallsheds.garden/blog/2023/our-work-management-tools-are-limiting-our-imagination/">Read more…</a> (11 min remaining to read)</p></div>Quality: different purposes, different definitionshttps://smallsheds.garden/blog/2022/quality-different-purposes-different-definitions/2022-08-24T19:41:25+02:002022-08-24T19:41:25+02:00Joep Schuurkes<div><p>For years when asked to define quality, I've said "value to a person who matters"<sup id="fnref:1"><a class="footnote-ref" href="https://smallsheds.garden/blog/2022/quality-different-purposes-different-definitions/#fn:1">1</a></sup>. Not too long ago I used that definition in the <a href="https://smallsheds.garden/blog/2021/choosing-your-value-system/">first post</a> of my four-part series "Thinking about quality". However, in the <a href="https://smallsheds.garden/blog/2021/thinking-about-quality-so-what-to-do/">fourth post</a> of that series I also said that quality is something emergent. And I continued with:</p>
<blockquote>
<p>We can have long discussions about what quality is, but that's a different question from how do you get quality?</p>
</blockquote>
<p>Today I took this one step further, when I realized that depending on the context, I talk very differently about quality. And while I may not define 'quality' explicitly in every conversation, implicitly I'm still using different definitions. That alone, I think is interesting: instead of a single, general definition of quality that always applies, I have different definitions depending on their purpose<sup id="fnref:2"><a class="footnote-ref" href="https://smallsheds.garden/blog/2022/quality-different-purposes-different-definitions/#fn:2">2</a></sup>.</p>
<p><a href="https://smallsheds.garden/blog/2022/quality-different-purposes-different-definitions/">Read more…</a> (1 min remaining to read)</p></div>