<?xml version="1.0"?><feed xmlns:media="http://search.yahoo.com/mrss/" xmlns:gr="http://www.google.com/schemas/reader/atom/" xmlns:idx="urn:atom-extension:indexing" xmlns="http://www.w3.org/2005/Atom" idx:index="no" gr:dir="ltr"><!--
Content-type: Preventing XSRF in IE.

--><generator uri="https://bazqux.com">BazQux Reader</generator><id>tag:google.com,2005:reader/feed/http://007unlicensedtotest.blogspot.com/feeds/posts/default</id><title>blogs</title><subtitle type="html">blogs</subtitle><link rel="self" href="https://bazqux.com/feed/d45a6ead98c5f8f9f99f?no_branding"></link><gr:continuation>11162620002407</gr:continuation><updated>2026-08-24T03:35:06Z</updated><entry gr:crawl-timestamp-msec="1787519154598"><id gr:original-id="https://www.thegreenreport.blog/?t=1787525579">tag:google.com,2005:reader/item/00000861000000a5</id><category term="qa"></category><category term="ai/ml"></category><category term="strategy"></category><category term="architecture"></category><category term="reporting"></category><category term="ci/cd"></category><title type="html">Grading at Scale: LLM-as-Judge Without the Reading Marathon</title><published>2026-08-23T21:05:54Z</published><updated>2026-08-23T21:05:54Z</updated><link rel="alternate" href="https://www.thegreenreport.blog/articles/grading-at-scale-llm-as-judge-without-the-reading-marathon/grading-at-scale-llm-as-judge-without-the-reading-marathon.html" type="text/html"></link><summary type="html">Every team building an LLM-in-the-loop decision system, whether it&amp;apos;s approvals, moderation, routing, or classification, eventually adopts the same QA pattern: an LLM...</summary><author><name></name></author><source gr:stream-id="feed/https://www.thegreenreport.blog/resources/xml/feeds.xml"><id>tag:google.com,2005:reader/feed/https://www.thegreenreport.blog/resources/xml/feeds.xml</id><title type="html">The Green Report | Quality Assurance Blog</title><link rel="alternate" href="https://www.thegreenreport.blog/" type="text/html"></link></source></entry><entry gr:crawl-timestamp-msec="1787505519000"><id gr:original-id="https://qualityeng.substack.com/p/linky-no-37">tag:google.com,2005:reader/item/00000b1e00000083</id><title type="html">Linky #37: You can’t know everything up front</title><published>2026-08-23T17:18:39Z</published><updated>2026-08-23T17:18:39Z</updated><link rel="alternate" href="https://qualityeng.substack.com/p/linky-no-37" type="text/html"></link><summary type="html">&lt;div&gt;&lt;figure&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://substackcdn.com/image/fetch/$s_!jFlb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d057317-1bb7-4600-9451-aa2510d3f6c4_2984x1662.png&quot; data-component-name=&quot;Image2ToDOM&quot;&gt;&lt;div&gt;&lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://substackcdn.com/image/fetch/$s_!jFlb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d057317-1bb7-4600-9451-aa2510d3f6c4_2984x1662.png 424w, https://substackcdn.com/image/fetch/$s_!jFlb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d057317-1bb7-4600-9451-aa2510d3f6c4_2984x1662.png 848w, https://substackcdn.com/image/fetch/$s_!jFlb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d057317-1bb7-4600-9451-aa2510d3f6c4_2984x1662.png 1272w, https://substackcdn.com/image/fetch/$s_!jFlb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d057317-1bb7-4600-9451-aa2510d3f6c4_2984x1662.png 1456w&quot; sizes=&quot;100vw&quot;&gt;&lt;img width=&quot;1456&quot; height=&quot;811&quot; data-attrs=&quot;{&amp;quot;src&amp;quot;:&amp;quot;https://substack-post-media.s3.amazonaws.com/public/images/4d057317-1bb7-4600-9451-aa2510d3f6c4_2984x1662.png&amp;quot;,&amp;quot;srcNoWatermark&amp;quot;:null,&amp;quot;fullscreen&amp;quot;:null,&amp;quot;imageSize&amp;quot;:null,&amp;quot;height&amp;quot;:811,&amp;quot;width&amp;quot;:1456,&amp;quot;resizeWidth&amp;quot;:null,&amp;quot;bytes&amp;quot;:405244,&amp;quot;alt&amp;quot;:null,&amp;quot;title&amp;quot;:null,&amp;quot;type&amp;quot;:&amp;quot;image/png&amp;quot;,&amp;quot;href&amp;quot;:null,&amp;quot;belowTheFold&amp;quot;:false,&amp;quot;topImage&amp;quot;:true,&amp;quot;internalRedirect&amp;quot;:&amp;quot;https://qualityeng.substack.com/i/212382125?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d057317-1bb7-4600-9451-aa2510d3f6c4_2984x1662.png&amp;quot;,&amp;quot;isProcessing&amp;quot;:false,&amp;quot;align&amp;quot;:null,&amp;quot;offset&amp;quot;:false}&quot; alt data-orig-srcset=&quot;https://substackcdn.com/image/fetch/$s_!jFlb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d057317-1bb7-4600-9451-aa2510d3f6c4_2984x1662.png 424w, https://substackcdn.com/image/fetch/$s_!jFlb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d057317-1bb7-4600-9451-aa2510d3f6c4_2984x1662.png 848w, https://substackcdn.com/image/fetch/$s_!jFlb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d057317-1bb7-4600-9451-aa2510d3f6c4_2984x1662.png 1272w, https://substackcdn.com/image/fetch/$s_!jFlb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d057317-1bb7-4600-9451-aa2510d3f6c4_2984x1662.png 1456w&quot; src=&quot;https://substackcdn.com/image/fetch/$s_!jFlb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d057317-1bb7-4600-9451-aa2510d3f6c4_2984x1662.png&quot; fetchpriority=&quot;high&quot;&gt;&lt;/picture&gt;&lt;div&gt;&lt;div&gt;&lt;button tabindex=&quot;-1&quot; type=&quot;button&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 20 20&quot; fill=&quot;none&quot; stroke-width=&quot;1.5&quot; stroke=&quot;var(--color-fg-primary)&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g&gt;&lt;path d=&quot;M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button tabindex=&quot;-1&quot; type=&quot;button&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;polyline points=&quot;15 3 21 3 21 9&quot;&gt;&lt;/polyline&gt;&lt;polyline points=&quot;9 21 3 21 3 15&quot;&gt;&lt;/polyline&gt;&lt;line x1=&quot;21&quot; x2=&quot;14&quot; y1=&quot;3&quot; y2=&quot;10&quot;&gt;&lt;/line&gt;&lt;line x1=&quot;3&quot; x2=&quot;10&quot; y1=&quot;21&quot; y2=&quot;14&quot;&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;This week’s links circle around something I think is foundational to a lot of quality engineering: &lt;strong&gt;we can’t know everything up front.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;We can test a change, adopt a new practice, build a prototype or run a transformation, but at some point we need feedback from the system to tell us what actually happened.&lt;/p&gt;&lt;p&gt;That means being able to observe what happens, learn from past events, look beyond the immediate team, and hold on to the knowledge we’ve already built up.&lt;/p&gt;&lt;p&gt;For me, a lot of quality engineering is about helping create those feedback loops so we can make better decisions even when we don’t have complete information.&lt;/p&gt;&lt;h2&gt;Latest post from the QE Newsletter&lt;/h2&gt;&lt;div data-attrs=&quot;{&amp;quot;nodeId&amp;quot;:&amp;quot;0bdcb612-e5e1-447a-ba39-facd201394b4&amp;quot;,&amp;quot;caption&amp;quot;:&amp;quot;Imagine two mobile app teams. They’ve both made changes to their mobile apps.&amp;quot;,&amp;quot;cta&amp;quot;:null,&amp;quot;showBylines&amp;quot;:true,&amp;quot;showDescription&amp;quot;:true,&amp;quot;showImage&amp;quot;:true,&amp;quot;size&amp;quot;:&amp;quot;sm&amp;quot;,&amp;quot;isEditorNode&amp;quot;:true,&amp;quot;title&amp;quot;:&amp;quot;Test coverage does not tell you whether a change is safe enough&amp;quot;,&amp;quot;publishedBylines&amp;quot;:[{&amp;quot;id&amp;quot;:13661790,&amp;quot;name&amp;quot;:&amp;quot;Jit Gosai&amp;quot;,&amp;quot;bio&amp;quot;:&amp;quot;Working in software testing for over 20 years, I currently work as the Principal Tester, supporting teams to create high-quality products by fostering a Culture of Quality. I share my experiences at conferences throughout Europe and in my newsletter&amp;quot;,&amp;quot;photo_url&amp;quot;:&amp;quot;https://substack-post-media.s3.amazonaws.com/public/images/ffc95e6c-1b0c-45d8-aff6-8755a38dd5c0_1125x1125.jpeg&amp;quot;,&amp;quot;is_guest&amp;quot;:false,&amp;quot;bestseller_tier&amp;quot;:null}],&amp;quot;post_date&amp;quot;:&amp;quot;2026-08-16T18:07:45.792Z&amp;quot;,&amp;quot;cover_image&amp;quot;:&amp;quot;https://substackcdn.com/image/fetch/$s_!dv_x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46719130-4dba-4ea2-b1dc-54a52968531a_2992x1670.png&amp;quot;,&amp;quot;cover_image_alt&amp;quot;:null,&amp;quot;canonical_url&amp;quot;:&amp;quot;https://qualityeng.substack.com/p/test-coverage-doesnt-tell-you-its-safe&amp;quot;,&amp;quot;section_name&amp;quot;:null,&amp;quot;video_upload_id&amp;quot;:null,&amp;quot;id&amp;quot;:211403980,&amp;quot;type&amp;quot;:&amp;quot;newsletter&amp;quot;,&amp;quot;reaction_count&amp;quot;:1,&amp;quot;comment_count&amp;quot;:0,&amp;quot;publication_id&amp;quot;:1213367,&amp;quot;publication_name&amp;quot;:&amp;quot;Quality Engineering Newsletter&amp;quot;,&amp;quot;publication_logo_url&amp;quot;:&amp;quot;https://substackcdn.com/image/fetch/$s_!hE0U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3687517-683c-46b0-896e-b404c986e06a_1280x1280.png&amp;quot;,&amp;quot;belowTheFold&amp;quot;:false,&amp;quot;youtube_url&amp;quot;:null,&amp;quot;show_links&amp;quot;:null,&amp;quot;feed_url&amp;quot;:null}&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;br&gt;I’ve been thinking about what makes a change safe to release, and usually that conversation comes down to whether something has been tested. That’s important because we still need to know something works as intended.&lt;/p&gt;&lt;p&gt;But testing doesn’t make it completely safe to release. We can’t test everything, and sometimes smaller issues can line up in production in just the right way, leading to a much bigger incident.&lt;/p&gt;&lt;p&gt;&lt;span&gt;So alongside testing, we also need to &lt;/span&gt;&lt;em&gt;understand&lt;/em&gt;&lt;span&gt; what changed and the &lt;/span&gt;&lt;em&gt;consequences&lt;/em&gt; of being wrong, then &lt;em&gt;&lt;span&gt;detect&lt;/span&gt;&lt;/em&gt;&lt;span&gt;, &lt;/span&gt;&lt;em&gt;&lt;span&gt;contain,&lt;/span&gt;&lt;/em&gt; and &lt;em&gt;reverse&lt;/em&gt; problems if they happen. Together, those factors give us more confidence that we can release safely.&lt;/p&gt;&lt;p&gt;This is a follow-on post to &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://qualityeng.substack.com/p/start-with-what-changed&quot;&gt;Start with what changed&lt;/a&gt;, which dives deeper into understanding what changed and what types of feedback help us reduce the uncertainty around that change.&lt;/p&gt;&lt;h2&gt;Problem solving in software is more biology than engineering&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;Software is being asked to problem-solve more like biology, cognitive science, and all the fields that have always had to develop approaches to study systems we only partially observe.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Interesting post from Cat Hicks. This reminded me of what socio-technical systems and complexity theory show us: we can’t know or see everything about the systems we build and maintain.&lt;/p&gt;&lt;p&gt;Sometimes we need to observe what the system actually does and respond accordingly. So building in ways to better observe our systems and get feedback about how they’re behaving helps us diagnose and respond to issues. Via &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://www.linkedin.com/posts/drcathicks_do-you-feel-a-shiver-up-your-spine-when-someone-share-7495910854798880768-srOO/?rcm=ACoAAAKGfp8BZByMzM2mW0xDlTP_LHkoZ6wQb8s&quot;&gt;“Software developers will never read the code again!!” | Cat Hicks&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;Systems thinkers are not always the most welcome&lt;/h2&gt;&lt;div&gt;&lt;figure&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://substackcdn.com/image/fetch/$s_!ZZpr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55c5910d-cabe-4b2b-a0c2-cf524afe50b6_1122x1402.png&quot; data-component-name=&quot;Image2ToDOM&quot;&gt;&lt;div&gt;&lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://substackcdn.com/image/fetch/$s_!ZZpr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55c5910d-cabe-4b2b-a0c2-cf524afe50b6_1122x1402.png 424w, https://substackcdn.com/image/fetch/$s_!ZZpr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55c5910d-cabe-4b2b-a0c2-cf524afe50b6_1122x1402.png 848w, https://substackcdn.com/image/fetch/$s_!ZZpr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55c5910d-cabe-4b2b-a0c2-cf524afe50b6_1122x1402.png 1272w, https://substackcdn.com/image/fetch/$s_!ZZpr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55c5910d-cabe-4b2b-a0c2-cf524afe50b6_1122x1402.png 1456w&quot; sizes=&quot;100vw&quot;&gt;&lt;img width=&quot;1122&quot; height=&quot;1402&quot; data-attrs=&quot;{&amp;quot;src&amp;quot;:&amp;quot;https://substack-post-media.s3.amazonaws.com/public/images/55c5910d-cabe-4b2b-a0c2-cf524afe50b6_1122x1402.png&amp;quot;,&amp;quot;srcNoWatermark&amp;quot;:null,&amp;quot;fullscreen&amp;quot;:null,&amp;quot;imageSize&amp;quot;:null,&amp;quot;height&amp;quot;:1402,&amp;quot;width&amp;quot;:1122,&amp;quot;resizeWidth&amp;quot;:null,&amp;quot;bytes&amp;quot;:2837398,&amp;quot;alt&amp;quot;:null,&amp;quot;title&amp;quot;:null,&amp;quot;type&amp;quot;:&amp;quot;image/png&amp;quot;,&amp;quot;href&amp;quot;:null,&amp;quot;belowTheFold&amp;quot;:true,&amp;quot;topImage&amp;quot;:false,&amp;quot;internalRedirect&amp;quot;:&amp;quot;https://qualityeng.substack.com/i/212382125?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55c5910d-cabe-4b2b-a0c2-cf524afe50b6_1122x1402.png&amp;quot;,&amp;quot;isProcessing&amp;quot;:false,&amp;quot;align&amp;quot;:null,&amp;quot;offset&amp;quot;:false}&quot; alt data-orig-srcset=&quot;https://substackcdn.com/image/fetch/$s_!ZZpr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55c5910d-cabe-4b2b-a0c2-cf524afe50b6_1122x1402.png 424w, https://substackcdn.com/image/fetch/$s_!ZZpr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55c5910d-cabe-4b2b-a0c2-cf524afe50b6_1122x1402.png 848w, https://substackcdn.com/image/fetch/$s_!ZZpr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55c5910d-cabe-4b2b-a0c2-cf524afe50b6_1122x1402.png 1272w, https://substackcdn.com/image/fetch/$s_!ZZpr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55c5910d-cabe-4b2b-a0c2-cf524afe50b6_1122x1402.png 1456w&quot; src=&quot;https://substackcdn.com/image/fetch/$s_!ZZpr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55c5910d-cabe-4b2b-a0c2-cf524afe50b6_1122x1402.png&quot;&gt;&lt;/picture&gt;&lt;div&gt;&lt;div&gt;&lt;button tabindex=&quot;-1&quot; type=&quot;button&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 20 20&quot; fill=&quot;none&quot; stroke-width=&quot;1.5&quot; stroke=&quot;var(--color-fg-primary)&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g&gt;&lt;path d=&quot;M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button tabindex=&quot;-1&quot; type=&quot;button&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;polyline points=&quot;15 3 21 3 21 9&quot;&gt;&lt;/polyline&gt;&lt;polyline points=&quot;9 21 3 21 3 15&quot;&gt;&lt;/polyline&gt;&lt;line x1=&quot;21&quot; x2=&quot;14&quot; y1=&quot;3&quot; y2=&quot;10&quot;&gt;&lt;/line&gt;&lt;line x1=&quot;3&quot; x2=&quot;10&quot; y1=&quot;21&quot; y2=&quot;14&quot;&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;With quality engineering, you’re often indirectly advocating for systems thinking, but as John Cutler points out, that doesn’t always make you the most welcome person in the organisation if people aren’t ready to hear what you’ve got to say.&lt;/p&gt;&lt;p&gt;As quality engineers, we often look beyond what caused the bug and ask what conditions around the work allowed it to happen. Or when people ask why the team isn’t going faster, we might ask: faster towards what outcome?&lt;/p&gt;&lt;p&gt;Those questions take you beyond what the team directly controls and into the wider system around them. For example, incentives, dependencies, structures and priorities. That can be uncomfortable, but it is often where the more useful changes are. Via &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://lnkd.in/p/eGcZs5bw&quot;&gt;A popular podcast guest recently proclaimed “We need systems thinkers!” But there’s a problem | John Cutler&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;The visible changes are the easy bit&lt;/h2&gt;&lt;p&gt;This is from 2024 and one of the big three management consultancies, but it identifies some behaviours companies get wrong when trying to become more agile:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;...they do not make the more difficult and substantive changes, such as establishing customer-facing business units fully aligned to value streams, setting up enabling supporting structures that own internal products and platforms, and resetting incentives and rewards.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;They have a tendency to focus on the visible aspects of agile, things like tribes, squads, and ceremonies. The deeper changes are much harder because they need buy-in from across the organisation. Many agile transformations focus on tech teams because that’s what they can change.&lt;/p&gt;&lt;p&gt;But the point of the transformation should be to help the organisation achieve better outcomes, not just change how the team works. So judging it by the practices that changed only tells you people are doing things differently. What really counts is whether those changes are shifting the outcomes in a better direction.&lt;/p&gt;&lt;p&gt;Which brings me back to quality engineering. Are we just changing our practices, or are those practices actually changing the conditions that create quality? Via &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://www.bcg.com/publications/2024/why-companies-get-agile-right-wrong?__readwiseLocation=&quot;&gt;Why Companies Get Agile Right—and Wrong | BCG&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;Structured debriefs can improve performance by 20–25%&lt;/h2&gt;&lt;p&gt;Just in case you needed something to remind people why retros are worth doing. From a 2013 meta-analysis:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;- Debriefs are a quick, effective tool for improving team and individual performance.&lt;/em&gt;&lt;br&gt;&lt;em&gt;- Meta-analytic results from 46 independent samples show that debriefs improve performance an average of 20% to 25%. Debriefs work equally well for teams and individuals.&lt;/em&gt;&lt;br&gt;&lt;em&gt;- Debriefs work best when properly aligned: If the goal is to improve team performance, debriefs should be conducted with, measure, and focus on teams rather than individuals (and vice versa).&lt;/em&gt;&lt;br&gt;&lt;em&gt;- Findings suggest that debriefs are even more effective when structured and facilitated.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;While the paper doesn’t give you a step-by-step format for running a debrief, it does highlight some of the things that appear to make them work.&lt;/p&gt;&lt;p&gt;Focus on a specific event rather than general strengths and weaknesses. Make the intent learning and improvement, rather than judgement, appraisal or blame. Let the participants do the reflecting and sense-making rather than telling them what went right or wrong. Bring together different perspectives and data to build a clearer picture of what happened.&lt;/p&gt;&lt;p&gt;Retros are a great way to help teams learn from past events, so being able to step in and facilitate one as a QE feels like a really useful skill. It’s also a practical way to model the kinds of learning behaviours that help teams improve. Via &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://cebma.org/assets/Uploads/Tannenbaum-Cerasoli.pdf&quot;&gt;Do Team and Individual Debriefs Enhance Performance? A Meta-Analysis&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;Build to learn and building to earn&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;strong product teams use AI very differently when they are building to learn (product discovery) versus building to earn (product delivery).&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;I really like &lt;span&gt;Marty Cagan&amp;apos;s idea of &lt;/span&gt;&lt;em&gt;&lt;span&gt;building to learn&lt;/span&gt;&lt;/em&gt;&lt;span&gt; and &lt;/span&gt;&lt;em&gt;&lt;span&gt;building to earn&lt;/span&gt;&lt;/em&gt;. Building to learn is all about prototyping and discovering what the best solution to the problem you’ve identified is.&lt;/p&gt;&lt;p&gt;Whereas building to earn is about creating production-grade software thats reliable, observable, performant and can handle hundreds of use cases and complex business logic.&lt;/p&gt;&lt;p&gt;I like this framing because it makes explicit what each phase of building is trying to accomplish. Building to &lt;em&gt;learn&lt;/em&gt; means the solution doesn’t need to be production-grade. It needs to be good enough to learn whether something works and safe enough to throw away without harming users or the business. Building to &lt;em&gt;earn&lt;/em&gt; is about taking what you’ve learned and turning it into something that can deliver value reliably at scale.&lt;/p&gt;&lt;p&gt;And when building to learn involves putting something in front of real users or experimenting in production, the ability to detect, contain and reverse changes becomes even more important.&lt;/p&gt;&lt;p&gt;It lets you learn quickly without assuming you’ve already thought of everything that could go wrong. Via &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://www.svpg.com/the-ai-productivity-paradox&quot;&gt;The AI Productivity Paradox | Silicon Valley Product Group&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;Is the code reuse argument dead?&lt;/h2&gt;&lt;p&gt;With AI capable of producing code more cheaply and quickly than before, does code reuse matter less? Well, according to Russell Rutledge from the InnerSource Commons Foundation, no:&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://substackcdn.com/image/fetch/$s_!Q3tp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20e19dbc-d518-4859-b287-2927b181ee03_829x414.png&quot; data-component-name=&quot;Image2ToDOM&quot;&gt;&lt;div&gt;&lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://substackcdn.com/image/fetch/$s_!Q3tp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20e19dbc-d518-4859-b287-2927b181ee03_829x414.png 424w, https://substackcdn.com/image/fetch/$s_!Q3tp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20e19dbc-d518-4859-b287-2927b181ee03_829x414.png 848w, https://substackcdn.com/image/fetch/$s_!Q3tp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20e19dbc-d518-4859-b287-2927b181ee03_829x414.png 1272w, https://substackcdn.com/image/fetch/$s_!Q3tp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20e19dbc-d518-4859-b287-2927b181ee03_829x414.png 1456w&quot; sizes=&quot;100vw&quot;&gt;&lt;img width=&quot;829&quot; height=&quot;414&quot; data-attrs=&quot;{&amp;quot;src&amp;quot;:&amp;quot;https://substack-post-media.s3.amazonaws.com/public/images/20e19dbc-d518-4859-b287-2927b181ee03_829x414.png&amp;quot;,&amp;quot;srcNoWatermark&amp;quot;:null,&amp;quot;fullscreen&amp;quot;:null,&amp;quot;imageSize&amp;quot;:null,&amp;quot;height&amp;quot;:414,&amp;quot;width&amp;quot;:829,&amp;quot;resizeWidth&amp;quot;:null,&amp;quot;bytes&amp;quot;:34989,&amp;quot;alt&amp;quot;:null,&amp;quot;title&amp;quot;:null,&amp;quot;type&amp;quot;:&amp;quot;image/png&amp;quot;,&amp;quot;href&amp;quot;:null,&amp;quot;belowTheFold&amp;quot;:true,&amp;quot;topImage&amp;quot;:false,&amp;quot;internalRedirect&amp;quot;:&amp;quot;https://qualityeng.substack.com/i/212382125?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20e19dbc-d518-4859-b287-2927b181ee03_829x414.png&amp;quot;,&amp;quot;isProcessing&amp;quot;:false,&amp;quot;align&amp;quot;:null,&amp;quot;offset&amp;quot;:false}&quot; alt data-orig-srcset=&quot;https://substackcdn.com/image/fetch/$s_!Q3tp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20e19dbc-d518-4859-b287-2927b181ee03_829x414.png 424w, https://substackcdn.com/image/fetch/$s_!Q3tp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20e19dbc-d518-4859-b287-2927b181ee03_829x414.png 848w, https://substackcdn.com/image/fetch/$s_!Q3tp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20e19dbc-d518-4859-b287-2927b181ee03_829x414.png 1272w, https://substackcdn.com/image/fetch/$s_!Q3tp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20e19dbc-d518-4859-b287-2927b181ee03_829x414.png 1456w&quot; src=&quot;https://substackcdn.com/image/fetch/$s_!Q3tp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20e19dbc-d518-4859-b287-2927b181ee03_829x414.png&quot;&gt;&lt;/picture&gt;&lt;div&gt;&lt;div&gt;&lt;button tabindex=&quot;-1&quot; type=&quot;button&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 20 20&quot; fill=&quot;none&quot; stroke-width=&quot;1.5&quot; stroke=&quot;var(--color-fg-primary)&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;g&gt;&lt;path d=&quot;M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882&quot;&gt;&lt;/path&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button tabindex=&quot;-1&quot; type=&quot;button&quot;&gt;&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;20&quot; height=&quot;20&quot; viewbox=&quot;0 0 24 24&quot; fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;2&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot;&gt;&lt;polyline points=&quot;15 3 21 3 21 9&quot;&gt;&lt;/polyline&gt;&lt;polyline points=&quot;9 21 3 21 3 15&quot;&gt;&lt;/polyline&gt;&lt;line x1=&quot;21&quot; x2=&quot;14&quot; y1=&quot;3&quot; y2=&quot;10&quot;&gt;&lt;/line&gt;&lt;line x1=&quot;3&quot; x2=&quot;10&quot; y1=&quot;21&quot; y2=&quot;14&quot;&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;You don’t get one duplicate. You get a sprawl of near-identical, subtly inconsistent implementations multiplying across the codebase, and inconsistency is exactly where outages and security holes live.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;He’s got a point: you’re better off reusing the one auth module that has all the edge cases that your company has discovered and built in rather than each team having to rediscover each one. So what do we do? Well, it’s about using the practices that InnerSource has been advocating all along, except now they’re not just useful for people, but AI too:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;Every readiness practice we ever preached - a clear README, real tests, a good-first-issue, a welcoming CONTRIBUTING guide - was designed to help a capable stranger land a change without a personal tour.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Those readiness practices also reduce the uncertainty when someone else needs to change the code. Good tests, documentation and contribution guidance make more of the context around a component visible.&lt;/p&gt;&lt;p&gt;As QEs, advocating for that kind of readiness feels increasingly useful. It helps teams share the knowledge they’ve already built up, not just with new starters but with the AI tools they’re using too. Via &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://www.linkedin.com/pulse/why-ai-needs-innersource-russell-rutledge-jnelc/&quot;&gt;Why AI Needs InnerSource&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;hr&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;Enjoyed this Linky? Subscribe to get future Quality Engineering posts and Linkys in your inbox.&lt;/em&gt;&lt;/p&gt;&lt;p data-attrs=&quot;{&amp;quot;url&amp;quot;:&amp;quot;https://qualityeng.substack.com/subscribe?&amp;quot;,&amp;quot;text&amp;quot;:&amp;quot;Subscribe now&amp;quot;,&amp;quot;action&amp;quot;:null,&amp;quot;class&amp;quot;:null}&quot; data-component-name=&quot;ButtonCreateButton&quot;&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://qualityeng.substack.com/subscribe?&quot;&gt;&lt;span&gt;Subscribe now&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Thanks for reading and subscribing. If you’d like to support the newsletter and get access to my deeper posts and case studies, you can upgrade to paid.&lt;/em&gt;&lt;/p&gt;&lt;div&gt;&lt;hr&gt;&lt;/div&gt;&lt;h1&gt;Past Linkys&lt;/h1&gt;</summary><author><name>Jit Gosai</name></author><source gr:stream-id="feed/https://qualityeng.substack.com/feed"><id>tag:google.com,2005:reader/feed/https://qualityeng.substack.com/feed</id><title type="html">Quality Engineering Newsletter</title><link rel="alternate" href="https://qualityeng.substack.com" type="text/html"></link></source></entry><entry gr:crawl-timestamp-msec="1787487302000"><id gr:original-id="6a8852f6b936000001da8d59">tag:google.com,2005:reader/item/0000071a000000f9</id><category term="Puzzle"></category><title type="html">Puzzle 41</title><published>2026-08-23T12:15:02Z</published><updated>2026-08-23T12:15:02Z</updated><link rel="alternate" href="https://www.workroom-productions.com/puzzle-41/" type="text/html"></link><summary type="html">&lt;section id=&quot;article-c-UbkcGNn4eQHj0b5CQonybjhbg-puzzle041UI&quot;&gt;
  			&lt;div id=&quot;article-c-UbkcGNn4eQHj0b5CQonybjhbg-lamp1&quot;&gt;&lt;/div&gt;
            &lt;div id-&quot;buttons&quot;&gt;
              &lt;button tabindex=&quot;-1&quot; id=&quot;article-c-UbkcGNn4eQHj0b5CQonybjhbg-button1&quot;&gt;&lt;/button&gt;
              &lt;button tabindex=&quot;-1&quot; id=&quot;article-c-UbkcGNn4eQHj0b5CQonybjhbg-button2&quot;&gt;&lt;/button&gt;

            &lt;/div&gt;  
&lt;/section&gt;



&lt;section&gt;

&lt;img class=&quot;bqrUnknownImgSize&quot; src=&quot;https://storage.ghost.io/c/7e/30/7e30843b-2abb-494a-ab80-0e931d8ae9a9/content/images/2026/08/Puzzle041.jpg&quot; alt=&quot;Puzzle 41&quot;&gt;&lt;p&gt;The buttons and lamp obey a fairly simple principle. &lt;strong&gt;What is it?&lt;/strong&gt;&lt;/p&gt;

&lt;details id=&quot;article-c-UbkcGNn4eQHj0b5CQonybjhbg-patreons&quot; style=&quot;margin-bottom: 1.5rem&quot; closed&gt;&lt;summary&gt;&lt;h3&gt;Puzzles supported by these lovely people&lt;/h3&gt;&lt;/summary&gt;

&lt;p&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://talent-unleashed.com&quot;&gt;&lt;strong&gt;&lt;em&gt;Julie Gardiner&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;, &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://smallsheds.garden&quot;&gt;&lt;strong&gt;&lt;em&gt;Joep Schuurkes&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;, &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://huibschoots.nl/about-me/&quot;&gt;&lt;strong&gt;Huib Schoots&lt;/strong&gt;&lt;/a&gt;, &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://www.linkedin.com/in/koopside/?lipi=urn%3Ali%3Apage%3Ad_flagship3_search_srp_people%3BXWQgAmL6QD%2BrTEFLDXdF4g%3D%3D&quot;&gt;&lt;em&gt;Ide Koops&lt;/em&gt;&lt;/a&gt;, &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://www.linkedin.com/in/kriscorbus/&quot;&gt;&lt;em&gt;Kris Corbus&lt;/em&gt;&lt;/a&gt;, &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://www.eviltester.com&quot;&gt;Alan Richardson&lt;/a&gt;, Rob van Steenbergen, Ioana Chiorean, Peter Houghton, Adun Urke, Christine Yen, Pascal Dufour all support me on &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://www.patreon.com/workroomprds&quot;&gt;Patreon&lt;/a&gt;. Not for this puzzle though.&lt;/p&gt;&lt;p&gt;Help me make more and I&amp;apos;ll put your name on this list. There are other perks, too, eventually.&lt;/p&gt;

&lt;/details&gt;



			&lt;section id=&quot;article-c-UbkcGNn4eQHj0b5CQonybjhbg-supportMore&quot;&gt;
				&lt;p&gt;Enjoy this? &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://www.patreon.com/workroomprds&quot;&gt;Support another!&lt;/a&gt;&lt;/p&gt;
			&lt;/section&gt;
			&lt;div&gt;
				&lt;p&gt;Built by James Lyndsay - &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;http://twitter.com/workroomprds&quot;&gt;@workroomprds&lt;/a&gt;&lt;/p&gt;
				&lt;p id=&quot;article-c-UbkcGNn4eQHj0b5CQonybjhbg-copyright&quot;&gt;© Workroom Productions 2026&lt;/p&gt;&lt;/div&gt;&lt;/section&gt;</summary><author><name>James Lyndsay</name></author><source gr:stream-id="feed/https://www.workroom-productions.com/rss/"><id>tag:google.com,2005:reader/feed/https://www.workroom-productions.com/rss/</id><title type="html">Workroom Productions</title><link rel="alternate" href="https://www.workroom-productions.com/" type="text/html"></link></source></entry><entry gr:crawl-timestamp-msec="1787436000000"><id gr:original-id="https://scrolltest.com/?p=7518">tag:google.com,2005:reader/item/0000044400000300</id><category term="Playwright tutorial Java"></category><category term="Testing"></category><title type="html">Day 14: Test Data Management — Factories, Faker, and Cleanup</title><published>2026-08-22T22:00:00Z</published><updated>2026-08-22T22:00:00Z</updated><link rel="alternate" href="https://scrolltest.com/21-day-playwright-day-14-test-data-factories-faker/" type="text/html"></link><summary type="html">&lt;p&gt;TestDataFactory + Faker + fixture cleanup. Dynamic data for parallel-safe tests. Day 14 of 21-Day Challenge.&lt;/p&gt;
&lt;p&gt;The post &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; rel=&quot;nofollow&quot; href=&quot;https://scrolltest.com/21-day-playwright-day-14-test-data-factories-faker/&quot;&gt;Day 14: Test Data Management — Factories, Faker, and Cleanup&lt;/a&gt; appeared first on &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; rel=&quot;nofollow&quot; href=&quot;https://scrolltest.com&quot;&gt;Software Testing &amp;amp; Automation&lt;/a&gt;.&lt;/p&gt;</summary><author><name>Pramod Dutta</name></author><source gr:stream-id="feed/https://scrolltest.com/feed/"><id>tag:google.com,2005:reader/feed/https://scrolltest.com/feed/</id><title type="html">Software Testing &amp; Automation</title><link rel="alternate" href="https://scrolltest.com" type="text/html"></link></source></entry><entry gr:crawl-timestamp-msec="1787391611000"><id gr:original-id="https://medium.com/p/c2299e992870">tag:google.com,2005:reader/item/00000a0600000095</id><category term="llm"></category><category term="open-source"></category><category term="harness-engineering"></category><category term="deepseek"></category><category term="ai"></category><title type="html">Decoding DeepSeek Harness: The Open-Source Runtime Behind Composable AI Agents</title><published>2026-08-22T09:40:11Z</published><updated>2026-08-22T09:40:11Z</updated><link rel="alternate" href="https://medium.com/data-and-beyond/decoding-deepseek-harness-the-open-source-runtime-behind-composable-ai-agents-c2299e992870?source=rss-f171d77cdec6------2" type="text/html"></link><summary type="html">&lt;div&gt;&lt;p&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://medium.com/data-and-beyond/decoding-deepseek-harness-the-open-source-runtime-behind-composable-ai-agents-c2299e992870?source=rss-f171d77cdec6------2&quot;&gt;&lt;img class=&quot;bqrUnknownImgSize&quot; src=&quot;https://cdn-images-1.medium.com/max/2600/0*woSrN_3eLf9m_zCP&quot; width=&quot;4000&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Why the next frontier of agent engineering may be less about the model and more about the system that lets the model safely act, persist…&lt;/p&gt;&lt;p&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://medium.com/data-and-beyond/decoding-deepseek-harness-the-open-source-runtime-behind-composable-ai-agents-c2299e992870?source=rss-f171d77cdec6------2&quot;&gt;Continue reading on Data And Beyond »&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</summary><author><name>TONI RAMCHANDANI</name></author><source gr:stream-id="feed/https://toniramchandani.medium.com/feed"><id>tag:google.com,2005:reader/feed/https://toniramchandani.medium.com/feed</id><title type="html">Stories by TONI RAMCHANDANI on Medium</title><link rel="alternate" href="https://medium.com/@toniramchandani?source=rss-f171d77cdec6------2" type="text/html"></link></source></entry><entry gr:crawl-timestamp-msec="1787373545000"><id gr:original-id="https://scrolltest.com/llm-cost-testing-qa/">tag:google.com,2005:reader/item/00000444000002ff</id><category term="AI Testing"></category><category term="Testing"></category><category term="CI/CD"></category><category term="LLM testing"></category><category term="promptfoo"></category><category term="SDET"></category><category term="test automation"></category><title type="html">LLM Cost Testing: Stop AI Bills From Ballooning in CI</title><published>2026-08-22T04:39:05Z</published><updated>2026-08-22T04:39:05Z</updated><link rel="alternate" href="https://scrolltest.com/llm-cost-testing-qa/" type="text/html"></link><summary type="html">&lt;p&gt;Token spend and dollars are a first-class quality gate. Here is the CI playbook to catch a cost regression before your AI feature ships.&lt;/p&gt;
&lt;p&gt;The post &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; rel=&quot;nofollow&quot; href=&quot;https://scrolltest.com/llm-cost-testing-qa/&quot;&gt;LLM Cost Testing: Stop AI Bills From Ballooning in CI&lt;/a&gt; appeared first on &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; rel=&quot;nofollow&quot; href=&quot;https://scrolltest.com&quot;&gt;Software Testing &amp;amp; Automation&lt;/a&gt;.&lt;/p&gt;</summary><author><name>Promode</name></author><source gr:stream-id="feed/https://scrolltest.com/feed/"><id>tag:google.com,2005:reader/feed/https://scrolltest.com/feed/</id><title type="html">Software Testing &amp; Automation</title><link rel="alternate" href="https://scrolltest.com" type="text/html"></link></source></entry><entry gr:crawl-timestamp-msec="1787370094000"><id gr:original-id="https://scrolltest.com/langgraph-checkpoint-testing-4-2-0/">tag:google.com,2005:reader/item/00000444000002fe</id><category term="AI Testing"></category><category term="Test Automation"></category><category term="Testing"></category><category term="LangGraph"></category><category term="LLM testing"></category><category term="Playwright"></category><category term="SDET"></category><category term="test automation"></category><title type="html">LangGraph Checkpoint Testing: What’s New in 4.2.0</title><published>2026-08-22T03:41:34Z</published><updated>2026-08-22T03:41:34Z</updated><link rel="alternate" href="https://scrolltest.com/langgraph-checkpoint-testing-4-2-0/" type="text/html"></link><summary type="html">&lt;p&gt;AgentQA upgraded to langgraph-checkpoint 4.2.0. Here&amp;apos;s what the new omit_expired flag and checkpoint replay mean for deterministic AI agent testing.&lt;/p&gt;
&lt;p&gt;The post &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; rel=&quot;nofollow&quot; href=&quot;https://scrolltest.com/langgraph-checkpoint-testing-4-2-0/&quot;&gt;LangGraph Checkpoint Testing: What’s New in 4.2.0&lt;/a&gt; appeared first on &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; rel=&quot;nofollow&quot; href=&quot;https://scrolltest.com&quot;&gt;Software Testing &amp;amp; Automation&lt;/a&gt;.&lt;/p&gt;</summary><author><name>Promode</name></author><source gr:stream-id="feed/https://scrolltest.com/feed/"><id>tag:google.com,2005:reader/feed/https://scrolltest.com/feed/</id><title type="html">Software Testing &amp; Automation</title><link rel="alternate" href="https://scrolltest.com" type="text/html"></link></source></entry><entry gr:crawl-timestamp-msec="1787370061000"><id gr:original-id="https://medium.com/p/dd27c11b2139">tag:google.com,2005:reader/item/00000a87000000cd</id><category term="automation-testing"></category><category term="software-engineering"></category><category term="test-automation"></category><category term="software-development"></category><category term="quality-assurance"></category><title type="html">Your Test Suite Knows What Broke. It Rarely Knows Why It Matters.</title><published>2026-08-22T03:41:01Z</published><updated>2026-08-22T03:41:01Z</updated><link rel="alternate" href="https://manishsaini74.medium.com/your-test-suite-knows-what-broke-it-rarely-knows-why-it-matters-dd27c11b2139?source=rss-2afcb904d789------2" type="text/html"></link><summary type="html">&lt;div&gt;&lt;p&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://manishsaini74.medium.com/your-test-suite-knows-what-broke-it-rarely-knows-why-it-matters-dd27c11b2139?source=rss-2afcb904d789------2&quot;&gt;&lt;img class=&quot;bqrUnknownImgSize&quot; src=&quot;https://cdn-images-1.medium.com/max/1536/1*43nV2AsBW4QC2SH-LXZVog.png&quot; width=&quot;1536&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;We have spent years making tests executable. AI is exposing how little context we made understandable.&lt;/p&gt;&lt;p&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://manishsaini74.medium.com/your-test-suite-knows-what-broke-it-rarely-knows-why-it-matters-dd27c11b2139?source=rss-2afcb904d789------2&quot;&gt;Continue reading on Medium »&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</summary><author><name>Manish Saini</name></author><source gr:stream-id="feed/https://manishsaini74.medium.com/feed"><id>tag:google.com,2005:reader/feed/https://manishsaini74.medium.com/feed</id><title type="html">Stories by Manish Saini on Medium</title><link rel="alternate" href="https://medium.com/@manishsaini74?source=rss-2afcb904d789------2" type="text/html"></link></source></entry><entry gr:crawl-timestamp-msec="1787369994000"><id gr:original-id="https://scrolltest.com/mcp-2-0-for-qa/">tag:google.com,2005:reader/item/00000444000002fd</id><category term="AI Testing"></category><category term="Testing"></category><category term="AI Agents"></category><category term="AI testing"></category><category term="LLM testing"></category><category term="mcp"></category><category term="Model Context Protocol"></category><title type="html">MCP 2.0 for QA: A Beginner’s Guide to Model Context Protocol</title><published>2026-08-22T03:39:54Z</published><updated>2026-08-22T03:39:54Z</updated><link rel="alternate" href="https://scrolltest.com/mcp-2-0-for-qa/" type="text/html"></link><summary type="html">&lt;p&gt;MCP 2.0 for QA is here. Learn what changed in the Model Context Protocol, how to run and test an MCP server, and why AI agent testing starts at the tool contract.&lt;/p&gt;
&lt;p&gt;The post &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; rel=&quot;nofollow&quot; href=&quot;https://scrolltest.com/mcp-2-0-for-qa/&quot;&gt;MCP 2.0 for QA: A Beginner’s Guide to Model Context Protocol&lt;/a&gt; appeared first on &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; rel=&quot;nofollow&quot; href=&quot;https://scrolltest.com&quot;&gt;Software Testing &amp;amp; Automation&lt;/a&gt;.&lt;/p&gt;</summary><author><name>Promode</name></author><source gr:stream-id="feed/https://scrolltest.com/feed/"><id>tag:google.com,2005:reader/feed/https://scrolltest.com/feed/</id><title type="html">Software Testing &amp; Automation</title><link rel="alternate" href="https://scrolltest.com" type="text/html"></link></source></entry><entry gr:crawl-timestamp-msec="1787369853000"><id gr:original-id="https://scrolltest.com/playwright-global-setup-teardown-typescript-day-58/">tag:google.com,2005:reader/item/00000444000002fc</id><category term="Javascript"></category><category term="Test Automation"></category><category term="Testing"></category><category term="CI/CD"></category><category term="Playwright"></category><category term="test automation"></category><category term="typescript"></category><title type="html">Playwright Global Setup and Teardown with TypeScript</title><published>2026-08-22T03:37:33Z</published><updated>2026-08-22T03:37:33Z</updated><link rel="alternate" href="https://scrolltest.com/playwright-global-setup-teardown-typescript-day-58/" type="text/html"></link><summary type="html">&lt;p&gt;Playwright global setup runs your login and database seeding once before all tests. Here&amp;apos;s how to wire globalSetup and globalTeardown in TypeScript, with real code and the pitfalls that trip up QA teams.&lt;/p&gt;
&lt;p&gt;The post &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; rel=&quot;nofollow&quot; href=&quot;https://scrolltest.com/playwright-global-setup-teardown-typescript-day-58/&quot;&gt;Playwright Global Setup and Teardown with TypeScript&lt;/a&gt; appeared first on &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; rel=&quot;nofollow&quot; href=&quot;https://scrolltest.com&quot;&gt;Software Testing &amp;amp; Automation&lt;/a&gt;.&lt;/p&gt;</summary><author><name>Promode</name></author><source gr:stream-id="feed/https://scrolltest.com/feed/"><id>tag:google.com,2005:reader/feed/https://scrolltest.com/feed/</id><title type="html">Software Testing &amp; Automation</title><link rel="alternate" href="https://scrolltest.com" type="text/html"></link></source></entry><entry gr:crawl-timestamp-msec="1787356800000"><id gr:original-id="https://www.ontestautomation.com/an-update-on-public-speaking">tag:google.com,2005:reader/item/0000099100000030</id><category term="Public speaking"></category><category term="career"></category><category term="skills"></category><title type="html">An update on public speaking</title><published>2026-08-22T00:00:00Z</published><updated>2026-08-22T00:00:00Z</updated><link rel="alternate" href="https://www.ontestautomation.com/an-update-on-public-speaking/" type="text/html"></link><summary type="html">&lt;p&gt;Earlier this year, I wrote a blog post &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://www.ontestautomation.com/on-increasing-focus-in-my-career/&quot;&gt;about increasing focus in my career&lt;/a&gt;. If you haven’t read and/or don’t feel like reading that post, the tl;dr of it is that for a couple of years, I’ve been working on too many things at the same time, which led to&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;not delivering all of my work at the quality that I want to and can deliver, and&lt;/li&gt;
  &lt;li&gt;not having enough time for things outside of work, most notably cycling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is now five months since I wrote that post, and things have changed slightly for the better. I feel like I am working on fewer things in parallel, and, as I expressed, most of my time these days is spent on building &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://www.ontestautomation.com/training/&quot;&gt;my training business&lt;/a&gt; and on reading, writing for this blog and especially for &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://www.ontestautomation.com/newsletter/&quot;&gt;my newsletter&lt;/a&gt; and studying.&lt;/p&gt;

&lt;p&gt;I still do a bit of consulting, but my current engagement is ending soon, and after that, I’m aiming for the consulting that I will do to be &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://www.ontestautomation.com/solutions/&quot;&gt;solutions-based&lt;/a&gt;, instead of &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://www.ontestautomation.com/on-ditching-hourly-and-productizing-my-services/&quot;&gt;based on hourly billing&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;One activity on which I expected to spend less time is public speaking. As I said in the blog post:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The public speaking will stay as well, but here too, I will consider and take what comes my way, instead of actively pursuing speaking gigs at meetups and conferences, especially those abroad. I do have a few in-company speaking gigs coming up in the next couple of months, as well as a keynote at an online conference. I enjoy speaking, so I will continue doing talks, but again, pretty much only when I am invited to do so.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I’m not actively pursuing speaking opportunities anymore, which means that it has been quite some time since I submitted a proposal to a Call for Papers. I have made and will keep making an exception and submit proposals for a very short list of conferences, namely&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://conference.eurostarsoftwaretesting.com/&quot;&gt;EuroSTAR&lt;/a&gt; and &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://automation.eurostarsoftwaretesting.com/&quot;&gt;AutomationSTAR&lt;/a&gt; - because they’re the largest and therefore provide me with a podium to showcase what I do in front of a large audience, and because I really enjoy their events&lt;/li&gt;
  &lt;li&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://kwsqa.org/&quot;&gt;KWSQA’s&lt;/a&gt; Targeting Quality - because I really like their community and because I’ll take every excuse to travel to Canada (I hope to be back in Cambridge, ON, soon)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even then, my submissions will probably be workshops rather than talks, because workshops are what I do for a living anyway in my training business, and the compensation will often be much better, too.&lt;/p&gt;

&lt;p&gt;However, even now that I’m really no longer actively seeking out speaking opportunities, those opportunities still present themselves on a regular basis. I might not do as many talks in 2026 as I did in 2025 (so far, I did 6 this year, where I did 21 in total in 2025), but still, every now and then people and organizations reach out to me to have me as a speaker at their event. And not just online, in person, too.&lt;/p&gt;

&lt;p&gt;Now, this might sound strange to some of you, but I’ve never really seen myself as a typical conference speaker. I enjoy doing talks, sure, but I’m not the ‘conference tiger’ taking their talk from one conference to the next as some of my fellow folks in the industry do (and all the best to them!). So, every time people do reach out and ask if I can do a talk at their event, I’m honoured, and often a little surprised, too. Even more so when ask me if I want to do a keynote.&lt;/p&gt;

&lt;p&gt;I’ve done a few keynotes so far (more than 5 but less than 10, I lost count), from my first one ever at the &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://testdag.nl/&quot;&gt;Dutch Testing Day&lt;/a&gt; in 2018, my first one abroad at UKSTAR in 2019, to the most recent one at the in-company developer conference at a large Dutch bank. And guess what? I actually enjoy doing keynotes. I never really thought I would, but I do.&lt;/p&gt;

&lt;p&gt;That wasn’t always the case, by the way. In the past, after my first few keynotes, every time I thought ‘well that surely was the last one ever’. I’d seen so many other people deliver brilliant, inspiring, clever, moving keynotes, I thought I could never do that. Still don’t think I can. And that’s fine with me.&lt;/p&gt;

&lt;p&gt;The talks I do, and enjoy doing, are about how we can and should do things better, mostly in test automation. Often, that will include some code or even a live demo. My talks are distilled from 20 years of experience in the field, and all the lessons I learned along the way. You might not get life-changing insights, but you’ll get practical advice, wrapped in ugly retro slides, with some references to 90s pop culture and bad jokes thrown in.&lt;/p&gt;

&lt;p&gt;Turns out, there are events that are happy to have such a talk as a keynote. Next to the in-company developer conference I mentioned, I’m also doing a keynote at the online day of &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://www.testear.la/en&quot;&gt;Testear.la&lt;/a&gt; and at this year’s &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://cypress.registration.goldcast.io/events/670deb6c-06ee-4ce8-858b-8a4db3a62eb1&quot;&gt;CypressConf&lt;/a&gt;. I’ve even got my first keynote for 2027 lined up already, and I’m really looking forward to speaking at the inaugural &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://ttc.taqelah.sg/&quot;&gt;Taqelah Testing Conference&lt;/a&gt; in Singapore in March.&lt;/p&gt;

&lt;p&gt;Because I don’t actively pursue speaking opportunities, but will happily accept what comes my way, I have more time to create new, original, customized talks for these events, too. Two out of the three keynotes I do this year are developed specifically for the event. Come to think of it, that’s exactly what I do in my training business as well: no off-the-shelf standardized courses and workshops, but tailored engagements pretty much every time.&lt;/p&gt;

&lt;p&gt;And that’s exactly how I like it best.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If your event is looking for a keynote speaker bringing in a customized, brand new talk with practical advice and lessons learned in 20 years of test automation, and if you think your audience can deal with my ugly retro slides and lame jokes, &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://www.ontestautomation.com/contact/&quot;&gt;let’s talk&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</summary><author><name>Bas Dijkstra</name></author><source gr:stream-id="feed/https://www.ontestautomation.com/feed.xml"><id>tag:google.com,2005:reader/feed/https://www.ontestautomation.com/feed.xml</id><title type="html">On Test Automation</title><link rel="alternate" href="https://www.ontestautomation.com/" type="text/html"></link></source></entry><entry gr:crawl-timestamp-msec="1787356800000"><id gr:original-id="https://debbie.codes/blog/job-hunt-with-a-bot">tag:google.com,2005:reader/item/00000fe30000003a</id><category term="ai"></category><category term="agents"></category><title type="html">Job Hunt With a Bot?</title><published>2026-08-22T00:00:00Z</published><updated>2026-08-22T00:00:00Z</updated><link rel="alternate" href="https://debbie.codes/blog/job-hunt-with-a-bot" type="text/html"></link><summary type="html">I need to look for a job, so I made a Job Hunt bot on Grok Bot. It looked me up online, found roles, and can even do interview prep.</summary><author><name>debbie@debbie.codes (Debbie O&apos;Brien)</name></author><source gr:stream-id="feed/https://debbie.codes/feed.xml"><id>tag:google.com,2005:reader/feed/https://debbie.codes/feed.xml</id><title type="html">Debbie Codes</title><link rel="alternate" href="https://debbie.codes" type="text/html"></link></source></entry><entry gr:crawl-timestamp-msec="1787349600000"><id gr:original-id="https://scrolltest.com/?p=7517">tag:google.com,2005:reader/item/00000444000002fb</id><category term="Playwright tutorial Java"></category><category term="Testing"></category><title type="html">Day 13: Debugging — Trace Viewer, UI Mode, and Inspector</title><published>2026-08-21T22:00:00Z</published><updated>2026-08-21T22:00:00Z</updated><link rel="alternate" href="https://scrolltest.com/21-day-playwright-day-13-debugging-trace-viewer-ui-mode/" type="text/html"></link><summary type="html">&lt;p&gt;3 debugging tools: Trace Viewer, UI Mode, Inspector. 60-second debugging workflow. Day 13 of 21-Day Challenge.&lt;/p&gt;
&lt;p&gt;The post &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; rel=&quot;nofollow&quot; href=&quot;https://scrolltest.com/21-day-playwright-day-13-debugging-trace-viewer-ui-mode/&quot;&gt;Day 13: Debugging — Trace Viewer, UI Mode, and Inspector&lt;/a&gt; appeared first on &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; rel=&quot;nofollow&quot; href=&quot;https://scrolltest.com&quot;&gt;Software Testing &amp;amp; Automation&lt;/a&gt;.&lt;/p&gt;</summary><author><name>Pramod Dutta</name></author><source gr:stream-id="feed/https://scrolltest.com/feed/"><id>tag:google.com,2005:reader/feed/https://scrolltest.com/feed/</id><title type="html">Software Testing &amp; Automation</title><link rel="alternate" href="https://scrolltest.com" type="text/html"></link></source></entry><entry gr:crawl-timestamp-msec="1787313240000"><id gr:original-id="https://thenewstack.io/?p=22833833">tag:google.com,2005:reader/item/00000b0e000000ba</id><category term="AI Agents"></category><category term="Software Development"></category><category term="Software Testing"></category><title type="html">Most coding agent benchmarks skip large-scale refactoring. Not this one.</title><published>2026-08-21T11:54:00Z</published><updated>2026-08-21T11:54:00Z</updated><link rel="alternate" href="https://thenewstack.io/ai-agents-refactoring-benchmarks/" type="text/html"></link><summary type="html">New SWE-Bench ProMax reveals where coding agents can’t measure up. Experts weigh in on why.</summary><author><name>Meredith Shubel</name></author><source gr:stream-id="feed/https://thenewstack.io/software-testing/feed/"><id>tag:google.com,2005:reader/feed/https://thenewstack.io/software-testing/feed/</id><title type="html">Software Testing Archives - The New Stack</title><link rel="alternate" href="https://thenewstack.io/software-testing/" type="text/html"></link></source></entry><entry gr:crawl-timestamp-msec="1787307140000"><id gr:original-id="https://kato-coaching.com/?p=25989">tag:google.com,2005:reader/item/00000d0a00000029</id><category term="Uncategorized"></category><title type="html">My website, as seen by BearQ</title><published>2026-08-21T10:12:20Z</published><updated>2026-08-21T10:12:20Z</updated><link rel="alternate" href="https://kato-coaching.com/my-website-as-seen-by-bearq/" type="text/html"></link><summary type="html">I’m partnering with SmartBear on a sponsored series of content about tools for the AI era. As always, all opinions are entirely my own. I have a long-standing suspicion of tools that promise to find problems for me, and it comes from watching what happens to them about three months into the journey. Somebody switches […]</summary><author><name>kato-admin</name></author><source gr:stream-id="feed/https://kato-coaching.com/feed"><id>tag:google.com,2005:reader/feed/https://kato-coaching.com/feed</id><title type="html">Kato Coaching</title><link rel="alternate" href="https://kato-coaching.com" type="text/html"></link></source></entry><entry gr:crawl-timestamp-msec="1787287155000"><id gr:original-id="https://scrolltest.com/llm-hallucination-testing/">tag:google.com,2005:reader/item/00000444000002fa</id><category term="AI Testing"></category><category term="Test Automation"></category><category term="Testing"></category><category term="deepeval"></category><category term="LLM testing"></category><category term="promptfoo"></category><category term="Ragas"></category><category term="test automation"></category><title type="html">LLM Hallucination Testing: How to Catch AI Making Things Up</title><published>2026-08-21T04:39:15Z</published><updated>2026-08-21T04:39:15Z</updated><link rel="alternate" href="https://scrolltest.com/llm-hallucination-testing/" type="text/html"></link><summary type="html">&lt;p&gt;A hallucination is fluent, confident, and wrong. Learn how QA teams detect AI making things up, with DeepEval, Ragas, and PromptFoo code you can run in CI today.&lt;/p&gt;
&lt;p&gt;The post &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; rel=&quot;nofollow&quot; href=&quot;https://scrolltest.com/llm-hallucination-testing/&quot;&gt;LLM Hallucination Testing: How to Catch AI Making Things Up&lt;/a&gt; appeared first on &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; rel=&quot;nofollow&quot; href=&quot;https://scrolltest.com&quot;&gt;Software Testing &amp;amp; Automation&lt;/a&gt;.&lt;/p&gt;</summary><author><name>Promode</name></author><source gr:stream-id="feed/https://scrolltest.com/feed/"><id>tag:google.com,2005:reader/feed/https://scrolltest.com/feed/</id><title type="html">Software Testing &amp; Automation</title><link rel="alternate" href="https://scrolltest.com" type="text/html"></link></source></entry><entry gr:crawl-timestamp-msec="1787283583000"><id gr:original-id="https://scrolltest.com/n8n-2-35-3-qa-upgrade-checklist/">tag:google.com,2005:reader/item/00000444000002f9</id><category term="DevOps"></category><category term="Test Automation"></category><category term="Testing"></category><category term="CI/CD"></category><category term="n8n"></category><category term="Release Notes"></category><category term="SDET"></category><category term="test automation"></category><title type="html">n8n 2.35.3: The QA Upgrade Checklist Before You Deploy</title><published>2026-08-21T03:39:43Z</published><updated>2026-08-21T03:39:43Z</updated><link rel="alternate" href="https://scrolltest.com/n8n-2-35-3-qa-upgrade-checklist/" type="text/html"></link><summary type="html">&lt;p&gt;n8n 2.35.3 shipped an API migration (Google Ads v21 to v25) and an OAuth scope change. Here is the QA upgrade checklist to test triggers, branches, credentials, and failure paths before you deploy.&lt;/p&gt;
&lt;p&gt;The post &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; rel=&quot;nofollow&quot; href=&quot;https://scrolltest.com/n8n-2-35-3-qa-upgrade-checklist/&quot;&gt;n8n 2.35.3: The QA Upgrade Checklist Before You Deploy&lt;/a&gt; appeared first on &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; rel=&quot;nofollow&quot; href=&quot;https://scrolltest.com&quot;&gt;Software Testing &amp;amp; Automation&lt;/a&gt;.&lt;/p&gt;</summary><author><name>Promode</name></author><source gr:stream-id="feed/https://scrolltest.com/feed/"><id>tag:google.com,2005:reader/feed/https://scrolltest.com/feed/</id><title type="html">Software Testing &amp; Automation</title><link rel="alternate" href="https://scrolltest.com" type="text/html"></link></source></entry><entry gr:crawl-timestamp-msec="1787283556000"><id gr:original-id="https://scrolltest.com/playwright-ui-mode-typescript-day-57/">tag:google.com,2005:reader/item/00000444000002f8</id><category term="Javascript"></category><category term="Test Automation"></category><category term="Testing"></category><category term="Debugging"></category><category term="Playwright"></category><category term="test automation"></category><category term="typescript"></category><category term="ui mode"></category><title type="html">Playwright UI Mode: Time Travel Debugging in TypeScript</title><published>2026-08-21T03:39:16Z</published><updated>2026-08-21T03:39:16Z</updated><link rel="alternate" href="https://scrolltest.com/playwright-ui-mode-typescript-day-57/" type="text/html"></link><summary type="html">&lt;p&gt;Playwright UI Mode is the fastest way to turn a red test green. Learn time-travel debugging, Pick Locator, watch mode, and trace reading in TypeScript.&lt;/p&gt;
&lt;p&gt;The post &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; rel=&quot;nofollow&quot; href=&quot;https://scrolltest.com/playwright-ui-mode-typescript-day-57/&quot;&gt;Playwright UI Mode: Time Travel Debugging in TypeScript&lt;/a&gt; appeared first on &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; rel=&quot;nofollow&quot; href=&quot;https://scrolltest.com&quot;&gt;Software Testing &amp;amp; Automation&lt;/a&gt;.&lt;/p&gt;</summary><author><name>Promode</name></author><source gr:stream-id="feed/https://scrolltest.com/feed/"><id>tag:google.com,2005:reader/feed/https://scrolltest.com/feed/</id><title type="html">Software Testing &amp; Automation</title><link rel="alternate" href="https://scrolltest.com" type="text/html"></link></source></entry><entry gr:crawl-timestamp-msec="1787283519000"><id gr:original-id="https://scrolltest.com/selenium-vs-playwright-2026/">tag:google.com,2005:reader/item/00000444000002f7</id><category term="Selenium"></category><category term="Test Automation"></category><category term="Testing"></category><category term="Playwright"></category><category term="SDET"></category><category term="selenium"></category><category term="test automation"></category><title type="html">Selenium vs Playwright in 2026: Which One Should You Learn?</title><published>2026-08-21T03:38:39Z</published><updated>2026-08-21T03:38:39Z</updated><link rel="alternate" href="https://scrolltest.com/selenium-vs-playwright-2026/" type="text/html"></link><summary type="html">&lt;p&gt;Compare Selenium vs Playwright in 2026: GitHub stars, npm and PyPI downloads, and real hiring demand. See which framework to learn first.&lt;/p&gt;
&lt;p&gt;The post &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; rel=&quot;nofollow&quot; href=&quot;https://scrolltest.com/selenium-vs-playwright-2026/&quot;&gt;Selenium vs Playwright in 2026: Which One Should You Learn?&lt;/a&gt; appeared first on &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; rel=&quot;nofollow&quot; href=&quot;https://scrolltest.com&quot;&gt;Software Testing &amp;amp; Automation&lt;/a&gt;.&lt;/p&gt;</summary><author><name>Promode</name></author><source gr:stream-id="feed/https://scrolltest.com/feed/"><id>tag:google.com,2005:reader/feed/https://scrolltest.com/feed/</id><title type="html">Software Testing &amp; Automation</title><link rel="alternate" href="https://scrolltest.com" type="text/html"></link></source></entry><entry gr:crawl-timestamp-msec="1787244454000"><id gr:original-id="https://chroniclesofapragmaticprogrammer.substack.com/p/divida-tecnica-a-conta-que-voce-ja">tag:google.com,2005:reader/item/00000a2700000067</id><title type="html">Dívida Técnica: A Conta Que Você Já Está Pagando Parcelada</title><published>2026-08-20T16:47:34Z</published><updated>2026-08-20T16:47:34Z</updated><link rel="alternate" href="https://chroniclesofapragmaticprogrammer.substack.com/p/divida-tecnica-a-conta-que-voce-ja" type="text/html"></link><summary type="html">&lt;p&gt;Você já viveu essa cena. O time levanta que o motor de cobrança precisa ser reestruturado. Alguém monta um slide. A palavra “refatoração” aparece três vezes, “acoplamento” aparece duas, e há um diagrama com muitas setas. A reunião termina com um “faz sentido, vamos avaliar no próximo trimestre” — que é a forma corporativa de dizer não sem ter que justificar.&lt;/p&gt;&lt;p&gt;A explicação confortável para o que aconteceu é que a diretoria não entende de tecnologia. A explicação honesta é mais desconfortável: &lt;strong&gt;o pedido foi feito numa moeda que ninguém do outro lado da mesa sabe converter.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;O problema raramente é indiferença. Executivos aprovam investimentos difíceis o tempo todo — trocam o core bancário, compram empresa, aceitam três anos de payback. O que eles não fazem é aprovar algo que chega descrito em qualidade de código, cobertura de teste e framework depreciado, sem nenhuma tradução para receita, custo, risco ou posição competitiva. E há uma falha ainda mais comum: apresentar um caso genérico e único para todo mundo ao mesmo tempo, obrigando cada executivo a fazer a tradução sozinho — o que, na prática, termina em decisão nenhuma.&lt;/p&gt;&lt;p&gt;A escala do problema não é anedota. Numa pesquisa da McKinsey com 50 CIOs de instituições financeiras e empresas de tecnologia com receita acima de US$ 1 bilhão, os entrevistados estimaram que a dívida técnica representa entre 20% e 40% do valor de todo o parque tecnológico antes da depreciação, e relataram que de 10% a 20% do orçamento nominalmente destinado a produtos novos acaba desviado para resolver problemas decorrentes dela. Do outro lado da régua, o CISQ estimou o custo da má qualidade de software nos Estados Unidos em US$ 2,41 trilhões, com a dívida técnica acumulada em torno de US$ 1,52 trilhão.&lt;/p&gt;&lt;div data-attrs=&quot;{&amp;quot;url&amp;quot;:&amp;quot;https://chroniclesofapragmaticprogrammer.substack.com/subscribe?&amp;quot;,&amp;quot;text&amp;quot;:&amp;quot;Inscreva-se&amp;quot;,&amp;quot;language&amp;quot;:&amp;quot;pt-br&amp;quot;}&quot; data-component-name=&quot;SubscribeWidgetToDOM&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;p&gt;Obrigado por ler Crônicas de um Programador Pragmático! Inscreva-se gratuitamente para receber novas publicações e apoiar meu trabalho.&lt;/p&gt;&lt;/div&gt;&lt;input tabindex=&quot;-1&quot; type=&quot;email&quot; name=&quot;article-F9xo7dAsjLY2gHChrp2AXWPScHQ-email&quot; placeholder=&quot;Digite seu e-mail…&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;&lt;strong&gt;Pilar 01: Recupere o significado da metáfora antes de usá-la&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;Você não consegue precificar um conceito que cada pessoa na sala entende de um jeito. E “dívida técnica” virou exatamente isso: um guarda-chuva onde cabe desde uma falha arquitetural que impede a empresa de lançar produto até o desgosto de alguém com o nome de um pacote.&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Lição 1.1 → A metáfora nasceu num banco, e nasceu para falar com executivos&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Ward Cunningham cunhou o termo em 1992, num relatório de experiência apresentado na OOPSLA sobre o WyCash — um sistema de gestão de portfólio. Ele estava cercado de gente de finanças, precisava justificar tempo investido em melhorar código existente, e escolheu deliberadamente uma linguagem que aquela audiência já dominava.&lt;/p&gt;&lt;p&gt;Repare na ironia: &lt;strong&gt;a metáfora foi inventada como ferramenta de comunicação com o C-level, dentro de uma empresa financeira.&lt;/strong&gt; Nós é que a sequestramos e transformamos em jargão interno de engenharia.&lt;/p&gt;&lt;p&gt;E há uma segunda perda, mais séria. Numa entrevista de 2009, Cunningham voltou ao tema para dizer que a metáfora nunca foi sobre código bagunçado, e sim sobre o custo de operar com um entendimento incompleto do domínio. Michael Feathers formulou isso da maneira mais útil que já vi: dívida técnica é a distância acumulada entre o seu entendimento do problema e o entendimento que o sistema reflete. Você começa codificando o que entendeu; depois aprende mais; se o código não acompanha o aprendizado, você passa a tropeçar num descompasso conceitual toda vez que mexe ali.&lt;/p&gt;&lt;p&gt;Essa definição é infinitamente mais defensável numa reunião do que “o código está ruim”. Porque ela é verificável: &lt;em&gt;quantas vezes, no último trimestre, uma regra de negócio nova exigiu contornar o modelo em vez de usá-lo?&lt;/em&gt;&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Lição 1.2 → Classifique a dívida antes de cobrá-la&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Nem toda dívida tem a mesma origem, e a origem muda completamente quem deve responder por ela.&lt;/p&gt;&lt;p&gt;Steve McConnell, num artigo da IEEE Software de 2007, propôs a primeira taxonomia séria: dívida não intencional, produzida por desconhecimento ou processo falho; dívida de curto prazo, assumida deliberadamente por um ganho imediato; e dívida de longo prazo, acumulada pela evolução natural do sistema. Foi ele também quem tornou explícito o par principal/juros.&lt;/p&gt;&lt;p&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://martinfowler.com/bliki/TechnicalDebtQuadrant.html&quot;&gt;Martin Fowler foi além em 2009 com o &lt;/a&gt;&lt;strong&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://martinfowler.com/bliki/TechnicalDebtQuadrant.html&quot;&gt;quadrante de dívida técnica&lt;/a&gt;&lt;/strong&gt;, cruzando dois eixos:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;code&gt;                    PRUDENTE              IMPRUDENTE
                ┌─────────────────────┬─────────────────────┐
   DELIBERADA   │ &amp;quot;Entregamos agora,  │ &amp;quot;Não temos tempo    │
                │  refatoramos no     │  para desenhar       │
                │  próximo ciclo&amp;quot;     │  isso direito&amp;quot;       │
                ├─────────────────────┼─────────────────────┤
   INADVERTIDA  │ &amp;quot;Agora entendemos   │ &amp;quot;O que é camada     │
                │  como deveria       │  de domínio?&amp;quot;        │
                │  ter sido feito&amp;quot;    │                      │
                └─────────────────────┴─────────────────────┘&lt;/code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Por que isso importa numa conversa com gestão? Porque muda o pedido. Dívida &lt;strong&gt;deliberada e prudente&lt;/strong&gt; é uma promessa que a empresa fez a si mesma e agora precisa honrar — você está cobrando uma decisão anterior, não pedindo um favor. Dívida &lt;strong&gt;inadvertida e prudente&lt;/strong&gt; é aprendizado do domínio; é o quadrante mais honesto e o mais fácil de defender, porque ninguém errou. Já dívida &lt;strong&gt;imprudente&lt;/strong&gt;, deliberada ou não, é um problema de processo ou de capacitação — e apresentá-la como se fosse trade-off estratégico é desonesto e, pior, não resolve, porque a mesma dívida vai voltar em seis meses pela mesma porta.&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Lição 1.3 → Diga em voz alta qual dívida você não vai pagar&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Este é o movimento mais contraintuitivo do artigo e talvez o de maior retorno.&lt;/p&gt;&lt;p&gt;Quem chega no fórum de arquitetura pedindo para zerar a dívida está pedindo para não ser levado a sério — porque zerar dívida significaria alocar todo o recurso disponível em remediação, sem construir nada que diferencie a empresa. A própria McKinsey é explícita ao dizer que o objetivo não é chegar a zero, e a orientação prática é que raramente compensa reduzir abaixo de algo em torno de 10%: parte da dívida simplesmente nunca vale o custo de pagar.&lt;/p&gt;&lt;p&gt;Então inverta. Leve uma lista de &lt;strong&gt;três itens que o seu time decidiu conscientemente não corrigir&lt;/strong&gt;, com a razão de cada um: “esse módulo é feio mas não é tocado há dois anos e não é caminho crítico”, “essa duplicação é intencional para desacoplar dois times”, “esse serviço vai ser desligado em 2027, não vamos investir nele”.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;O efeito prático&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;No instante em que você mostra o que decidiu &lt;em&gt;não&lt;/em&gt; fazer, o seu pedido deixa de ser preferência estética e passa a ser priorização. Você para de ser o engenheiro que sempre quer reescrever tudo e vira a pessoa que já filtrou o ruído antes de ocupar o tempo da liderança. Isso não é técnica de retórica — é o subproduto natural de ter feito o trabalho de análise de verdade.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Pense comigo — antes de dizer a palavra “dívida”&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Isso atrapalha o negócio ou atrapalha a mim?&lt;/strong&gt; A pergunta honesta é: se ninguém mais mexer nesse código nos próximos dois anos, alguma coisa acontece? Se a resposta é não, você tem uma preferência, não uma dívida.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Em que quadrante isso está?&lt;/strong&gt; Se for deliberada e prudente, quem prometeu pagar? Quando? Está registrado em algum lugar, ou só na memória de quem estava na sala?&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Qual é a distância entre o sistema e o meu entendimento atual do domínio?&lt;/strong&gt; Conte as vezes em que uma regra nova precisou de gambiarra em vez de encaixar no modelo. Esse número é a sua evidência.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;O que eu vou dizer que NÃO vamos corrigir?&lt;/strong&gt; Se você não consegue nomear três itens, você ainda não priorizou — só listou incômodos.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Pontos altos do Pilar 1&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;A metáfora nasceu para conversar com executivos, dentro de uma empresa financeira. Nós a transformamos em jargão de engenheiro.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Dívida é a distância entre o sistema e o entendimento atual do domínio — não a feiura do código.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Levar uma lista do que você decidiu &lt;em&gt;não&lt;/em&gt; corrigir transforma o pedido de preferência em priorização.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;&lt;strong&gt;Pilar 02: Traduza para a moeda de quem decide&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;O diretor não precisa entender o problema técnico. Precisa entender a &lt;strong&gt;unidade de medida&lt;/strong&gt;. E, felizmente, a unidade certa já existe e é justamente a que ele usa todos os dias.&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Lição 2.1 → Separe principal de juros — e apresente os dois&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;A referência aqui é o livro de Philippe Kruchten, Robert Nord e Ipek Ozkaya, &lt;em&gt;Managing Technical Debt: Reducing Friction in Software Development&lt;/em&gt; (SEI Series, 2019), que dedica um capítulo inteiro à distinção entre principal e juros, custo e valor, dívida potencial e dívida efetiva.&lt;/p&gt;&lt;p&gt;A tradução é direta:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Principal&lt;/strong&gt; — o custo de remediar. É um número único, em horas ou reais, com data.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Juros&lt;/strong&gt; — o arrasto recorrente que você paga todo mês por &lt;em&gt;não&lt;/em&gt; ter remediado. É um número por período.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Quase todo engenheiro apresenta só o principal: “são seis semanas de duas pessoas”. E é exatamente por isso que o pedido é arquivado — porque, isolado, o principal é puro custo. Sem os juros ao lado, você está pedindo para a empresa gastar seis semanas em troca de nada visível.&lt;/p&gt;&lt;p&gt;Com os juros, a conversa muda de natureza. Deixa de ser “quero gastar” e passa a ser “estamos gastando, só que parcelado e sem abater o saldo devedor”.&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Lição 2.2 → Os juros são invisíveis por natureza — o seu trabalho é dar rosto a eles&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Juros de dívida técnica não aparecem em nenhuma linha de orçamento. Eles se escondem dentro de custos que já foram normalizados pela organização: plantão, conciliação manual, retrabalho, incidente, prazo de entrega que ninguém mais questiona porque “sempre foi assim”.&lt;/p&gt;&lt;p&gt;Vamos a um caso concreto do nosso mundo. Motor de cobrança sem reprocessamento idempotente:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;code&gt;PRINCIPAL
  6 semanas × 2 engenheiros ................... R$  96.000

JUROS (por ano, hoje)
  Conciliação manual pós-falha
    4h/semana × 52 × R$ 120/h ................. R$  24.960
  Plantão acionado por reprocesso duplicado
    ~2 incidentes/mês × 5h × 2 pessoas ........ R$  28.800
  Retrabalho de atendimento (estorno indevido)
    ~35 casos/mês × 40 min × R$ 45/h .......... R$  12.600
  Janela de entrega travada
    3 iniciativas adiadas no ano (ver adiante)
  ─────────────────────────────────────────────────────────
  Subtotal mensurável ......................... R$  66.360/ano&lt;/code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Duas coisas acontecem quando você apresenta assim. Primeiro, o principal deixa de ser caro: R$ 96 mil contra R$ 66 mil por ano é &lt;strong&gt;payback em pouco mais de dezoito meses&lt;/strong&gt;, e todo diretor sabe ler payback. Segundo — e mais importante — você acabou de tornar visível um gasto que a empresa já vinha fazendo sem saber que fazia.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;A frase que funciona&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div data-callout=&quot;true&quot;&gt;&lt;p&gt;“A gente já pagou o principal dessa dívida uma vez e meia nos últimos doze meses. Só que parcelado, em plantão e conciliação manual — e sem abater um centavo do saldo devedor.”&lt;/p&gt;&lt;/div&gt;&lt;p&gt;Não é retórica. É a descrição literal do que está acontecendo.&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Lição 2.3 → Quantifique o custo de atraso — porque a intuição alheia sobre ele é péssima&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Repare que na conta acima ficou uma linha em aberto: “3 iniciativas adiadas no ano”. Essa linha costuma ser a maior de todas, e quase ninguém a preenche.&lt;/p&gt;&lt;p&gt;O conceito é o &lt;strong&gt;Custo de Atraso&lt;/strong&gt;, formulado por Donald Reinertsen em &lt;em&gt;The Principles of Product Development Flow&lt;/em&gt; (2009). Ele mede o impacto econômico do tempo sobre a realização de valor: receita não realizada, custo de oportunidade e riscos que se acumulam enquanto algo espera na fila. O conselho dele é célebre — se você só puder quantificar uma coisa, que seja o custo de atraso.&lt;/p&gt;&lt;p&gt;E há dois dados no trabalho de Reinertsen que valem ouro numa reunião:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Cerca de 85% dos gestores de produto não conhecem o próprio custo de atraso.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Quando estimam por intuição, as estimativas divergem entre si numa proporção de até 50 para 1.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Traduzindo: &lt;strong&gt;quem chega com esse número calculado tem uma vantagem informacional enorme sobre todo mundo que chega com sensação&lt;/strong&gt; — inclusive sobre pessoas hierarquicamente acima. Não porque seja mais inteligente, mas porque fez uma conta que os outros presumiram impossível.&lt;/p&gt;&lt;p&gt;O caso mais citado é o da Maersk Line: uma funcionalidade que ficou 38 semanas parada em filas, com custo de atraso superior a US$ 200 mil por semana — perto de US$ 8 milhões em receita não realizada por algo que ninguém percebia como custo, porque fila não aparece em relatório.&lt;/p&gt;&lt;p&gt;Para ordenar iniciativas concorrentes, Reinertsen propõe o &lt;strong&gt;CD3&lt;/strong&gt;: custo de atraso dividido pela duração. É a régua que responde à pergunta que o seu gestor realmente tem — não “isso é importante?”, mas “isso é mais importante do que as outras sete coisas que estão na minha mesa?”.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Aplicando ao domínio bancário&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;mark data-color=&quot;#ffff00&quot; style=&quot;background-color: rgb(255, 255, 0); color: rgb(0, 0, 0)&quot;&gt;Uma integração de Pix travada por um mês não custa “um mês de time”. Custa a receita de tarifa não capturada nesse mês, mais o custo de aquisição dos clientes que abriram conta em outro lugar, mais o risco de multa se houver prazo regulatório envolvido.&lt;/mark&gt; Quando você monta essa conta, descobre com frequência que o custo de atraso é uma ordem de grandeza maior do que o custo do trabalho — e essa é a informação que muda a decisão.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Pense comigo — antes de apresentar um número&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Eu estou apresentando principal, juros, ou os dois?&lt;/strong&gt; Se for só o principal, você está pedindo custo puro. Sem os juros, a resposta racional do outro lado é não.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Onde os juros estão escondidos hoje?&lt;/strong&gt; Plantão, conciliação manual, retrabalho de atendimento, prazo inflado. Procure em orçamentos que já existem e ninguém questiona.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Quanto custa cada semana de atraso?&lt;/strong&gt; Receita não capturada, custo de oportunidade, exposição regulatória. Se você nunca fez essa conta, faça uma vez — o resultado costuma surpreender você antes de surpreender o gestor.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Isso é mais importante do que as outras coisas na mesa dele?&lt;/strong&gt; Essa é a pergunta real. Responder a ela com CD3 é mais honesto do que responder com convicção.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Pontos altos do Pilar 2&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;Principal e juros é a estrutura mental que a área financeira já domina. Use a linguagem dela em vez de inventar a sua.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Juros de dívida técnica se pagam parcelados e invisíveis — dar rosto a eles é metade do trabalho de convencimento.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Quantifique o custo de atraso: a intuição alheia sobre ele erra por ordens de grandeza, e quem calculou tem vantagem informacional real.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;&lt;strong&gt;Pilar 03: Meça sem fingir precisão&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;Vamos para o pilar que separa o profissional maduro do vendedor interno. Porque o Pilar 2 tem um efeito colateral perigoso: quando você aprende a produzir números, fica tentador produzi-los com uma confiança que os dados não sustentam.&lt;/p&gt;&lt;p&gt;E diretor experiente detecta falsa certeza. Uma vez detectada, tudo que você disser depois entra com desconto — inclusive o que era verdade.&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Lição 3.1 → Medir é reduzir incerteza, não eliminá-la&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;A referência é &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://www.lesswrong.com/posts/ybYBCK9D7MZCcdArB/how-to-measure-anything&quot;&gt;Douglas Hubbard, &lt;/a&gt;&lt;em&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://www.lesswrong.com/posts/ybYBCK9D7MZCcdArB/how-to-measure-anything&quot;&gt;How to Measure Anything: Finding the Value of “Intangibles” &lt;/a&gt;in Business&lt;/em&gt;. A tese central liberta o engenheiro do impasse mais comum: “não dá para medir isso”.&lt;/p&gt;&lt;p&gt;Hubbard trata medição como &lt;strong&gt;redução de incerteza baseada em observação&lt;/strong&gt; — não como obtenção de certeza. E faz questão de distinguir as duas coisas: reduzir incerteza é possível, eliminá-la não é, porque o mundo é complexo demais. A consequência prática é enorme: mesmo uma redução modesta de incerteza já tem valor econômico, e organizações deixam muito valor na mesa ao operar por intuição quando técnicas simples dariam clareza suficiente para escolher melhor.&lt;/p&gt;&lt;p&gt;Ele também é direto sobre por que as pessoas acham que algo não pode ser medido, e nenhuma das razões tem a ver com o objeto: ou a definição de medição está mal compreendida, ou o objeto da medição não foi bem definido, ou os métodos disponíveis são desconhecidos. Na esmagadora maioria dos casos em engenharia, o problema é o segundo — “a dívida do motor de cobrança” não é mensurável, mas “horas de plantão por mês atribuíveis a reprocesso duplicado” é trivial.&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Lição 3.2 → Decomponha, depois fale em faixas de 90%&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Duas técnicas específicas, ambas do arsenal de Hubbard, e ambas aplicáveis na próxima segunda-feira.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Decomposição.&lt;/strong&gt; Só quebrar uma estimativa muito incerta em componentes menores já produz uma melhora substancial na estimativa — antes mesmo de coletar qualquer dado novo. Foi o que fizemos na tabela de juros do Pilar 2: ninguém sabe responder “quanto custa essa dívida”, mas todo mundo consegue estimar horas de plantão, número de incidentes e custo-hora.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Intervalo de confiança de 90%.&lt;/strong&gt; Em vez de um número, você declara uma faixa que tem 90% de chance de conter o valor real. E há um teste simples para calibrar os limites: um intervalo de 90% implica 5% de chance de o valor real estar acima do teto e 5% abaixo do piso. Então pergunte-se se você está 95% seguro de que o valor real fica abaixo do teto que escreveu. Se não estiver, suba o teto. Faça o mesmo com o piso.&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;code&gt;✗  &amp;quot;Isso vai economizar R$ 480 mil por ano.&amp;quot;&lt;/code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;&lt;code&gt;✓  &amp;quot;Entre R$ 320 mil e R$ 700 mil por ano, com 90% de confiança.
    A maior fonte de incerteza é o volume de incidentes —
    trabalhamos com 18 a 30 por trimestre; se ficar perto de 18,
    o retorno vai para a ponta de baixo da faixa.&amp;quot;&lt;/code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;A segunda versão parece mais fraca. Não é. Ela é &lt;strong&gt;a única das duas que sobrevive a uma auditoria dos números daqui a um ano&lt;/strong&gt; — e, portanto, a única que constrói credibilidade em vez de gastá-la.&lt;/p&gt;&lt;p&gt;Há ainda um efeito que vale mencionar: pessoas não são naturalmente boas em produzir intervalos calibrados, mas essa é uma habilidade treinável, com melhora mensurável por repetição e feedback. Vale exercitar em time, comparando estimativas passadas com resultados reais.&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Lição 3.3 → Use evidência de sistema, não evidência de opinião — e pare de medir o que não muda a decisão&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Números que você produziu sozinho, sobre o seu próprio pedido, têm um problema óbvio de credibilidade. Por isso vale ancorar parte do argumento em métricas que o time já coleta e que não foram inventadas para essa reunião.&lt;/p&gt;&lt;p&gt;As métricas DORA — lead time para mudança, frequência de deploy, taxa de falha de mudança e tempo de restauração de serviço, popularizadas em &lt;em&gt;Accelerate&lt;/em&gt;, de Nicole Forsgren, Jez Humble e Gene Kim — funcionam bem porque descrevem o comportamento do sistema ao longo do tempo, não a sua opinião sobre ele. “A taxa de falha de mudança nesse serviço é 3× a média dos demais, há seis trimestres” é um fato observável.&lt;/p&gt;&lt;p&gt;Com uma ressalva que aumenta a sua credibilidade justamente por ser dita em voz alta: &lt;strong&gt;&lt;mark data-color=&quot;#ffff00&quot; style=&quot;background-color: rgb(255, 255, 0); color: rgb(0, 0, 0)&quot;&gt;DORA é indicador de sistema e de time, não instrumento de avaliação individual&lt;/mark&gt;&lt;/strong&gt;&lt;mark data-color=&quot;#ffff00&quot; style=&quot;background-color: rgb(255, 255, 0); color: rgb(0, 0, 0)&quot;&gt;. Se você não disser isso, alguém em algum momento vai usar o seu gráfico para avaliar pessoas, e o dano será atribuído a você.&lt;/mark&gt;&lt;/p&gt;&lt;p&gt;&lt;mark data-color=&quot;#ffff00&quot; style=&quot;background-color: rgb(255, 255, 0); color: rgb(0, 0, 0)&quot;&gt;Por fim, o critério que economiza semanas de análise, também de Hubbard: &lt;/mark&gt;&lt;strong&gt;&lt;mark data-color=&quot;#ffff00&quot; style=&quot;background-color: rgb(255, 255, 0); color: rgb(0, 0, 0)&quot;&gt;se a informação não tem influência sobre a decisão, ela não tem valor.&lt;/mark&gt;&lt;/strong&gt; Antes de o time gastar duas sprints instrumentando algo, pergunte qual o limiar em que aquele número mudaria a escolha. Se não existe limiar — se o “sim” ou “não” será o mesmo em qualquer resultado — a medição é curiosidade, não evidência.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Pense comigo — antes de dizer que tem certeza&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Eu consigo decompor isso em três coisas que eu de fato observo?&lt;/strong&gt; Se não consigo, o problema não é falta de dado — é que a variável ainda não foi definida direito.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Estou 95% seguro de que o valor real fica abaixo do meu teto?&lt;/strong&gt; Se hesitei, o teto está baixo demais. Suba antes que a realidade suba por mim.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;O que eu explicitamente não sei aqui?&lt;/strong&gt; Declarar isso primeiro tira do outro lado o trabalho de descobrir depois — e é a diferença entre ser corrigido e ser desacreditado.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Se esse número der o contrário do que eu espero, a minha recomendação muda?&lt;/strong&gt; Se não muda, eu não estou medindo. Estou procurando munição.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Pontos altos do Pilar 3&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;Medir é reduzir incerteza, não eliminá-la — e reduzir já é suficiente para decidir melhor.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Fale em faixas de 90%. Ponto único é promessa disfarçada de análise, e ela vence com juros.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Declarar o que você não sabe aumenta, não diminui, o peso do que você sabe.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;&lt;strong&gt;Pilar 04: Classifique a decisão antes de pedir a decisão&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;Grande parte da fricção entre engenharia e gestão vem de um erro de enquadramento: tratamos decisões muito diferentes com o mesmo protocolo. Coisas triviais viram reunião de arquitetura; coisas irreversíveis são resolvidas numa thread de Slack de quinze minutos.&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Lição 4.1 → Porta de uma via ou porta de duas vias&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;A formulação mais útil que o mercado produziu sobre isso está na carta de acionistas da Amazon. Decisões Tipo 1 são portas de uma via: consequentes e irreversíveis ou quase, e devem ser tomadas com método, lentidão, deliberação e consulta. Decisões Tipo 2 são portas de duas vias: reversíveis, e podem — devem — ser tomadas rapidamente por indivíduos ou grupos pequenos.&lt;/p&gt;&lt;p&gt;O diagnóstico que acompanha a ideia é o que interessa: à medida que organizações crescem, elas tendem a aplicar o processo pesado de Tipo 1 à maioria das decisões, inclusive às de Tipo 2. O resultado é lentidão, aversão a risco irrefletida, experimentação insuficiente e, por consequência, menos invenção. &lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Aplicando ao nosso ofício, com a nuance honesta: em software, quase nada é porta de uma via de verdade, porque quase tudo pode ser mudado com trabalho suficiente. A pergunta prática não é “é reversível?”, e sim &lt;strong&gt;“é reversível a que custo?”&lt;/strong&gt;.&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;code&gt;PORTA DE UMA VIA (ou quase)          PORTA DE DUAS VIAS
─────────────────────────────        ─────────────────────────────
Modelo de dados do razão             Biblioteca de cliente HTTP
Chave de partição no DynamoDB        Estratégia de cache
Provedor de core banking             Formato de log
Contrato de API pública              Ferramenta de observabilidade
Esquema de chaves de idempotência    Framework de teste&lt;/code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;E aqui está o movimento que muda a reunião: &lt;strong&gt;declare a classificação antes de pedir a decisão&lt;/strong&gt;. “Essa é reversível, sugiro decidirmos hoje e revisarmos em 60 dias” devolve poder ao gestor e elimina o teatro de aprovação. “Essa é de uma via, custa aproximadamente X para reverter, e por isso trouxe três alternativas com as consequências de cada uma” comunica seriedade sem drama.&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Lição 4.2 → Instrumente a decisão: ADR, registro de dívida e pre-mortem&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Três ferramentas concretas que transformam conversa de corredor em evidência auditável.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://martinfowler.com/bliki/ArchitectureDecisionRecord.html&quot;&gt;ADR — Architecture Decision Record&lt;/a&gt;.&lt;/strong&gt; Formato proposto por &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions&quot;&gt;Michael Nygard&lt;/a&gt;: contexto, decisão, consequências. O campo que quase todo mundo esquece é o das alternativas descartadas e por quê. É esse campo que protege você da pergunta “por que ninguém pensou nisso?” dois anos depois, feita por alguém que não estava na sala. Um ADR de meia página é o registro mais barato de responsabilidade compartilhada que existe.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Registro de dívida técnica.&lt;/strong&gt; Kruchten, Nord e Ozkaya recomendam manter um registro explícito, com os itens de dívida armazenados nas mesmas ferramentas de trabalho do time e dentro de um único backlog. A lógica é simples e boa: dívida, assim como defeito e funcionalidade, representa trabalho a ser feito — então precisa ser visível e planejável, não viver numa planilha paralela que só engenheiro abre.&lt;/p&gt;&lt;p&gt;&lt;mark data-color=&quot;#ffff00&quot; style=&quot;background-color: rgb(255, 255, 0); color: rgb(0, 0, 0)&quot;&gt;Isso resolve, de quebra, o problema da Lição 1.2: quando a dívida deliberada é registrada no momento em que é contraída, cobrar o pagamento depois deixa de ser opinião e passa a ser conferência.&lt;/mark&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Pre-mortem.&lt;/strong&gt; Técnica de &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://www.researchgate.net/publication/3229642_Performing_a_Project_Premortem&quot;&gt;Gary Klein&lt;/a&gt;: reúna o time, declare que estamos um ano no futuro e o projeto fracassou, e peça a autópsia. Funciona porque inverte o incentivo social — em vez de precisar ter coragem para levantar um risco na frente do patrocinador, a pessoa é convidada a fazê-lo. Numa cultura em que ninguém quer ser o pessimista da sala, isso muda o que chega à mesa.&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Lição 4.3 → Saber perder é parte da técnica&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Você vai perder discussões. Vai apresentar a conta certa, com a faixa calibrada e o custo de atraso, e mesmo assim a decisão vai ser outra — por razões que talvez nem lhe contem, porque nem toda informação é sua para ter.&lt;/p&gt;&lt;p&gt;O complemento indispensável dos Tipos 1 e 2 é o &lt;strong&gt;disagree and commit&lt;/strong&gt;: seguir adiante mesmo sem consenso, especialmente quando a decisão é reversível e o custo de estar errado é baixo. Mas a prática exige duas coisas que costumam ser omitidas:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Registrar a discordância sem sabotar a execução.&lt;/strong&gt; Um parágrafo no ADR — “esta opção foi escolhida contra a recomendação da engenharia, pelas razões X; o risco identificado é Y; sugerimos revisar em Z” — é registro, não é passivo-agressividade. O que é passivo-agressivo é executar mal para provar o ponto.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Não cobrar a fatura depois.&lt;/strong&gt; Quando o risco se materializa, a tentação de dizer “eu avisei” é enorme e o retorno é zero. O profissional que ganha autoridade de verdade é o que aparece com a solução e deixa o registro falar sozinho — ele está lá, datado, e todo mundo sabe.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Perder bem é o que compra o direito de ser ouvido na próxima. E vai haver próxima.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Pense comigo — antes de marcar a reunião&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Essa porta é de uma via ou de duas — e reverter custa quanto?&lt;/strong&gt; Se for barata de reverter, talvez você não precise de aprovação nenhuma. Precise de um prazo para reavaliar.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Estou pedindo decisão ou pedindo cobertura?&lt;/strong&gt; São coisas diferentes, e misturá-las é o que faz reuniões de arquitetura durarem duas horas sem concluir nada.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Se isso der errado em um ano, qual será a explicação?&lt;/strong&gt; Faça o pre-mortem antes de a decisão sair, não depois do incidente.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Se eu perder essa, eu executo bem mesmo assim?&lt;/strong&gt; Se a resposta honesta for “não com vontade”, o problema deixou de ser técnico.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Pontos altos do Pilar 4&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;Diga se a porta é de uma via ou de duas antes de pedir aprovação — isso define o processo inteiro e devolve poder a quem decide.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Tratar decisão reversível como irreversível é a forma mais cara de parecer prudente.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;ADR, registro de dívida e pre-mortem convertem memória de corredor em evidência datada.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;&lt;strong&gt;Pilar 05: Construa crédito antes de precisar dele&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;Vamos ser explícitos sobre o que este pilar não é. Não é sobre puxar conversa no cafezinho, não é sobre virar amigo do diretor, não é sobre política de corredor. É sobre uma coisa só, e ela é mensurável: &lt;strong&gt;histórico de previsões cumpridas&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Há uma leitura incômoda que sustenta o pilar inteiro: dívida técnica não é, na origem, um problema técnico. Ela se manifesta como rigidez no sistema, mas é subproduto de problemas de processo e comunicação, com raiz na cultura da organização. Empresas muito siladas — onde engenharia, produto e design trabalham isolados — acumulam muito mais dívida, porque decisões de trade-off tomadas no código ficam a camadas de distância da necessidade real do cliente. Onde falta confiança, sobra dívida.&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Lição 5.1 → Um caso por interlocutor, não um caso genérico para todos&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Este é o erro mais caro e o mais fácil de corrigir. O mesmo problema técnico precisa de argumentos diferentes conforme quem está do outro lado:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;CFO / diretor financeiro&lt;/strong&gt; — risco financeiro quantificado, payback, custo evitado. Fale em principal, juros e prazo de retorno.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Diretor comercial / de receita&lt;/strong&gt; — churn, capacidade do time de vendas continuar vendendo, prazo de entrega prometido a cliente.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Produto&lt;/strong&gt; — proteção do roadmap. O argumento vencedor é: quantas entregas suas eu destravo, e quando.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Risco e compliance&lt;/strong&gt; — exposição regulatória, rastreabilidade, prazo de resposta a demanda de auditoria. Num banco, esse costuma ser o interlocutor mais poderoso e o menos procurado por engenheiros.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Apresentar um único caso genérico para todos ao mesmo tempo obriga cada pessoa a traduzir sozinha para a própria realidade — e o resultado quase sempre é decisão nenhuma. Não porque discordem, mas porque ninguém se sentiu diretamente endereçado.&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Lição 5.2 → Pense em campanha, não em reunião única — e volte com o número prometido&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;Ninguém aprova investimento estrutural na primeira exposição ao tema. Vale pensar como publicitário pensa: alcance e frequência. Quantas pessoas o argumento atinge, e quantas vezes.&lt;/p&gt;&lt;p&gt;Na prática, isso significa que o tema aparece em três ou quatro contextos antes de virar pedido formal — uma menção no relatório mensal, um dado no pós-mortem de um incidente, uma conversa de dez minutos com produto, um slide de contexto numa apresentação sobre outra coisa. Quando o pedido formal chega, ele não é novidade para ninguém. É a conclusão de algo que a organização já vinha percebendo.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;A parte que quase todo mundo pula&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Se você pediu aprovação prometendo “reduzir em 40% o tempo de resposta a incidente de liquidação”, volte em 90 dias com &lt;strong&gt;esse número exato&lt;/strong&gt;, na mesma linguagem, mesmo que ele tenha ficado em 22%.&lt;/p&gt;&lt;p&gt;Sem isso, a próxima proposta parte do zero — e a organização aprende que investimento em engenharia é um lugar para onde recursos vão e do qual nenhuma notícia volta. Ter entregado 22% e reportado honestamente constrói mais crédito do que ter entregado 40% e nunca ter contado.&lt;/p&gt;&lt;h3&gt;&lt;strong&gt;Lição 5.3 → Não use medo como alavanca — e reconheça que parte da desconfiança é merecida&lt;/strong&gt;&lt;/h3&gt;&lt;p&gt;O apelo catastrofista funciona uma vez. “Se não fizermos isso, o sistema vai cair” produz atenção imediata na primeira ocorrência. Na segunda, você é o engenheiro que grita lobo. Na terceira, o risco real que você trouxer vai ser descontado exatamente como os anteriores — e o custo desse desconto não é seu, é da empresa.&lt;/p&gt;&lt;p&gt;Existe uma versão mais honesta e mais eficaz: apresentar probabilidade e consequência separadas. “A chance de isso causar indisponibilidade no próximo semestre é baixa, algo entre 10% e 20%. Mas, se acontecer durante fechamento, o impacto é alto e não temos plano de contingência.” Isso é informação. O outro é chantagem emocional com sotaque técnico.&lt;/p&gt;&lt;p&gt;E cabe uma dose de honestidade coletiva para fechar o pilar. Parte da resistência que encontramos não é preconceito contra tecnologia — é histórico. Nós já pedimos reescrita completa que não entregou nada. Já chamamos preferência de arquiteto de necessidade de negócio. Já estimamos três meses para algo que levou onze e nunca voltamos para explicar por quê. Se formos honestos, temos uma parcela real de responsabilidade pela dificuldade que temos hoje em ser levados a sério.&lt;/p&gt;&lt;p&gt;A boa notícia é que crédito se reconstrói exatamente do mesmo jeito que se perde: uma previsão por vez.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;Pense comigo — antes de pedir qualquer coisa&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Qual foi a última previsão que eu fiz para essa pessoa, e ela se cumpriu?&lt;/strong&gt; Se você não lembra, ela lembra. Essa é a sua linha de crédito.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Estou falando com o interlocutor certo, na moeda dele?&lt;/strong&gt; Em banco, risco e compliance frequentemente têm mais poder de destravar orçamento do que tecnologia — e quase nunca são procurados.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Esta é a primeira vez que essa pessoa ouve falar disso?&lt;/strong&gt; Se for, o pedido é prematuro. Primeiro o tema precisa existir; depois ele vira decisão.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Estou usando risco como informação ou como pressão?&lt;/strong&gt; Se a frase precisa de tom dramático para funcionar, o número por trás dela provavelmente é fraco.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;&lt;strong&gt;&lt;span&gt;Pontos altos do Pilar 5&lt;/span&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;Credibilidade é ativo acumulado, não argumento apresentado. Ela se constrói muito antes da reunião em que você vai precisar dela.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Um caso por interlocutor. O caso genérico obriga cada um a traduzir sozinho, e o resultado é decisão nenhuma.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Voltar com o número prometido — mesmo quando ele decepciona — vale mais do que superar a meta em silêncio.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;&lt;strong&gt;O que muda na segunda-feira&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;Os cinco pilares não são cinco assuntos. São uma sequência única, e ela cabe em cinco perguntas feitas na ordem certa, antes de abrir qualquer slide:&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;A linha de raciocínio, em cinco perguntas&lt;/strong&gt;&lt;/h4&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;O que é essa dívida, na definição precisa?&lt;/strong&gt; Distância entre o sistema e o entendimento atual do domínio — não estética. E em que quadrante ela está.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Qual é o principal e quais são os juros, em reais e por período?&lt;/strong&gt; Incluindo o custo de atraso das iniciativas que ela trava.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Qual é a minha faixa de 90%, e o que eu explicitamente não sei?&lt;/strong&gt; Ponto único é promessa; faixa é análise.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Essa porta é de uma via ou de duas, e reverter custa quanto?&lt;/strong&gt; Isso define quem decide e com que velocidade.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Eu tenho crédito para pedir isso — e vou voltar com qual número, em quanto tempo?&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Repare no que essas perguntas têm em comum: nenhuma delas é sobre convencer. Todas são sobre &lt;strong&gt;fazer o trabalho de análise antes de ocupar o tempo de outra pessoa&lt;/strong&gt;. A persuasão, quando aparece, é consequência — não método.&lt;/p&gt;&lt;p&gt;E vale terminar situando isso no momento que estamos vivendo. Se a IA de fato funciona como amplificador — acelerando quem tem fundamento e multiplicando o caos de quem não tem —, então a capacidade de traduzir risco técnico em decisão de negócio deixou de ser um diferencial de senioridade. Virou requisito. Times vão produzir código mais rápido do que a organização consegue avaliar, e a pessoa capaz de dizer, com número e com faixa de confiança, &lt;em&gt;onde vale a pena desacelerar&lt;/em&gt;, passa a ser a mais valiosa da sala.&lt;/p&gt;&lt;p&gt;Quem só souber descrever o problema em termos de engenharia vai continuar tendo o pedido arquivado. Só que agora mais rápido.&lt;/p&gt;&lt;p&gt;A boa notícia — e é uma notícia boa de verdade — é que nada aqui exige talento especial. Exige uma planilha, uma conversa de minutos com quem entende do negócio, e a disciplina de voltar em noventa dias com o resultado. É trabalho, não dom.&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;Para ir além&lt;/strong&gt;&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Kruchten, Nord &amp;amp; Ozkaya&lt;/strong&gt; — &lt;em&gt;Managing Technical Debt: Reducing Friction in Software Development&lt;/em&gt; (SEI Series, 2019). A referência definitiva sobre principal, juros e registro de dívida.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Donald Reinertsen&lt;/strong&gt; — &lt;em&gt;The Principles of Product Development Flow&lt;/em&gt; (2009). Custo de atraso e CD3.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Douglas Hubbard&lt;/strong&gt; — &lt;em&gt;How to Measure Anything&lt;/em&gt;. Decomposição, intervalos calibrados e valor da informação.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Forsgren, Humble &amp;amp; Kim&lt;/strong&gt; — &lt;em&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://ciandt.com/br/pt-br/article/4-key-metrics-quatro-metricas-chave-em-eficiencia-digital&quot;&gt;Accelerate&lt;/a&gt;&lt;/em&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://ciandt.com/br/pt-br/article/4-key-metrics-quatro-metricas-chave-em-eficiencia-digital&quot;&gt;. As quatro métricas e a evidência empírica por trás delas.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Kim, Behr &amp;amp; Spafford&lt;/strong&gt; — &lt;em&gt;The Phoenix Project&lt;/em&gt;. Romance sobre um líder de TI que aprende justamente a traduzir problema de tecnologia em termo de negócio. Boa porta de entrada.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Michael Feathers&lt;/strong&gt; — &lt;em&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://michaelfeathers.silvrback.com/toward-a-galvanizing-definition-of-technical-debt&quot;&gt;Toward a Galvanizing Definition of Technical Debt&lt;/a&gt;&lt;/em&gt;&lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://michaelfeathers.silvrback.com/toward-a-galvanizing-definition-of-technical-debt&quot;&gt; (ensaio). A definição que salva a metáfora.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Martin Fowler&lt;/strong&gt; — &lt;em&gt;TechnicalDebtQuadrant&lt;/em&gt; (bliki) e &lt;strong&gt;Steve McConnell&lt;/strong&gt; — &lt;em&gt;Managing Technical Debt&lt;/em&gt; (IEEE Software, 2007).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Relatórios&lt;/strong&gt; — &lt;a target=&quot;_blank&quot; rel=&quot;noopener&quot; href=&quot;https://www.mckinsey.com/capabilities/tech-and-ai/our-insights/tech-debt-reclaiming-tech-equity&quot;&gt;DORA 2025 (State of AI-assisted Software Development), CISQ 2022 (Cost of Poor Software Quality), McKinsey (Tech debt: Reclaiming tech equity).&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;clear: both&quot;&gt;&lt;/p&gt;&lt;p data-bqr-info=&quot;attachment&quot;&gt;&lt;img class=&quot;bqrUnknownImgSize&quot; src=&quot;https://substack-post-media.s3.amazonaws.com/public/images/fa6c63c6-2a5f-4784-86aa-fc72b5d7bab3_6000x4000.jpeg&quot;&gt;&lt;/p&gt;</summary><author><name>Rafael Miguel</name></author><source gr:stream-id="feed/https://chroniclesofapragmaticprogrammer.substack.com/feed"><id>tag:google.com,2005:reader/feed/https://chroniclesofapragmaticprogrammer.substack.com/feed</id><title type="html">Chronicles of a Pragmatic Programmer</title><link rel="alternate" href="https://chroniclesofapragmaticprogrammer.substack.com" type="text/html"></link></source></entry></feed>