<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Coder Spikes]]></title><description><![CDATA[Paul's ideas and opinions on practices-oriented leadership and learning in software development. Tailored for those who are curious and optimistic about reflection, challenging norms, and continuous improvement.]]></description><link>https://spikes.sobes.co</link><image><url>https://substackcdn.com/image/fetch/$s_!dl_q!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce5abbb-fbf2-47be-aeb4-1a000b28e080_512x512.png</url><title>Coder Spikes</title><link>https://spikes.sobes.co</link></image><generator>Substack</generator><lastBuildDate>Mon, 20 Apr 2026 19:06:19 GMT</lastBuildDate><atom:link href="https://spikes.sobes.co/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Paul Sobocinski]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[spikes@sobes.co]]></webMaster><itunes:owner><itunes:email><![CDATA[spikes@sobes.co]]></itunes:email><itunes:name><![CDATA[Paul Sobocinski]]></itunes:name></itunes:owner><itunes:author><![CDATA[Paul Sobocinski]]></itunes:author><googleplay:owner><![CDATA[spikes@sobes.co]]></googleplay:owner><googleplay:email><![CDATA[spikes@sobes.co]]></googleplay:email><googleplay:author><![CDATA[Paul Sobocinski]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The Consultant and her LLM]]></title><description><![CDATA[A short story co-written with ChatGPT 4 and illustrated with Midjourney]]></description><link>https://spikes.sobes.co/p/the-consultant-and-her-llm</link><guid isPermaLink="false">https://spikes.sobes.co/p/the-consultant-and-her-llm</guid><dc:creator><![CDATA[Paul Sobocinski]]></dc:creator><pubDate>Mon, 28 Aug 2023 10:01:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb91d06a7-acdc-4579-8cfc-03d7fcf321fc_1024x646.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Once in a cutting-edge software product company filled with talented professionals, a skilled consultant arrived with a groundbreaking LLM (Large Language Model). Though the company was filled with experts, the teams were quite compartmentalized and reluctant to collaborate on projects.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uFCh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb91d06a7-acdc-4579-8cfc-03d7fcf321fc_1024x646.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uFCh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb91d06a7-acdc-4579-8cfc-03d7fcf321fc_1024x646.png 424w, https://substackcdn.com/image/fetch/$s_!uFCh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb91d06a7-acdc-4579-8cfc-03d7fcf321fc_1024x646.png 848w, https://substackcdn.com/image/fetch/$s_!uFCh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb91d06a7-acdc-4579-8cfc-03d7fcf321fc_1024x646.png 1272w, https://substackcdn.com/image/fetch/$s_!uFCh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb91d06a7-acdc-4579-8cfc-03d7fcf321fc_1024x646.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uFCh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb91d06a7-acdc-4579-8cfc-03d7fcf321fc_1024x646.png" width="1024" height="646" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b91d06a7-acdc-4579-8cfc-03d7fcf321fc_1024x646.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:646,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1225594,&quot;alt&quot;:&quot;A woman walks into a futuristic office carrying a tablet computer. A number of people are working on computers in small groups in rooms separated by glass walls.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A woman walks into a futuristic office carrying a tablet computer. A number of people are working on computers in small groups in rooms separated by glass walls." title="A woman walks into a futuristic office carrying a tablet computer. A number of people are working on computers in small groups in rooms separated by glass walls." srcset="https://substackcdn.com/image/fetch/$s_!uFCh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb91d06a7-acdc-4579-8cfc-03d7fcf321fc_1024x646.png 424w, https://substackcdn.com/image/fetch/$s_!uFCh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb91d06a7-acdc-4579-8cfc-03d7fcf321fc_1024x646.png 848w, https://substackcdn.com/image/fetch/$s_!uFCh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb91d06a7-acdc-4579-8cfc-03d7fcf321fc_1024x646.png 1272w, https://substackcdn.com/image/fetch/$s_!uFCh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb91d06a7-acdc-4579-8cfc-03d7fcf321fc_1024x646.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Consultant arrives at the cutting-edge software product company</figcaption></figure></div><p>The consultant set up in a central conference room, connecting her LLM model to a network of computers. Curiosity piqued, a software engineer asked what she was doing.</p><p>"I'm working on a unique LLM model," the consultant explained, her eyes twinkling. "It has incredible potential, but it could use some fine-tuning from different areas of expertise within this company."</p><p>Intrigued, the software engineer offered some insights from his coding experience. The consultant gratefully accepted, and together they worked on the model.</p><div><hr></div><p>Word spread quickly, and others came to see what was happening. Each time, the consultant explained the potential of the LLM and how it could benefit from various contributions. A product manager provided strategic direction, a UX designer offered insights into user interaction, a data scientist shared statistical models, and a quality assurance specialist helped with testing protocols.</p><p>As they worked together, the model evolved into something extraordinary. It was no longer just an LLM model; it became a symbol of interdisciplinary collaboration within the company, yielding results no one could have achieved in isolation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mTks!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F029e4883-e3eb-43cb-ba92-c828dbe5d1ec_1024x672.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mTks!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F029e4883-e3eb-43cb-ba92-c828dbe5d1ec_1024x672.png 424w, https://substackcdn.com/image/fetch/$s_!mTks!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F029e4883-e3eb-43cb-ba92-c828dbe5d1ec_1024x672.png 848w, https://substackcdn.com/image/fetch/$s_!mTks!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F029e4883-e3eb-43cb-ba92-c828dbe5d1ec_1024x672.png 1272w, https://substackcdn.com/image/fetch/$s_!mTks!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F029e4883-e3eb-43cb-ba92-c828dbe5d1ec_1024x672.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mTks!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F029e4883-e3eb-43cb-ba92-c828dbe5d1ec_1024x672.png" width="1024" height="672" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/029e4883-e3eb-43cb-ba92-c828dbe5d1ec_1024x672.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:672,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1489324,&quot;alt&quot;:&quot;People collaborating around a futuristic-looking mainframe computer.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="People collaborating around a futuristic-looking mainframe computer." title="People collaborating around a futuristic-looking mainframe computer." srcset="https://substackcdn.com/image/fetch/$s_!mTks!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F029e4883-e3eb-43cb-ba92-c828dbe5d1ec_1024x672.png 424w, https://substackcdn.com/image/fetch/$s_!mTks!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F029e4883-e3eb-43cb-ba92-c828dbe5d1ec_1024x672.png 848w, https://substackcdn.com/image/fetch/$s_!mTks!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F029e4883-e3eb-43cb-ba92-c828dbe5d1ec_1024x672.png 1272w, https://substackcdn.com/image/fetch/$s_!mTks!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F029e4883-e3eb-43cb-ba92-c828dbe5d1ec_1024x672.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Employees collaborate around the new LLM model</figcaption></figure></div><p>Finally, the LLM was complete, a state-of-the-art tool that revolutionized many aspects of the product. The company was astonished to see what they had created together from a simple idea and their collective expertise.</p><p>As the consultant completed her engagement, she left behind not just a technological marvel but a company transformed by the spirit of collaboration and innovation.</p><div><hr></div><p><em><strong>Tell me what you thought of the story in the comments below! </strong></em>&#128071;&#128071;&#128071;</p>]]></content:encoded></item><item><title><![CDATA[This is different.]]></title><description><![CDATA[That's what many are saying about the latest advancements in AI, seeing more substance than in previous hyped technologies like AR/VR and cryptocurrency/blockchain. But is it different?]]></description><link>https://spikes.sobes.co/p/antikythera-iterations</link><guid isPermaLink="false">https://spikes.sobes.co/p/antikythera-iterations</guid><dc:creator><![CDATA[Paul Sobocinski]]></dc:creator><pubDate>Tue, 22 Aug 2023 10:01:51 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7a764c49-98fb-4805-adda-90417aba5996_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>That's what many are saying about the latest advancements in AI, seeing more substance than in other hyped technologies like AR/VR and cryptocurrency/blockchain that (arguably) have failed to materialize real world use cases.</p><p><strong>But is it different?</strong> To cut through the noise, I decided to try it out for myself, with a focus on AI co-creation.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L6w3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4d8042-601a-4324-b24a-af33224aeb99_2500x416.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L6w3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4d8042-601a-4324-b24a-af33224aeb99_2500x416.png 424w, https://substackcdn.com/image/fetch/$s_!L6w3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4d8042-601a-4324-b24a-af33224aeb99_2500x416.png 848w, https://substackcdn.com/image/fetch/$s_!L6w3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4d8042-601a-4324-b24a-af33224aeb99_2500x416.png 1272w, https://substackcdn.com/image/fetch/$s_!L6w3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4d8042-601a-4324-b24a-af33224aeb99_2500x416.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L6w3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4d8042-601a-4324-b24a-af33224aeb99_2500x416.png" width="1456" height="242" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ce4d8042-601a-4324-b24a-af33224aeb99_2500x416.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:242,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:541308,&quot;alt&quot;:&quot;Six 4x4 grids generated by MidJourney of suggested logos for this blog. Prompt: a simple logo of two lettermarks, an uppercase A and a lowercase i, with the letter i superimposed on top of the letter A, creating the shape of a rocket. Screen-print, flat, vector. No realistic photo details.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Six 4x4 grids generated by MidJourney of suggested logos for this blog. Prompt: a simple logo of two lettermarks, an uppercase A and a lowercase i, with the letter i superimposed on top of the letter A, creating the shape of a rocket. Screen-print, flat, vector. No realistic photo details." title="Six 4x4 grids generated by MidJourney of suggested logos for this blog. Prompt: a simple logo of two lettermarks, an uppercase A and a lowercase i, with the letter i superimposed on top of the letter A, creating the shape of a rocket. Screen-print, flat, vector. No realistic photo details." srcset="https://substackcdn.com/image/fetch/$s_!L6w3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4d8042-601a-4324-b24a-af33224aeb99_2500x416.png 424w, https://substackcdn.com/image/fetch/$s_!L6w3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4d8042-601a-4324-b24a-af33224aeb99_2500x416.png 848w, https://substackcdn.com/image/fetch/$s_!L6w3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4d8042-601a-4324-b24a-af33224aeb99_2500x416.png 1272w, https://substackcdn.com/image/fetch/$s_!L6w3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4d8042-601a-4324-b24a-af33224aeb99_2500x416.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">Iterating on the new blog&#8217;s logo using Midjourney</figcaption></figure></div><p><strong><a href="https://spikes.sobes.co/s/antikythera-iterations">Antikythera Iterations</a></strong> is a new section on Coder Spikes for sharing these experiences with you. It's about sharing the creative output as well as the path I take to get there, and my thoughts on the process. The priority, however,&nbsp;is to share and get feedback on the creation itself.</p><p>Why? If the creation doesn&#8217;t resonate with you, then it doesn&#8217;t matter how I got there or what I have to say about it.</p><p>So let&#8217;s see where this takes us, shall we?</p><div><hr></div><p><em><strong>Share your thoughts in the comments below! </strong></em>&#128071;&#128071;&#128071;</p>]]></content:encoded></item><item><title><![CDATA[Planning for Toronto's Global Day of Coderetreat 2022]]></title><description><![CDATA[How we scaled coderetreat to 40+ participants]]></description><link>https://spikes.sobes.co/p/scaling-global-day-of-coderetreat-toronto</link><guid isPermaLink="false">https://spikes.sobes.co/p/scaling-global-day-of-coderetreat-toronto</guid><dc:creator><![CDATA[Paul Sobocinski]]></dc:creator><pubDate>Mon, 05 Dec 2022 11:01:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a30f427-feb5-435d-aaa7-b036a5acc905_1920x1080.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>This post was <a href="https://connected.io/post/global-day-of-coderetreat-toronto-2022/">originally published</a> on the Connected blog.</em></p><p>Earlier this month, we hosted Global Day of Coderetreat (GDCR) at our Toronto office. After a three-year hiatus from hosting, we wanted to re-awaken some of the community enthusiasm we witnessed when we hosted here for the first time in 2019. Consequently, we planned for a larger event this year. I&#8217;m thrilled to say that we nearly doubled our attendee count, going from 27 in 2019 to 45 this year.</p><p>In this article, I&#8217;ll cover how we scaled the workshop from one that typically involves under 20 participants to one that can handle three times that number. I hope that this will give you some ideas about hosting coderetreats in your tech communities, especially if you are concerned about the happy problem of a large turnout!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JEwi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6fe48897-1c72-471f-896e-1b307bdc13a6_1920x728.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JEwi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6fe48897-1c72-471f-896e-1b307bdc13a6_1920x728.png 424w, https://substackcdn.com/image/fetch/$s_!JEwi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6fe48897-1c72-471f-896e-1b307bdc13a6_1920x728.png 848w, https://substackcdn.com/image/fetch/$s_!JEwi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6fe48897-1c72-471f-896e-1b307bdc13a6_1920x728.png 1272w, https://substackcdn.com/image/fetch/$s_!JEwi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6fe48897-1c72-471f-896e-1b307bdc13a6_1920x728.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JEwi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6fe48897-1c72-471f-896e-1b307bdc13a6_1920x728.png" width="1456" height="552" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/6fe48897-1c72-471f-896e-1b307bdc13a6_1920x728.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:552,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2521582,&quot;alt&quot;:&quot;Workshop attendees at tables in pairs, working through worksheets. Projector displays, \&quot;explore the problem\&quot; with the four rules of Conway's Game of Life.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Workshop attendees at tables in pairs, working through worksheets. Projector displays, &quot;explore the problem&quot; with the four rules of Conway's Game of Life." title="Workshop attendees at tables in pairs, working through worksheets. Projector displays, &quot;explore the problem&quot; with the four rules of Conway's Game of Life." srcset="https://substackcdn.com/image/fetch/$s_!JEwi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6fe48897-1c72-471f-896e-1b307bdc13a6_1920x728.png 424w, https://substackcdn.com/image/fetch/$s_!JEwi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6fe48897-1c72-471f-896e-1b307bdc13a6_1920x728.png 848w, https://substackcdn.com/image/fetch/$s_!JEwi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6fe48897-1c72-471f-896e-1b307bdc13a6_1920x728.png 1272w, https://substackcdn.com/image/fetch/$s_!JEwi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6fe48897-1c72-471f-896e-1b307bdc13a6_1920x728.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Toronto&#8217;s Global Day of Coderetreat 2022: kicking off the first session of the day.</figcaption></figure></div><div><hr></div><h2>Partner with a passionate co-organizer</h2><p><em><strong>Four months</strong> out</em></p><p>Before you go down the path of planning Global Day of Coderetreat, I recommend partnering with someone who shares your enthusiasm for the event and its underlying purpose (to nurture software development skills in your community). This way, if you have weeks where you&#8217;re bogged down with competing responsibilities, you&#8217;ll have a partner to keep the event-planning momentum going.</p><p>It&#8217;s also important to establish a shared understanding with your co-organizer on how decisions on the event are reached. Will you both agree on everything together, will one of you get the final say, or will it depend on what you&#8217;re deciding on? Once you&#8217;ve established this with your co-organizer, the two of you will need to decide how you intend to leverage the broader set of event volunteers, including the facilitators who will be instrumental in the event&#8217;s success. For example, when planning this year&#8217;s event, my co-organizer and I consulted heavily with the facilitators on the workshop programming.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Iky7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a30f427-feb5-435d-aaa7-b036a5acc905_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Iky7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a30f427-feb5-435d-aaa7-b036a5acc905_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Iky7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a30f427-feb5-435d-aaa7-b036a5acc905_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Iky7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a30f427-feb5-435d-aaa7-b036a5acc905_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Iky7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a30f427-feb5-435d-aaa7-b036a5acc905_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Iky7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a30f427-feb5-435d-aaa7-b036a5acc905_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/1a30f427-feb5-435d-aaa7-b036a5acc905_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:408353,&quot;alt&quot;:&quot;Kieran Murphy and workshop participants stand in a circle while Kieran facilitates a short retrospective.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Kieran Murphy and workshop participants stand in a circle while Kieran facilitates a short retrospective." title="Kieran Murphy and workshop participants stand in a circle while Kieran facilitates a short retrospective." srcset="https://substackcdn.com/image/fetch/$s_!Iky7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a30f427-feb5-435d-aaa7-b036a5acc905_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Iky7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a30f427-feb5-435d-aaa7-b036a5acc905_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Iky7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a30f427-feb5-435d-aaa7-b036a5acc905_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Iky7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a30f427-feb5-435d-aaa7-b036a5acc905_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">As co-organizer, Kieran Murphy was a tremendous help to me and was key in making the event the success.</figcaption></figure></div><div><hr></div><h2>Delegate event planning unrelated to workshop programming to an independent volunteer team</h2><p><em><strong>Three-and-a-half months</strong> out</em></p><p>Having said that, it&#8217;s important that you make the best use of every volunteer&#8217;s time. For us, that meant only consulting with the facilitators on workshop programming, while non-specific event planning decisions, such as catering, were largely delegated to an independent volunteering team. Everyone was informed on what was being decided, however. This way, anyone could chime in on any proposal before it was committed to.</p><p>For example, coderetreat has a &#8220;no pizza rule.&#8221; This is something that may not be known by all volunteers, especially those new to organizing one, so it&#8217;s important that all key decisions are visible to both the facilitators and volunteers. In particular, this includes the dates when these decisions need to be &#8220;locked in&#8221; so everyone understands what can and can&#8217;t be changed.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Cwt_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa6a93d-d23f-45c8-93fa-841b6c35ff4b_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Cwt_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa6a93d-d23f-45c8-93fa-841b6c35ff4b_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Cwt_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa6a93d-d23f-45c8-93fa-841b6c35ff4b_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Cwt_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa6a93d-d23f-45c8-93fa-841b6c35ff4b_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Cwt_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa6a93d-d23f-45c8-93fa-841b6c35ff4b_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Cwt_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa6a93d-d23f-45c8-93fa-841b6c35ff4b_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/daa6a93d-d23f-45c8-93fa-841b6c35ff4b_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:496818,&quot;alt&quot;:&quot;Coderetreat volunteering team conduct raffle draw and give away prizes (books and T-shirts).&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Coderetreat volunteering team conduct raffle draw and give away prizes (books and T-shirts)." title="Coderetreat volunteering team conduct raffle draw and give away prizes (books and T-shirts)." srcset="https://substackcdn.com/image/fetch/$s_!Cwt_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa6a93d-d23f-45c8-93fa-841b6c35ff4b_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Cwt_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa6a93d-d23f-45c8-93fa-841b6c35ff4b_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Cwt_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa6a93d-d23f-45c8-93fa-841b6c35ff4b_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Cwt_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa6a93d-d23f-45c8-93fa-841b6c35ff4b_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Special thanks to the volunteering team for ensuring the smooth and successful execution of the event!</figcaption></figure></div><div><hr></div><h2>Send out a call for facilitators</h2><p><em><strong>Three months</strong> out</em></p><p>As with any event, the success of coderetreat hinges on its attendees. Further, as a technical workshop, the quality of the experience is directly related to the number of qualified facilitators one can secure for the event. Therefore, the first action we took was to send out a &#8220;call for facilitators&#8221;. Even before creating a registration form for the event, we called on our personal, closed and public networks for people interested in facilitating it. These included:</p><ol><li><p>Past colleagues that we worked with and facilitated past coderetreats</p></li><li><p>The online software crafters community, and</p></li><li><p>Social media (predominantly LinkedIn and Twitter)</p></li></ol><p>Concretely, we asked people to fill out a form which collected the following information:</p><ol><li><p>Interest in facilitating (or, failing that, interest in participating)</p></li><li><p>Preferred event dates (GDCR can be hosted on either a Friday or a Saturday, so we set a date that would allow for the highest number of facilitators to attend)</p></li><li><p>Preferred hosting method (in-person or virtual)</p></li><li><p>Past facilitator experience</p></li><li><p>Their email address for follow-ups</p></li></ol><p>We followed up with everyone interested. While it&#8217;s theoretically impossible to have too many facilitators, we wanted to ensure they were sufficiently experienced in coderetreat. A common recommendation is to consider a facilitator sufficiently experienced if they have attended at least one coderetreat. Fortunately, we had a level of interest which allowed us to set this as the baseline.</p><p>Once we had a sense of how many facilitators we&#8217;d have for the workshop, we could decide the number of participants, as well as how to structure the workshop activities to best leverage the facilitators&#8217; expertise.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eicf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc049da5b-2809-46ac-a47a-9e63f838c274_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eicf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc049da5b-2809-46ac-a47a-9e63f838c274_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!eicf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc049da5b-2809-46ac-a47a-9e63f838c274_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!eicf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc049da5b-2809-46ac-a47a-9e63f838c274_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!eicf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc049da5b-2809-46ac-a47a-9e63f838c274_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eicf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc049da5b-2809-46ac-a47a-9e63f838c274_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/c049da5b-2809-46ac-a47a-9e63f838c274_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:557556,&quot;alt&quot;:&quot;Coderetreat facilitators wearing branded blue T-shirts sit around a table, posing for a photo.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Coderetreat facilitators wearing branded blue T-shirts sit around a table, posing for a photo." title="Coderetreat facilitators wearing branded blue T-shirts sit around a table, posing for a photo." srcset="https://substackcdn.com/image/fetch/$s_!eicf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc049da5b-2809-46ac-a47a-9e63f838c274_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!eicf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc049da5b-2809-46ac-a47a-9e63f838c274_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!eicf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc049da5b-2809-46ac-a47a-9e63f838c274_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!eicf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc049da5b-2809-46ac-a47a-9e63f838c274_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Our rockstar facilitators made sure everyone stayed engaged and in &#8220;learning mode&#8221; for the entire day.</figcaption></figure></div><div><hr></div><h2>Differentiate the event and target optimal participants</h2><p><em><strong>Two-and-a-half months</strong> out</em></p><p>We are still seeing the societal impact of the COVID-19 pandemic. In particular, in-person events in tech are far less popular and common than they used to be. Consequently, much of the interest, attention, and discussion online is around online events. In fact, it&#8217;s common for people to assume your event is online unless you explicitly specify that it&#8217;s happening in person.</p><p>This reduced demand for in-person events does come with a silver lining: there is a corresponding reduced supply. This means that it&#8217;s easier to differentiate your event from others, and getting the word out can be comparatively easier. In our case, we were the only in-person coderetreat in Canada that day, and there were only a couple of other tech events happening in Toronto that month.</p><p>Nonetheless, getting attendees for an in-person event on a weekend is no easy task. We thought about ideal personas to target for a day-long, hands-on coding workshop. Who would be willing, even eager, to give up their Saturday for such an event? After considering this, we targeted recent bootcamp grads and university students. Once we got in touch with the relevant individuals and had a chance to discuss it with them over a video call, they then reached out via their internal networks to promote the event for us. This strategy helped us boost in-person attendance by about 20%!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l15W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6f5807ae-e7ef-4cdf-a30d-20068c2f1d31_1920x1110.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l15W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6f5807ae-e7ef-4cdf-a30d-20068c2f1d31_1920x1110.png 424w, https://substackcdn.com/image/fetch/$s_!l15W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6f5807ae-e7ef-4cdf-a30d-20068c2f1d31_1920x1110.png 848w, https://substackcdn.com/image/fetch/$s_!l15W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6f5807ae-e7ef-4cdf-a30d-20068c2f1d31_1920x1110.png 1272w, https://substackcdn.com/image/fetch/$s_!l15W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6f5807ae-e7ef-4cdf-a30d-20068c2f1d31_1920x1110.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l15W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6f5807ae-e7ef-4cdf-a30d-20068c2f1d31_1920x1110.png" width="1456" height="842" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/6f5807ae-e7ef-4cdf-a30d-20068c2f1d31_1920x1110.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:842,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3582214,&quot;alt&quot;:&quot;Coderetreat participants sit at tables with their laptops while following along with presenter (Kieran) as he sets up a ew practice on cyber-dojo.org.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Coderetreat participants sit at tables with their laptops while following along with presenter (Kieran) as he sets up a ew practice on cyber-dojo.org." title="Coderetreat participants sit at tables with their laptops while following along with presenter (Kieran) as he sets up a ew practice on cyber-dojo.org." srcset="https://substackcdn.com/image/fetch/$s_!l15W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6f5807ae-e7ef-4cdf-a30d-20068c2f1d31_1920x1110.png 424w, https://substackcdn.com/image/fetch/$s_!l15W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6f5807ae-e7ef-4cdf-a30d-20068c2f1d31_1920x1110.png 848w, https://substackcdn.com/image/fetch/$s_!l15W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6f5807ae-e7ef-4cdf-a30d-20068c2f1d31_1920x1110.png 1272w, https://substackcdn.com/image/fetch/$s_!l15W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6f5807ae-e7ef-4cdf-a30d-20068c2f1d31_1920x1110.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A coderetreat differs greatly from a typical &#8220;tech event&#8221;. Use this as an opportunity to market the unique opportunity to suitable potential attendees.</figcaption></figure></div><div><hr></div><h2>Intermittently remind both the registrants and the public about the event</h2><p><em><strong>Two months</strong> out</em></p><p>Here&#8217;s a truism worth stating: the most likely people to attend your event are those who have already registered for it!</p><p>Therefore we reached out periodically to our registrants via email, suggesting that they tell their friends and sharing reading material with them to get them familiar with and excited about the event. As a bonus, this reminded them about the event, which prevented them from making conflicting plans accidentally.</p><p>We were also very lucky to have highly supportive event organizers at our company who shared the event internally and encouraged everyone at the company to promote the event on social media. By far, LinkedIn helped drive most of our attendees, so this was a critical piece of our promotion strategy.</p><div><hr></div><h2>Begin planning the workshop programming</h2><p><em><strong>One month</strong> out</em></p><p>We began planning the workshop programming only one month out from the event. We were tempted to begin planning this earlier. Waiting, however, meant that we had a much clearer idea of the number of attendees to expect. This allowed us to plan session activities that worked well for the anticipated size of the event. It also meant that the programming stayed fresh in the facilitators&#8217; minds as they were looped in on it only a few weeks before the event itself.</p><p>There is ample precedent around how to organize a day-long in-person coderetreat. A default structure as well as common activities, can all be found on <a href="https://www.coderetreat.org/">coderetreat.org</a>&#8217;s <a href="https://www.coderetreat.org/facilitators/facilitation/">Facilitation Guide</a>. If you&#8217;ve never organized a coderetreat before, there is plenty of support via that resource, as well as the complementary <a href="https://slack.softwarecrafters.org/">Software Crafters Slack community</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l3ka!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0741f8f3-b5c4-4c3e-9f8c-1d2926f084ea_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l3ka!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0741f8f3-b5c4-4c3e-9f8c-1d2926f084ea_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!l3ka!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0741f8f3-b5c4-4c3e-9f8c-1d2926f084ea_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!l3ka!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0741f8f3-b5c4-4c3e-9f8c-1d2926f084ea_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!l3ka!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0741f8f3-b5c4-4c3e-9f8c-1d2926f084ea_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l3ka!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0741f8f3-b5c4-4c3e-9f8c-1d2926f084ea_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/0741f8f3-b5c4-4c3e-9f8c-1d2926f084ea_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:572586,&quot;alt&quot;:&quot;Close-up of coderetreat participant working through the four rules of Conway's Game of Life using a worksheet handout and grid paper.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Close-up of coderetreat participant working through the four rules of Conway's Game of Life using a worksheet handout and grid paper." title="Close-up of coderetreat participant working through the four rules of Conway's Game of Life using a worksheet handout and grid paper." srcset="https://substackcdn.com/image/fetch/$s_!l3ka!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0741f8f3-b5c4-4c3e-9f8c-1d2926f084ea_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!l3ka!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0741f8f3-b5c4-4c3e-9f8c-1d2926f084ea_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!l3ka!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0741f8f3-b5c4-4c3e-9f8c-1d2926f084ea_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!l3ka!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0741f8f3-b5c4-4c3e-9f8c-1d2926f084ea_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">As coderetreat is already a well-defined &#8220;container&#8221; (or workshop template), minimal workshop-specific planning is needed up-front.</figcaption></figure></div><div><hr></div><h2>Conduct an on-location dry-run of the event</h2><p><em><strong>One week</strong> out</em></p><p>A dry-run or dress rehearsal of the event is absolutely critical. Try as we might, there is no way to visualize everything that can go wrong ahead of time. And in truth, a dry-run doesn&#8217;t guarantee this either. It does drastically reduce the number of things that can go wrong, however.</p><p>In our case, we conducted a dry-run the day before the event. We could do so as we were already quite familiar with the event space (it being our office, after all). Some aspects that came up included seating position relative to the projector screen, slide size, and anticipating how traffic will flow over the course of the day. It also gave the facilitators a chance to gain a much more concrete feel of what to expect on the event day.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LJ_X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1496d5bf-3003-4008-bb0f-b07ba692fe03_2048x1536.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LJ_X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1496d5bf-3003-4008-bb0f-b07ba692fe03_2048x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!LJ_X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1496d5bf-3003-4008-bb0f-b07ba692fe03_2048x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!LJ_X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1496d5bf-3003-4008-bb0f-b07ba692fe03_2048x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!LJ_X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1496d5bf-3003-4008-bb0f-b07ba692fe03_2048x1536.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LJ_X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1496d5bf-3003-4008-bb0f-b07ba692fe03_2048x1536.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/1496d5bf-3003-4008-bb0f-b07ba692fe03_2048x1536.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:455321,&quot;alt&quot;:&quot;Photo of empty tables and chairs, prepped for the first coderetreat activity.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Photo of empty tables and chairs, prepped for the first coderetreat activity." title="Photo of empty tables and chairs, prepped for the first coderetreat activity." srcset="https://substackcdn.com/image/fetch/$s_!LJ_X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1496d5bf-3003-4008-bb0f-b07ba692fe03_2048x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!LJ_X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1496d5bf-3003-4008-bb0f-b07ba692fe03_2048x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!LJ_X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1496d5bf-3003-4008-bb0f-b07ba692fe03_2048x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!LJ_X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1496d5bf-3003-4008-bb0f-b07ba692fe03_2048x1536.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A dry-run helps both visualize the experience and empathize with participants, before the event has even started.</figcaption></figure></div><div><hr></div><h2>Wrap-up</h2><p>Hope this write-up helps you plan for your next coderetreat. In regards to deciding what to plan, at which point, use the principle of the last responsible moment to ensure you are maximizing your options while making the best use of everyone&#8217;s time. At the same time, remember to plan early and to not turn down help while also channelling that help appropriately. Pair up with a co-organizer and limit decision-making to the two of you while consulting with the wider group of volunteers. If needed, make it explicit that while you can&#8217;t promise to agree on everything, you can promise to hear everyone out.</p><p>In a follow-up post, we will share more about the event itself: what went well, what we learned, and what we&#8217;d like to experiment with at the next coderetreat we organize. Stay tuned!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3y6U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2ccd073a-0f12-4f44-ae85-516139bccd59_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3y6U!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2ccd073a-0f12-4f44-ae85-516139bccd59_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3y6U!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2ccd073a-0f12-4f44-ae85-516139bccd59_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3y6U!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2ccd073a-0f12-4f44-ae85-516139bccd59_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3y6U!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2ccd073a-0f12-4f44-ae85-516139bccd59_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3y6U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2ccd073a-0f12-4f44-ae85-516139bccd59_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/2ccd073a-0f12-4f44-ae85-516139bccd59_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:668773,&quot;alt&quot;:&quot;End-of-day group photo of all GDCR Toronto 2022 participants.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="End-of-day group photo of all GDCR Toronto 2022 participants." title="End-of-day group photo of all GDCR Toronto 2022 participants." srcset="https://substackcdn.com/image/fetch/$s_!3y6U!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2ccd073a-0f12-4f44-ae85-516139bccd59_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3y6U!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2ccd073a-0f12-4f44-ae85-516139bccd59_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3y6U!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2ccd073a-0f12-4f44-ae85-516139bccd59_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3y6U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2ccd073a-0f12-4f44-ae85-516139bccd59_1920x1080.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">End-of-day group photo of all GDCR Toronto 2022 participants. Hope to see you all next year!</figcaption></figure></div><p></p>]]></content:encoded></item><item><title><![CDATA[Learning Archetypes]]></title><description><![CDATA[An aid for setting intention at a Coderetreat]]></description><link>https://spikes.sobes.co/p/learning-archetypes</link><guid isPermaLink="false">https://spikes.sobes.co/p/learning-archetypes</guid><dc:creator><![CDATA[Paul Sobocinski]]></dc:creator><pubDate>Mon, 24 Oct 2022 10:01:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cd97122-f7c9-4672-aadf-f57f6d84e991_728x676.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Based on feedback from prior Coderetreats we have run in Toronto, we are experimenting with a new learning and facilitation aid for <a href="https://get.connected.io/global-day-of-coderetreat-2022/">Toronto&#8217;s Global Day of Coderetreat</a> this year: Learning Archetypes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Xx8T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1c7426-c060-499c-af95-94d021b3f10f_728x546.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Xx8T!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1c7426-c060-499c-af95-94d021b3f10f_728x546.png 424w, https://substackcdn.com/image/fetch/$s_!Xx8T!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1c7426-c060-499c-af95-94d021b3f10f_728x546.png 848w, https://substackcdn.com/image/fetch/$s_!Xx8T!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1c7426-c060-499c-af95-94d021b3f10f_728x546.png 1272w, https://substackcdn.com/image/fetch/$s_!Xx8T!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1c7426-c060-499c-af95-94d021b3f10f_728x546.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Xx8T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1c7426-c060-499c-af95-94d021b3f10f_728x546.png" width="728" height="546" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8b1c7426-c060-499c-af95-94d021b3f10f_728x546.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:546,&quot;width&quot;:728,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:512838,&quot;alt&quot;:&quot;Photo: walking thru Kalapana Lava Fields Volcano to the lava viewing point.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Photo: walking thru Kalapana Lava Fields Volcano to the lava viewing point." title="Photo: walking thru Kalapana Lava Fields Volcano to the lava viewing point." srcset="https://substackcdn.com/image/fetch/$s_!Xx8T!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1c7426-c060-499c-af95-94d021b3f10f_728x546.png 424w, https://substackcdn.com/image/fetch/$s_!Xx8T!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1c7426-c060-499c-af95-94d021b3f10f_728x546.png 848w, https://substackcdn.com/image/fetch/$s_!Xx8T!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1c7426-c060-499c-af95-94d021b3f10f_728x546.png 1272w, https://substackcdn.com/image/fetch/$s_!Xx8T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1c7426-c060-499c-af95-94d021b3f10f_728x546.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/@guillepozzi?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">guille pozzi</a> on <a href="https://unsplash.com/s/photos/silhouette?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a>.</figcaption></figure></div><h2>Why Learning Archetypes</h2><p>On the one hand, labels can hold us back. They come with expectations on what we can and can&#8217;t do, or what we know and don&#8217;t know. Those expectations can be self-inflicted, or put on us by others. This is especially true of job titles. Some examples:</p><ul><li><p><em>&#8220;It&#8217;s been years since I&#8217;ve coded, and as a Manager, I don&#8217;t really do that anymore&#8221;</em></p></li><li><p><em>&#8220;Let&#8217;s ask them &#8212; they&#8217;re a  Senior Software Developer, so they should know the answer&#8221;</em></p></li></ul><p>This is why at a Coderetreat, we say that we leave our job titles at the door. For similar reasons, we delete our code at the end of a Coderetreat pairing session. Pre-existing notions, assumptions, or expectations oftentimes hold us back from learning &#8212; consequently, we discard them when possible.</p><p>On the other hand, labels can help us focus. They can help us set our intentions. Who am I showing up as? What do I hope to get out of the day, and how will I do it? This is why we are introducing Learning Archetypes this year.</p><h2>The Learning Archetypes</h2><p>Here&#8217;s an explanation of each archetype &#8212; what it means, and when you might choose to adopt it.</p><h3>Explorer</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fBLU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7e8df5-399d-4cf9-a771-fa769d4a4751_960x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fBLU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7e8df5-399d-4cf9-a771-fa769d4a4751_960x720.png 424w, https://substackcdn.com/image/fetch/$s_!fBLU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7e8df5-399d-4cf9-a771-fa769d4a4751_960x720.png 848w, https://substackcdn.com/image/fetch/$s_!fBLU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7e8df5-399d-4cf9-a771-fa769d4a4751_960x720.png 1272w, https://substackcdn.com/image/fetch/$s_!fBLU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7e8df5-399d-4cf9-a771-fa769d4a4751_960x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fBLU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7e8df5-399d-4cf9-a771-fa769d4a4751_960x720.png" width="728" height="546" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/0e7e8df5-399d-4cf9-a771-fa769d4a4751_960x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:720,&quot;width&quot;:960,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:86335,&quot;alt&quot;:&quot;Graphic of binoculars with the word, \&quot;explorer\&quot; underneath, set in a light blue circle with a white border.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Graphic of binoculars with the word, &quot;explorer&quot; underneath, set in a light blue circle with a white border." title="Graphic of binoculars with the word, &quot;explorer&quot; underneath, set in a light blue circle with a white border." srcset="https://substackcdn.com/image/fetch/$s_!fBLU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7e8df5-399d-4cf9-a771-fa769d4a4751_960x720.png 424w, https://substackcdn.com/image/fetch/$s_!fBLU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7e8df5-399d-4cf9-a771-fa769d4a4751_960x720.png 848w, https://substackcdn.com/image/fetch/$s_!fBLU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7e8df5-399d-4cf9-a771-fa769d4a4751_960x720.png 1272w, https://substackcdn.com/image/fetch/$s_!fBLU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7e8df5-399d-4cf9-a771-fa769d4a4751_960x720.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Graphic design by Noa Song, <a href="https://connected.io/">Connected</a></figcaption></figure></div><div class="pullquote"><p><strong>In the beginner&#8217;s mind there are many possibilities; in the expert&#8217;s mind there are few</strong> &#8212; Shunryu Suzuki</p></div><p>By choosing <strong>Explorer</strong>, you are acknowledging that you know little about Coderetreat and the topics it covers. You are embracing a beginner&#8217;s mind (<a href="https://en.wikipedia.org/wiki/Shoshin">Shoshin</a>), surrendering any preconceived notions you may have &#8212; not just about the subject matter at hand, but about related topics as well.</p><p>For example, you have experience in software design but have never heard of the <a href="https://martinfowler.com/bliki/BeckDesignRules.html">Four Rules of Simple Design</a>. Approaching the latter as an Explorer means that you are prepared to question any assumptions about software design that you come in with.</p><p>On a deeper level, Shoshin means that you are surrendering part of who you are; namely, as it relates to being knowledgeable in a certain topic. While this can be the hardest part of the Explorer archetype, it can be the most rewarding.</p><div><hr></div><h3>Sharpener</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DmUo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc63b9e95-25d9-44d6-983d-7e85049d7ba0_960x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DmUo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc63b9e95-25d9-44d6-983d-7e85049d7ba0_960x720.png 424w, https://substackcdn.com/image/fetch/$s_!DmUo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc63b9e95-25d9-44d6-983d-7e85049d7ba0_960x720.png 848w, https://substackcdn.com/image/fetch/$s_!DmUo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc63b9e95-25d9-44d6-983d-7e85049d7ba0_960x720.png 1272w, https://substackcdn.com/image/fetch/$s_!DmUo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc63b9e95-25d9-44d6-983d-7e85049d7ba0_960x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DmUo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc63b9e95-25d9-44d6-983d-7e85049d7ba0_960x720.png" width="960" height="720" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/c63b9e95-25d9-44d6-983d-7e85049d7ba0_960x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:960,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:71861,&quot;alt&quot;:&quot;Graphic of a pair of axes with the word, \&quot;sharpener\&quot; underneath, set in a yellow circle with a white border.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Graphic of a pair of axes with the word, &quot;sharpener&quot; underneath, set in a yellow circle with a white border." title="Graphic of a pair of axes with the word, &quot;sharpener&quot; underneath, set in a yellow circle with a white border." srcset="https://substackcdn.com/image/fetch/$s_!DmUo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc63b9e95-25d9-44d6-983d-7e85049d7ba0_960x720.png 424w, https://substackcdn.com/image/fetch/$s_!DmUo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc63b9e95-25d9-44d6-983d-7e85049d7ba0_960x720.png 848w, https://substackcdn.com/image/fetch/$s_!DmUo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc63b9e95-25d9-44d6-983d-7e85049d7ba0_960x720.png 1272w, https://substackcdn.com/image/fetch/$s_!DmUo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc63b9e95-25d9-44d6-983d-7e85049d7ba0_960x720.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Graphic design by Noa Song, <a href="https://connected.io/">Connected</a></figcaption></figure></div><div class="pullquote"><p><strong>Give me six hours to chop down a tree and I will spend the first four sharpening the axe</strong> &#8212; Abraham Lincoln</p></div><p>By choosing <strong>Sharpener</strong>, you have enough of a familiarity of the subject matter to work on mastering an element of it. By analogy: you know what an axe is, what it&#8217;s used for, and how to use it &#8212; you&#8217;re here to practise chopping wood.</p><p>For example, you have already attended a Coderetreat before, or have practised code katas. However, you may have only done so alone, or with a limited group of peers (for example, co-workers at your company). You&#8217;re here to apply <a href="https://en.wikipedia.org/wiki/Peak:_Secrets_from_the_New_Science_of_Expertise">deliberate practice</a> while gaining fresh perspectives by working with other like-minded individuals.</p><div><hr></div><h3>Teacher</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KpWf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b991012-655f-40ae-b841-79556ee58235_960x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KpWf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b991012-655f-40ae-b841-79556ee58235_960x720.png 424w, https://substackcdn.com/image/fetch/$s_!KpWf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b991012-655f-40ae-b841-79556ee58235_960x720.png 848w, https://substackcdn.com/image/fetch/$s_!KpWf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b991012-655f-40ae-b841-79556ee58235_960x720.png 1272w, https://substackcdn.com/image/fetch/$s_!KpWf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b991012-655f-40ae-b841-79556ee58235_960x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KpWf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b991012-655f-40ae-b841-79556ee58235_960x720.png" width="960" height="720" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/1b991012-655f-40ae-b841-79556ee58235_960x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:960,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:53842,&quot;alt&quot;:&quot;Graphic of an open book with the word, \&quot;teacher\&quot; underneath, set in a green circle with a white border.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Graphic of an open book with the word, &quot;teacher&quot; underneath, set in a green circle with a white border." title="Graphic of an open book with the word, &quot;teacher&quot; underneath, set in a green circle with a white border." srcset="https://substackcdn.com/image/fetch/$s_!KpWf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b991012-655f-40ae-b841-79556ee58235_960x720.png 424w, https://substackcdn.com/image/fetch/$s_!KpWf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b991012-655f-40ae-b841-79556ee58235_960x720.png 848w, https://substackcdn.com/image/fetch/$s_!KpWf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b991012-655f-40ae-b841-79556ee58235_960x720.png 1272w, https://substackcdn.com/image/fetch/$s_!KpWf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b991012-655f-40ae-b841-79556ee58235_960x720.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Graphic design by Noa Song, <a href="https://connected.io/">Connected</a></figcaption></figure></div><div class="pullquote"><p><strong>Teaching is the highest form of understanding</strong> &#8212; Aristotle</p></div><p>Choosing <strong>Teacher</strong> means that you are here  to teach! This one&#8217;s pretty obvious. Having said that, it is still a learning archetype, so you are teaching with the intention of further solidifying your own understanding. This could mean exposing any inconsistencies in your own mental models. It could also mean expanding your vocabulary and gaining confidence in your ability to explain complex, nuanced concepts. In-and-of-itself, teaching is most importantly a skill with many elements, including the ability to listen and adapt to the student. This learning archetype provides you with the opportunity to further practise these skills.</p><p>Having some experience in the practices of <a href="https://spikes.sobes.co/p/pair-programming-misunderstood">Pair Programming</a>, <a href="https://spikes.sobes.co/i/48666910/what-is-test-first-development">TDD</a>, and <a href="https://martinfowler.com/bliki/BeckDesignRules.html">Simple Design</a> is expected if you choose this archetype.</p><div><hr></div><h3>New Hat / Seasoned Hat</h3><div class="pullquote"><p><strong>Do one thing every day that scares you</strong> &#8212; Eleanor Roosevelt</p></div><p>Each of the three Learning Archetypes come in two varieties: &#8220;New&#8221; and &#8220;Seasoned&#8221;. Each variety can be thought of as choosing a hat to wear for the day. </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kGtY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F45b5428f-4ab8-481b-9041-a1d720fc4d89_660x218.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kGtY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F45b5428f-4ab8-481b-9041-a1d720fc4d89_660x218.png 424w, https://substackcdn.com/image/fetch/$s_!kGtY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F45b5428f-4ab8-481b-9041-a1d720fc4d89_660x218.png 848w, https://substackcdn.com/image/fetch/$s_!kGtY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F45b5428f-4ab8-481b-9041-a1d720fc4d89_660x218.png 1272w, https://substackcdn.com/image/fetch/$s_!kGtY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F45b5428f-4ab8-481b-9041-a1d720fc4d89_660x218.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kGtY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F45b5428f-4ab8-481b-9041-a1d720fc4d89_660x218.png" width="660" height="218" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/45b5428f-4ab8-481b-9041-a1d720fc4d89_660x218.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:218,&quot;width&quot;:660,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:11443,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kGtY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F45b5428f-4ab8-481b-9041-a1d720fc4d89_660x218.png 424w, https://substackcdn.com/image/fetch/$s_!kGtY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F45b5428f-4ab8-481b-9041-a1d720fc4d89_660x218.png 848w, https://substackcdn.com/image/fetch/$s_!kGtY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F45b5428f-4ab8-481b-9041-a1d720fc4d89_660x218.png 1272w, https://substackcdn.com/image/fetch/$s_!kGtY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F45b5428f-4ab8-481b-9041-a1d720fc4d89_660x218.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Graphic design by Noa Song, <a href="https://connected.io/">Connected</a></figcaption></figure></div><p>A &#8220;new hat&#8221; is one that you&#8217;re <strong>not</strong> used to wearing. It might be the first time that you&#8217;re trying it on, or it might be one that&#8217;s still uncomfortable. Why would you wear a new hat? Analogy aside, why would you choose a Learning Archetype that you&#8217;re not familiar with? Because the day is about learning, and learning means exploring, experimenting, and moving outside of your comfort zone.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Vw6j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c77ae6d-6e87-446c-9c3e-82f0e328e0a8_660x218.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Vw6j!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c77ae6d-6e87-446c-9c3e-82f0e328e0a8_660x218.png 424w, https://substackcdn.com/image/fetch/$s_!Vw6j!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c77ae6d-6e87-446c-9c3e-82f0e328e0a8_660x218.png 848w, https://substackcdn.com/image/fetch/$s_!Vw6j!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c77ae6d-6e87-446c-9c3e-82f0e328e0a8_660x218.png 1272w, https://substackcdn.com/image/fetch/$s_!Vw6j!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c77ae6d-6e87-446c-9c3e-82f0e328e0a8_660x218.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Vw6j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c77ae6d-6e87-446c-9c3e-82f0e328e0a8_660x218.png" width="660" height="218" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8c77ae6d-6e87-446c-9c3e-82f0e328e0a8_660x218.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:218,&quot;width&quot;:660,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:14271,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Vw6j!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c77ae6d-6e87-446c-9c3e-82f0e328e0a8_660x218.png 424w, https://substackcdn.com/image/fetch/$s_!Vw6j!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c77ae6d-6e87-446c-9c3e-82f0e328e0a8_660x218.png 848w, https://substackcdn.com/image/fetch/$s_!Vw6j!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c77ae6d-6e87-446c-9c3e-82f0e328e0a8_660x218.png 1272w, https://substackcdn.com/image/fetch/$s_!Vw6j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c77ae6d-6e87-446c-9c3e-82f0e328e0a8_660x218.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Graphic design by Noa Song, <a href="https://connected.io/">Connected</a></figcaption></figure></div><p>On the other hand, a &#8220;seasoned hat&#8221; is one that you&#8217;re comfortable wearing. You can be a <strong>Seasoned Teacher</strong> if coaching and mentoring come naturally to you. You can be a <strong>Seasoned Explorer</strong> if you spend most of your days researching and learning new practices, technologies, and frameworks. You can be a <strong>Seasoned Sharpener</strong> if you frequently attend Coderetreats and practise code katas. Wearing your &#8220;seasoned hat&#8221; means that you can go deep on the learning that is found within that archetype.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Xo7W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cd97122-f7c9-4672-aadf-f57f6d84e991_728x676.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Xo7W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cd97122-f7c9-4672-aadf-f57f6d84e991_728x676.png 424w, https://substackcdn.com/image/fetch/$s_!Xo7W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cd97122-f7c9-4672-aadf-f57f6d84e991_728x676.png 848w, https://substackcdn.com/image/fetch/$s_!Xo7W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cd97122-f7c9-4672-aadf-f57f6d84e991_728x676.png 1272w, https://substackcdn.com/image/fetch/$s_!Xo7W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cd97122-f7c9-4672-aadf-f57f6d84e991_728x676.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Xo7W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cd97122-f7c9-4672-aadf-f57f6d84e991_728x676.png" width="728" height="676" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/0cd97122-f7c9-4672-aadf-f57f6d84e991_728x676.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:676,&quot;width&quot;:728,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:209614,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Xo7W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cd97122-f7c9-4672-aadf-f57f6d84e991_728x676.png 424w, https://substackcdn.com/image/fetch/$s_!Xo7W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cd97122-f7c9-4672-aadf-f57f6d84e991_728x676.png 848w, https://substackcdn.com/image/fetch/$s_!Xo7W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cd97122-f7c9-4672-aadf-f57f6d84e991_728x676.png 1272w, https://substackcdn.com/image/fetch/$s_!Xo7W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cd97122-f7c9-4672-aadf-f57f6d84e991_728x676.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/@bwl667?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Brian Lundquist</a> on <a href="https://unsplash.com/s/photos/silhouette?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure></div><h3>Multiple Learning Archetypes</h3><p>Can you take on more than one archetype? Absolutely! However, to give some focus to your intention for the day, we recommend adopting no more than two Learning Archetypes. </p><div><hr></div><h2>Conclusion</h2><p>Learning Archetypes are a tool you can choose to use to focus your learning for the day, and help set learning goals with your pairing partner. Choosing a Learning Archetype is meant to deepen your learning, not stand in the way of it. If you find that your archetype is doing the latter, feel free to abandon it in favour of a different one, or no archetype at all. </p><p>The point of the day is learning, and as Coderetreat facilitators, we are here to support you in that endeavour.</p><div><hr></div><p><em><a href="https://get.connected.io/global-day-of-coderetreat-2022/">RSVP here</a> for Toronto&#8217;s Global Day of Coderetreat. We still have some spots, though they&#8217;re filling quickly!</em></p>]]></content:encoded></item><item><title><![CDATA[Four Reasons Why We Need More Coderetreats]]></title><description><![CDATA[What is a coderetreat, and why it's so important to Software Engineering]]></description><link>https://spikes.sobes.co/p/four-reasons-why-we-need-more-coderetreats</link><guid isPermaLink="false">https://spikes.sobes.co/p/four-reasons-why-we-need-more-coderetreats</guid><dc:creator><![CDATA[Paul Sobocinski]]></dc:creator><pubDate>Mon, 03 Oct 2022 10:01:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0835dce-617e-4dc1-91d3-9c48b98ef4c8_900x506.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>This post was <a href="https://connected.io/post/four-reasons-why-software-engineering-needs-more-coderetreats/">originally published</a> on the Connected blog in 2020. As this year&#8217;s Global Day of Coderetreat is a month away, this post has been republished here to raise awareness of the event. <a href="https://www.coderetreat.org/events/">Find your nearest event</a> at <a href="https://www.coderetreat.org/">coderetreat.org</a>.</em></p><div><hr></div><p>In November of 2019, Connected had the honour of hosting Global Day of Coderetreat (GDCR) in Toronto. Twenty-seven passionate professionals showed up, coded together, and left. No one left with any newly-written code (having intentionally deleted it), but many left with new skills, fresh perspectives, and meaningful connections.</p><p>While Global Day of Coderetreat has been happening for a decade now, the practice of coderetreat itself predates this. The release of <a href="https://en.wikipedia.org/wiki/The_Pragmatic_Programmer">The Pragmatic Programmer</a> in 1999 is generally attributed to igniting the <a href="https://qz.com/work/1371151/what-happened-to-software-craftsmanship/">Software Crafter</a> movement, which in turn led to the practice of coderetreat. Recognizing its importance, a group of software professionals (including <a href="https://articles.coreyhaines.com/about.html">Corey Haines</a>) organized a global coderetreat in 2009. As they say, the rest is history.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!C3L-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8ce8dc3-1460-4daa-912e-f8a178bd3993_1024x425.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!C3L-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8ce8dc3-1460-4daa-912e-f8a178bd3993_1024x425.jpeg 424w, https://substackcdn.com/image/fetch/$s_!C3L-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8ce8dc3-1460-4daa-912e-f8a178bd3993_1024x425.jpeg 848w, https://substackcdn.com/image/fetch/$s_!C3L-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8ce8dc3-1460-4daa-912e-f8a178bd3993_1024x425.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!C3L-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8ce8dc3-1460-4daa-912e-f8a178bd3993_1024x425.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!C3L-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8ce8dc3-1460-4daa-912e-f8a178bd3993_1024x425.jpeg" width="1024" height="425" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/a8ce8dc3-1460-4daa-912e-f8a178bd3993_1024x425.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:425,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:90044,&quot;alt&quot;:&quot;Software Engineers building their coding skills at GDCR Toronto 2019.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Software Engineers building their coding skills at GDCR Toronto 2019." title="Software Engineers building their coding skills at GDCR Toronto 2019." srcset="https://substackcdn.com/image/fetch/$s_!C3L-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8ce8dc3-1460-4daa-912e-f8a178bd3993_1024x425.jpeg 424w, https://substackcdn.com/image/fetch/$s_!C3L-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8ce8dc3-1460-4daa-912e-f8a178bd3993_1024x425.jpeg 848w, https://substackcdn.com/image/fetch/$s_!C3L-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8ce8dc3-1460-4daa-912e-f8a178bd3993_1024x425.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!C3L-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8ce8dc3-1460-4daa-912e-f8a178bd3993_1024x425.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Software Engineers building their coding skills at GDCR Toronto 2019.</figcaption></figure></div><p>While on the one hand many technologies date themselves quickly, the language-agnostic practice of coderetreat is no less relevant now than it was in the &#8216;00s, if not more so. In fact, software engineering needs this practice now more than ever. As the profession has grown, so have the codebases. The pressure and urgency to deliver additional features and capabilities is incessant. Room for refactoring and redesign is rare. In our race to deliver &#8220;working&#8221; software, our technical craft has fallen by the wayside.</p><h2>Theory vs. Practice in Software</h2><p>A successful Software Engineer possesses both skills and knowledge, which in turn require both theory and its application (practice). To understand the distinction between the two, let&#8217;s start with an analogy.</p><p>When it comes to getting a driver&#8217;s license in Canada, the courses available have two main components: a theory (in-class) component and a practical one. The practical one means that the student drives a real car (under the close supervision and guidance of an instructor). For good reason, both course components are mandatory for graduation. What does a mismatch of knowledge and skills look like? Perhaps like a habitual highway driver having a go at the <a href="https://www.businessinsider.com/nurburgring-most-dangerous-race-track-2019-9">N&#252;rburgring</a>.</p><p>Similarly, an emphasis on practice exists in software engineering. Over the past 20 years, we&#8217;ve seen universities adopt co-op programs for their software engineering degrees. Around the time I was applying for university, there was only one school in Canada that offered a co-op program as an optional stream. Now, the vast majority of institutions include this as a mandatory component of their curriculum.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DaFz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5ade990-43bc-4fa6-955e-18db1d1caee0_900x506.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DaFz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5ade990-43bc-4fa6-955e-18db1d1caee0_900x506.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DaFz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5ade990-43bc-4fa6-955e-18db1d1caee0_900x506.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DaFz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5ade990-43bc-4fa6-955e-18db1d1caee0_900x506.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DaFz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5ade990-43bc-4fa6-955e-18db1d1caee0_900x506.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DaFz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5ade990-43bc-4fa6-955e-18db1d1caee0_900x506.jpeg" width="900" height="506" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/d5ade990-43bc-4fa6-955e-18db1d1caee0_900x506.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:506,&quot;width&quot;:900,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:431487,&quot;alt&quot;:&quot;A participant working closely with a facilitator at GDCR Toronto 2019.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A participant working closely with a facilitator at GDCR Toronto 2019." title="A participant working closely with a facilitator at GDCR Toronto 2019." srcset="https://substackcdn.com/image/fetch/$s_!DaFz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5ade990-43bc-4fa6-955e-18db1d1caee0_900x506.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DaFz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5ade990-43bc-4fa6-955e-18db1d1caee0_900x506.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DaFz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5ade990-43bc-4fa6-955e-18db1d1caee0_900x506.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DaFz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5ade990-43bc-4fa6-955e-18db1d1caee0_900x506.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A participant working closely with a facilitator at GDCR Toronto 2019.</figcaption></figure></div><p>Once a new graduate enters the workforce, however, it&#8217;s largely up to them to continue to grow both their knowledge and skills.</p><p>Relatively speaking, acquiring knowledge is the easy part. Today, access to technical knowledge is unprecedented. By using Google in conjunction with a plethora of resource websites such as Stack Overflow, Software Engineers often find the answer to their technical problem in a matter of seconds. The use of web search to find technical solutions is normal and even expected within the profession.</p><p>On the other hand, systematic approaches for developing practical skills are less clear for Software Engineers. Many often seek out interesting work that challenges them, which is an indication that a fair amount of practical skill building happens &#8220;on-the-job.&#8221; On the other hand, some engineers may &#8220;hack&#8221; on a side project from home and build skills that way.</p><p>These are both good options, but they both measure learning progress the same way: the amount of completed working software.</p><h2>Measuring Learning</h2><p>Agile organizations focus on delivering working software, sprint over sprint. Agile teams optimize for velocity. Engineers are conditioned to measure progress by how much working software they write. Even the times we set aside for learning, we use &#8220;working software&#8221; as our measuring stick.</p><p>Current software management processes, such as <a href="http://modernagile.org/">Modern Agile</a> and Scrum, emphasize delivery of business value (usually via features) to the end user. This becomes the measure of a team&#8217;s success.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Tr42!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7068c35-a276-4eab-a1dd-77ee0142d907_900x506.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Tr42!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7068c35-a276-4eab-a1dd-77ee0142d907_900x506.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Tr42!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7068c35-a276-4eab-a1dd-77ee0142d907_900x506.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Tr42!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7068c35-a276-4eab-a1dd-77ee0142d907_900x506.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Tr42!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7068c35-a276-4eab-a1dd-77ee0142d907_900x506.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Tr42!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7068c35-a276-4eab-a1dd-77ee0142d907_900x506.jpeg" width="900" height="506" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/f7068c35-a276-4eab-a1dd-77ee0142d907_900x506.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:506,&quot;width&quot;:900,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:427400,&quot;alt&quot;:&quot;GDCR 2019 Toronto facilitators discuss iterating on approaches and activities over the course of the day.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="GDCR 2019 Toronto facilitators discuss iterating on approaches and activities over the course of the day." title="GDCR 2019 Toronto facilitators discuss iterating on approaches and activities over the course of the day." srcset="https://substackcdn.com/image/fetch/$s_!Tr42!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7068c35-a276-4eab-a1dd-77ee0142d907_900x506.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Tr42!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7068c35-a276-4eab-a1dd-77ee0142d907_900x506.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Tr42!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7068c35-a276-4eab-a1dd-77ee0142d907_900x506.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Tr42!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7068c35-a276-4eab-a1dd-77ee0142d907_900x506.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">GDCR 2019 Toronto facilitators discuss iterating on approaches and activities over the course of the day.</figcaption></figure></div><p>We use the &#8220;value delivery&#8221; (or &#8220;problem solving&#8221;) lens to evaluate our learning progress. This is not surprising given that the <a href="https://agilemanifesto.org/">second Agile value</a> emphasizes shipping working software. While this approach may be appropriate for building a software product, it is a fundamentally flawed way of cultivating our learning. </p><p>Software Engineers have become victims of their own success; many of us embody the value of shipping working software so deeply that we use it as a measure of learning progress. We&#8217;ve conditioned ourselves to only recognize learning if we have some working code to show for it.</p><p>This manner of &#8220;on the job&#8221; learning is incidental practice. Solely relying on this as a means of learning can be detrimental to our careers in the long term. Setting aside time for deliberate practice means setting aside time that is optimized for learning, as opposed to delivering working software.</p><h2>The Value of Deliberate Practice</h2><p>While shipping working software is rewarding, it has serious shortcomings when it comes to being the only method by which we build our practice of writing software. Over my career, I have seen codebases across multiple companies that contain the relics of past learnings in the form of defunct frontend frameworks, misapplied design patterns, and swaths of irrelevant test suites. These do not belong in the codebase, yet persist there as no time is allocated for their removal.</p><p>This idea of a separate &#8220;space&#8221; set aside for and dedicated to learning is not just found in the field of software engineering. In <a href="https://www.ted.com/talks/eduardo_briceno_how_to_get_better_at_the_things_you_care_about">his TED talk, Eduardo Brice&#241;o</a> talks about two &#8220;zones&#8221; of working: a performance zone and a learning zone. He talks about how professionals ranging from ancient orators to modern entertainers work in these two distinct zones&#8212;one optimized for performing, while the other is optimized for learning.</p><p>A key aspect of the learning zone is a safe environment to fail, because failure is a key part of learning experientially. What could this look like for Software Engineers?</p><h2>The Value of Coderetreat</h2><p>Coderetreat is a Software Engineer&#8217;s learning zone. It is a time and space set aside where we can retreat from our regular approach to work and fundamentally shift our mindset away from shipping software and towards levelling up our practice. There are a few key characteristics of coderetreat that optimizes it for learning and helps emphasize deliberate practice.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!S9sD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf63509-5b02-408b-9b69-1ee401d0f9d6_1000x408.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!S9sD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf63509-5b02-408b-9b69-1ee401d0f9d6_1000x408.jpeg 424w, https://substackcdn.com/image/fetch/$s_!S9sD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf63509-5b02-408b-9b69-1ee401d0f9d6_1000x408.jpeg 848w, https://substackcdn.com/image/fetch/$s_!S9sD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf63509-5b02-408b-9b69-1ee401d0f9d6_1000x408.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!S9sD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf63509-5b02-408b-9b69-1ee401d0f9d6_1000x408.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!S9sD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf63509-5b02-408b-9b69-1ee401d0f9d6_1000x408.jpeg" width="1000" height="408" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/fdf63509-5b02-408b-9b69-1ee401d0f9d6_1000x408.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:408,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:454302,&quot;alt&quot;:&quot;GDCR 2019 Toronto &#8212; end-of-day group photo.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="GDCR 2019 Toronto &#8212; end-of-day group photo." title="GDCR 2019 Toronto &#8212; end-of-day group photo." srcset="https://substackcdn.com/image/fetch/$s_!S9sD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf63509-5b02-408b-9b69-1ee401d0f9d6_1000x408.jpeg 424w, https://substackcdn.com/image/fetch/$s_!S9sD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf63509-5b02-408b-9b69-1ee401d0f9d6_1000x408.jpeg 848w, https://substackcdn.com/image/fetch/$s_!S9sD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf63509-5b02-408b-9b69-1ee401d0f9d6_1000x408.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!S9sD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdf63509-5b02-408b-9b69-1ee401d0f9d6_1000x408.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">GDCR 2019 Toronto &#8212; end-of-day group photo.</figcaption></figure></div><h3>Coderetreat Characteristics</h3><h4>The Structure</h4><p>Typically, coderetreats are day-long workshops split into multiple sessions (ranging anywhere from four to seven). Each session is an hour long; within this time a few minutes are reserved for an introduction, while at least ten minutes are reserved at the end for a retrospective. Most of the session is reserved for pair programming.</p><p>This structure is effective for a number of reasons. First, an entire day affords us ample time to &#8220;go deep.&#8221; This means carefully exploring rich concepts such as <a href="https://en.wikipedia.org/wiki/Inversion_of_control">inversion of control</a>, or getting really adept at using a specific tool such as IDE <a href="https://code.visualstudio.com/docs/editor/refactoring">keyboard shortcuts for refactoring</a>.</p><p>Second, multiple sessions provide us an opportunity to &#8220;reset&#8221; after each one and start fresh. We can approach each session with a <a href="https://en.wikipedia.org/wiki/Shoshin">beginner&#8217;s mind</a>, as opposed to being weighed down with biases, preconceptions, and limitations from the last session. This may mean working on a fresh problem altogether, or with a new pairing partner. However, it always means deleting your code.</p><h4>Deleting the Code</h4><p>We delete the code at the end of each session. This un-trains us from using working software as a measure of learning progress. To put it another way, we are far less likely to focus on completing the problem if the solution will end up being discarded anyway.</p><p>Deleting the code also puts an emphasis on building skills over knowledge. By rewriting the code from scratch, we are working on the practice of writing code, versus capturing knowledge in the form of code. Of course, this is meant to be applied within reason&#8212;use of boilerplate code in the form of a running application and executing test suite is completely acceptable.</p><p>Nonetheless, the allure of keeping the code around for future reference can be irresistable. Keeping us honest is one of the many ways our pairing partner can help.</p><h4>Pair Programming</h4><p>The <a href="https://en.wikipedia.org/wiki/Half-life_of_knowledge">knowledge half-life</a> of Software Engineers typically ranges from <a href="https://henrikwarne.com/2014/12/15/programmer-knowledge/">three to five years</a>. Staying up-to-date on the latest approaches, technologies, paradigms, and frameworks is therefore critical. This ultimately means being open to fresh perspectives.</p><p>Pair programming at coderetreat helps practitioners to gain fresh perspectives by working with industry professionals that we typically do not get to work with at our regular jobs.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1d1r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0835dce-617e-4dc1-91d3-9c48b98ef4c8_900x506.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1d1r!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0835dce-617e-4dc1-91d3-9c48b98ef4c8_900x506.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1d1r!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0835dce-617e-4dc1-91d3-9c48b98ef4c8_900x506.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1d1r!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0835dce-617e-4dc1-91d3-9c48b98ef4c8_900x506.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1d1r!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0835dce-617e-4dc1-91d3-9c48b98ef4c8_900x506.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1d1r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0835dce-617e-4dc1-91d3-9c48b98ef4c8_900x506.jpeg" width="900" height="506" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/f0835dce-617e-4dc1-91d3-9c48b98ef4c8_900x506.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:506,&quot;width&quot;:900,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467135,&quot;alt&quot;:&quot;A facilitator helps a participant debug an issue. The success of Global Day of Coderetreat 2019 Toronto was thanks to our dedicated and experienced facilitators.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A facilitator helps a participant debug an issue. The success of Global Day of Coderetreat 2019 Toronto was thanks to our dedicated and experienced facilitators." title="A facilitator helps a participant debug an issue. The success of Global Day of Coderetreat 2019 Toronto was thanks to our dedicated and experienced facilitators." srcset="https://substackcdn.com/image/fetch/$s_!1d1r!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0835dce-617e-4dc1-91d3-9c48b98ef4c8_900x506.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1d1r!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0835dce-617e-4dc1-91d3-9c48b98ef4c8_900x506.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1d1r!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0835dce-617e-4dc1-91d3-9c48b98ef4c8_900x506.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1d1r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0835dce-617e-4dc1-91d3-9c48b98ef4c8_900x506.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A facilitator helps a participant debug an issue. The success of GDCR 2019 Toronto was thanks to our dedicated and experienced facilitators.</figcaption></figure></div><p>Furthermore, pair programming keeps our learning salient and valid. Pairing with another Software Engineer is like a real-time audit of our thought process. Any <a href="https://medium.com/better-humans/cognitive-bias-cheat-sheet-55a472476b18">biases</a> can be immediately challenged by the partner. This either crystallizes our understanding of the opinions we hold, or it shatters them so that they can be reconstituted from scratch with an updated outlook.</p><p>Our pair is also our <a href="https://www.inc.com/marissa-levin/5-ways-to-make-your-accountability-partnership-work-2-ways-to-ruin-it.html">accountability partner</a>. They ensure that we stay on track towards our learning goals of the session, and help us avoid going down &#8220;rabbit holes.&#8221; For example, if a pair sees that we are spending too much time on the setup of our development environment, they can call this out and suggest an alternative approach&#8212;such as searching for a repo that contains a boilerplate solution.</p><p>A great pairing experience at a coderetreat means that each pair member shares their learnings with the other in real time. Once the session ends, the pair has an opportunity to share their learnings with the wider group at a learning retrospective.</p><h4>Learning Retrospectives</h4><p>Multiple sessions in a coderetreat enable us to collect and apply feedback so that our learning is continually optimized session over session. The <a href="https://www.agilealliance.org/glossary/heartbeatretro">retrospective</a> plays a critical part in achieving these optimizations. These retros happen at the end of every coderetreat session.</p><p>Generally, the purpose of a retrospective is to reflect on the past iteration of work and determine what went well, and what didn&#8217;t. In a coderetreat learning retrospective, we reflect on and share our learnings and how we achieved them. This inspires others to not only pursue discovered tidbits of knowledge (such as a new code library), but also to adopt tactics that worked effectively for other pairs (such as adopting ping-pong pairing to maintain a consistent TDD workflow).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1YwV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F37cbe10b-6f95-40b3-b70f-0bcd13b7ac6c_900x506.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1YwV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F37cbe10b-6f95-40b3-b70f-0bcd13b7ac6c_900x506.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1YwV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F37cbe10b-6f95-40b3-b70f-0bcd13b7ac6c_900x506.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1YwV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F37cbe10b-6f95-40b3-b70f-0bcd13b7ac6c_900x506.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1YwV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F37cbe10b-6f95-40b3-b70f-0bcd13b7ac6c_900x506.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1YwV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F37cbe10b-6f95-40b3-b70f-0bcd13b7ac6c_900x506.jpeg" width="900" height="506" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/37cbe10b-6f95-40b3-b70f-0bcd13b7ac6c_900x506.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:506,&quot;width&quot;:900,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:367456,&quot;alt&quot;:&quot;Global Day of Coderetreat 2019 Toronto participants pair programming through the problem of the day (Conway&#8217;s Game of Life).&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Global Day of Coderetreat 2019 Toronto participants pair programming through the problem of the day (Conway&#8217;s Game of Life)." title="Global Day of Coderetreat 2019 Toronto participants pair programming through the problem of the day (Conway&#8217;s Game of Life)." srcset="https://substackcdn.com/image/fetch/$s_!1YwV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F37cbe10b-6f95-40b3-b70f-0bcd13b7ac6c_900x506.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1YwV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F37cbe10b-6f95-40b3-b70f-0bcd13b7ac6c_900x506.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1YwV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F37cbe10b-6f95-40b3-b70f-0bcd13b7ac6c_900x506.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1YwV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F37cbe10b-6f95-40b3-b70f-0bcd13b7ac6c_900x506.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">GDCR 2019 Toronto participants pair programming through the problem of the day (Conway&#8217;s Game of Life).</figcaption></figure></div><h2>Why Software Engineering needs more coderetreats</h2><p>All of this works together to level up the abilities of Software Engineers that attend coderetreats. Below are the four key ways that coderetreats support this levelling up:</p><h3>1. Focus on deliberate practice over searchable knowledge</h3><p>Access to knowledge for practicing Software Engineers is unprecedented. Solutions to common problems can be found in a manner of seconds. However, this is only part of what makes great Software Engineers. The prevalence of knowledge has led to an erosion of people&#8217;s made skills. Coderetreat allows us to overcome this by providing a space for deliberate practice.</p><h3>2. Priority on learning over solving a problem</h3><p>Modern software methodologies have conditioned us to measure our learning based on how much working code we write. Learning doesn&#8217;t necessarily happen this way; we often learn by breaking code. Coderetreat helps us discover ways to optimize learning as opposed to software delivery.</p><h3>3. Dedicated time to improve our craft, as opposed to training on the job</h3><p>On-the-job training is shallow and precarious. We learn just enough to accomplish the problem at hand, and apply solutions we don&#8217;t fully understand to production code. Coderetreat offers us the opportunity to truly grok the approach or solution that we&#8217;ve chosen.</p><h3>4. Gaining fresh perspectives over reinforcing existing intuitions</h3><p>Our intuition can be wrong. We challenge it by working (actually coding) with fellow industry professionals we don&#8217;t normally work with. Coderetreat is a place where we don&#8217;t just meet, but also write software with people who can challenge us and help us grow professionally.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Vd6J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36ee0f66-d707-421d-8330-b25bb9ce9aa6_1000x417.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Vd6J!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36ee0f66-d707-421d-8330-b25bb9ce9aa6_1000x417.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Vd6J!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36ee0f66-d707-421d-8330-b25bb9ce9aa6_1000x417.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Vd6J!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36ee0f66-d707-421d-8330-b25bb9ce9aa6_1000x417.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Vd6J!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36ee0f66-d707-421d-8330-b25bb9ce9aa6_1000x417.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Vd6J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36ee0f66-d707-421d-8330-b25bb9ce9aa6_1000x417.jpeg" width="1000" height="417" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/36ee0f66-d707-421d-8330-b25bb9ce9aa6_1000x417.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:417,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:419089,&quot;alt&quot;:&quot;Pairs of participants deeply engrossed in problem-solving at Global Day of Coderetreat Toronto 2019.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Pairs of participants deeply engrossed in problem-solving at Global Day of Coderetreat Toronto 2019." title="Pairs of participants deeply engrossed in problem-solving at Global Day of Coderetreat Toronto 2019." srcset="https://substackcdn.com/image/fetch/$s_!Vd6J!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36ee0f66-d707-421d-8330-b25bb9ce9aa6_1000x417.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Vd6J!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36ee0f66-d707-421d-8330-b25bb9ce9aa6_1000x417.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Vd6J!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36ee0f66-d707-421d-8330-b25bb9ce9aa6_1000x417.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Vd6J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F36ee0f66-d707-421d-8330-b25bb9ce9aa6_1000x417.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Pairs of participants deeply engrossed in problem-solving at GDCR Toronto 2019.</figcaption></figure></div><div><hr></div><h2>Final Thoughts</h2><p>In the ultra-competitive world of software engineering, it&#8217;s essential that those of us who seek to build better products and drive impact to end users continue to seek new and improved ways of working. </p><p>My hope is that this piece might inspire you to either attend or organize a coderetreat in your community or organization. Global Day of Coderetreat is a great way to get started, though it only happens once a year. Fortunately, Connected is hosting <strong>Toronto&#8217;s Global Day of Coderetreat</strong> on <strong>November 5th</strong> this year &#8212; <a href="https://get.connected.io/global-day-of-coderetreat-2022/">RSVP here for the event</a>!</p>]]></content:encoded></item><item><title><![CDATA[Maximizing Pair Programming Flow]]></title><description><![CDATA[Using the four conditions of Flow to improve pairing effectiveness]]></description><link>https://spikes.sobes.co/p/maximizing-pair-programming-flow</link><guid isPermaLink="false">https://spikes.sobes.co/p/maximizing-pair-programming-flow</guid><dc:creator><![CDATA[Paul Sobocinski]]></dc:creator><pubDate>Mon, 12 Sep 2022 10:01:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F87e3d59b-83a7-4a21-abf8-2b60a71d3402_728x327.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In <a href="https://spikes.sobes.co/p/flow-in-software-engineering">my last post</a>, I shared one professional&#8217;s opinion on the role of Flow in Software Engineering. To kick off this post, I&#8217;ll share another professional&#8217;s opinion.</p><p>Woody Zuill is known for discovering Mob Programming (or simply, &#8220;mobbing&#8221;). In one of his talks, he details its relation to Flow. First, he distinguishes Lean Flow, Individual Flow, and Team Flow as distinct concepts. Lean Flow is thought of as the process of minimizing work-in-progress (also referred to as inventory) through the reduction of queue times caused by blockers and dependencies (for example, waiting on a designer to approve a UI revision that&#8217;s uncovered during implementation).</p><p>Individual and Team Flow, on the other hand, stem from Mihaly Csikszentmihalyi&#8217;s definition of Flow that we had covered at length in <a href="https://spikes.sobes.co/p/flow-in-software-engineering">the prior post</a>. See the excerpt below from the talk in question:</p><div id="youtube2-28S4CVkYhWA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;28S4CVkYhWA&quot;,&quot;startTime&quot;:&quot;1382&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/28S4CVkYhWA?start=1382&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Woody asserts that his team is indeed able to get into a flow state. If Flow is possible when mobbing, could it be achievable when pairing as well? And do these flow states feel different from the classical flow states achieved when working alone?</p><p>It turns out that there are common characteristics around Flow that Csikszentmihalyi explains in depth. These hold true no matter how varied the activity or domain &#8212; whether it&#8217;s a parent teaching their toddler about the world, or a surgeon performing an operation on a patient (both of these are examples taken from Csikszentmihalyi&#8217;s book).</p><p>Let&#8217;s revisit the four conditions of Flow that were covered in the last post, and relate them to the pair programming experience.</p><div><hr></div><h2>Four Conditions of Flow</h2><p>The four conditions of Flow are what enable a flow state to be both entered into and sustained. Practising pair programming effectively is not easy &#8212; in prior posts, I have described at various ways in which pair programming can go awry and how adhering to prescribed pairing styles such as <a href="https://spikes.sobes.co/p/ping-pong-pairing">ping-pong</a> and <a href="https://spikes.sobes.co/p/strong-style-pairing">strong-style</a> can help maintain the effectiveness of pairing. Here, I&#8217;ll describe how Csikszentmihalyi&#8217;s model for Flow can help improve the effectiveness of pair programming, regardless of the particular pairing style being used.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!II_a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F87e3d59b-83a7-4a21-abf8-2b60a71d3402_728x327.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!II_a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F87e3d59b-83a7-4a21-abf8-2b60a71d3402_728x327.png 424w, https://substackcdn.com/image/fetch/$s_!II_a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F87e3d59b-83a7-4a21-abf8-2b60a71d3402_728x327.png 848w, https://substackcdn.com/image/fetch/$s_!II_a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F87e3d59b-83a7-4a21-abf8-2b60a71d3402_728x327.png 1272w, https://substackcdn.com/image/fetch/$s_!II_a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F87e3d59b-83a7-4a21-abf8-2b60a71d3402_728x327.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!II_a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F87e3d59b-83a7-4a21-abf8-2b60a71d3402_728x327.png" width="728" height="327" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/87e3d59b-83a7-4a21-abf8-2b60a71d3402_728x327.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:327,&quot;width&quot;:728,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:352651,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!II_a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F87e3d59b-83a7-4a21-abf8-2b60a71d3402_728x327.png 424w, https://substackcdn.com/image/fetch/$s_!II_a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F87e3d59b-83a7-4a21-abf8-2b60a71d3402_728x327.png 848w, https://substackcdn.com/image/fetch/$s_!II_a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F87e3d59b-83a7-4a21-abf8-2b60a71d3402_728x327.png 1272w, https://substackcdn.com/image/fetch/$s_!II_a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F87e3d59b-83a7-4a21-abf8-2b60a71d3402_728x327.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Plenty of examples across disciplines show teams in flow states. Why should Software Engineering be any different? (photo by <a href="https://unsplash.com/@josefstepanek?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Josef Stepanek</a>)</figcaption></figure></div><h3>A Challenge Requiring Skills</h3><p>Challenging ourselves while solo coding is typically straightforward. Product teams that employ a <a href="https://www.industriallogic.com/blog/scatter-gather/">scatter-gather strategy</a> for completing the work have this figured out. Team members pick work at the right challenge for themselves off the backlog. For example, less experienced coders will leave the harder tickets for the more senior members of the team to tackle.</p><p>But how does this work with a team that pairs continuously? What if a junior who is anchoring a relatively straightforward ticket is paired up with a senior? How does the senior ensure that they&#8217;re being sufficiently challenged?</p><p>One way to achieve this is for  the senior to take a <a href="https://agilecoachcompetencyframework.com/">coaching stance</a>. For example, the pair may start in <a href="https://spikes.sobes.co/p/the-enigmatic-navigator">Driver-Navigator</a> with the junior driving. The senior then takes copious notes not just about, for example, &#8220;how might we improve this codebase&#8221; but also, &#8220;what feedback can I provide to this junior engineer to help accelerate advancement in their skills?&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ivV-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3e44528e-b587-4a81-a7f4-032f614ffcd7_728x485.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ivV-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3e44528e-b587-4a81-a7f4-032f614ffcd7_728x485.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ivV-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3e44528e-b587-4a81-a7f4-032f614ffcd7_728x485.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ivV-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3e44528e-b587-4a81-a7f4-032f614ffcd7_728x485.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ivV-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3e44528e-b587-4a81-a7f4-032f614ffcd7_728x485.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ivV-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3e44528e-b587-4a81-a7f4-032f614ffcd7_728x485.jpeg" width="728" height="485" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/3e44528e-b587-4a81-a7f4-032f614ffcd7_728x485.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:485,&quot;width&quot;:728,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:97990,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ivV-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3e44528e-b587-4a81-a7f4-032f614ffcd7_728x485.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ivV-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3e44528e-b587-4a81-a7f4-032f614ffcd7_728x485.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ivV-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3e44528e-b587-4a81-a7f4-032f614ffcd7_728x485.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ivV-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3e44528e-b587-4a81-a7f4-032f614ffcd7_728x485.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Coaching is a critical means of developing skills (photo by <a href="https://unsplash.com/@jeffreyflin?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Jeffrey F Lin</a>)</figcaption></figure></div><p>At the next pairing break, the Navigator shares their notes and the pair discuss. Should they try a more ambitious refactoring and see where it goes? Even if it&#8217;s thrown away, the junior will have gained valuable experience in how a <a href="https://martinfowler.com/articles/workflowsOfRefactoring/#comprehension">comprehension refactoring</a> is performed. Or, the senior shares feedback on how the junior can be more effective. This could be sharing keyboard shortcuts and strategies for learning them quickly, or tips on how to change code more incrementally, AKA &#8220;<a href="https://codingdojo.org/practices/BabySteps/">baby steps</a>&#8221;.</p><p>In summary, ensuring the work is challenging for a pair is a much taller order than for a soloist. Nevertheless it is not only possible but critical if the team recognizes the importance of up-skilling its more junior members.</p><h3>Conditions for Focus</h3><p>At first blush, &#8220;conditions for focus&#8221; seems easy to achieve in the age of remote work. If we are fortunate enough to be able to work from a secluded spot in our home, there&#8217;s no manager to come by and tap us on the shoulder to ask us for that &#8220;five minute favour&#8221;. We are arguably in much better control of stymieing distractions such as these. Even with plenty of virtual means of being reached, we can easily switch them off &#8212; as examples, we can simply close our email client or snooze our Slack notifications.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wZzl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10f16b68-c1fa-40ec-a175-d4cc0658c30b_728x428.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wZzl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10f16b68-c1fa-40ec-a175-d4cc0658c30b_728x428.png 424w, https://substackcdn.com/image/fetch/$s_!wZzl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10f16b68-c1fa-40ec-a175-d4cc0658c30b_728x428.png 848w, https://substackcdn.com/image/fetch/$s_!wZzl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10f16b68-c1fa-40ec-a175-d4cc0658c30b_728x428.png 1272w, https://substackcdn.com/image/fetch/$s_!wZzl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10f16b68-c1fa-40ec-a175-d4cc0658c30b_728x428.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wZzl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10f16b68-c1fa-40ec-a175-d4cc0658c30b_728x428.png" width="728" height="428" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/10f16b68-c1fa-40ec-a175-d4cc0658c30b_728x428.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:428,&quot;width&quot;:728,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:782877,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wZzl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10f16b68-c1fa-40ec-a175-d4cc0658c30b_728x428.png 424w, https://substackcdn.com/image/fetch/$s_!wZzl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10f16b68-c1fa-40ec-a175-d4cc0658c30b_728x428.png 848w, https://substackcdn.com/image/fetch/$s_!wZzl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10f16b68-c1fa-40ec-a175-d4cc0658c30b_728x428.png 1272w, https://substackcdn.com/image/fetch/$s_!wZzl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10f16b68-c1fa-40ec-a175-d4cc0658c30b_728x428.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/@inertkrypton?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Jason Rost</a></figcaption></figure></div><p>Paradoxically, the challenge in achieving &#8220;conditions for focus&#8221; can arise when we plan for longer pairing sessions. Namely, the challenge of actually having the pairing session happen in the first place. For a few reasons, I have noticed that blocking off anything longer than one hour for pairing dramatically drops the likelihood that the session happens. For one, there is the challenge of finding calendar availability with your pairing partner. The other challenge &#8212; unspoken yet insidious &#8212; is the lack of appetite for long pairing sessions. The reality is that most find the thought of a multi-hour pairing session daunting and debilitating. And that&#8217;s assuming that both pairing participants plan to challenge themselves at the session. If that prerequisite isn&#8217;t met, it&#8217;s easy for the senior to use the excuse that they simply don&#8217;t have that much time in their day available &#8212; they need time to &#8220;be productive&#8221;.</p><p>To overcome this, I typically aim for one-hour pairing sessions. If it&#8217;s possible to book a longer pairing session, I plan for multiple 25-minute sessions with 5-minute breaks in between each, making that plan clear to my pairing partner.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> These 5-minutes are used to either check-out completely or perform a short retro. In the past, if we both wanted to keep going (i.e. skip the break) then we would. Now, I insist on the retro instead. If we want to keep going, that means things are going well. What are these things, exactly? How can we &#8220;<a href="https://youtu.be/Y1u6Hzve6rk?t=606">turn up the good</a>&#8221;?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9sl-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F31714c4f-f273-482c-842b-24f8b141165d_728x552.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9sl-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F31714c4f-f273-482c-842b-24f8b141165d_728x552.png 424w, https://substackcdn.com/image/fetch/$s_!9sl-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F31714c4f-f273-482c-842b-24f8b141165d_728x552.png 848w, https://substackcdn.com/image/fetch/$s_!9sl-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F31714c4f-f273-482c-842b-24f8b141165d_728x552.png 1272w, https://substackcdn.com/image/fetch/$s_!9sl-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F31714c4f-f273-482c-842b-24f8b141165d_728x552.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9sl-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F31714c4f-f273-482c-842b-24f8b141165d_728x552.png" width="728" height="552" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/31714c4f-f273-482c-842b-24f8b141165d_728x552.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:552,&quot;width&quot;:728,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:379204,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9sl-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F31714c4f-f273-482c-842b-24f8b141165d_728x552.png 424w, https://substackcdn.com/image/fetch/$s_!9sl-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F31714c4f-f273-482c-842b-24f8b141165d_728x552.png 848w, https://substackcdn.com/image/fetch/$s_!9sl-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F31714c4f-f273-482c-842b-24f8b141165d_728x552.png 1272w, https://substackcdn.com/image/fetch/$s_!9sl-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F31714c4f-f273-482c-842b-24f8b141165d_728x552.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The timer is a crucial tool for longer pairing sessions (photo by <a href="https://unsplash.com/es/@alessiozaccaria?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Alessio Zaccaria</a>)</figcaption></figure></div><p>&#8220;Conditions for focus&#8221; means having the conditions for achievable and sustainable focus. That means being able to agree with our colleague on frequent pairing sessions of reasonable lengths. It also means having the option to take breaks frequently, and to reflect on what&#8217;s working and what isn&#8217;t.</p><h3>Clear Goals</h3><p>Traditionally, when we think of goals in a professional setting we think big. Increase customer engagement. Ship that release. Reduce our <a href="https://linearb.io/blog/change-failure-rate">change failure rate</a>. In the context of Flow, however, we think of goals on a much smaller scale. When it&#8217;s practising a musical instrument, a goal may be to play a piece of music all the way through without making a mistake. Oftentimes, a better goal means going even smaller &#8212; play a single bar<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> such that every note is played clearly and in tune, while keeping the rhythm of the piece.</p><p>How does this translate to coding? Firstly, <a href="https://spikes.sobes.co/p/tdd-and-specification-by-example">specification by example and BDD</a> allow us to break down a user story into a series of scenarios. Each scenario is comprised of one or more examples. Each example can be codified into an automated test. Writing a failing test that expresses behaviour of unimplemented code is the first goal. The next goal is to make that test pass. The goal after that is to improve the code we&#8217;ve written so that it can be easily maintained and extended. By laying out these small, Flow-oriented goals, we&#8217;ve just described the red-green-refactor workflow of TDD.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sinz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0ba18-a9b9-49f0-9fe2-7c58502b4b1d_475x424.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sinz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0ba18-a9b9-49f0-9fe2-7c58502b4b1d_475x424.png 424w, https://substackcdn.com/image/fetch/$s_!sinz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0ba18-a9b9-49f0-9fe2-7c58502b4b1d_475x424.png 848w, https://substackcdn.com/image/fetch/$s_!sinz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0ba18-a9b9-49f0-9fe2-7c58502b4b1d_475x424.png 1272w, https://substackcdn.com/image/fetch/$s_!sinz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0ba18-a9b9-49f0-9fe2-7c58502b4b1d_475x424.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sinz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0ba18-a9b9-49f0-9fe2-7c58502b4b1d_475x424.png" width="475" height="424" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/d5e0ba18-a9b9-49f0-9fe2-7c58502b4b1d_475x424.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:424,&quot;width&quot;:475,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:43213,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sinz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0ba18-a9b9-49f0-9fe2-7c58502b4b1d_475x424.png 424w, https://substackcdn.com/image/fetch/$s_!sinz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0ba18-a9b9-49f0-9fe2-7c58502b4b1d_475x424.png 848w, https://substackcdn.com/image/fetch/$s_!sinz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0ba18-a9b9-49f0-9fe2-7c58502b4b1d_475x424.png 1272w, https://substackcdn.com/image/fetch/$s_!sinz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5e0ba18-a9b9-49f0-9fe2-7c58502b4b1d_475x424.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The TDD workflow; often referred to as, &#8220;red, green, refactor.&#8221; Each step is a clear goal in the context of Flow (<a href="http://www.natpryce.com/">photo source</a>)</figcaption></figure></div><h3>Continuous Feedback</h3><p>Feedback is what informs us of our progress towards achieving our goals. Good feedback is timely and actionable. When one plays a note on a musical instrument, the feedback is instantaneous as the note is heard immediately. If the performer has a &#8220;good ear&#8221;, they will recognize whether the note is flat or sharp. In this way, they clearly know in which direction to adjust the pitch.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!u8Mt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8a2ec69-9b72-4996-98aa-352114db3f9b_728x718.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!u8Mt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8a2ec69-9b72-4996-98aa-352114db3f9b_728x718.png 424w, https://substackcdn.com/image/fetch/$s_!u8Mt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8a2ec69-9b72-4996-98aa-352114db3f9b_728x718.png 848w, https://substackcdn.com/image/fetch/$s_!u8Mt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8a2ec69-9b72-4996-98aa-352114db3f9b_728x718.png 1272w, https://substackcdn.com/image/fetch/$s_!u8Mt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8a2ec69-9b72-4996-98aa-352114db3f9b_728x718.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!u8Mt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8a2ec69-9b72-4996-98aa-352114db3f9b_728x718.png" width="728" height="718" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/c8a2ec69-9b72-4996-98aa-352114db3f9b_728x718.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:718,&quot;width&quot;:728,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:429313,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!u8Mt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8a2ec69-9b72-4996-98aa-352114db3f9b_728x718.png 424w, https://substackcdn.com/image/fetch/$s_!u8Mt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8a2ec69-9b72-4996-98aa-352114db3f9b_728x718.png 848w, https://substackcdn.com/image/fetch/$s_!u8Mt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8a2ec69-9b72-4996-98aa-352114db3f9b_728x718.png 1272w, https://substackcdn.com/image/fetch/$s_!u8Mt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8a2ec69-9b72-4996-98aa-352114db3f9b_728x718.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Instantaneous auditory feedback is a key aspect of playing music that makes it especially conducive to Flow (photo by <a href="https://unsplash.com/@studiowattier?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Kenzie Wattier</a>)</figcaption></figure></div><p>In a similar way, effectively practising TDD means reading and interpreting the error messages of the executed test. As long as we move incrementally (AKA &#8220;<a href="https://codingdojo.org/practices/BabySteps/">baby steps</a>&#8221;), the error messages will be actionable. If our unit tests are <a href="https://www.artima.com/weblogs/viewpost.jsp?thread=126923">well-written and well-maintained</a>, they execute quickly &#8212; therefore, the feedback they offer will be timely as well.</p><p>The smaller we make our goals, the clearer they become. Small goals also make continuous feedback achievable. Effective feedback is timely and actionable. In software development, this is enabled through TDD. In addition, pair programming adds a layer of support that keeps us on track while continuously improving upon the effectiveness of our goal-setting and feedback collection.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k95n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F91629a5c-6849-4e3d-ae31-464f1fa0c7ec_2230x2048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k95n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F91629a5c-6849-4e3d-ae31-464f1fa0c7ec_2230x2048.png 424w, https://substackcdn.com/image/fetch/$s_!k95n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F91629a5c-6849-4e3d-ae31-464f1fa0c7ec_2230x2048.png 848w, https://substackcdn.com/image/fetch/$s_!k95n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F91629a5c-6849-4e3d-ae31-464f1fa0c7ec_2230x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!k95n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F91629a5c-6849-4e3d-ae31-464f1fa0c7ec_2230x2048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k95n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F91629a5c-6849-4e3d-ae31-464f1fa0c7ec_2230x2048.png" width="1456" height="1337" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/91629a5c-6849-4e3d-ae31-464f1fa0c7ec_2230x2048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1337,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:181277,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!k95n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F91629a5c-6849-4e3d-ae31-464f1fa0c7ec_2230x2048.png 424w, https://substackcdn.com/image/fetch/$s_!k95n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F91629a5c-6849-4e3d-ae31-464f1fa0c7ec_2230x2048.png 848w, https://substackcdn.com/image/fetch/$s_!k95n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F91629a5c-6849-4e3d-ae31-464f1fa0c7ec_2230x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!k95n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F91629a5c-6849-4e3d-ae31-464f1fa0c7ec_2230x2048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Feedback loops in XP and their respective durations (<a href="https://en.wikipedia.org/wiki/Extreme_programming">photo source</a>)</figcaption></figure></div><div><hr></div><h2>Final Thoughts</h2><p>Not only is Flow possible when pairing, there are often plenty of opportunities for improvement. We can uncover these opportunities when we reflect on and apply Csikszentmihalyi&#8217;s four conditions of Flow. Further, we see how marrying pair programming with TDD allows us to set clear goals that are supported by highly effective feedback loops &#8212; namely, feedback that is both timely and actionable.</p><p>I find that Csikszentmihalyi&#8217;s mental model around Flow holds a high degree of relevance to the practice of Software Engineering and pair programming in particular. I hope to explore this further in future posts.</p><div class="poll-embed" data-attrs="{&quot;id&quot;:10953}" data-component-name="PollToDOM"></div><p>Having said that, I have created the above poll to learn about what you want to read more about. Please take a moment to read through the options and pick the one that jumps out at you.</p><p>Thank you!</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>See <a href="https://connected.io/post/delivering-better-products-through-intention-driven-pairing/">Intention-Driven Pairing</a> for a more in-depth write-up of this practice.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>A section of music. <a href="https://en.wikipedia.org/wiki/Bar_(music)">Bar (Wikipedia)</a></p></div></div>]]></content:encoded></item><item><title><![CDATA[Flow in Software Engineering]]></title><description><![CDATA[Should we avoid it or embrace it?]]></description><link>https://spikes.sobes.co/p/flow-in-software-engineering</link><guid isPermaLink="false">https://spikes.sobes.co/p/flow-in-software-engineering</guid><dc:creator><![CDATA[Paul Sobocinski]]></dc:creator><pubDate>Thu, 21 Jul 2022 10:01:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa537e166-2090-4f2d-af91-097638161b73_728x486.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Many Software Engineers love Flow, or being &#8220;in the zone&#8221;. I confess, I relish it. I can stay focused for hours. While in a Flow state, I can hammer through tough problems and get a ton of work done. It feels awesome. I remember back in my startup days, I&#8217;d stay in the zone all day and forget to eat. Despite ending the day hungry, I had a sense of fulfillment that went beyond what I had accomplished (though occasional accomplishments never hurt). There was something intrinsically rewarding about being in a state of Flow.</p><p>If you have any experience with computer programming, you can probably relate to this. On the other hand, if you have experience working with other Software Engineers, you may have been warned against it. Harking back to my startup years, I can remember times when I worked late into the night alone on the codebase, only to have it rewritten by other members of the software engineering team once other factors were considered.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BDQ3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf70031-e856-4781-a1c9-b9b41d1dd705_728x320.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BDQ3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf70031-e856-4781-a1c9-b9b41d1dd705_728x320.png 424w, https://substackcdn.com/image/fetch/$s_!BDQ3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf70031-e856-4781-a1c9-b9b41d1dd705_728x320.png 848w, https://substackcdn.com/image/fetch/$s_!BDQ3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf70031-e856-4781-a1c9-b9b41d1dd705_728x320.png 1272w, https://substackcdn.com/image/fetch/$s_!BDQ3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf70031-e856-4781-a1c9-b9b41d1dd705_728x320.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BDQ3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf70031-e856-4781-a1c9-b9b41d1dd705_728x320.png" width="728" height="320" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/6cf70031-e856-4781-a1c9-b9b41d1dd705_728x320.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:320,&quot;width&quot;:728,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:356109,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BDQ3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf70031-e856-4781-a1c9-b9b41d1dd705_728x320.png 424w, https://substackcdn.com/image/fetch/$s_!BDQ3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf70031-e856-4781-a1c9-b9b41d1dd705_728x320.png 848w, https://substackcdn.com/image/fetch/$s_!BDQ3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf70031-e856-4781-a1c9-b9b41d1dd705_728x320.png 1272w, https://substackcdn.com/image/fetch/$s_!BDQ3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf70031-e856-4781-a1c9-b9b41d1dd705_728x320.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Should Software Engineers avoid Flow? (<a href="https://unsplash.com/photos/fGvXxVxmTi8?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditShareLink">photo source</a>)</figcaption></figure></div><div><hr></div><h2>The case against Flow</h2><p>Robert &#8220;Uncle Bob&#8221; Martin makes the case against precisely the kind of behaviour I described above in his book, &#8220;<a href="https://www.goodreads.com/book/show/10284614-the-clean-coder">Clean Coder</a>:&#8221;</p><blockquote><p><em>Much has been written about the hyper-productive state known as &#8220;flow.&#8221; Some programmers call it &#8220;the Zone.&#8221; Whatever it is called, you are probably familiar with it. It is the highly focused, tunnel-vision state of consciousness that programmers can get into while they write code. In this state they feel productive. In this state they feel infallible. And so they desire to attain that state, and often measure their self-worth by how much time they can spend there.</em></p><p><em>Here&#8217;s a little hint from someone whose been there and back: Avoid the Zone. This state of consciousness is not really hyper-productive and is certainly not infallible. It&#8217;s really just a mild meditative state in which certain rational faculties are diminished in favour of a sense of speed.</em></p><p><em>The problem is that you lose some of the big picture while you are in the Zone, so you will likely make decisions that you will later have to go back and reverse. Code written in the Zone may come out faster, but you&#8217;ll be going back to visit it more.</em></p></blockquote><p>Up until this point, I agree with Uncle Bob. The following paragraph, however, is where our opinions diverge:</p><blockquote><p><em>One of the big benefits of pair programming is that it is virtually impossible for a pair to enter the Zone. The Zone is an uncommunicative state, while pairing requires intense and constant communication. Indeed, one of the complaints I often hear about pairing is that it blocks entry into the Zone. Good! The Zone is not where you want to be.</em></p></blockquote><p>Having practiced pair programming for over eight years now, I&#8217;ve found that Flow states are indeed possible to achieve while pairing. They feel different from the Flow states experienced when solo programming, but who&#8217;s to say that Flow has a particular feeling, anyway?</p><p>As it turns out, there is someone who&#8217;s had a whole lot to say about Flow. He also happens to be the one who coined the term.</p><div><hr></div><h2>What is flow</h2><p>The late Mihaly Csikszentmihalyi has studied and spoken on the topic of Flow for several decades, having published <a href="https://journals.sagepub.com/doi/abs/10.1177/002216787501500306">his first paper</a> on the topic in 1975. He is, however, best known for his seminal book on the topic: <a href="https://www.goodreads.com/book/show/117101.Flow">Flow: The Psychology of Optimal Experience</a> (first published in 1990).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AJg_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1dc988c-2bed-442e-8e79-db5abb6732f9_400x609.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AJg_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1dc988c-2bed-442e-8e79-db5abb6732f9_400x609.jpeg 424w, https://substackcdn.com/image/fetch/$s_!AJg_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1dc988c-2bed-442e-8e79-db5abb6732f9_400x609.jpeg 848w, https://substackcdn.com/image/fetch/$s_!AJg_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1dc988c-2bed-442e-8e79-db5abb6732f9_400x609.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!AJg_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1dc988c-2bed-442e-8e79-db5abb6732f9_400x609.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AJg_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1dc988c-2bed-442e-8e79-db5abb6732f9_400x609.jpeg" width="400" height="609" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/b1dc988c-2bed-442e-8e79-db5abb6732f9_400x609.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:609,&quot;width&quot;:400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:27078,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!AJg_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1dc988c-2bed-442e-8e79-db5abb6732f9_400x609.jpeg 424w, https://substackcdn.com/image/fetch/$s_!AJg_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1dc988c-2bed-442e-8e79-db5abb6732f9_400x609.jpeg 848w, https://substackcdn.com/image/fetch/$s_!AJg_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1dc988c-2bed-442e-8e79-db5abb6732f9_400x609.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!AJg_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1dc988c-2bed-442e-8e79-db5abb6732f9_400x609.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://www.goodreads.com/book/show/117101.Flow">Flow: The Psychology of Optimal Experience</a> by <a href="https://en.wikipedia.org/wiki/Mihaly_Csikszentmihalyi">Michaly Csikszentmihalyi</a></figcaption></figure></div><p>At its core, the book makes the case that many human experiences can be transformed into Flow experiences, and one should endeavour to do so, as it brings meaningful and lasting enjoyment to one&#8217;s life. Through sampling and analyzing  the lives of experts across various disciplines such as sports, music, art, and many others, Csikszentmihalyi determines that these individuals are at their happiest and most fulfilled during periods of intense concentration on tasks involving high degrees of skill to perform.</p><p>Through metaphor, his interview subjects described feeling caught up in a flowing current which carried them along as they progressed through their work. Consequently, Csikszentmihalyi arrived at &#8220;Flow&#8221; as a unifying term to describe these experiences.</p><h3>Eight elements of Flow</h3><p>Further, Csikszentmihalyi identifies eight elements that are common across all Flow states, regardless of level of expertise, form of behaviour, or type of discipline.</p><h4>Four conditions</h4><p>The first four elements can be thought of as the conditions for a Flow state to entered into and sustained over time. They&#8217;re summarized below:</p><ol><li><p><strong>A Challenge Requiring Skills:</strong> The task being undertaken is challenging in a way that leverages our skills. The difficulty level of the task must be just right, near the limits of our abilities. If the difficulty is too high, we get anxious; if it&#8217;s too low, we get bored. The author describes the non-flow states of "anxiety&#8221; and &#8220;boredom&#8221; as &#8220;psychic entropy&#8221;.</p></li><li><p><strong>Conditions for Focus:</strong> If we are to perform near the limits of our abilities, we need to concentrate on the task at hand. Consequently, we require the conditions that allow for this &#8212; a well-rested self and a distraction-free environment are just some examples of what we&#8217;d need to enter into Flow in the first place.</p></li><li><p><strong>Clear Goals:</strong> In order to start taking steps forward, we must have a clear destination in mind. Goals that facilitate a Flow state are ones that can be achieved quickly, yet still pose a meaningful challenge. This is related to the first point: Flow states are invoked by our psyche when we perform near the limit of our abilities.</p></li><li><p><strong>Continuous Feedback:</strong> Effective feedback in Flow doesn&#8217;t just tell us whether a goal has been achieved &#8212; it also illuminates our progress to achieving that goal. The most effective and consistent Flow states observed by Csikszentmihalyi happened when the feedback was continuous. Here&#8217;s one example that he mentions in his book: as surgeons operate, they assess how their surgery is going in real-time by continually observing the amount of blood in the patient&#8217;s cavity.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PC4n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F39c34dd3-aacc-45a6-99b3-853020031d4a_728x345.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PC4n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F39c34dd3-aacc-45a6-99b3-853020031d4a_728x345.png 424w, https://substackcdn.com/image/fetch/$s_!PC4n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F39c34dd3-aacc-45a6-99b3-853020031d4a_728x345.png 848w, https://substackcdn.com/image/fetch/$s_!PC4n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F39c34dd3-aacc-45a6-99b3-853020031d4a_728x345.png 1272w, https://substackcdn.com/image/fetch/$s_!PC4n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F39c34dd3-aacc-45a6-99b3-853020031d4a_728x345.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PC4n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F39c34dd3-aacc-45a6-99b3-853020031d4a_728x345.png" width="728" height="345" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/39c34dd3-aacc-45a6-99b3-853020031d4a_728x345.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:345,&quot;width&quot;:728,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:385191,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PC4n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F39c34dd3-aacc-45a6-99b3-853020031d4a_728x345.png 424w, https://substackcdn.com/image/fetch/$s_!PC4n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F39c34dd3-aacc-45a6-99b3-853020031d4a_728x345.png 848w, https://substackcdn.com/image/fetch/$s_!PC4n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F39c34dd3-aacc-45a6-99b3-853020031d4a_728x345.png 1272w, https://substackcdn.com/image/fetch/$s_!PC4n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F39c34dd3-aacc-45a6-99b3-853020031d4a_728x345.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Just as a seed needs the right conditions to germinate, we need the right conditions to enter into a Flow state (<a href="https://unsplash.com/photos/0td83wpjVEI?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditShareLink">photo source</a>)</figcaption></figure></div><h4>Four characteristics</h4><p>The next four elements can be thought of as distinct characteristics observed once a flow state is entered into. They serve to reinforce the first four conditions described above. The four characteristics of flow are as follows:</p><ol><li><p><strong>Effortless Involvement:</strong> While creating the conditions for concentration can be challenging, something interesting happens once we enter into a Flow state: our attention becomes completely absorbed by the activity. At this point, we find it difficult to switch contexts or even get distracted. On the contrary, we find that we need to pull ourselves away &#8212; almost by force &#8212; when our attention is needed elsewhere.</p></li><li><p><strong>Confidence of Control:</strong> Expert athletes and artists in Flow perform dangerous feats requiring high degrees of skill with extremely narrow margins for error. At the same time, these same performers describe their experience as a feeling of complete control. Csikszentmihalyi describes this as a &#8220;paradox of control&#8221; as there are still possibilities for negative outcomes &#8212; even if the performer does everything right, an external factor may cause an injury, or they may simply lose against a competing performer. Essentially, this characteristic can be thought of as experiencing an irrationally-high feeling of confidence in one&#8217;s own abilities while in Flow.</p></li><li><p><strong>The Loss of Self-Concern:</strong> For many of us, self-conscious thoughts nag at us continually as we go about the mundanities of daily life. If we&#8217;re alone, we question and second-guess our motivations, intentions, and behaviours. If we&#8217;re with others, we speculate on how we&#8217;re perceived and what others think of us. By necessity, these self-conscious thought processes evaporate during Flow. The necessity arises from the mind having to dedicate itself fully to Flow state activities. As these activities push us to the limits of our abilities, there is no room for self-conscious streams of thought to manifest and develop.</p></li><li><p><strong>Transformed Sense of Time:</strong> Flow states can alter an individual&#8217;s sense of time. We can get so engrossed in a task that we are shocked when we get a moment to glance at our watch &#8212; &#8220;Is that the time already?&#8221; It&#8217;s also possible for the opposite to happen, however. Csikszentmihalyi describes how an elaborate Ballet move requiring a high degree of concentration can feel like taking minutes to perform to the dancer, yet they actually complete the move in under a second. In summary, Flow states can significantly transform and even impair our sense of time.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!f6SZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa537e166-2090-4f2d-af91-097638161b73_728x486.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f6SZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa537e166-2090-4f2d-af91-097638161b73_728x486.png 424w, https://substackcdn.com/image/fetch/$s_!f6SZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa537e166-2090-4f2d-af91-097638161b73_728x486.png 848w, https://substackcdn.com/image/fetch/$s_!f6SZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa537e166-2090-4f2d-af91-097638161b73_728x486.png 1272w, https://substackcdn.com/image/fetch/$s_!f6SZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa537e166-2090-4f2d-af91-097638161b73_728x486.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!f6SZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa537e166-2090-4f2d-af91-097638161b73_728x486.png" width="728" height="486" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/a537e166-2090-4f2d-af91-097638161b73_728x486.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:486,&quot;width&quot;:728,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:414052,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!f6SZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa537e166-2090-4f2d-af91-097638161b73_728x486.png 424w, https://substackcdn.com/image/fetch/$s_!f6SZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa537e166-2090-4f2d-af91-097638161b73_728x486.png 848w, https://substackcdn.com/image/fetch/$s_!f6SZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa537e166-2090-4f2d-af91-097638161b73_728x486.png 1272w, https://substackcdn.com/image/fetch/$s_!f6SZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa537e166-2090-4f2d-af91-097638161b73_728x486.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The characteristics of Flow are part of what make the experience itself enjoyable (<a href="https://unsplash.com/photos/XmD4gx8jsXE?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditShareLink">photo source</a>)</figcaption></figure></div><h3>The autotelic experience</h3><p>In a sea of competing demands for our attention, time, and energy, what hope do we have for Flow to be practiced consistently? Fortunately, there is an underlying aspect of Flow that compels us to return to it: the autotelic experience. Csikszentmihalyi describes this as follows:</p><blockquote><p><em>The term &#8220;autotelic&#8221; derives from two Greek words, auto meaning self, and telos meaning goal. It refers to a self-contained activity, one that is done not with the expectation of some future benefit, but simply because the doing itself is the reward.</em></p></blockquote><p>The author goes on further to clarify that most behaviour is neither purely autotelic nor exotelic:</p><blockquote><p><em>Surgeons usually enter into their long period of training because of exotelic expectations: to help people, to make money, to achieve prestige. If they are lucky, after a while they begin to enjoy their work, and then surgery becomes to a large extent also autotelic.</em></p></blockquote><p>At first, we may be extrinsically motivated to complete certain tasks. As we are driven to complete more of these tasks, we put effort towards building the skills needed to complete them. As our skills grow and Flow states deepen, practicing these skills becomes increasingly autotelic &#8212; rewarding in and of itself.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vpv-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcd98c55-9478-477a-b3fc-d30c45d9178b_1168x1058.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vpv-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcd98c55-9478-477a-b3fc-d30c45d9178b_1168x1058.png 424w, https://substackcdn.com/image/fetch/$s_!vpv-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcd98c55-9478-477a-b3fc-d30c45d9178b_1168x1058.png 848w, https://substackcdn.com/image/fetch/$s_!vpv-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcd98c55-9478-477a-b3fc-d30c45d9178b_1168x1058.png 1272w, https://substackcdn.com/image/fetch/$s_!vpv-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcd98c55-9478-477a-b3fc-d30c45d9178b_1168x1058.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vpv-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcd98c55-9478-477a-b3fc-d30c45d9178b_1168x1058.png" width="1168" height="1058" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/dcd98c55-9478-477a-b3fc-d30c45d9178b_1168x1058.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1058,&quot;width&quot;:1168,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:138006,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vpv-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcd98c55-9478-477a-b3fc-d30c45d9178b_1168x1058.png 424w, https://substackcdn.com/image/fetch/$s_!vpv-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcd98c55-9478-477a-b3fc-d30c45d9178b_1168x1058.png 848w, https://substackcdn.com/image/fetch/$s_!vpv-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcd98c55-9478-477a-b3fc-d30c45d9178b_1168x1058.png 1272w, https://substackcdn.com/image/fetch/$s_!vpv-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcd98c55-9478-477a-b3fc-d30c45d9178b_1168x1058.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The eight elements of Flow</figcaption></figure></div><div><hr></div><h2>Wrap-up</h2><p>Mihaly Csikszentmihalyi provides us with a well-structured definition of Flow via its eight elements. He also demonstrates how Flow states can be observed across a vast array of activities and disciplines. </p><p>Indeed, there are a myriad of human activities that could be enriched thanks to the phenomenon of Flow. I believe that pair programming in Flow is not just a real possibility, but one that is realized more often than we give credence to.</p><p>I will back up this claim in my next post, where I describe how the <a href="https://spikes.sobes.co/p/maximizing-pair-programming-flow">eight components of Flow can be observed during a pairing session</a>. I&#8217;ll also cover approaches that can be used to sustain Flow in pair programming.</p>]]></content:encoded></item><item><title><![CDATA[Silo-ball, Async Fixation, and Deep Work Obsession]]></title><description><![CDATA[An emerging set of anti-patterns in the age of remote work]]></description><link>https://spikes.sobes.co/p/silo-ball-async-fixation-deep-work-obsession</link><guid isPermaLink="false">https://spikes.sobes.co/p/silo-ball-async-fixation-deep-work-obsession</guid><dc:creator><![CDATA[Paul Sobocinski]]></dc:creator><pubDate>Thu, 16 Jun 2022 10:00:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ff4aca9-d401-4d71-8bdd-9535b5c1c5e1_1456x758.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Zoom fatigue.</p><p>Most of us will have heard of the term by now. Typically, it&#8217;s described as the fatigue one feels after a day of non-stop video calls (Zoom being just one of many group video calling tools that are now available).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!K1nQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F860f033b-1915-4809-8dab-40345e4f03cc_1456x806.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K1nQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F860f033b-1915-4809-8dab-40345e4f03cc_1456x806.png 424w, https://substackcdn.com/image/fetch/$s_!K1nQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F860f033b-1915-4809-8dab-40345e4f03cc_1456x806.png 848w, https://substackcdn.com/image/fetch/$s_!K1nQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F860f033b-1915-4809-8dab-40345e4f03cc_1456x806.png 1272w, https://substackcdn.com/image/fetch/$s_!K1nQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F860f033b-1915-4809-8dab-40345e4f03cc_1456x806.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K1nQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F860f033b-1915-4809-8dab-40345e4f03cc_1456x806.png" width="1456" height="806" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/860f033b-1915-4809-8dab-40345e4f03cc_1456x806.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:806,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:948628,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!K1nQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F860f033b-1915-4809-8dab-40345e4f03cc_1456x806.png 424w, https://substackcdn.com/image/fetch/$s_!K1nQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F860f033b-1915-4809-8dab-40345e4f03cc_1456x806.png 848w, https://substackcdn.com/image/fetch/$s_!K1nQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F860f033b-1915-4809-8dab-40345e4f03cc_1456x806.png 1272w, https://substackcdn.com/image/fetch/$s_!K1nQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F860f033b-1915-4809-8dab-40345e4f03cc_1456x806.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Do you find it tiring to be on webcam all day? (<a href="https://unsplash.com/photos/lq87UxGSiEQ">photo source</a>)</figcaption></figure></div><p>What causes this phenomenon? Some contend that being on camera for long periods of time can <a href="https://news.stanford.edu/2021/02/23/four-causes-zoom-fatigue-solutions/">feel performative, reduce mobility, and increase cognitive load</a>; this has led to many companies adopting camera-optional video calls.</p><p>However, consider that Software Engineers and other product development practitioners have been complaining about excessive meetings long before the COVID-19 pandemic and the subsequent ubiquity of remote work. In fact, I&#8217;d hazard to guess that this complaint stretches back to the start of Agile software development. Among other changes, Agile brought about radically new ways of working where software programmers began to collaborate more closely with other product development disciplines than before.</p><p>My prior two posts &#8212; <a href="https://spikes.sobes.co/p/product-team-anti-patterns">Fend-for-yourself-onboarding</a> and <a href="https://spikes.sobes.co/p/the-hero-anti-pattern">The Hero</a> &#8212; each covered a fairly straightforward product team anti-pattern. By contrast, this post covers a set of three anti-patterns that are more nuanced and thus trickier to avoid, identify, and address.</p><div><hr></div><h2>Silo-ball</h2><p>The term &#8220;silo-ball&#8221; illustrates the practice of &#8220;lobbing back&#8221; tickets from a downstream lane of a Kanban board to an upstream one. While doing so is sometimes unavoidable, indiscriminate adherence to this practice can be harmful to the team.</p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9P0D!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F04defb90-07cd-4fca-a591-24be1921fec1_843x754.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9P0D!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F04defb90-07cd-4fca-a591-24be1921fec1_843x754.png 424w, https://substackcdn.com/image/fetch/$s_!9P0D!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F04defb90-07cd-4fca-a591-24be1921fec1_843x754.png 848w, https://substackcdn.com/image/fetch/$s_!9P0D!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F04defb90-07cd-4fca-a591-24be1921fec1_843x754.png 1272w, https://substackcdn.com/image/fetch/$s_!9P0D!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F04defb90-07cd-4fca-a591-24be1921fec1_843x754.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9P0D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F04defb90-07cd-4fca-a591-24be1921fec1_843x754.png" width="843" height="754" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/04defb90-07cd-4fca-a591-24be1921fec1_843x754.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:754,&quot;width&quot;:843,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:66527,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9P0D!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F04defb90-07cd-4fca-a591-24be1921fec1_843x754.png 424w, https://substackcdn.com/image/fetch/$s_!9P0D!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F04defb90-07cd-4fca-a591-24be1921fec1_843x754.png 848w, https://substackcdn.com/image/fetch/$s_!9P0D!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F04defb90-07cd-4fca-a591-24be1921fec1_843x754.png 1272w, https://substackcdn.com/image/fetch/$s_!9P0D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F04defb90-07cd-4fca-a591-24be1921fec1_843x754.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Silo-ball on a Kanban board (lanes are coloured). Left-to-right arrows above the lanes denote forward movement, while right-to-left arrows below the lanes denote backwards movement on the Kanban board.</figcaption></figure></div><p>For example, if a Software Engineer requires only a few minutes of a Designer&#8217;s time to consult them on a particular UX behaviour, then moving the associated ticket back to the &#8220;Design&#8221; lane undermines the team&#8217;s productivity. This is because the cycle time on the ticket has now increased by an indefinite amount &#8212; progress has stalled on the work until the Designer picks the ticket up to offer their feedback. Once they do, they again move their ticket back to the &#8220;Engineering&#8221; lane, where it sits for an indefinite period until a Software Engineer picks it back up again.</p><p>Further, if the team gets comfortable with this practice, then team members specialize in working inside one lane only, rejecting involvement in any work outside of their lane. Collaboration plummets as the lanes harden into silos and disciplines are boxed into roles. Ultimately, this leads to a team that cannot respond to change in a rapid and effective manner, due to the rigid dependencies that form across silos and roles.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SdBx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa82e6572-bd92-4394-b1c3-61bb10bf56c8_1456x759.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SdBx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa82e6572-bd92-4394-b1c3-61bb10bf56c8_1456x759.png 424w, https://substackcdn.com/image/fetch/$s_!SdBx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa82e6572-bd92-4394-b1c3-61bb10bf56c8_1456x759.png 848w, https://substackcdn.com/image/fetch/$s_!SdBx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa82e6572-bd92-4394-b1c3-61bb10bf56c8_1456x759.png 1272w, https://substackcdn.com/image/fetch/$s_!SdBx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa82e6572-bd92-4394-b1c3-61bb10bf56c8_1456x759.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SdBx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa82e6572-bd92-4394-b1c3-61bb10bf56c8_1456x759.png" width="1456" height="759" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/a82e6572-bd92-4394-b1c3-61bb10bf56c8_1456x759.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:759,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1580851,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SdBx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa82e6572-bd92-4394-b1c3-61bb10bf56c8_1456x759.png 424w, https://substackcdn.com/image/fetch/$s_!SdBx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa82e6572-bd92-4394-b1c3-61bb10bf56c8_1456x759.png 848w, https://substackcdn.com/image/fetch/$s_!SdBx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa82e6572-bd92-4394-b1c3-61bb10bf56c8_1456x759.png 1272w, https://substackcdn.com/image/fetch/$s_!SdBx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa82e6572-bd92-4394-b1c3-61bb10bf56c8_1456x759.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">An effective way to prevent silos from forming on product teams is to cultivate an earnest curiosity about what our teammates do; this includes a deep understanding and appreciation of their expertise in their respective disciplines (<a href="https://unsplash.com/photos/7kSnMLGoR9w?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditShareLink">photo source</a>).</figcaption></figure></div><p>Instead of moving a ticket backwards on the Kanban board, a team member can resolve their blocker by jumping on a call with their teammate and conducting an impromptu cross-disciplinary pairing session. Given the knowledge asymmetry (i.e. different disciplines), I&#8217;d recommend <a href="https://spikes.sobes.co/p/strong-style-pairing">strong-style pairing</a> for such a scenario.</p><p>Backward ticket movements on a Kanban board are sometimes inevitable. Nonetheless, a product team should recognize the significant increases in cycle time and reductions in collaboration that they can cause.</p><div><hr></div><h2>Async fixation</h2><p>What drives the behaviours that lead to &#8220;silo-ball&#8221;? What&#8217;s stopping us from jumping on that 5-minute call with our colleague? Why do we instead ask them to look at it as soon as they &#8220;have a moment&#8221; to do so &#8212; essentially pushing it to the end of their personal queue of to-dos?</p><p>A reason could be the unappealing nature of video calls, when compared to in-person interaction. More specifically, we proactively avoid Zoom fatigue by rejecting both video and audio calls altogether. Thus, the commonly-prescribed treatment to Zoom fatigue is to move as much work as possible to asynchronous collaboration. Being &#8220;async-fixated&#8221; means that we take asynchronous work to its extremes &#8212; beyond the realm of common-sense. A company that embraces async work unequivocally is in danger of finding itself at such an extreme, since its employees can justify their unreasonable behaviour as part of the company culture.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0CCL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6e457ffc-dcf9-4b14-864f-282f5c78d41d_1456x762.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0CCL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6e457ffc-dcf9-4b14-864f-282f5c78d41d_1456x762.png 424w, https://substackcdn.com/image/fetch/$s_!0CCL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6e457ffc-dcf9-4b14-864f-282f5c78d41d_1456x762.png 848w, https://substackcdn.com/image/fetch/$s_!0CCL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6e457ffc-dcf9-4b14-864f-282f5c78d41d_1456x762.png 1272w, https://substackcdn.com/image/fetch/$s_!0CCL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6e457ffc-dcf9-4b14-864f-282f5c78d41d_1456x762.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0CCL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6e457ffc-dcf9-4b14-864f-282f5c78d41d_1456x762.png" width="1456" height="762" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/6e457ffc-dcf9-4b14-864f-282f5c78d41d_1456x762.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:762,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1613721,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0CCL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6e457ffc-dcf9-4b14-864f-282f5c78d41d_1456x762.png 424w, https://substackcdn.com/image/fetch/$s_!0CCL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6e457ffc-dcf9-4b14-864f-282f5c78d41d_1456x762.png 848w, https://substackcdn.com/image/fetch/$s_!0CCL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6e457ffc-dcf9-4b14-864f-282f5c78d41d_1456x762.png 1272w, https://substackcdn.com/image/fetch/$s_!0CCL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6e457ffc-dcf9-4b14-864f-282f5c78d41d_1456x762.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Ironically, we have exchanged our literal, in-office cubicles with more comfortable, figurative cubicles at home. (<a href="https://unsplash.com/photos/2zZp12ChxhU">photo source</a>)</figcaption></figure></div><p>How does &#8220;async fixation&#8221; look like? We replace as many recurring meetings with async approaches as possible:</p><ul><li><p>&#8220;Why have a daily standup over Zoom if we can just auto-create a slack thread that asks the same questions? That is arguably better anyway because it saves a historical record of the responses.&#8221;</p></li><li><p>&#8220;Why can&#8217;t we create an <a href="https://easyretro.io/">EasyRetro</a> board and have team members populate it through the week? That way if they can&#8217;t make it to the retro, at least their observations and opinions are captured? That&#8217;ll also shorten the actual retro, as most of the collaboration can happen asynchronously.&#8221;</p></li></ul><p>There is some merit to these approaches. Doing pre-work leads to more efficient and effective meetings, so any encouragement around defining and completing prep-work is a good thing. At the same time, however, too much pre-work can lead to <a href="https://en.wikipedia.org/wiki/Anchoring_(cognitive_bias)">anchoring bias</a> around an initial topic, especially when retrospectives are involved.</p><p>Avoiding synchronous interaction at all costs, however, is counter-productive and harmful. Some examples:</p><ul><li><p><em><strong>&#8220;Just add a comment in the PR and I&#8217;ll get to it.&#8221;</strong></em></p><ul><li><p>Leads to significant delays in cycle time as the PR is shuttled back from reviewer to author and back again (see the diagram below for a visualization of this).</p></li></ul></li><li><p><em><strong>&#8220;Just start a Slack thread and see what people say.&#8221;</strong></em></p><ul><li><p>Biases respondents to those with easily-expressible and vocal opinions on the matter; respondents who have nuanced opinions that take more effort to articulate are less likely to contribute.</p></li></ul></li><li><p><em><strong>&#8220;Just start a Google Doc and share it with everyone.&#8221;</strong></em></p><ul><li><p>Anchors the discussion to the first version of the document, so only incremental changes are suggested and made.</p></li></ul></li></ul><p>Some ideas, comments, or questions are difficult to phrase. Sometimes your co-worker needs to talk through their thoughts with you. Sometimes, over-reliance on asynchronous chat tools can lead to a rabbit-hole of questions on a Slack thread that can instantly become moot via a 2-minute real-time conversation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VvpI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F519d7dfe-abab-41d0-9b62-17242734d549_1403x717.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VvpI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F519d7dfe-abab-41d0-9b62-17242734d549_1403x717.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VvpI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F519d7dfe-abab-41d0-9b62-17242734d549_1403x717.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VvpI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F519d7dfe-abab-41d0-9b62-17242734d549_1403x717.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VvpI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F519d7dfe-abab-41d0-9b62-17242734d549_1403x717.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VvpI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F519d7dfe-abab-41d0-9b62-17242734d549_1403x717.jpeg" width="1403" height="717" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/519d7dfe-abab-41d0-9b62-17242734d549_1403x717.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:717,&quot;width&quot;:1403,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:95065,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VvpI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F519d7dfe-abab-41d0-9b62-17242734d549_1403x717.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VvpI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F519d7dfe-abab-41d0-9b62-17242734d549_1403x717.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VvpI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F519d7dfe-abab-41d0-9b62-17242734d549_1403x717.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VvpI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F519d7dfe-abab-41d0-9b62-17242734d549_1403x717.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Even when all team members stay busy, async work can lead to significantly inflated cycle times; the above diagram shows how it can happen with PRs (<a href="https://www.linkedin.com/feed/update/urn:li:activity:6874019293839941632/">photo source</a>).</figcaption></figure></div><div><hr></div><h2>Deep work obsession</h2><p>Besides Zoom fatigue, there&#8217;s another reason for async fixation that is far more compelling and insidious.</p><p>I&#8217;ve been listening to <a href="https://www.calnewport.com/books/deep-work/">Deep Work</a> (on audiobook) lately. While a great book, there is an implicit assumption running through the entire book &#8212; that deep work is done alone, and that it&#8217;s on you as an individual to figure out how to eliminate distractions so that you can effectively practise it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZcH9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F09bb6a89-db46-4c5e-aed2-92a7e821bb49_400x604.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZcH9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F09bb6a89-db46-4c5e-aed2-92a7e821bb49_400x604.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZcH9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F09bb6a89-db46-4c5e-aed2-92a7e821bb49_400x604.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZcH9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F09bb6a89-db46-4c5e-aed2-92a7e821bb49_400x604.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZcH9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F09bb6a89-db46-4c5e-aed2-92a7e821bb49_400x604.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZcH9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F09bb6a89-db46-4c5e-aed2-92a7e821bb49_400x604.jpeg" width="400" height="604" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/09bb6a89-db46-4c5e-aed2-92a7e821bb49_400x604.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:604,&quot;width&quot;:400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:27515,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZcH9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F09bb6a89-db46-4c5e-aed2-92a7e821bb49_400x604.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZcH9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F09bb6a89-db46-4c5e-aed2-92a7e821bb49_400x604.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZcH9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F09bb6a89-db46-4c5e-aed2-92a7e821bb49_400x604.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZcH9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F09bb6a89-db46-4c5e-aed2-92a7e821bb49_400x604.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Cover of <a href="https://www.calnewport.com/books/deep-work/">Deep Work</a> by Cal Newport</figcaption></figure></div><p>Don&#8217;t get me wrong. I&#8217;m an avid believer in deep work and have practised it solo for certain tasks (for example, writing this post). However, as product practitioners, we should not take deep work as the aspirational pinnacle of productivity.</p><p>You may be asking &#8212; why not? What happens when we optimize a product team around solo deep work? Wouldn&#8217;t we get an explosion of profound insights, or an accelerated delivery of features and bug-fixes through large swaths of thoughtfully-written code?</p><p>Unfortunately, the answer is no. While we may gain some novel ideas or sophisticated code via solo deep work, we lose the short feedback loops that validate customer value via continuous delivery of working software. In other words, we lose agility.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1FkZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc558605b-3b19-4d54-8f0e-fb053b6e6094_1456x999.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1FkZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc558605b-3b19-4d54-8f0e-fb053b6e6094_1456x999.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1FkZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc558605b-3b19-4d54-8f0e-fb053b6e6094_1456x999.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1FkZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc558605b-3b19-4d54-8f0e-fb053b6e6094_1456x999.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1FkZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc558605b-3b19-4d54-8f0e-fb053b6e6094_1456x999.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1FkZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc558605b-3b19-4d54-8f0e-fb053b6e6094_1456x999.jpeg" width="1456" height="999" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/c558605b-3b19-4d54-8f0e-fb053b6e6094_1456x999.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:999,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:224879,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1FkZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc558605b-3b19-4d54-8f0e-fb053b6e6094_1456x999.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1FkZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc558605b-3b19-4d54-8f0e-fb053b6e6094_1456x999.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1FkZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc558605b-3b19-4d54-8f0e-fb053b6e6094_1456x999.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1FkZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc558605b-3b19-4d54-8f0e-fb053b6e6094_1456x999.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">When Carl Jung locked himself in his <a href="https://en.wikipedia.org/wiki/Bollingen_Tower">Tower at Bollingen</a> (pictured), he was working on a new school-of-thought, not a modern software product (<a href="https://jungqld.com/events/dec-2019/lynette-fox/christmas-presentation-and-gathering/">photo source</a>).</figcaption></figure></div><p>That said, deep work need not be abandoned or even compromised to preserve agility. Deep work in groups can be resilient to interruptions, as opposed to being at the mercy of them. Here are some ways in which this can be achieved:</p><ol><li><p>Effective pair programming sessions are deep work sessions. It takes some practice to get in a flow state with your pairing partner, but it is possible.</p></li><li><p>A team that adopts pair programming with regular pair rotations eliminates the need for pull requests (PRs). Eliminating PRs usually means eliminating the predominant distraction on most product teams.</p></li><li><p>A pair of programmers can be maintain a flow state resiliently as follows: one person from the pair can field any synchronous requests while the other person continues to code. The interrupter now gets their answer sooner and doesn&#8217;t need to put their own task on hold.</p></li><li><p>The team can choose to work as an ensemble, with one work-in-progress task at a time. In this way, the interruptions simply become part of the work.</p></li></ol><div><hr></div><h2>Conclusion</h2><p>Whether it&#8217;s &#8220;silo-ball&#8221;, &#8220;async fixation&#8221;, or &#8220;deep work obsession&#8221;, all lead to the same result over time: a team operating as a waterfall, with each team member closed off from the other in their own silo-sanctuary, where they measure their own effectiveness based on how long they can stay focussed and uninterrupted instead of whether they are creating anything of value.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zDuZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ff4aca9-d401-4d71-8bdd-9535b5c1c5e1_1456x758.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zDuZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ff4aca9-d401-4d71-8bdd-9535b5c1c5e1_1456x758.png 424w, https://substackcdn.com/image/fetch/$s_!zDuZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ff4aca9-d401-4d71-8bdd-9535b5c1c5e1_1456x758.png 848w, https://substackcdn.com/image/fetch/$s_!zDuZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ff4aca9-d401-4d71-8bdd-9535b5c1c5e1_1456x758.png 1272w, https://substackcdn.com/image/fetch/$s_!zDuZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ff4aca9-d401-4d71-8bdd-9535b5c1c5e1_1456x758.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zDuZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ff4aca9-d401-4d71-8bdd-9535b5c1c5e1_1456x758.png" width="1456" height="758" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5ff4aca9-d401-4d71-8bdd-9535b5c1c5e1_1456x758.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:758,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1673118,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zDuZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ff4aca9-d401-4d71-8bdd-9535b5c1c5e1_1456x758.png 424w, https://substackcdn.com/image/fetch/$s_!zDuZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ff4aca9-d401-4d71-8bdd-9535b5c1c5e1_1456x758.png 848w, https://substackcdn.com/image/fetch/$s_!zDuZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ff4aca9-d401-4d71-8bdd-9535b5c1c5e1_1456x758.png 1272w, https://substackcdn.com/image/fetch/$s_!zDuZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5ff4aca9-d401-4d71-8bdd-9535b5c1c5e1_1456x758.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Playing &#8220;silo-ball&#8221; can feel productive on an individual level, but creates needless bottlenecks on the team level (<a href="https://unsplash.com/photos/0NaQQsLWLkA">photo source</a>).</figcaption></figure></div><p>Having said that, we can have the best of both worlds. We can leverage the freedom that remote work affords to carve out larger periods of deep work (both as solo and as group practitioners). We can also leverage synchronous communication in thoughtful ways to level-up on collaboration while reducing a wasteful upward creep in cycle times.</p><p>My advice to software product practitioners is this: embrace remote work and optimize for deep work, but don&#8217;t neglect synchronous co-creation that enables short cycle times and tight feedback loops. Because at the end of the day, it&#8217;s the latter that ensures that we&#8217;re building valuable, working software for our customers.</p>]]></content:encoded></item><item><title><![CDATA[The "Hero" Anti-pattern]]></title><description><![CDATA[And how to prevent it on product teams]]></description><link>https://spikes.sobes.co/p/the-hero-anti-pattern</link><guid isPermaLink="false">https://spikes.sobes.co/p/the-hero-anti-pattern</guid><dc:creator><![CDATA[Paul Sobocinski]]></dc:creator><pubDate>Thu, 26 May 2022 10:00:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc152fc9f-fbba-493e-8ede-1d6041ac0ed0_1456x691.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My last post covered the first product team anti-pattern of this four-part series: <a href="https://spikes.sobes.co/p/product-team-anti-patterns">(fend-for-your)self-onboarding</a>. I explained how a &#8220;self-onboarding&#8221; process that focusses on working independently and evaluates fit based on onboarding task completion can be detrimental to both the new team member as well as the whole team.</p><p>This post covers another anti-pattern that can also deceive the product team into thinking that it&#8217;s operating effectively. When this anti-pattern manifests, the team sees itself as passionate, committed, and ultimately effective &#8220;in the face of adversity&#8221;.</p><p>The fact that this &#8220;adversity&#8221; is self-inflicted is the first hint that something is off.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BQoN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9686973f-07b0-4428-a379-b75fd2be1fba_1456x718.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BQoN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9686973f-07b0-4428-a379-b75fd2be1fba_1456x718.png 424w, https://substackcdn.com/image/fetch/$s_!BQoN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9686973f-07b0-4428-a379-b75fd2be1fba_1456x718.png 848w, https://substackcdn.com/image/fetch/$s_!BQoN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9686973f-07b0-4428-a379-b75fd2be1fba_1456x718.png 1272w, https://substackcdn.com/image/fetch/$s_!BQoN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9686973f-07b0-4428-a379-b75fd2be1fba_1456x718.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BQoN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9686973f-07b0-4428-a379-b75fd2be1fba_1456x718.png" width="1456" height="718" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/9686973f-07b0-4428-a379-b75fd2be1fba_1456x718.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:718,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1891371,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BQoN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9686973f-07b0-4428-a379-b75fd2be1fba_1456x718.png 424w, https://substackcdn.com/image/fetch/$s_!BQoN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9686973f-07b0-4428-a379-b75fd2be1fba_1456x718.png 848w, https://substackcdn.com/image/fetch/$s_!BQoN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9686973f-07b0-4428-a379-b75fd2be1fba_1456x718.png 1272w, https://substackcdn.com/image/fetch/$s_!BQoN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9686973f-07b0-4428-a379-b75fd2be1fba_1456x718.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Are heroes a good thing? They make for great comic books and movies, but would you want to live in a community that&#8217;s dependent on one? (<a href="https://unsplash.com/photos/ArA3S3k0wTU?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditShareLink">photo source</a>)</figcaption></figure></div><p>Having spent around half of my professional software engineering career working at startups, I have experienced my fair share of heroism. Both as the hero, as well as the helpless stakeholder-in-distress.</p><p>The best way to explain what heroism looks like, and why it&#8217;s harmful to the team and the product in the long-term, is by means of a short fable. While the fable as a whole is fictitious, the story&#8217;s elements are not. I have experienced, first-hand, all of the behaviours covered below.</p><h2>The product team hero: a short fable</h2><p>Gillian is the hero of this story. She&#8217;s a dedicated, passionate, team player who is committed to doing whatever it takes to meet and exceed expectations as an ambitious software engineer.</p><p>The story starts with a scheduled public release. While the deadline looms, the work continues to pile up. The team falls behind schedule. Gillian pulls a few late nights and manages to ensure that the work is done on time.</p><p>Finally, the team agrees that the release is ready for public launch, and the <a href="https://martinfowler.com/articles/feature-toggles.html">flags are flipped</a>. The team celebrates late into the night, and everyone eventually heads home.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BcDw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeba85eb-800a-4d46-82d7-a645d3ed0b97_1456x883.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BcDw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeba85eb-800a-4d46-82d7-a645d3ed0b97_1456x883.png 424w, https://substackcdn.com/image/fetch/$s_!BcDw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeba85eb-800a-4d46-82d7-a645d3ed0b97_1456x883.png 848w, https://substackcdn.com/image/fetch/$s_!BcDw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeba85eb-800a-4d46-82d7-a645d3ed0b97_1456x883.png 1272w, https://substackcdn.com/image/fetch/$s_!BcDw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeba85eb-800a-4d46-82d7-a645d3ed0b97_1456x883.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BcDw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeba85eb-800a-4d46-82d7-a645d3ed0b97_1456x883.png" width="1456" height="883" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/beba85eb-800a-4d46-82d7-a645d3ed0b97_1456x883.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:883,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2281080,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BcDw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeba85eb-800a-4d46-82d7-a645d3ed0b97_1456x883.png 424w, https://substackcdn.com/image/fetch/$s_!BcDw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeba85eb-800a-4d46-82d7-a645d3ed0b97_1456x883.png 848w, https://substackcdn.com/image/fetch/$s_!BcDw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeba85eb-800a-4d46-82d7-a645d3ed0b97_1456x883.png 1272w, https://substackcdn.com/image/fetch/$s_!BcDw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeba85eb-800a-4d46-82d7-a645d3ed0b97_1456x883.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://unsplash.com/photos/7BpuzmcxlHU?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditShareLink">photo source</a></figcaption></figure></div><p>Curious about how the new release is going, Gillian checks out some of the app&#8217;s performance metrics on her phone, just before bed. To her dismay, there are over a thousand errors reported in <a href="https://sentry.io/welcome/">Sentry</a>!</p><p>She immediately sits up in bed, cracks open her laptop, and begins troubleshooting. She decides not to alert her team yet. &#8220;Maybe I can fix this myself and spare them from having to work during off-hours&#8221;, she says to herself.</p><p>After several hours of intensely-focused debugging, she finds the issue. It turned out easy to fix and deploy &#8212; it was a misconfiguration that she mistakenly introduced during one of her sleep-deprived late nights getting the release back on schedule. She feels embarrassed. &#8220;Well, at least I was able to fix it without waking up my teammates&#8221;, she reflects.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QgvE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc152fc9f-fbba-493e-8ede-1d6041ac0ed0_1456x691.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QgvE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc152fc9f-fbba-493e-8ede-1d6041ac0ed0_1456x691.png 424w, https://substackcdn.com/image/fetch/$s_!QgvE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc152fc9f-fbba-493e-8ede-1d6041ac0ed0_1456x691.png 848w, https://substackcdn.com/image/fetch/$s_!QgvE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc152fc9f-fbba-493e-8ede-1d6041ac0ed0_1456x691.png 1272w, https://substackcdn.com/image/fetch/$s_!QgvE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc152fc9f-fbba-493e-8ede-1d6041ac0ed0_1456x691.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QgvE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc152fc9f-fbba-493e-8ede-1d6041ac0ed0_1456x691.png" width="1456" height="691" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/c152fc9f-fbba-493e-8ede-1d6041ac0ed0_1456x691.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:691,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1255799,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QgvE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc152fc9f-fbba-493e-8ede-1d6041ac0ed0_1456x691.png 424w, https://substackcdn.com/image/fetch/$s_!QgvE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc152fc9f-fbba-493e-8ede-1d6041ac0ed0_1456x691.png 848w, https://substackcdn.com/image/fetch/$s_!QgvE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc152fc9f-fbba-493e-8ede-1d6041ac0ed0_1456x691.png 1272w, https://substackcdn.com/image/fetch/$s_!QgvE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc152fc9f-fbba-493e-8ede-1d6041ac0ed0_1456x691.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://unsplash.com/photos/MAGAXAYq_NE">photo source</a></figcaption></figure></div><p>The next day, Gillian receives a pubic kudos from the Team Lead &#8212; he noticed the late-night commits and hot-fix push to production. Her all-nighter did not go unrecognized! The embarrassment she felt last night fades away, and is replaced with a sense of accomplishment and pride. She promises herself that she&#8217;ll continue to work hard and to be there for her team, no matter what.</p><p>Consequently, the team leans more and more on Gillian; with her passion and dedication, she becomes the go-to expert on the codebase and the domain. Several months and releases pass with their fair share of bumps in the road. Fortunately through it all, Gillian is always there to save the day.</p><p>Until one day, she isn&#8217;t.</p><p>One morning, the Team Lead gathers everyone together for an important announcement. Gillian needs to take a leave of absence due to burnout.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lPYR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3360cd77-4360-4500-874a-4540c89d00bd_1456x636.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lPYR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3360cd77-4360-4500-874a-4540c89d00bd_1456x636.png 424w, https://substackcdn.com/image/fetch/$s_!lPYR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3360cd77-4360-4500-874a-4540c89d00bd_1456x636.png 848w, https://substackcdn.com/image/fetch/$s_!lPYR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3360cd77-4360-4500-874a-4540c89d00bd_1456x636.png 1272w, https://substackcdn.com/image/fetch/$s_!lPYR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3360cd77-4360-4500-874a-4540c89d00bd_1456x636.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lPYR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3360cd77-4360-4500-874a-4540c89d00bd_1456x636.png" width="1456" height="636" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/3360cd77-4360-4500-874a-4540c89d00bd_1456x636.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:636,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1813423,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lPYR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3360cd77-4360-4500-874a-4540c89d00bd_1456x636.png 424w, https://substackcdn.com/image/fetch/$s_!lPYR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3360cd77-4360-4500-874a-4540c89d00bd_1456x636.png 848w, https://substackcdn.com/image/fetch/$s_!lPYR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3360cd77-4360-4500-874a-4540c89d00bd_1456x636.png 1272w, https://substackcdn.com/image/fetch/$s_!lPYR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3360cd77-4360-4500-874a-4540c89d00bd_1456x636.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://unsplash.com/photos/6awfTPLGaCE">photo source</a></figcaption></figure></div><p> &#8220;We take burnout very seriously here, so we&#8217;re giving her all the time she needs to recover&#8221; the Team Lead continues. &#8220;I don&#8217;t need to tell you all how important Gillian is to the team. I need all of you to step-up over the next while, especially until Gillian comes back.&#8221; No one&#8217;s surprised by this announcement, but murmurs of empathy and support echo through the team.</p><p>Without their hero, the team struggles to meet release deadlines. There are some areas of the codebase that the team does not want to touch until Gillian comes back. Consequently, larger changes to the app are deferred or avoided altogether. The technical debt builds up, and the designer gets frustrated that, one after another, their ambitious UX redesigns are rejected by the team. The team assures itself that it&#8217;ll get better once Gillian gets back from her time off.</p><p>Except that she doesn&#8217;t. During her time off, Gillian is able to gain some valuable perspective. She realizes that her unofficial &#8220;hero&#8221; designation is detrimental to her long-term psychological and physical health. Not seeing a path to transition out of that role at her current company, she submits her notice, much to the dismay of her team.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QAQY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc53fbe-eee0-472b-bbcf-02d3255ed063_1456x717.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QAQY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc53fbe-eee0-472b-bbcf-02d3255ed063_1456x717.png 424w, https://substackcdn.com/image/fetch/$s_!QAQY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc53fbe-eee0-472b-bbcf-02d3255ed063_1456x717.png 848w, https://substackcdn.com/image/fetch/$s_!QAQY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc53fbe-eee0-472b-bbcf-02d3255ed063_1456x717.png 1272w, https://substackcdn.com/image/fetch/$s_!QAQY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc53fbe-eee0-472b-bbcf-02d3255ed063_1456x717.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QAQY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc53fbe-eee0-472b-bbcf-02d3255ed063_1456x717.png" width="1456" height="717" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5bc53fbe-eee0-472b-bbcf-02d3255ed063_1456x717.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:717,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1370268,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QAQY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc53fbe-eee0-472b-bbcf-02d3255ed063_1456x717.png 424w, https://substackcdn.com/image/fetch/$s_!QAQY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc53fbe-eee0-472b-bbcf-02d3255ed063_1456x717.png 848w, https://substackcdn.com/image/fetch/$s_!QAQY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc53fbe-eee0-472b-bbcf-02d3255ed063_1456x717.png 1272w, https://substackcdn.com/image/fetch/$s_!QAQY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5bc53fbe-eee0-472b-bbcf-02d3255ed063_1456x717.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Heroes address crises but tolerate their root cause. Crises stop happening when everyone on a team solves problems early, and continuously reflects on improvement together. (<a href="https://unsplash.com/photos/Yv2HzOr8jAA">photo source</a>)</figcaption></figure></div><h3>Epilogue</h3><p>The team kept going. Over time, more people were hired while others left. Yet there was always someone who ended up with the understood yet unstated role of &#8220;hero&#8221;. Thus, the &#8220;hero culture&#8221; persisted on the team &#8212; this left a wake of poorly-understood code that was increasingly-difficult to maintain and extend. Team members stopped volunteering to be the hero, so the team began to recruit for the role. Due to the accumulated product and technical debt, both the product and team lost its lustre, and recruiting talented practitioners to the team became impossible.</p><p>How could this story end? It depends. The product itself may end up getting shuttered, or a new team may get created to rebuild a &#8220;version 2.0&#8221; from scratch. Either outcome would be a sad end to a product team that should have been capable of growing sustainably and indefinitely over time.</p><div><hr></div><h2>Summary and analysis</h2><p>Let&#8217;s start by calling out some key events and behaviours:</p><ol><li><p>Gillian soloing late into the night to ensure the release stays on schedule</p></li><li><p>Gillian pulling an all-nighter to debug and fix a production issue introduced by the release</p></li><li><p>The Team Lead praising Gillian&#8217;s late-night efforts and initiative</p></li><li><p>The team relying on Gillian to be the subject matter expert on many critical areas of the codebase</p></li></ol><p>Each of the above made the team progressively more reliant on Gillian. What could have been done instead, to shift the reliance back onto the team? Let&#8217;s go through some possibilities.</p><h3>1. Avoid &#8220;soloing&#8221; to move faster</h3><p>Rather than negotiating a team&#8217;s practices to meet a deadline, <a href="https://flylib.com/books/en/3.219.1.95/1/">negotiate scope</a> instead. This may involve the whole team working as an ensemble to determine what to de-scope for the release.</p><p>For teams who do not have full authority to define their own scope, the Product Manager is typically the liaison between the team and the stakeholders outside of the team. This is why it&#8217;s important to include them in the ensemble scoping sessions.</p><h3>2. Avoid &#8220;soloing&#8221; during a critical production incident</h3><p>This could&#8217;ve gone much worse for Gillian and the team &#8212; if there was another team member who also decided to work on the same issue without bothering the other team members, it could lead to the team members overriding each others&#8217; work and leading to significant delays in getting the hot-fix out.</p><p>Typically, teams define an <a href="https://sre.google/sre-book/managing-incidents/">incident-management</a> process that ensures clear responsibilities and tight collaboration, usually via ensemble programming.</p><h3>3. Run a blameless post-mortem after every production incident</h3><p>While praise for Gillian was definitely well-deserved, the Team Lead should not have stopped there. He should have ensured that a <a href="https://sre.google/sre-book/postmortem-culture/">post-mortem</a> was scheduled, with actionable insights generated that were followed through on.</p><p>Usually, team members gravitate towards their routine behaviour of knocking work off of the backlog. It&#8217;s therefore up to the Team Lead to ensure that the underlying causes of the incident are determined, and changes are made to prevent it from happening again. This is done by committing to and following through on a post-mortem, even when it feels like a distraction from regular work.</p><h3>4. Avoid knowledge silos via regular pair-rotation</h3><p>It&#8217;s expected and beneficial for each team member to bring their own set of distinct skills and experience to the team. This is often misunderstood as an acceptability around certain team members having more knowledge of certain areas of the codebase than others. The latter situation is is harmful to team sustainability, as portrayed in the above story.</p><p>Regular (i.e. at least daily) <a href="https://martinfowler.com/articles/on-pair-programming.html#PairRotations">pair-rotation</a> can effectively address this. While there can be resistance to this as it can be seen as hampering momentum, the velocity gains from maintaining the same pairings for weeks-on-end are short-term and come at the expense of team sustainability. Therefore, regular pair-rotation should be encouraged.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XQcI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4527dc8-ed64-452f-81e0-17f4ef3dc7a3_1456x521.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XQcI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4527dc8-ed64-452f-81e0-17f4ef3dc7a3_1456x521.png 424w, https://substackcdn.com/image/fetch/$s_!XQcI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4527dc8-ed64-452f-81e0-17f4ef3dc7a3_1456x521.png 848w, https://substackcdn.com/image/fetch/$s_!XQcI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4527dc8-ed64-452f-81e0-17f4ef3dc7a3_1456x521.png 1272w, https://substackcdn.com/image/fetch/$s_!XQcI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4527dc8-ed64-452f-81e0-17f4ef3dc7a3_1456x521.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XQcI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4527dc8-ed64-452f-81e0-17f4ef3dc7a3_1456x521.png" width="1456" height="521" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/c4527dc8-ed64-452f-81e0-17f4ef3dc7a3_1456x521.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:521,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1386207,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XQcI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4527dc8-ed64-452f-81e0-17f4ef3dc7a3_1456x521.png 424w, https://substackcdn.com/image/fetch/$s_!XQcI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4527dc8-ed64-452f-81e0-17f4ef3dc7a3_1456x521.png 848w, https://substackcdn.com/image/fetch/$s_!XQcI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4527dc8-ed64-452f-81e0-17f4ef3dc7a3_1456x521.png 1272w, https://substackcdn.com/image/fetch/$s_!XQcI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4527dc8-ed64-452f-81e0-17f4ef3dc7a3_1456x521.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Collaborative co-creation via activities such as pairing and ensemble programming is the first line-of-defence against the &#8220;hero&#8221; anti-pattern (<a href="https://unsplash.com/photos/vbxyFxlgpjM?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditShareLink">photo source</a>).</figcaption></figure></div><h2>Conclusion</h2><p>To be clear, there is nothing wrong with &#8220;heroic&#8221; acts by the team &#8212; just the reliance of a singular &#8220;hero&#8221; on the team to save the day whenever the team is in trouble.</p><p>To summarize my recommendation &#8212; avoid relying on one team member considerably more than you would rely on another, and certainly don&#8217;t glorify such an arrangement, as it harms both the individual being relied on, as well as the team as a whole.</p>]]></content:encoded></item><item><title><![CDATA[Product Team Anti-patterns]]></title><description><![CDATA[And how pair programming can address them]]></description><link>https://spikes.sobes.co/p/product-team-anti-patterns</link><guid isPermaLink="false">https://spikes.sobes.co/p/product-team-anti-patterns</guid><dc:creator><![CDATA[Paul Sobocinski]]></dc:creator><pubDate>Thu, 19 May 2022 10:00:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f1284a-719c-47e6-93af-c47e17b365cb_1456x750.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Earlier in my career as a software engineer, I often underestimated my level of influence on the team. I saw myself as the &#8220;do-er&#8221;, not the &#8220;planner&#8221; or &#8220;coordinator&#8221;. Figuring out the best process for the team to follow wasn&#8217;t my job. Or at least that&#8217;s how I saw it.</p><p>Taking my cue from the other team members, I would lean on the product manager on the team whenever I had questions around this. The questions began seeping into how we wrote the software. Should we do the larger refactor now, or defer it? Should we write tests? Should we follow TDD for this work? Something didn&#8217;t sit right with me about this.</p><p>Then, one day a mentor of mine provided a powerful analogy:</p><blockquote><p><em>Do you ask your manager permission to use a certain data structure, or to name a variable a certain way? Why then, are you asking permission to follow TDD?</em></p></blockquote><p>This helped shift my mindset away from TDD being a means to &#8220;optionally improve test coverage&#8221; and towards a way of working that I adopt as a principle. It has been covered at length elsewhere about how TDD is more than just increasing test coverage. Michael Feathers&#8217; talk on the synergy between testability and good design is a great example of this:</p><div id="youtube2-4cVZvoFGJTU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;4cVZvoFGJTU&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/4cVZvoFGJTU?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>I am inclined to adopt a similar mindset towards pair programming &#8212; the more solo programming I do or encourage others to do, the more I realize that it creates and propagates anti-patterns on product teams.</p><p>In this post, I cover one of these anti-patterns, as well as how pair programming can counteract it.</p><h2>(Fend-for-your)self-onboarding</h2><p>Over the course of my career, I&#8217;ve onboarded onto dozens of new product teams both as a junior, intermediate, and senior software engineer. Every time, regardless of role, it&#8217;s been both an exciting and stressful experience. On the one hand, the existing team members are keen to see what I bring to the team. More cynically, they are eager to evaluate whether I&#8217;m up-to-snuff. In that vein, I&#8217;ve gotten past remarks such as:</p><blockquote><ul><li><p><em>&#8220;That&#8217;s a pretty basic query, don&#8217;t you have three years of experience in SQL?&#8221;</em></p></li><li><p><em>&#8220;As you&#8217;ve written production Rails apps before, Surely you won&#8217;t have an issue creating a basic Ruby class to encapsulate this logic.&#8221;</em></p></li></ul></blockquote><p>The key point here is that teams evaluate new members to find and fill knowledge gaps quickly. Sometimes, these gaps are not easily-fillable &#8212; when this happens, the team must accept that there may not be a fit on the team for the new member. The sooner the team can find this out, the better for everyone involved.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eATL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f1284a-719c-47e6-93af-c47e17b365cb_1456x750.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eATL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f1284a-719c-47e6-93af-c47e17b365cb_1456x750.png 424w, https://substackcdn.com/image/fetch/$s_!eATL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f1284a-719c-47e6-93af-c47e17b365cb_1456x750.png 848w, https://substackcdn.com/image/fetch/$s_!eATL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f1284a-719c-47e6-93af-c47e17b365cb_1456x750.png 1272w, https://substackcdn.com/image/fetch/$s_!eATL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f1284a-719c-47e6-93af-c47e17b365cb_1456x750.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eATL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f1284a-719c-47e6-93af-c47e17b365cb_1456x750.png" width="1456" height="750" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/d9f1284a-719c-47e6-93af-c47e17b365cb_1456x750.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:750,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1463834,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!eATL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f1284a-719c-47e6-93af-c47e17b365cb_1456x750.png 424w, https://substackcdn.com/image/fetch/$s_!eATL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f1284a-719c-47e6-93af-c47e17b365cb_1456x750.png 848w, https://substackcdn.com/image/fetch/$s_!eATL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f1284a-719c-47e6-93af-c47e17b365cb_1456x750.png 1272w, https://substackcdn.com/image/fetch/$s_!eATL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f1284a-719c-47e6-93af-c47e17b365cb_1456x750.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">In addition to the ramp-up of the new team member, verifying that a fit exists is an important goal of any onboarding process (<a href="https://unsplash.com/photos/JzE1dHEaAew">photo source</a>).</figcaption></figure></div><p>Many product teams (across different companies) have developed approaches that are ostensibly meant to onboard new team members quickly via a self-paced, independent onboarding process. Here are some examples:</p><ol><li><p><strong>Dev environment setup:</strong> &#8220;How fast can you get your development environment set up? The current record is 6.5 hours, held by Susan. She didn&#8217;t need to ask for help once!&#8221;</p></li><li><p><strong>Grab something off the backlog:</strong> &#8220;Pull a bug off the backlog and get it to <a href="https://www.agilealliance.org/glossary/definition-of-done">dev-done</a>. Pick something straightforward so you don&#8217;t need to bother the other devs, as they&#8217;re busy with the currently-scheduled sprint. That way, you get an idea of our process, and you can show us that you can work independently.&#8221;</p></li><li><p><strong>Poke around the codebase:</strong> &#8220;Play around with the app on your own and walk yourself through the codebase. This should get you familiar enough so that you can work on some features next sprint. Again, try not to bother the team with questions, and instead figure it out on your own by using the app. You&#8217;ve used our app before, right?&#8221;</p></li></ol><p>In reality, these types of challenges screen for people who prefer to work on their own, and screen out people who are inclined to problem-solve collaboratively. Furthermore, it sets the expectation for the new team member that this is how the team works, and reinforces a pattern of maximizing &#8220;solo&#8221; time and minimizing collaboration time.</p><p>This an anti-pattern because it screens out exactly the type of people you need on a product team: collaborative co-creators and problem-solvers, as opposed to soloists who work best on their own and struggle with focused co-creation in a group setting.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8Kr7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F89a22532-b680-4e5b-bf1d-c159497fdde7_1456x804.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8Kr7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F89a22532-b680-4e5b-bf1d-c159497fdde7_1456x804.png 424w, https://substackcdn.com/image/fetch/$s_!8Kr7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F89a22532-b680-4e5b-bf1d-c159497fdde7_1456x804.png 848w, https://substackcdn.com/image/fetch/$s_!8Kr7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F89a22532-b680-4e5b-bf1d-c159497fdde7_1456x804.png 1272w, https://substackcdn.com/image/fetch/$s_!8Kr7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F89a22532-b680-4e5b-bf1d-c159497fdde7_1456x804.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8Kr7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F89a22532-b680-4e5b-bf1d-c159497fdde7_1456x804.png" width="1456" height="804" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/89a22532-b680-4e5b-bf1d-c159497fdde7_1456x804.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:804,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2027999,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8Kr7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F89a22532-b680-4e5b-bf1d-c159497fdde7_1456x804.png 424w, https://substackcdn.com/image/fetch/$s_!8Kr7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F89a22532-b680-4e5b-bf1d-c159497fdde7_1456x804.png 848w, https://substackcdn.com/image/fetch/$s_!8Kr7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F89a22532-b680-4e5b-bf1d-c159497fdde7_1456x804.png 1272w, https://substackcdn.com/image/fetch/$s_!8Kr7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F89a22532-b680-4e5b-bf1d-c159497fdde7_1456x804.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">When someone helps us navigate an unfamiliar space, they give us confidence and make our experience more enjoyable than if we tried doing it on our own (<a href="https://unsplash.com/photos/yhNVwsKTSaI">photo source</a>).</figcaption></figure></div><h3>Counteracting the anti-pattern with pairing</h3><p>Let&#8217;s revisit how we can replay the earlier scenarios, but involve pairing so as to emphasize collaboration over independent work:</p><ol><li><p><strong>Dev environment setup:</strong> Instead of having the new team member do this on their own, pair them up with someone who has gone through the setup steps already. Use <a href="https://spikes.sobes.co/p/strong-style-pairing">strong-style pairing</a> with the new team member filling the role of <em>Strong-Navigator</em> &#8212; pairing up this way can expose comprehension gaps in the setup documentation. At the end of the session, reflect on and discuss how the dev environment setup process can be improved. Examples of questions to ask:</p><ol><li><p>Does the documentation need to be updated?</p></li><li><p>Are there defunct libraries that can be removed?</p></li><li><p>Can more of the process be scripted?</p></li></ol></li><li><p><strong>Grab something off the backlog:</strong> Instead of doing this, have the new team member pair up with other team members on actual items being worked on that week (or sprint). Strong-style pairing with the new team member filling the role of <em>Typist</em> can be effective here, as such an arrangement does not require for them to have any familiarity with the codebase beforehand. At the end of the pairing session, the pair can reflect on any gaps that the new team member may have, and how to address them (e.g. &#8220;I&#8217;ve never used Rails serializers, I&#8217;ll spend some time learning more about them&#8221;)</p></li><li><p><strong>Poke around the codebase:</strong> Instead of setting vague expectations and telling the new team member to do this, plan for the whole team to work as an <a href="https://youtu.be/SHOVVnRB4h0">ensemble</a> and include the new team member in the regular ensemble rotation. Ideally, the team is already spending some of its time working this way; if that is the case, the team can just ramp up on those sessions over the course of the new team member&#8217;s onboarding period.</p></li></ol><h3>What about evaluation?</h3><p>As mentioned, when a new person joins the team, there are two main concerns that the team has about the new team member: </p><ol><li><p>How do we ramp them up as quickly as possible?</p></li><li><p>How do we evaluate that they&#8217;re a fit for the team?</p></li></ol><p>It&#8217;s not hard to see how a pairing-centric onboarding process will improve the first point. But what about the second? If we give them onboarding tasks to complete, we can evaluate their technical aptitude based on how well they complete those tasks. If they pair on everything, then completion of the task tells us next-to-nothing &#8212; for all we know, their pairing partner could&#8217;ve done all the work.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DiR5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b45660-e78b-4232-be59-ee564fc9c0c3_1456x886.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DiR5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b45660-e78b-4232-be59-ee564fc9c0c3_1456x886.png 424w, https://substackcdn.com/image/fetch/$s_!DiR5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b45660-e78b-4232-be59-ee564fc9c0c3_1456x886.png 848w, https://substackcdn.com/image/fetch/$s_!DiR5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b45660-e78b-4232-be59-ee564fc9c0c3_1456x886.png 1272w, https://substackcdn.com/image/fetch/$s_!DiR5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b45660-e78b-4232-be59-ee564fc9c0c3_1456x886.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DiR5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b45660-e78b-4232-be59-ee564fc9c0c3_1456x886.png" width="1456" height="886" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/d9b45660-e78b-4232-be59-ee564fc9c0c3_1456x886.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:886,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1478625,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DiR5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b45660-e78b-4232-be59-ee564fc9c0c3_1456x886.png 424w, https://substackcdn.com/image/fetch/$s_!DiR5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b45660-e78b-4232-be59-ee564fc9c0c3_1456x886.png 848w, https://substackcdn.com/image/fetch/$s_!DiR5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b45660-e78b-4232-be59-ee564fc9c0c3_1456x886.png 1272w, https://substackcdn.com/image/fetch/$s_!DiR5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b45660-e78b-4232-be59-ee564fc9c0c3_1456x886.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Technical evaluation is hard but often necessary (<a href="https://unsplash.com/photos/RLw-UC03Gwc?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditShareLink">photo source</a>)</figcaption></figure></div><p>Fortunately, there&#8217;s a straightforward solution to this. If you&#8217;re a lead who is tasked with evaluating whether the new team member is a good fit for the team, simply collect feedback from everyone with whom the newcomer has paired with since joining (ideally, this is every single team member). I find this to be a much more comprehensive and reliable way to evaluate the new team member than looking at how quickly they set up their development environment, or looking at some initial &#8220;solo&#8221; work they completed for the team (that will likely need rework anyway).</p><h2>Final Thoughts</h2><p>Pair programming continues to be a grossly under-leveraged tool for product teams. This tool can be effective at counteracting harmful anti-patterns that undermine a product team&#8217;s collaborative capabilities. I&#8217;ve covered one such anti-pattern in this post; in subsequent posts I cover a few more. These include:</p><ol><li><p><strong><a href="https://spikes.sobes.co/p/the-hero-anti-pattern">Heroism</a>:</strong> how heroes can jeopardize a product team&#8217;s long-term sustainability</p></li><li><p><strong><a href="https://spikes.sobes.co/i/58138134/silo-ball">Silo-ball</a>:</strong> the tendency for silos across disciplines to emerge within product teams, and how this creates unneeded bottlenecks that make the team more susceptible to spikes in cycle time</p></li><li><p><strong><a href="https://spikes.sobes.co/i/58138134/async-fixation">Async Fixation</a>:</strong> when product teams insist on only interacting asynchronously, leading to unnecessary increases in cycle time and shallow collaboration</p></li></ol><p>I hope that the &#8220;(fend-for-your)self-onboarding&#8221; anti-pattern covered in this post has resonated with you; if not, perhaps one of the anti-patterns covered in future posts will resonate. Either way, I invite you to share your thoughts via a reply or comment.</p>]]></content:encoded></item><item><title><![CDATA[The Importance of Creativity on Product Teams]]></title><description><![CDATA[How creativity can apply to team retrospectives]]></description><link>https://spikes.sobes.co/p/creativity-on-software-product-teams</link><guid isPermaLink="false">https://spikes.sobes.co/p/creativity-on-software-product-teams</guid><dc:creator><![CDATA[Paul Sobocinski]]></dc:creator><pubDate>Mon, 02 May 2022 10:00:45 GMT</pubDate><enclosure url="https://cdn.substack.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed22746-9dfa-4fd4-af4d-17a1d54a8a8e_1456x586.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The Industrial Age has had a profound impact on both education and software development &#8212; its influence continues to be felt today in both of these disciplines. It has led us to think of progress in terms of productivity over creativity. We think that our day-to-day work should be predominantly about the former. Creativity is at best a reprieve from the toil of our labour, and at worst a dangerous distraction from critical productivity targets. We&#8217;ve relegated creativity to the periphery of human activity, when in truth it lies at the heart of meaningful human progress.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oDbJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed22746-9dfa-4fd4-af4d-17a1d54a8a8e_1456x586.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oDbJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed22746-9dfa-4fd4-af4d-17a1d54a8a8e_1456x586.png 424w, https://substackcdn.com/image/fetch/$s_!oDbJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed22746-9dfa-4fd4-af4d-17a1d54a8a8e_1456x586.png 848w, https://substackcdn.com/image/fetch/$s_!oDbJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed22746-9dfa-4fd4-af4d-17a1d54a8a8e_1456x586.png 1272w, https://substackcdn.com/image/fetch/$s_!oDbJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed22746-9dfa-4fd4-af4d-17a1d54a8a8e_1456x586.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oDbJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed22746-9dfa-4fd4-af4d-17a1d54a8a8e_1456x586.png" width="1456" height="586" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/0ed22746-9dfa-4fd4-af4d-17a1d54a8a8e_1456x586.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:586,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1959569,&quot;alt&quot;:&quot;Artist's studio, with wall murals, art pieces on easels, and spray-paint cans on the floor.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Artist's studio, with wall murals, art pieces on easels, and spray-paint cans on the floor." title="Artist's studio, with wall murals, art pieces on easels, and spray-paint cans on the floor." srcset="https://substackcdn.com/image/fetch/$s_!oDbJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed22746-9dfa-4fd4-af4d-17a1d54a8a8e_1456x586.png 424w, https://substackcdn.com/image/fetch/$s_!oDbJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed22746-9dfa-4fd4-af4d-17a1d54a8a8e_1456x586.png 848w, https://substackcdn.com/image/fetch/$s_!oDbJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed22746-9dfa-4fd4-af4d-17a1d54a8a8e_1456x586.png 1272w, https://substackcdn.com/image/fetch/$s_!oDbJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0ed22746-9dfa-4fd4-af4d-17a1d54a8a8e_1456x586.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Is there more to creativity than creating works of art? (<a href="https://unsplash.com/photos/koo_vYrlU_U?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditShareLink">photo source</a>)</figcaption></figure></div><p>I explore this idea further in a prior post: <a href="https://spikes.sobes.co/p/lessons-from-an-education-revolutionary">Lessons from an Education Revolutionary</a>. That post also introduces Sir Ken Robinson (1950-2020), a thought leader in education whose posthumous influence continues to catalyze transformative change in prevailing education systems. In 1998, he led a national commission on creativity, education and the economy for the UK Government. Bringing together leading business people, scientists, artists and educators, he published <a href="https://www.sirkenrobinson.com/read/all-our-futures/">The Robinson Report</a> in May of 1999. Here is a quote from that report:</p><blockquote><p><em>There are many misconceptions about creativity. Some people associate creative teaching with a lack of discipline in education. Others see creative ability as the preserve of a gifted few, rather than of the many; others associate it only with the arts. In our view, creativity is possible in all areas of human activity and all young people and adults have creative capacities. Developing these capacities involves a balance between teaching skills and understanding, and promoting the freedom to innovate, and take risks.</em></p></blockquote><p>So then, what exactly is creativity? Why is it important to product development? How can it be applied effectively in that context?</p><div><hr></div><h2>Defining Creativity</h2><p>The Robinson Report defines creativity as follows:</p><blockquote><p><em>Imaginative activity</em> <em>fashioned so as to produce outcomes that are both original and of value.</em></p></blockquote><p>While this definition was conceived in the context of education reform, it can be used as a means to improve the effectiveness of software product teams. Because fundamentally, these are teams that create and learn continuously. Software is created and shipped to the customer, while the team evaluates the delivered product and the applied process in feedback cycles. Essentially, a software product team is engaged in learning activities continuously as a consequence of its &#8220;raison d'&#234;tre.&#8221;</p><h3>Creativity&#8217;s five elements</h3><p>By virtue of the Robinson Report&#8217;s definition, any creative activity must satisfy five elements. These are summarized below:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!w4p1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7e30f8-b26b-4431-98cf-71585b264154_404x400.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w4p1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7e30f8-b26b-4431-98cf-71585b264154_404x400.png 424w, https://substackcdn.com/image/fetch/$s_!w4p1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7e30f8-b26b-4431-98cf-71585b264154_404x400.png 848w, https://substackcdn.com/image/fetch/$s_!w4p1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7e30f8-b26b-4431-98cf-71585b264154_404x400.png 1272w, https://substackcdn.com/image/fetch/$s_!w4p1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7e30f8-b26b-4431-98cf-71585b264154_404x400.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!w4p1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7e30f8-b26b-4431-98cf-71585b264154_404x400.png" width="404" height="400" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/0e7e30f8-b26b-4431-98cf-71585b264154_404x400.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:400,&quot;width&quot;:404,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:23772,&quot;alt&quot;:&quot;Diagram of the five elements and two modes of creativity.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Diagram of the five elements and two modes of creativity." title="Diagram of the five elements and two modes of creativity." srcset="https://substackcdn.com/image/fetch/$s_!w4p1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7e30f8-b26b-4431-98cf-71585b264154_404x400.png 424w, https://substackcdn.com/image/fetch/$s_!w4p1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7e30f8-b26b-4431-98cf-71585b264154_404x400.png 848w, https://substackcdn.com/image/fetch/$s_!w4p1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7e30f8-b26b-4431-98cf-71585b264154_404x400.png 1272w, https://substackcdn.com/image/fetch/$s_!w4p1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0e7e30f8-b26b-4431-98cf-71585b264154_404x400.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The five elements and two modes of creativity, as defined in the <a href="https://www.sirkenrobinson.com/read/all-our-futures/">Robinson Report</a>.</figcaption></figure></div><ol><li><p><strong>It pursues purpose:</strong> there is some intention behind the activity, whether it is to build a skill, create something of value in itself, or even to simply play.</p></li><li><p><strong>It uses imagination:</strong> whether it is imaginal, imaginative, or imaginary, the mental experiences involved in using our imagination are a necessary co-requisite to creativity.</p></li><li><p><strong>It is original:</strong> whether the originality is individual, relative to one&#8217;s peers, or historic, it is inevitably present in any creative activity.</p></li><li><p><strong>It judges value:</strong> this happens when one reflects on and evaluates the output of their creative activity &#8212; were any mistakes made? How does it match with its original purpose?</p></li><li><p><strong>It is a process:</strong> for sustained creativity, there is an interplay between two modes of thought: generative and evaluative. The creative process is essentially bouncing back and forth between generating ideas and evaluating them.</p></li></ol><p>Now that we have a mental model through which to observe creativity objectively, let&#8217;s apply our understanding to some behaviours on software product teams.</p><div><hr></div><h2>Creativity on software product teams</h2><p>We can think of two contexts in which software product teams engage creatively when delivering software:</p><ol><li><p><strong>Product:</strong> the team <em>imagines</em> an <em>original</em> product feature, builds and ships it to the customer, and finally <em>evaluates</em> its efficacy. Based on this evaluation, a new <em>purpose</em> is set by the team to either optimize the feature or to pivot to a new one.</p></li><li><p><strong>Process:</strong> the team <em>imagines</em> the best way of working together (guided, yet unfettered by existing guidelines). They agree on their own <em>original</em> approach on how to work together. A few weeks later, the team <em>evaluates</em> this way of working during a <a href="https://retromat.org/blog/what-is-a-retrospective/">retrospective</a>; during this activity, they reflect on what worked and what didn&#8217;t. They also revise their <em>purposed</em> way of working by deciding on what old approaches to discard and what new approaches to experiment with.</p></li></ol><p>The Robinson&#8217;s definition of creativity maps naturally to software product teams &#8212; both the work that these teams do, and how they do it. Consequently, a product team&#8217;s effectiveness can be interrogated through the lens of this definition.</p><p>As an example, let&#8217;s see how imagination can be applied to team retrospectives in order to improve their effectiveness.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Lx6E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfc668fc-d10c-4b70-b387-f92d10df234e_1456x502.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Lx6E!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfc668fc-d10c-4b70-b387-f92d10df234e_1456x502.png 424w, https://substackcdn.com/image/fetch/$s_!Lx6E!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfc668fc-d10c-4b70-b387-f92d10df234e_1456x502.png 848w, https://substackcdn.com/image/fetch/$s_!Lx6E!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfc668fc-d10c-4b70-b387-f92d10df234e_1456x502.png 1272w, https://substackcdn.com/image/fetch/$s_!Lx6E!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfc668fc-d10c-4b70-b387-f92d10df234e_1456x502.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Lx6E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfc668fc-d10c-4b70-b387-f92d10df234e_1456x502.png" width="1456" height="502" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/dfc668fc-d10c-4b70-b387-f92d10df234e_1456x502.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:502,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1430202,&quot;alt&quot;:&quot;Two persons standing on either side of a window with stickies on it, engaged in a retro discussion. Image by Parabol. &quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Two persons standing on either side of a window with stickies on it, engaged in a retro discussion. Image by Parabol. " title="Two persons standing on either side of a window with stickies on it, engaged in a retro discussion. Image by Parabol. " srcset="https://substackcdn.com/image/fetch/$s_!Lx6E!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfc668fc-d10c-4b70-b387-f92d10df234e_1456x502.png 424w, https://substackcdn.com/image/fetch/$s_!Lx6E!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfc668fc-d10c-4b70-b387-f92d10df234e_1456x502.png 848w, https://substackcdn.com/image/fetch/$s_!Lx6E!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfc668fc-d10c-4b70-b387-f92d10df234e_1456x502.png 1272w, https://substackcdn.com/image/fetch/$s_!Lx6E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfc668fc-d10c-4b70-b387-f92d10df234e_1456x502.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Do we think of retrospectives as a creative activity? (image by <a href="https://parabol.co/">Parabol</a>)</figcaption></figure></div><h3>Leveraging imagination in retrospectives</h3><p>Imagination is multifaceted. In his book, Sir Ken Robinson describes three distinct mental experiences that are involved with imagination:</p><ol><li><p><strong>Imaginal:</strong> bringing to mind images drawn from real experiences, for example, your mother&#8217;s hair or what you ate for lunch yesterday.</p></li><li><p><strong>Imaginative:</strong> bringing to mind images of things you have never experienced, such as a green dog on roller skates, or a vision of how you might spend your next vacation.</p></li><li><p><strong>Imaginary:</strong> blending imaginative experiences with real ones, like a vivid dream, a hallucination, or the use of metaphor.</p></li></ol><p>Depending on the activity, any of the above can come into play during a retrospective. Here are some of my favourite (descriptions are courtesy of <a href="https://retromat.org/en/">retromat.org</a>):</p><ol><li><p><strong>Mad Sad Glad (imaginal):</strong> Put up three posters labeled &#8220;mad&#8221;, &#8220;sad&#8221;, and &#8220;glad&#8221; (or &#128545; , &#128557; , &#128516; ).<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> Team members write down one event per colour-coded card, when they've felt that way. When the time is up have everyone post their cards to the appropriate posters. Cluster the cards on each poster. Ask the group for cluster names. Debrief by asking:</p><ol><li><p>What's standing out? What's unexpected?</p></li><li><p>What was difficult about this task? What was fun?</p></li><li><p>What patterns do you see? What do they mean for you as a team?</p></li><li><p>Suggestions on how to continue?</p></li></ol></li><li><p><strong>Remember The Future (imaginative):</strong> Imagine you could time-travel to the end of the next iteration (or release). You learn that it was the best, most productive iteration yet! How do your future selves describe it? What do you see and hear?</p><ol><li><p>Give the team a little time to imagine this state and jot down some keywords to aid their memory.</p></li><li><p>Let everyone describe their vision of a perfect iteration.</p></li><li><p>Follow up with 'What changes did we implement that resulted in such a productive and satisfying future?</p></li><li><p>Write down the answers on index cards to use in the next activity.</p></li></ol></li><li><p><strong>Sailboat (imaginary):</strong> Draw a sailboat onto a flip chart paper. Give it a strong sail as well as a heavy anchor. Add an iceberg in the back of the image. The iceberg represents obstacles they already see coming.</p><ol><li><p>Team members silently write on sticky notes what propelled the team forward, what kept it in place, and what obstacles they see coming. One idea per note.</p></li><li><p>Post the stickies near the sail, anchor, and iceberg respectively. Read out each one and discuss how you can increase &#8220;sails&#8221;, cut &#8220;anchors&#8221;, and avoid &#8220;icebergs&#8221;.</p></li></ol></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!haNt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F906af323-dcad-4d25-8e86-ad2b0e4cfc20_826x414.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!haNt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F906af323-dcad-4d25-8e86-ad2b0e4cfc20_826x414.png 424w, https://substackcdn.com/image/fetch/$s_!haNt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F906af323-dcad-4d25-8e86-ad2b0e4cfc20_826x414.png 848w, https://substackcdn.com/image/fetch/$s_!haNt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F906af323-dcad-4d25-8e86-ad2b0e4cfc20_826x414.png 1272w, https://substackcdn.com/image/fetch/$s_!haNt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F906af323-dcad-4d25-8e86-ad2b0e4cfc20_826x414.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!haNt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F906af323-dcad-4d25-8e86-ad2b0e4cfc20_826x414.png" width="826" height="414" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/906af323-dcad-4d25-8e86-ad2b0e4cfc20_826x414.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:414,&quot;width&quot;:826,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:551601,&quot;alt&quot;:&quot;Two photos, each of a whiteboard depicting a different retro activity.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Two photos, each of a whiteboard depicting a different retro activity." title="Two photos, each of a whiteboard depicting a different retro activity." srcset="https://substackcdn.com/image/fetch/$s_!haNt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F906af323-dcad-4d25-8e86-ad2b0e4cfc20_826x414.png 424w, https://substackcdn.com/image/fetch/$s_!haNt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F906af323-dcad-4d25-8e86-ad2b0e4cfc20_826x414.png 848w, https://substackcdn.com/image/fetch/$s_!haNt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F906af323-dcad-4d25-8e86-ad2b0e4cfc20_826x414.png 1272w, https://substackcdn.com/image/fetch/$s_!haNt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F906af323-dcad-4d25-8e86-ad2b0e4cfc20_826x414.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Mad/Sad/Glad (left) and Sailboat (right). Retrospective activities that leverage imagination as part of the creative process (<a href="https://retromat.org/en/?id=7-19">photo source</a>).</figcaption></figure></div><div><hr></div><h2>Final Thoughts</h2><p>As product development practitioners, do we think of our work as creative?</p><p>In the past, I&#8217;ve thought of writing code as an act of creativity. A team optimizing its process? That, I&#8217;ll admit, never seemed like a creative activity to me. When I reflect on the Robinson Report&#8217;s definition of creativity, however, I realize that everything a software product team does can be thought of as inherently creative.</p><p>If that is the case, what would happen if software product teams were entirely optimized for creativity over productivity?</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>This activity queries emotional states deliberately because doing so yields more effective results. <a href="https://en.wikipedia.org/wiki/Emotion#The_effects_on_memory">Studies have shown</a> that emotional memories are reactivated more, they are remembered better, and have more attention devoted to them.</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Collaboration in the Problem Space]]></title><description><![CDATA[Using the CEDAR model for effective one-on-one feedback]]></description><link>https://spikes.sobes.co/p/collaboration-in-the-problem-space</link><guid isPermaLink="false">https://spikes.sobes.co/p/collaboration-in-the-problem-space</guid><dc:creator><![CDATA[Paul Sobocinski]]></dc:creator><pubDate>Tue, 19 Apr 2022 22:00:34 GMT</pubDate><enclosure url="https://cdn.substack.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6113cd09-611a-47ad-902d-88883d51ab1b_1456x690.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There is an inherent bias in software organizations to be solution-focused vs. problem-focused. The reason for this is obvious to me &#8212; the fundamental purpose of software is to solve problems (done so by modelling and defining behaviours performed by a computer). Thus, it is no surprise that as individuals and teams, software development professionals focus on solutions vs. problems.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dUdD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6113cd09-611a-47ad-902d-88883d51ab1b_1456x690.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dUdD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6113cd09-611a-47ad-902d-88883d51ab1b_1456x690.png 424w, https://substackcdn.com/image/fetch/$s_!dUdD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6113cd09-611a-47ad-902d-88883d51ab1b_1456x690.png 848w, https://substackcdn.com/image/fetch/$s_!dUdD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6113cd09-611a-47ad-902d-88883d51ab1b_1456x690.png 1272w, https://substackcdn.com/image/fetch/$s_!dUdD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6113cd09-611a-47ad-902d-88883d51ab1b_1456x690.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dUdD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6113cd09-611a-47ad-902d-88883d51ab1b_1456x690.png" width="1456" height="690" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/6113cd09-611a-47ad-902d-88883d51ab1b_1456x690.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:690,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1132216,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dUdD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6113cd09-611a-47ad-902d-88883d51ab1b_1456x690.png 424w, https://substackcdn.com/image/fetch/$s_!dUdD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6113cd09-611a-47ad-902d-88883d51ab1b_1456x690.png 848w, https://substackcdn.com/image/fetch/$s_!dUdD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6113cd09-611a-47ad-902d-88883d51ab1b_1456x690.png 1272w, https://substackcdn.com/image/fetch/$s_!dUdD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6113cd09-611a-47ad-902d-88883d51ab1b_1456x690.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">As software development professionals, it&#8217;s in our nature to solve problems (<a href="https://unsplash.com/photos/4Ennrbj1svk">photo source</a>)</figcaption></figure></div><p>As other technology-oriented, knowledge-based industries take their cue from software companies, this bias is in danger of spreading and quashing our ability to innovate (ironically). This is because a solution-oriented bias fails to interrogate the problem itself. This means asking questions such as:</p><ul><li><p>Is the problem worth solving? If so, why?</p></li><li><p>Have we identified the root of the problem?</p></li><li><p>Are we solving the right problem?</p></li></ul><p>While asking such questions can be painful and time-consuming, doing so can bring fresh solutions to the fore that would otherwise not be considered.</p><h2>Offering suggestions</h2><p>How often have you given or received the following advice around offering suggestions:</p><p><em><strong>If you see a problem, sketch or draft a solution before bringing it up with your manager or peers.</strong></em></p><p> I know I&#8217;ve given this advice before. Asking for the solution, arguably, saves time &#8212; I don&#8217;t have as much context on or understanding of the problem as the person bringing the problem to me. At first blush, it seems more time-efficient to assess a solution rather then mull on the problem.</p><p>Yet therein lies the issue. If each person assesses the problem in isolation and brings forward their individually-ideated solution to their manager, then the manager misses out on the set of possible solutions that can only be uncovered through assessing the problem space as a team. Furthermore, if the manager rewards the best individually-ideated solution, then they are disincentivizing the ideation of solutions as a group, and thus suppressing collaboration in the problem space.</p><p>Consequently, I do not give the aforementioned advice anymore. Instead, I encourage both reports and peers to talk about problems with each other &#8212; to collaborate on them and thus uncover possible solutions that would be otherwise unreachable. I try to work on being comfortable collaborating in the problem space, whether it&#8217;s one-on-one or as part of a team.</p><p>In that process, I&#8217;ve come across a few techniques that I&#8217;ve found useful. I will scope this post to one approach in particular that is suited to providing feedback in one-on-ones.</p><h2>One-on-one feedback</h2><p>Traditionally, feedback is split into two groups. Positive feedback is essentially given when there is an outcome attributed to an individual that is desirable to the business. The intended outcome of positive feedback is for that person to continue the behaviours that have led to that outcome. &#8220;Keep up the good work,&#8221; essentially.</p><p>Negative feedback, on the other hand, is the opposite. There is an undesirable business outcome that we have attributed to the individual. As managers, we feel it is our job to both attribute the outcome to an individual, as well as determine the course of action to mitigate its future occurrence. In other words, we feel solely responsible for both identifying the problem and most of the solution space.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5P9X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcce450a8-431b-4863-8a5a-ffd03d68b69c_1456x1122.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5P9X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcce450a8-431b-4863-8a5a-ffd03d68b69c_1456x1122.png 424w, https://substackcdn.com/image/fetch/$s_!5P9X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcce450a8-431b-4863-8a5a-ffd03d68b69c_1456x1122.png 848w, https://substackcdn.com/image/fetch/$s_!5P9X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcce450a8-431b-4863-8a5a-ffd03d68b69c_1456x1122.png 1272w, https://substackcdn.com/image/fetch/$s_!5P9X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcce450a8-431b-4863-8a5a-ffd03d68b69c_1456x1122.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5P9X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcce450a8-431b-4863-8a5a-ffd03d68b69c_1456x1122.png" width="1456" height="1122" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/cce450a8-431b-4863-8a5a-ffd03d68b69c_1456x1122.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1122,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2992365,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5P9X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcce450a8-431b-4863-8a5a-ffd03d68b69c_1456x1122.png 424w, https://substackcdn.com/image/fetch/$s_!5P9X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcce450a8-431b-4863-8a5a-ffd03d68b69c_1456x1122.png 848w, https://substackcdn.com/image/fetch/$s_!5P9X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcce450a8-431b-4863-8a5a-ffd03d68b69c_1456x1122.png 1272w, https://substackcdn.com/image/fetch/$s_!5P9X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcce450a8-431b-4863-8a5a-ffd03d68b69c_1456x1122.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">As managers, we think it&#8217;s on us to figure out the problem, and oftentimes, most of the solution as well (<a href="https://unsplash.com/photos/LrlyZzX6Sws?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=view-photo-on-unsplash&amp;utm_campaign=unsplash-ios">photo source</a>).</figcaption></figure></div><p>Most conventional recommendations on providing feedback centre around how to deliver the feedback. Few question the responsibility of the manager. What if they got it wrong? What if more than one person is responsible for the undesirable outcomes? What if there are alternate courses of action to address them? In reality, all are common in knowledge-based industries such as software development. Increasingly, business value is achieved as a team that works together, even when it comes down to individual tasks (pair programming in software, for example).</p><p>Nevertheless, as managers we are stuck with the inescapable reality that we are ultimately responsible for the performance of our reports. Thus, problems will arise that are undeniably connected to our reports, and we need a way to collaborate with our reports on them. Enter the CEDAR feedback model.</p><h3>CEDAR Feedback Model</h3><p>CEDAR is very effective at providing feedback in a non-directive manner &#8212; directive feedback means that the feedback receiver is being told that to do (or what not to do).</p><p>The tendency to come to the table with solutions (as opposed to collaborate on the problem) means that leaders tend to gravitate towards directive feedback approaches such as <a href="https://en.wikipedia.org/wiki/SKS_process">start-stop-continue</a>. While directive feedback models such as this can be very efficient at feedback delivery, it propagates the issue at hand: failing to collaborate in the problem space.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9GvB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2c2675c0-6e62-47b8-b1ed-c72ca5c70713_1456x644.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9GvB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2c2675c0-6e62-47b8-b1ed-c72ca5c70713_1456x644.png 424w, https://substackcdn.com/image/fetch/$s_!9GvB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2c2675c0-6e62-47b8-b1ed-c72ca5c70713_1456x644.png 848w, https://substackcdn.com/image/fetch/$s_!9GvB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2c2675c0-6e62-47b8-b1ed-c72ca5c70713_1456x644.png 1272w, https://substackcdn.com/image/fetch/$s_!9GvB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2c2675c0-6e62-47b8-b1ed-c72ca5c70713_1456x644.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9GvB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2c2675c0-6e62-47b8-b1ed-c72ca5c70713_1456x644.png" width="1456" height="644" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/2c2675c0-6e62-47b8-b1ed-c72ca5c70713_1456x644.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:644,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:876293,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9GvB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2c2675c0-6e62-47b8-b1ed-c72ca5c70713_1456x644.png 424w, https://substackcdn.com/image/fetch/$s_!9GvB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2c2675c0-6e62-47b8-b1ed-c72ca5c70713_1456x644.png 848w, https://substackcdn.com/image/fetch/$s_!9GvB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2c2675c0-6e62-47b8-b1ed-c72ca5c70713_1456x644.png 1272w, https://substackcdn.com/image/fetch/$s_!9GvB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2c2675c0-6e62-47b8-b1ed-c72ca5c70713_1456x644.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">We all need direction. Providing too much direction, however, can be counter-productive in the long run (<a href="https://unsplash.com/photos/HQH-GOZ6K2c?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditShareLink">photo source</a>).</figcaption></figure></div><p>Non-directive feedback is difficult, time-consuming, and counter-intuitive. Consequently, models such as CEDAR can be effective at achieving and sustaining a non-directive approach that gives adequate attention to the problem space.</p><p>Here is a summary of the approach:</p><ol><li><p><strong>Context:</strong> Set the context of the feedback. What led you to bring up the issue? Why is it an important problem to you and the company?</p></li><li><p><strong>Examples:</strong> Give concrete examples of activities that you believe to have caused the issue. Explain how they relate to the receiver of the feedback.</p></li><li><p><strong>Diagnosis:</strong> Ask the receiver of the feedback to diagnose the problem and its causes. Is there a root cause? Are there contributing factors? Make sure that at this stage, the feedback receiver is doing as much of the talking as possible, and limit yourself to asking questions.</p></li><li><p><strong>Action:</strong> Establish next actions with the feedback receiver. It&#8217;s important that they drive the synthesis of the actions, with you providing feedback on the actions as needed. Oftentimes, it may involve you having actions of your own.</p></li><li><p><strong>Review:</strong> Follow-up on the actions that both you and the feedback receiver have committed to. Primarily, check-in if they need support, but also to close the feedback loop &#8212; have the actions have been followed through with? If not, why not?</p></li></ol><p>The above is only my summarized interpretation of CEDAR. I highly recommend reading <a href="https://www.annawildman.com/cedar-feedback-model.html">this article by Anna Wildman</a> (the creator of the model) for a more comprehensive overview.</p><h4>Applying CEDAR</h4><p>Let&#8217;s walk through an example of how CEDAR can apply:</p><ol><li><p><strong>Context:</strong><br>Manager: <em>&#8220;The tickets you have been working on have been taking longer than expected. This is contributing to the planned release falling behind schedule.&#8221;<br></em></p></li><li><p><strong>Examples:</strong><br>Manager: <em>&#8220;Of the last eight tickets that you&#8217;ve worked on, these five have taken longer than what you had initially estimated.&#8221;<br></em></p></li><li><p><strong>Diagnosis:</strong><br>Report: <em>&#8221;I think I could be better at estimating. However a lot of time I have no idea about what&#8217;s involved so it&#8217;s more of a wild-ass guess. Then, when another team member looks at my PR they point something out that balloons the scope, and it&#8217;s back to the drawing board.&#8221;<br></em></p></li><li><p><strong>Actions:<br></strong>Manager: <em>&#8220;What can we do to improve estimate reliability and accuracy? Or at least, find out when it&#8217;s off sooner?&#8221;</em><br>Report: <em>&#8220;I suppose I can pair program with my teammates more, especially on the larger tickets. That way, the hidden scope is revealed earlier than the PR stage&#8221;</em><br>Manager: <em>&#8220;Why are you not estimating together, as a team?&#8221;<br></em>Report: <em>&#8220;I don&#8217;t know. I guess that&#8217;s just how we do it? I can bring the question up at the next retro.&#8221;</em><br>Manager: <em>&#8220;Great idea!&#8221;</em><br></p></li><li><p><strong>Review:</strong><br>Manager: <em>&#8220;How did the retro go?&#8221;</em><br>Report: <em>&#8220;It went well! I brought up my missed estimates and ballooning scope, and a few of my other teammates were in the same boat. As an experiment we will try to estimate as a group, and we have agreed to always start off the larger tickets as a pair as opposed to solo on them&#8221;</em><br>Manager: <em>&#8220;Great! Keep me in the loop on the experiment, and let me know if there&#8217;s any way I can support.&#8221;</em></p></li></ol><p>In this example, solving the problem at hand involved more than just the report. Their manager encouraged them to bring it up with their team, which in turn yielded a potential process improvement.</p><p>Conversely, we can imagine how using an approach involving directive feedback could go. The report would agree to &#8220;getting better at estimating&#8221;, but may be left figuring out how to do so on their own. Critically, they may never realize that it&#8217;s a problem that they in fact cannot solve on their own, and may never think of leveraging their team to solve it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3NO5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9c69f91e-8921-4113-8f5d-b2c34e046969_1456x658.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3NO5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9c69f91e-8921-4113-8f5d-b2c34e046969_1456x658.png 424w, https://substackcdn.com/image/fetch/$s_!3NO5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9c69f91e-8921-4113-8f5d-b2c34e046969_1456x658.png 848w, https://substackcdn.com/image/fetch/$s_!3NO5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9c69f91e-8921-4113-8f5d-b2c34e046969_1456x658.png 1272w, https://substackcdn.com/image/fetch/$s_!3NO5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9c69f91e-8921-4113-8f5d-b2c34e046969_1456x658.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3NO5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9c69f91e-8921-4113-8f5d-b2c34e046969_1456x658.png" width="1456" height="658" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/9c69f91e-8921-4113-8f5d-b2c34e046969_1456x658.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:658,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1507646,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3NO5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9c69f91e-8921-4113-8f5d-b2c34e046969_1456x658.png 424w, https://substackcdn.com/image/fetch/$s_!3NO5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9c69f91e-8921-4113-8f5d-b2c34e046969_1456x658.png 848w, https://substackcdn.com/image/fetch/$s_!3NO5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9c69f91e-8921-4113-8f5d-b2c34e046969_1456x658.png 1272w, https://substackcdn.com/image/fetch/$s_!3NO5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9c69f91e-8921-4113-8f5d-b2c34e046969_1456x658.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Your report is part of a team. That means solving problems together. As managers, we can enable this behaviour, even during one-on-ones (<a href="https://unsplash.com/photos/Sj0iMtq_Z4w?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditShareLink">photo source</a>).</figcaption></figure></div><h2>Wrap-up</h2><p>Collaboration in the problem space may slow us down in the near term, but can lead to more prudent courses of action in the long term. One-on-ones are just one forum where this can happen. In a subsequent post, I&#8217;ll be describing other times where this type of collaboration can happen, as well as other techniques or models that can be applied.</p><p>In the meantime, I&#8217;m interested to learn about how you encourage collaboration in the problem space. In particular, if you use an alternate to the CEDAR model, I&#8217;d love to hear about it!</p>]]></content:encoded></item><item><title><![CDATA[The Enigmatic Navigator]]></title><description><![CDATA[What are they actually supposed to do during a pairing session?]]></description><link>https://spikes.sobes.co/p/the-enigmatic-navigator</link><guid isPermaLink="false">https://spikes.sobes.co/p/the-enigmatic-navigator</guid><dc:creator><![CDATA[Paul Sobocinski]]></dc:creator><pubDate>Tue, 12 Apr 2022 20:00:40 GMT</pubDate><enclosure url="https://cdn.substack.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78c16b51-3101-4b2d-853e-1dbac81ef634_1456x629.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In past posts, I&#8217;ve written about various pairing styles such as <a href="https://spikes.sobes.co/p/ping-pong-pairing">ping-pong</a> and <a href="https://spikes.sobes.co/p/strong-style-pairing">strong-style</a> pairing. One style I haven&#8217;t touched on yet is Driver-Navigator, which I cover in this post.</p><p>If you&#8217;re new to pair programming, you&#8217;re often advised to start with Driver-Navigator. This is only because it happens to be the most well-known pairing style. Corey Haines points out that this style of pair programming is actually an intermediate-level style. In other words, it&#8217;s suited more for software engineers who already have significant experience with pair programming.</p><blockquote><p><em>In order for this style to work, the pair needs to have good communication habits, constantly keeping the other abreast of what thoughts are going through their head. Unfortunately, this level of communication isn&#8217;t necessarily built-in to a new pair. Because of this intense communication requirement, <strong>I generally consider the Driver-Navigator style of pair-programming to be a more intermediate level style</strong>. <br><br>&#8212; Corey Haines (<a href="https://leanpub.com/4rulesofsimpledesign">Understanding the Four Rules of Simple Design</a>)</em></p></blockquote><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fTFj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3f995f26-c18e-4f5a-ae7d-f957a53ec31d_5472x2546.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fTFj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3f995f26-c18e-4f5a-ae7d-f957a53ec31d_5472x2546.png 424w, https://substackcdn.com/image/fetch/$s_!fTFj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3f995f26-c18e-4f5a-ae7d-f957a53ec31d_5472x2546.png 848w, https://substackcdn.com/image/fetch/$s_!fTFj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3f995f26-c18e-4f5a-ae7d-f957a53ec31d_5472x2546.png 1272w, https://substackcdn.com/image/fetch/$s_!fTFj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3f995f26-c18e-4f5a-ae7d-f957a53ec31d_5472x2546.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fTFj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3f995f26-c18e-4f5a-ae7d-f957a53ec31d_5472x2546.png" width="1456" height="677" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/3f995f26-c18e-4f5a-ae7d-f957a53ec31d_5472x2546.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:677,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:19742287,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fTFj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3f995f26-c18e-4f5a-ae7d-f957a53ec31d_5472x2546.png 424w, https://substackcdn.com/image/fetch/$s_!fTFj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3f995f26-c18e-4f5a-ae7d-f957a53ec31d_5472x2546.png 848w, https://substackcdn.com/image/fetch/$s_!fTFj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3f995f26-c18e-4f5a-ae7d-f957a53ec31d_5472x2546.png 1272w, https://substackcdn.com/image/fetch/$s_!fTFj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3f995f26-c18e-4f5a-ae7d-f957a53ec31d_5472x2546.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Navigation cannot happen without communication (<a href="https://unsplash.com/photos/aYHzEnSEH-w?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditShareLink">photo source</a>).</figcaption></figure></div><h2>Prerequisites to Driver-Navigator</h2><p>A pair of software engineers who are new to pairing with each other or the codebase should consider starting with an alternate pairing style, even if they&#8217;re both experienced in pair programming. For example, using <a href="https://spikes.sobes.co/p/strong-style-pairing">strong-style</a> is a good technique for exploring a new codebase, while <a href="https://spikes.sobes.co/p/ping-pong-pairing">ping-pong</a> is a good approach for getting comfortable with a new pairing partner.</p><p>Let&#8217;s say that the pair has found their bearings with the codebase and have established an effective rapport with each other. There are still two additional prerequisites for a successful Driver-Navigator session.</p><h3>Shared Understanding of Pairing Roles</h3><p>Fundamentally, a shared understanding of the roles in Driver-Navigator is needed: what each role is responsible for, and what they can expect from their pairing partner. I have found that these responsibilities and expectations are often misunderstood, so it&#8217;s good to go over them with your pairing partner.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kFEh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b490c28-13eb-4ce9-a8e7-fd8ca8ac7c9c_727x608.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kFEh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b490c28-13eb-4ce9-a8e7-fd8ca8ac7c9c_727x608.png 424w, https://substackcdn.com/image/fetch/$s_!kFEh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b490c28-13eb-4ce9-a8e7-fd8ca8ac7c9c_727x608.png 848w, https://substackcdn.com/image/fetch/$s_!kFEh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b490c28-13eb-4ce9-a8e7-fd8ca8ac7c9c_727x608.png 1272w, https://substackcdn.com/image/fetch/$s_!kFEh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b490c28-13eb-4ce9-a8e7-fd8ca8ac7c9c_727x608.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kFEh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b490c28-13eb-4ce9-a8e7-fd8ca8ac7c9c_727x608.png" width="727" height="608" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/1b490c28-13eb-4ce9-a8e7-fd8ca8ac7c9c_727x608.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:608,&quot;width&quot;:727,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:43811,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kFEh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b490c28-13eb-4ce9-a8e7-fd8ca8ac7c9c_727x608.png 424w, https://substackcdn.com/image/fetch/$s_!kFEh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b490c28-13eb-4ce9-a8e7-fd8ca8ac7c9c_727x608.png 848w, https://substackcdn.com/image/fetch/$s_!kFEh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b490c28-13eb-4ce9-a8e7-fd8ca8ac7c9c_727x608.png 1272w, https://substackcdn.com/image/fetch/$s_!kFEh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1b490c28-13eb-4ce9-a8e7-fd8ca8ac7c9c_727x608.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Summary of the Driver-Navigator pairing style</figcaption></figure></div><h4>Driver:</h4><ul><li><p>Responsible for the current step, but may think ahead to the next step. For this reason, &#8220;Driver&#8221; is considered to be the &#8220;tactical&#8221; role</p></li><li><p>Thinks aloud so that the Navigator can follow along</p></li><li><p>Decides when to break for discussion or when to swap roles</p></li></ul><h4>Navigator:</h4><ul><li><p>Thinks many steps ahead. &#8220;Navigator&#8221; is considered to be the &#8220;strategic&#8221; role</p></li><li><p>Listens attentively as the Driver &#8220;thinks aloud&#8221;</p></li><li><p>Takes notes on:</p><ul><li><p>Observations of what the Driver does and how they do it</p></li><li><p>Options for where to take the code, what to prioritize next, etc.</p></li></ul></li><li><p>Tries to answer any questions that the Driver asks</p></li><li><p>Offers solutions when there is a failing test with an obvious and straightforward fix (e.g. a typo or missing syntax)</p></li><li><p>Lets the Driver decide when it&#8217;s time to break for discussion, or when to swap roles</p><ul><li><p>The pair may also decide to enforce frequent role-swapping through the use of a timer</p></li></ul></li></ul><h4>Both:</h4><ul><li><p>Agree on a working agreement<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> for the pairing session. Examples:</p><ul><li><p>Either person can take a break at any time, requiring no reason to do so</p></li><li><p>Both people have easy access to a shared whiteboard (e.g. Miro) that is kept handy to facilitate discussions</p></li><li><p>The pair uses a timer to enforce (or only consider) regular:</p><ul><li><p>breaks</p></li><li><p>swapping of roles</p></li><li><p>check-ins</p></li></ul></li></ul></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VU5o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78c16b51-3101-4b2d-853e-1dbac81ef634_1456x629.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VU5o!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78c16b51-3101-4b2d-853e-1dbac81ef634_1456x629.png 424w, https://substackcdn.com/image/fetch/$s_!VU5o!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78c16b51-3101-4b2d-853e-1dbac81ef634_1456x629.png 848w, https://substackcdn.com/image/fetch/$s_!VU5o!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78c16b51-3101-4b2d-853e-1dbac81ef634_1456x629.png 1272w, https://substackcdn.com/image/fetch/$s_!VU5o!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78c16b51-3101-4b2d-853e-1dbac81ef634_1456x629.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VU5o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78c16b51-3101-4b2d-853e-1dbac81ef634_1456x629.png" width="1456" height="629" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/78c16b51-3101-4b2d-853e-1dbac81ef634_1456x629.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:629,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2215917,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VU5o!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78c16b51-3101-4b2d-853e-1dbac81ef634_1456x629.png 424w, https://substackcdn.com/image/fetch/$s_!VU5o!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78c16b51-3101-4b2d-853e-1dbac81ef634_1456x629.png 848w, https://substackcdn.com/image/fetch/$s_!VU5o!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78c16b51-3101-4b2d-853e-1dbac81ef634_1456x629.png 1272w, https://substackcdn.com/image/fetch/$s_!VU5o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78c16b51-3101-4b2d-853e-1dbac81ef634_1456x629.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Before embarking on your shared journey, establish a common starting-point (<a href="https://unsplash.com/photos/1-29wyvvLJA">photo source</a>).</figcaption></figure></div><h3>Navigator has something to do</h3><p>The primary responsibility of the Navigator is to think multiple steps ahead. But what does that actually mean? Here are some examples that I&#8217;ve experienced where the Navigator role was effective:</p><ol><li><p>While the Driver works through an experimental refactor, the Navigator identifies and takes notes on refactoring alternatives that have not been discussed yet</p></li><li><p>While the Driver attempts one fix to a bug, the Navigator notes down other potential fixes</p></li><li><p>While the Driver implements the initial algorithm that was agreed upon, the Navigator realizes an edge case that the algorithm does not cover and notes it down</p></li><li><p>While the Driver sequentially works through implementation of a series of specification examples, the Navigator identifies emerging design patterns in the growing codebase and notes them down</p></li></ol><p>Notice that in all four examples, the Navigator takes notes of their ideas and observations. This is deliberate. The Navigator should avoid speaking these out-loud to the Driver while they are in the middle of driving (i.e. coding). That might not mean typing &#8212; it could mean a brief moment of silence while they think about the next move. The key point here is to avoid interrupting the Driver&#8217;s flow. Wait for the next break (induced by the Driver or by the timer) to review and discuss the Navigator&#8217;s notes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gzku!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2b25c18-7ef9-4e6d-8902-69d1b1fd31b3_1456x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gzku!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2b25c18-7ef9-4e6d-8902-69d1b1fd31b3_1456x720.png 424w, https://substackcdn.com/image/fetch/$s_!gzku!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2b25c18-7ef9-4e6d-8902-69d1b1fd31b3_1456x720.png 848w, https://substackcdn.com/image/fetch/$s_!gzku!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2b25c18-7ef9-4e6d-8902-69d1b1fd31b3_1456x720.png 1272w, https://substackcdn.com/image/fetch/$s_!gzku!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2b25c18-7ef9-4e6d-8902-69d1b1fd31b3_1456x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gzku!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2b25c18-7ef9-4e6d-8902-69d1b1fd31b3_1456x720.png" width="1456" height="720" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/f2b25c18-7ef9-4e6d-8902-69d1b1fd31b3_1456x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1389401,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gzku!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2b25c18-7ef9-4e6d-8902-69d1b1fd31b3_1456x720.png 424w, https://substackcdn.com/image/fetch/$s_!gzku!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2b25c18-7ef9-4e6d-8902-69d1b1fd31b3_1456x720.png 848w, https://substackcdn.com/image/fetch/$s_!gzku!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2b25c18-7ef9-4e6d-8902-69d1b1fd31b3_1456x720.png 1272w, https://substackcdn.com/image/fetch/$s_!gzku!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2b25c18-7ef9-4e6d-8902-69d1b1fd31b3_1456x720.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The Navigator can provide unique value when given the chance to do so (<a href="https://unsplash.com/photos/Z8UgB80_46w">photo source</a>).</figcaption></figure></div><h2>Avoiding Anti-Patterns</h2><p>There are plenty of Driver-Navigator anti-patterns; they are written about elsewhere at great length, so I will only provide a brief overview. Here are a few examples:</p><ol><li><p><strong>Driver-Twitterer:</strong> Navigator stops paying attention to what the Driver is doing, and instead goes on Twitter. Or Slack. Or Jira. The point is, it stops being a pair programming session when the Navigator is no longer engaged.</p></li><li><p><strong>Backseat Driver:</strong> Navigator dictates specific instructions to the Driver, e.g. &#8220; do this, now do this, now this&#8230;&#8221;. Ironically, this anti-pattern is very similar to <a href="https://spikes.sobes.co/p/strong-style-pairing">strong-style</a> pairing. The key difference being that the anti-pattern occurs when Driver expects to have control<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>.</p></li><li><p><strong>Fighting for the keyboard:</strong> Navigator has an idea, but instead of noting it down, says, &#8220;here, give me the keyboard, let me try something&#8230;&#8221;. A number of keystrokes later, the other programmer says &#8220;wait, I have a better idea&#8230;&#8221; and does the same thing. In addition to being unpleasant, this anti-pattern can lead to plenty of half-baked ideas, with precious-few fully-baked ones being earnestly explored, let alone implemented.</p></li></ol><p>In case you haven&#8217;t noticed already, these anti-patterns arise when the Navigator doesn&#8217;t understand their role, when they don&#8217;t have something to do, or both. Generally, the Navigator taking control from the Driver is not an effective move, because once that happens the new Navigator is relegated to observing passively (as opposed to navigating actively). Instead, it&#8217;s best to wait until the Driver is ready to give up control. At this point, the pair can decide if the Navigator has something to do. If not, then an alternate pairing style (such as <a href="https://spikes.sobes.co/p/ping-pong-pairing">ping-pong</a> or <a href="https://spikes.sobes.co/p/strong-style-pairing">strong-style</a>) can always be considered.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I-aW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9587c350-b1bf-4d8c-9e79-dc7c3f90a091_1456x919.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I-aW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9587c350-b1bf-4d8c-9e79-dc7c3f90a091_1456x919.png 424w, https://substackcdn.com/image/fetch/$s_!I-aW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9587c350-b1bf-4d8c-9e79-dc7c3f90a091_1456x919.png 848w, https://substackcdn.com/image/fetch/$s_!I-aW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9587c350-b1bf-4d8c-9e79-dc7c3f90a091_1456x919.png 1272w, https://substackcdn.com/image/fetch/$s_!I-aW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9587c350-b1bf-4d8c-9e79-dc7c3f90a091_1456x919.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I-aW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9587c350-b1bf-4d8c-9e79-dc7c3f90a091_1456x919.png" width="1456" height="919" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/9587c350-b1bf-4d8c-9e79-dc7c3f90a091_1456x919.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:919,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2692341,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!I-aW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9587c350-b1bf-4d8c-9e79-dc7c3f90a091_1456x919.png 424w, https://substackcdn.com/image/fetch/$s_!I-aW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9587c350-b1bf-4d8c-9e79-dc7c3f90a091_1456x919.png 848w, https://substackcdn.com/image/fetch/$s_!I-aW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9587c350-b1bf-4d8c-9e79-dc7c3f90a091_1456x919.png 1272w, https://substackcdn.com/image/fetch/$s_!I-aW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9587c350-b1bf-4d8c-9e79-dc7c3f90a091_1456x919.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Remember, you are both in this together. Make full use of each others&#8217; skills and knowledge through effective pairing (<a href="https://unsplash.com/photos/7jZNgIuJrCM">photo source</a>).</figcaption></figure></div><h2>Wrap-up</h2><p>Given how misunderstood Pair Programming is in general, it&#8217;s no surprise that misunderstanding Driver-Navigator is also common. Having a shared understanding of Driver-Navigator, what the pairing style requires, and an appreciation of alternative pairing styles, can go a long way in ensuring an effective pairing session.</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p><a href="https://medium.com/@yaztokdemir/the-truth-about-working-agreements-5026c3952c73">Working agreements</a> are typically set on the product-team-level. Given that a pair is essentially a team of two, pair programming is another opportunity to experiment with a lightweight working agreement that lasts only for the duration of the pairing session.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>&#8220;Control&#8221; is one of a few <a href="https://spikes.sobes.co/p/pairing-themes">pair programming themes</a> that I explore in an earlier post.</p></div></div>]]></content:encoded></item><item><title><![CDATA[Lessons from an Education Revolutionary]]></title><description><![CDATA[How both software and education can thrive in the face of change]]></description><link>https://spikes.sobes.co/p/lessons-from-an-education-revolutionary</link><guid isPermaLink="false">https://spikes.sobes.co/p/lessons-from-an-education-revolutionary</guid><dc:creator><![CDATA[Paul Sobocinski]]></dc:creator><pubDate>Tue, 29 Mar 2022 21:00:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/iG9CE55wbtY" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><a href="https://medium.com/nulogy/the-last-mile-software-apprenticeship-at-nulogy-ac9a5fd70b1a">Nulogy&#8217;s apprenticeship program</a> was one of the most memorable and meaningful initiatives that I had the privilege of being involved in while working there. While it was a career springboard for the apprentices, for me it sparked an interest in teaching software engineers that has been gradually developing since.</p><p>This interest kicked into high-gear when I began teaching evenings at a coding bootcamp a few years later. I witnessed the hopes and dreams of eager individuals looking to get into the fresh and exciting profession of software development. This resonated with me. I enjoy my work, and I&#8217;m sufficiently skilled to earn a living doing it. I wanted that for my students, too.</p><p>Fast-forwarding to today, I have the unique opportunity of running a technical coaching program at work. The word &#8220;technical&#8221; indicates a focus on knowledge unique to software engineers, yet transferrable across technology domains. In particular, these are the practices of Pair Programming, Test-Driven Development, and Design<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>.</p><h2>Education&#8217;s Subject Matter Experts</h2><p>Now I don&#8217;t have a pedagogical background &#8212; I&#8217;m learning as I go. Known as the <a href="https://cacm.acm.org/magazines/2000/10/7556-the-five-orders-of-ignorance/fulltext">0th Order of Ignorance</a>, it&#8217;s a risky place to operate from. To put it plainly, I don&#8217;t know what I don&#8217;t know. I am counteracting this by reading and studying pedagogical techniques. For example, I&#8217;ve written about topics such as <a href="https://spikes.sobes.co/p/elenchus">elenchus</a> and <a href="https://spikes.sobes.co/p/constructivism">constructivism</a> to get a broad sense of a topic, as well as an awareness of what I don&#8217;t know about it.</p><p>I&#8217;ve also been learning about and studying the work of subject matter experts. In particular, I&#8217;ve stumbled upon a particularly radical thinker in the field of education: Sir Ken Robinson.</p><div id="youtube2-iG9CE55wbtY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;iG9CE55wbtY&quot;,&quot;startTime&quot;:&quot;26&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/iG9CE55wbtY?start=26&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>He gave one of the first TED talks (above), which has since become the most widely-watched TED talk to date. Since that first TED talk, he has given two more,<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a> in addition to an <a href="https://www.ted.com/talks/the_ted_interview_sir_ken_robinson_still_wants_an_education_revolution">extended interview with Chris Anderson</a> (Head of TED).</p><h2>Transforming Education</h2><p>In all of his TED talks, Sir Ken appeals for a complete overhaul of the current system of education found in most of the world today (especially in the US and UK). To be clear, he explicitly states that a reformation is not enough &#8212; a transformation is what is needed.</p><p>Essentially, the current system of education  has two fundamental faults:</p><ol><li><p>It&#8217;s predicated on an overly-narrowed definition of intelligence that completely dismisses the crucial importance of creativity.</p></li><li><p>Its delivery model is based on Industrial Age principles that emphasize predictability, uniformity, and efficiency over maximizing every child&#8217;s potential as a unique and dynamic individual.</p></li></ol><p>The exclusion of creativity from the definition of intelligence has devastating consequences to the potential of human advancement. If creativity is the means by which we adapt to change, then it should be central to the purpose of modern education. Instead, it is at the periphery &#8212; relegated to Arts class and extra-curricular activities.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Rsyt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8efedc-3827-4270-b526-344331b88d85_12000x8248.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Rsyt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8efedc-3827-4270-b526-344331b88d85_12000x8248.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Rsyt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8efedc-3827-4270-b526-344331b88d85_12000x8248.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Rsyt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8efedc-3827-4270-b526-344331b88d85_12000x8248.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Rsyt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8efedc-3827-4270-b526-344331b88d85_12000x8248.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Rsyt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8efedc-3827-4270-b526-344331b88d85_12000x8248.jpeg" width="1456" height="1001" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/4a8efedc-3827-4270-b526-344331b88d85_12000x8248.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1001,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:9285788,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Rsyt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8efedc-3827-4270-b526-344331b88d85_12000x8248.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Rsyt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8efedc-3827-4270-b526-344331b88d85_12000x8248.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Rsyt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8efedc-3827-4270-b526-344331b88d85_12000x8248.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Rsyt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4a8efedc-3827-4270-b526-344331b88d85_12000x8248.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A 1930s garments factory. Such work is being displaced by technology at an increasing rate (<a href="https://unsplash.com/photos/7YUvAUbfSV0">photo source</a>).</figcaption></figure></div><p>Similarly, while the Industrial Age has led to rapid economic growth and prosperity, the challenge at the time was one of scale, not innovation. Once inventions such as the <a href="https://en.wikipedia.org/wiki/Steam_engine">commercial steam engine</a> and the <a href="https://en.wikipedia.org/wiki/Spinning_jenny">spinning jenny</a> were created in the 18th century, capitalism put immense pressure on society to scale its means of production in the following two centuries. This had far-reaching consequences on the fundamental ethos of the 20th century. This ethos continues to reverberate through to the turn of the millennium across multiple &#8220;industries&#8221; (as we still coincidentally call them). Education is but one discipline that is trapped in the modus operandi of past centuries.</p><p>In particular, the parallels between revolutionizing education and avoiding wasteful software development methodologies are uncanny.</p><h2>Taylorism in Software and Education</h2><p><a href="https://en.wikipedia.org/wiki/Scientific_management">Scientific Management</a> (also known as Taylorism) is referenced as the reason why software development teams are often managed as feature factories. In essence, Taylorism asserts &#8220;one right way&#8221;, which must not be decided subjectively by the workers themselves but instead objectively by management. These &#8220;scientific managers&#8221; are intentionally hands-off: they observe objectively, collect data impartially, and set <a href="https://en.wikipedia.org/wiki/Standard_operating_procedure">standard operating procedures</a> universally. These instructions on how the job is to be done are detailed, inflexible, and non-negotiable. This is by design as only managers have the appropriate &#8220;high-level&#8221; view which can adequately prioritize and optimize for collective outcomes over individual preferences.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1Gn-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0a899ea-a902-4dd3-ae21-819aef35583f_5184x3456.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1Gn-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0a899ea-a902-4dd3-ae21-819aef35583f_5184x3456.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1Gn-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0a899ea-a902-4dd3-ae21-819aef35583f_5184x3456.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1Gn-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0a899ea-a902-4dd3-ae21-819aef35583f_5184x3456.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1Gn-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0a899ea-a902-4dd3-ae21-819aef35583f_5184x3456.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1Gn-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0a899ea-a902-4dd3-ae21-819aef35583f_5184x3456.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/e0a899ea-a902-4dd3-ae21-819aef35583f_5184x3456.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3091717,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1Gn-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0a899ea-a902-4dd3-ae21-819aef35583f_5184x3456.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1Gn-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0a899ea-a902-4dd3-ae21-819aef35583f_5184x3456.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1Gn-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0a899ea-a902-4dd3-ae21-819aef35583f_5184x3456.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1Gn-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0a899ea-a902-4dd3-ae21-819aef35583f_5184x3456.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">In Taylorism, workers are treated as ingredients in an experiment instead of humans capable of making decisions independently (<a href="https://unsplash.com/photos/pwcKF7L4-no">photo source</a>)</figcaption></figure></div><p>To a tee, this is precisely what appears to be happening in education. Both software and education are experiencing the same problem. And it is a problem in software for the same reason it is one in education. Quite simply, one cannot predict the future. That goes for what the right software product looks like month over month, as well as what the right curriculum and teaching approach works for any given student at any given time.</p><h2>An Alternative to Taylorism</h2><p>In software, the problem is far from solved. However, stories have been emerging since the turn of the millennium about how teams and organizations have begun to solve it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9KHT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb9d82a-7e41-4c32-a7ef-b13966d98dfe_1200x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9KHT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb9d82a-7e41-4c32-a7ef-b13966d98dfe_1200x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9KHT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb9d82a-7e41-4c32-a7ef-b13966d98dfe_1200x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9KHT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb9d82a-7e41-4c32-a7ef-b13966d98dfe_1200x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9KHT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb9d82a-7e41-4c32-a7ef-b13966d98dfe_1200x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9KHT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb9d82a-7e41-4c32-a7ef-b13966d98dfe_1200x800.jpeg" width="1200" height="800" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/deb9d82a-7e41-4c32-a7ef-b13966d98dfe_1200x800.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:392644,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9KHT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb9d82a-7e41-4c32-a7ef-b13966d98dfe_1200x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9KHT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb9d82a-7e41-4c32-a7ef-b13966d98dfe_1200x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9KHT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb9d82a-7e41-4c32-a7ef-b13966d98dfe_1200x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9KHT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb9d82a-7e41-4c32-a7ef-b13966d98dfe_1200x800.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Aerial view of Snowbird Ski Resort in Utah &#8212; the birthplace of the Manifesto for Agile Software Development (<a href="https://www.tripadvisor.ca/Hotel_Review-g57128-d99958-Reviews-Snowbird-Snowbird_Utah.html#/media/99958/496135666:p/?albumid=101&amp;type=0&amp;category=101">photo source</a>)</figcaption></figure></div><p>A group of software developers met in 2001 and brought their own ideas about and solutions to the problem of rigid and wasteful software development trends. There was plenty of disagreement. But there was a small intersection of ideas, approaches, and practices that was agreed upon. This intersection came to be known as the <a href="https://agilemanifesto.org/">Manifesto for Agile Software Development</a>. Stated below:</p><blockquote><p><em>We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:</em></p><p><em><strong>Individuals and interactions</strong> over processes and tools<br><strong>Working software</strong> over comprehensive documentation<br><strong>Customer collaboration</strong> over contract negotiation<br><strong>Responding to change</strong> over following a plan</em></p><p><em>That is, while there is value in the items on the right, we value the items on the left more.</em></p></blockquote><p>If you replace &#8220;software&#8221; with &#8220;education&#8221; and &#8220;customer&#8221; with &#8220;student&#8221;, the commonality between Sir Ken Robinson&#8217;s ideas and the Agile manifesto is striking. Indeed, many agilists regret that Agile was ever framed as a software development approach. It is far more than that. Fundamentally, Agile is a mindset that allows teams and organizations to embrace change while creating value. As it all-too-often happens, when a team decides to adopt Agile while the wider organization is stuck in a Taylorism mindset, the benefit of the former is greatly stunted (if not entirely negated).</p><p>So perhaps then, Agile can be thought of as an education framework as much as a software development framework.</p><h3>Applying Agile to Education</h3><p>In the development of our technical coaching program at Connected, we certainly endeavour to take an Agile approach. We collect feedback every week, both from the coachees as well as the coaches. Feedback is collected in various means &#8212; both in 1:1 sessions, as well as through anonymous submission forms. Based on this feedback, we make minor adjustments to both the content of the coaching sessions, as well as the way the sessions themselves are run.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!K0lJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78a9d1e0-a4a7-4f77-b177-4b9250d0a143_4032x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K0lJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78a9d1e0-a4a7-4f77-b177-4b9250d0a143_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!K0lJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78a9d1e0-a4a7-4f77-b177-4b9250d0a143_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!K0lJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78a9d1e0-a4a7-4f77-b177-4b9250d0a143_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!K0lJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78a9d1e0-a4a7-4f77-b177-4b9250d0a143_4032x3024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K0lJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78a9d1e0-a4a7-4f77-b177-4b9250d0a143_4032x3024.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/78a9d1e0-a4a7-4f77-b177-4b9250d0a143_4032x3024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1780714,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!K0lJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78a9d1e0-a4a7-4f77-b177-4b9250d0a143_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!K0lJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78a9d1e0-a4a7-4f77-b177-4b9250d0a143_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!K0lJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78a9d1e0-a4a7-4f77-b177-4b9250d0a143_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!K0lJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F78a9d1e0-a4a7-4f77-b177-4b9250d0a143_4032x3024.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Reflection is fundamental to all Agile practices. At its core, it&#8217;s also a learning activity. (<a href="https://unsplash.com/photos/7YUvAUbfSV0?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditShareLink">photo source</a>)</figcaption></figure></div><h3>Rethinking what it means to be creative</h3><p>To take a page out of Sir Ken&#8217;s manifesto &#8220;<a href="https://www.sirkenrobinson.com/">Imagine If&#8230;</a>&#8221;, perhaps the importance of creativity is under-recognized in software development organizations as much as it is in conventional education. Take, for example, the labelling of certain people as &#8220;Creatives&#8221;. These tend to be the Marketing Executives, the Creative Directors, and the Heads of Design. They conceive of and contribute to the big and strategic ideas that guide the business.</p><p>On the other hand, &#8220;creative&#8221; is not typically the label ascribed to Engineers who solve the problems that allow technology to grow in leaps and bounds. We don&#8217;t call the Mark Zuckerbergs or the Elon Musks of the world Creatives, though we might sometimes call them Engineers.</p><div><hr></div><h2>Wrap-up</h2><p>I will end on a question to myself but perhaps to all the leaders, teachers, and educators as well:</p><p><em>If creativity lies at the heart of human flourishing, what more can we be doing, on a day-to-day basis, to cultivate creativity amongst our peers, students, coachees, mentees, and beyond?</em></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>In this context, &#8220;design&#8221; means the design of the executable source code of a computer program, as opposed to user experience or visual design.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>Sir Ken Robinson&#8217;s additional TED talks: <a href="https://www.ted.com/talks/sir_ken_robinson_bring_on_the_learning_revolution">Bring on the learning revolution!</a> and <a href="https://www.ted.com/talks/sir_ken_robinson_how_to_escape_education_s_death_valley">How to escape education's death valley</a>.</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Pairing with a Subject Matter Expert]]></title><description><![CDATA[How doing so can address the root causes of technical debt]]></description><link>https://spikes.sobes.co/p/pairing-with-a-subject-matter-expert</link><guid isPermaLink="false">https://spikes.sobes.co/p/pairing-with-a-subject-matter-expert</guid><dc:creator><![CDATA[Paul Sobocinski]]></dc:creator><pubDate>Mon, 21 Mar 2022 21:00:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!C9Gc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed1a5a-77df-48ca-a840-209473acc254_5202x3465.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In my prior post, I introduced <a href="https://spikes.sobes.co/p/strong-style-pairing?s=w">strong-style pairing</a> as an alternative to the traditional driver-navigator pairing style that most software engineers are familiar with. I also covered two key usage contexts where I&#8217;ve seen strong-style pairing especially beneficial &#8212; interviewing and onboarding.</p><p>In this post, I talk about a key usage context for strong-style pairing that is often overlooked.</p><h2>Leveraging a Subject Matter Expert</h2><p>Modern software engineering involves much more than simply writing source code that executes some expected behaviour. A more fundamental purpose of software engineering is to create a programmatic model of reality. This reality is often referred to as a business domain, and the distilled logic that mirrors this reality is called business logic. Indeed, <a href="https://martinfowler.com/bliki/DomainDrivenDesign.html">Domain-Driven Design</a> (DDD) is the methodology we adopt when we take domain modelling to be the primary goal of software engineering.</p><p>Given that domain modelling is a crucial role of software engineering, what happens when the software engineers lack knowledge in the domain? Take accounting as an example. Many <a href="https://en.wikipedia.org/wiki/Category:Accounting_qualifications">accounting designations</a> can take a decade to earn, requiring university degrees, completion of standardized tests, as well as years of relevant experience in the field. How are software engineers expected to acquire this level of knowledge at the same time as building the software product itself? </p><p>The answer: they&#8217;re not. Or at least they shouldn&#8217;t be.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!C9Gc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed1a5a-77df-48ca-a840-209473acc254_5202x3465.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!C9Gc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed1a5a-77df-48ca-a840-209473acc254_5202x3465.jpeg 424w, https://substackcdn.com/image/fetch/$s_!C9Gc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed1a5a-77df-48ca-a840-209473acc254_5202x3465.jpeg 848w, https://substackcdn.com/image/fetch/$s_!C9Gc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed1a5a-77df-48ca-a840-209473acc254_5202x3465.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!C9Gc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed1a5a-77df-48ca-a840-209473acc254_5202x3465.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!C9Gc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed1a5a-77df-48ca-a840-209473acc254_5202x3465.jpeg" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/66ed1a5a-77df-48ca-a840-209473acc254_5202x3465.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1942836,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!C9Gc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed1a5a-77df-48ca-a840-209473acc254_5202x3465.jpeg 424w, https://substackcdn.com/image/fetch/$s_!C9Gc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed1a5a-77df-48ca-a840-209473acc254_5202x3465.jpeg 848w, https://substackcdn.com/image/fetch/$s_!C9Gc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed1a5a-77df-48ca-a840-209473acc254_5202x3465.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!C9Gc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F66ed1a5a-77df-48ca-a840-209473acc254_5202x3465.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">How much accounting should Software Engineers working on accounting software really need to know? (<a href="https://unsplash.com/photos/djb1whucfBY?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditShareLink">photo source</a>)</figcaption></figure></div><p>DDD comes with a number of key activities and practices such as <a href="https://en.wikipedia.org/wiki/Event_storming">event storming</a> and <a href="https://wiki.c2.com/?UbiquitousLanguage">ubiquitous language</a> that leverage domain experts effectively. These domain experts are more commonly referred to as Subject Matter Experts, or SMEs. These SMEs are not typically software engineers. Nevertheless, a SME with a strong technical grasp of a business domain could be navigated through a sufficiently-expressive codebase with the help of a software engineer. This is where the practice of strong-style pairing comes into play.</p><h3>Shared understanding of the domain model</h3><p>A firm prerequisite for a successful strong-style pairing session is for the strong-navigator to have a clear idea that they wish to explore. &#8220;Explore&#8221; can mean implement, validate, or understand. In the usage context of leveraging a SME in a strong-style pairing session, it's the SME who should possess this clear idea. Consequently, the SME takes on the role as strong-navigator, while the other role takes control of the keyboard &#8212; we use the term &#8220;typist&#8221; for this role, though they may not necessarily be typing in this usage context.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!myMJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F54d05dee-7822-4833-9d73-02f027875eec_715x519.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!myMJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F54d05dee-7822-4833-9d73-02f027875eec_715x519.png 424w, https://substackcdn.com/image/fetch/$s_!myMJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F54d05dee-7822-4833-9d73-02f027875eec_715x519.png 848w, https://substackcdn.com/image/fetch/$s_!myMJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F54d05dee-7822-4833-9d73-02f027875eec_715x519.png 1272w, https://substackcdn.com/image/fetch/$s_!myMJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F54d05dee-7822-4833-9d73-02f027875eec_715x519.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!myMJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F54d05dee-7822-4833-9d73-02f027875eec_715x519.png" width="715" height="519" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/54d05dee-7822-4833-9d73-02f027875eec_715x519.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:519,&quot;width&quot;:715,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:37560,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!myMJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F54d05dee-7822-4833-9d73-02f027875eec_715x519.png 424w, https://substackcdn.com/image/fetch/$s_!myMJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F54d05dee-7822-4833-9d73-02f027875eec_715x519.png 848w, https://substackcdn.com/image/fetch/$s_!myMJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F54d05dee-7822-4833-9d73-02f027875eec_715x519.png 1272w, https://substackcdn.com/image/fetch/$s_!myMJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F54d05dee-7822-4833-9d73-02f027875eec_715x519.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A recap of Strong-Style Pairing</figcaption></figure></div><p>Given this setup, the SME now explains their understanding of the business domain, while the typist maps this understanding to the modelled domain of the codebase. As they do so, they step through the code while translating and explaining to the SME how the software behaves.</p><p>Such a pairing can build a shared understanding in two key ways:</p><ol><li><p>The typist gains an understanding of the business domain beyond what is modelled by the codebase, including gaps and errors in how the modelling has been done.</p></li><li><p>The strong-navigator gains a concrete understanding of how the business domain has been actually modelled by the codebase; similar to the typist, this understanding includes gaps and errors in the current model. </p></li></ol><h3>Gaps in the domain model</h3><p>On a product team, why would such an exchange need to occur? Oftentimes we like to imagine product development operating like a smoothly-flowing river &#8212; requirements in, features out.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xFay!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F727d9cf3-927a-4a04-a4f4-7af235bf486f_2992x2137.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xFay!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F727d9cf3-927a-4a04-a4f4-7af235bf486f_2992x2137.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xFay!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F727d9cf3-927a-4a04-a4f4-7af235bf486f_2992x2137.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xFay!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F727d9cf3-927a-4a04-a4f4-7af235bf486f_2992x2137.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xFay!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F727d9cf3-927a-4a04-a4f4-7af235bf486f_2992x2137.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xFay!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F727d9cf3-927a-4a04-a4f4-7af235bf486f_2992x2137.jpeg" width="1456" height="1040" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/727d9cf3-927a-4a04-a4f4-7af235bf486f_2992x2137.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1040,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2447679,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xFay!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F727d9cf3-927a-4a04-a4f4-7af235bf486f_2992x2137.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xFay!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F727d9cf3-927a-4a04-a4f4-7af235bf486f_2992x2137.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xFay!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F727d9cf3-927a-4a04-a4f4-7af235bf486f_2992x2137.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xFay!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F727d9cf3-927a-4a04-a4f4-7af235bf486f_2992x2137.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Does the &#8220;dev work&#8221; on your team always flow smoothly? (<a href="https://unsplash.com/photos/RRHOmFJnrS0?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditShareLink">photo source</a>)</figcaption></figure></div><p>In reality, the most valuable features don&#8217;t flow smoothly through our Sprints or Kanban boards. They either get snagged as being more complex than initially imagined, or they resurface as bugs. In fact, these two causes are often interrelated. Particularly intransigent areas of a codebase can be both difficult to add new functionality to, as well as prone to regressions once the functionality has been added.</p><p>This is essentially a manifestation of technical debt as originally defined by Ward Cunningham:</p><div id="youtube2-pqeJFYwnkjE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;pqeJFYwnkjE&quot;,&quot;startTime&quot;:&quot;197&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/pqeJFYwnkjE?start=197&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>To summarize, the original definition of technical debt was never about shipping poorly-written code that would later be &#8220;cleaned up&#8221;. It was about implementing a simplified a domain model based on a limited initial understanding.</p><p>To be clear, this is the right path to take in the beginning. As the product grows, these simplifications become over-simplifications, and software engineers start to get out of their depth when it comes to their understanding of the business domain. At this point, a SME is consulted. As the codebase is the source of truth when it comes to the currently-implemented domain model, strong-style pairing is therefore the most efficient and safest way to walk an SME through the domain model.</p><div><hr></div><h2>Wrap-up</h2><p>Software engineering is more than just writing code. Consequently, it should involve more than just the coders. When modelling an especially complex business domain, it&#8217;s imperative to involve Subject Matter Experts (SMEs). If we take an Agile approach, our software products will outgrow their original, simplified domain models. They get replaced with more complex ones built in close collaboration with a SME who ensures that they&#8217;re modelled in the simplest and most elegant way for the set of use cases that satisfy the product&#8217;s customers.</p><p>This collaboration ensures that the models stay as simple and correct as appropriate, given the set of use cases that satisfy the customers&#8217; needs. As new models emerge out of existing code, strong-style pairing is the most effective and risk-free strategy to take when collaborating with a SME.</p>]]></content:encoded></item><item><title><![CDATA[Strong-Style Pairing]]></title><description><![CDATA[Overview, benefits, and usage contexts]]></description><link>https://spikes.sobes.co/p/strong-style-pairing</link><guid isPermaLink="false">https://spikes.sobes.co/p/strong-style-pairing</guid><dc:creator><![CDATA[Paul Sobocinski]]></dc:creator><pubDate>Mon, 14 Mar 2022 17:00:36 GMT</pubDate><enclosure url="https://cdn.substack.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F988acf63-5f2c-4e88-b9c1-cfd03e60d20d_2848x1657.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Most software engineers know about pair programming. However, comparatively few are aware of the various pairing styles and their distinct applications.</p><p>The majority of software engineers with whom I have worked with have a basic understanding of &#8220;Driver-Navigator&#8221;. In this pairing style, the Driver is in control of the keyboard and thinks aloud while coding the implementation. The Navigator observes attentively, thinking several steps ahead while taking notes, and answering any questions that the Driver may have along the way.</p><p>Driver-Navigator is how I was introduced to pair programming almost ten years ago. It has also been the de-facto pairing style in any discussion about  pair programming that I&#8217;ve had since, with two notable exceptions. The first exception happened during a <a href="https://www.coderetreat.org/">coderetreat</a>, when I was introduced to Ping-Pong Pairing. The second exception happened when I was recommended Ensemble Programming, which in turn led me to acquire an understanding of Strong-Style Pairing (being a prerequisite to the former).</p><p>I cover the value of <a href="https://spikes.sobes.co/p/ping-pong-pairing">Ping-Pong Pairing in a prior post</a>. In this post, I discuss Strong-Style Pairing: what it is, why it&#8217;s beneficial, and when to use it.</p><div><hr></div><h2>What is Strong-Style Pairing</h2><p>Strong-Style Pairing was <a href="http://llewellynfalco.blogspot.com/2014/06/llewellyns-strong-style-pairing.html">conceived by Llewellyn Falco</a> as a means to coach junior software engineers. The style can be summarized by his Golden Rule of Strong-Style Pairing:</p><blockquote><p><em>For an idea to go from your head into the computer it <strong>must</strong> go through someone else's hands.</em></p></blockquote><p>The roles and interactions in this pairing style are summarized in the diagram below:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yecX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F95e5166b-e965-4f98-82ca-a930736cc846_715x519.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yecX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F95e5166b-e965-4f98-82ca-a930736cc846_715x519.png 424w, https://substackcdn.com/image/fetch/$s_!yecX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F95e5166b-e965-4f98-82ca-a930736cc846_715x519.png 848w, https://substackcdn.com/image/fetch/$s_!yecX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F95e5166b-e965-4f98-82ca-a930736cc846_715x519.png 1272w, https://substackcdn.com/image/fetch/$s_!yecX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F95e5166b-e965-4f98-82ca-a930736cc846_715x519.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yecX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F95e5166b-e965-4f98-82ca-a930736cc846_715x519.png" width="715" height="519" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/95e5166b-e965-4f98-82ca-a930736cc846_715x519.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:519,&quot;width&quot;:715,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:37560,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yecX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F95e5166b-e965-4f98-82ca-a930736cc846_715x519.png 424w, https://substackcdn.com/image/fetch/$s_!yecX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F95e5166b-e965-4f98-82ca-a930736cc846_715x519.png 848w, https://substackcdn.com/image/fetch/$s_!yecX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F95e5166b-e965-4f98-82ca-a930736cc846_715x519.png 1272w, https://substackcdn.com/image/fetch/$s_!yecX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F95e5166b-e965-4f98-82ca-a930736cc846_715x519.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Llewellyn Falco&#8217;s Strong-Style Pairing</figcaption></figure></div><p>Here&#8217;s a further elaboration on the two roles.</p><p>As the <strong>Strong-Navigator</strong>, I:</p><ul><li><p>Have control</p></li><li><p>Instruct the Typist on what to code (instead of typing out the code myself)</p></li><li><p>Provide instructions in the appropriate level of abstraction for the Typist to follow</p></li><li><p>Give up control only once I&#8217;m ready to do so</p></li></ul><p>As the <strong>Typist</strong>, I:</p><ul><li><p>Have the keyboard</p></li><li><p>Type the code</p></li><li><p>Wait for instructions from the Strong-Navigator on what to code next</p></li><li><p>Ask for clarification if I am unable to follow the Strong-Navigator&#8217;s instructions</p></li><li><p>Am comfortable proceeding with an incomplete understanding; I trust that the Strong-Navigator knows what they are doing and where they are going</p></li></ul><h3>Opportunity and benefits</h3><p>An opportunity for Strong-Style Pairing arises when one person has an idea that they want to try implementing. I find it works best when two additional criteria are met:</p><ol><li><p>The person with the idea has a high degree of confidence in how they want to implement it.</p></li><li><p>The idea is straightforward enough to be implemented in a short amount of time (e.g. in under five minutes).</p></li></ol><p>As mentioned, Driver-Navigator is a far more common pairing style than Strong-Style. Assuming that the former is being used, the common approach to the above scenario is for the person with the idea to take the Driver role. If it&#8217;s the Navigator with the idea, the Driver gives up control and the roles are switched. </p><p>This creates a problem when the person switching to Navigator doesn&#8217;t have a good understanding of what the new Driver wants to try; in this case the new Navigator is not be able to navigate effectively due to that lack of understanding. Once this happens, the Driver begins to code on their own, resulting in an effective end to the pair programming activity.</p><p>In addition to preventing this from happening, there are a few other reasons why the pair may be better off adopting Strong-Style Pairing instead of staying in Driver-Navigator:</p><ol><li><p>It keeps the other pairing partner (the Typist) engaged. Instead of being relegated to observing, they are actively participating in writing the code.</p></li><li><p>The Typist is able to gain a deeper, more tactile understanding of how the Strong-Navigator thinks and solves problems. Instead of solely observing the Strong-Navigator, the Typist actively participates in solving the problem.</p></li><li><p>If the Typist is not familiar with the codebase, Strong-Style Pairing is an opportunity for them to gain that familiarity in a far more effective way than aimlessly &#8220;walking through&#8221; the codebase on their own.</p></li><li><p>It constrains the Strong-Navigator to having to articulate their idea coherently and efficiently, so that the Typist can implement it effectively. This develops technical communication skills that lead to a stronger shared understanding on a team.</p></li><li><p>If the Strong-Navigator is not familiar with the codebase while the Typist is familiar with it, then the former role can focus on their idea without getting caught up in implementation details. For example: the Strong-Navigator has an idea around code design they wish to explore, while the Typist has a good understanding of the existing design and can therefore lead them through it efficiently.</p></li></ol><div><hr></div><h2>Usage Contexts</h2><p>Having covered an overview of Strong-Style Pairing and some of its benefits, I will now cover some contexts where I&#8217;ve found the style particularly effective.</p><h3>Interviewing</h3><p>Evaluating the technical acumen of software engineers fairly and effectively has been and continues to be a hard problem to solve. Take-home coding assignments discriminate against people who lack free time outside of work. Asking candidates to code independently during an interview session means that they&#8217;re expected to perform in an unfamiliar coding environment while being observed and evaluated.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!A05e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0724a4-033f-499a-9ebe-01dff6e6c618_3600x2731.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!A05e!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0724a4-033f-499a-9ebe-01dff6e6c618_3600x2731.png 424w, https://substackcdn.com/image/fetch/$s_!A05e!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0724a4-033f-499a-9ebe-01dff6e6c618_3600x2731.png 848w, https://substackcdn.com/image/fetch/$s_!A05e!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0724a4-033f-499a-9ebe-01dff6e6c618_3600x2731.png 1272w, https://substackcdn.com/image/fetch/$s_!A05e!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0724a4-033f-499a-9ebe-01dff6e6c618_3600x2731.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!A05e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0724a4-033f-499a-9ebe-01dff6e6c618_3600x2731.png" width="1456" height="1105" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/1a0724a4-033f-499a-9ebe-01dff6e6c618_3600x2731.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1105,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:12458989,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!A05e!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0724a4-033f-499a-9ebe-01dff6e6c618_3600x2731.png 424w, https://substackcdn.com/image/fetch/$s_!A05e!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0724a4-033f-499a-9ebe-01dff6e6c618_3600x2731.png 848w, https://substackcdn.com/image/fetch/$s_!A05e!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0724a4-033f-499a-9ebe-01dff6e6c618_3600x2731.png 1272w, https://substackcdn.com/image/fetch/$s_!A05e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0724a4-033f-499a-9ebe-01dff6e6c618_3600x2731.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Technical interviews can feel like being under a microscope (<a href="https://unsplash.com/photos/ct10qdGv1hQ?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditShareLink">photo source</a>)</figcaption></figure></div><p>At <a href="https://connected.io/post/how-to-nail-your-connected-interview/">Connected</a>, we use strong-style pairing to maintain fairness while reducing the pressure of coding during an interview session. The candidate takes on the Strong-Navigator role, while the interviewer does the typing. This means that the candidate does not need to navigate an unfamiliar IDE setup; in fact they do not even need intricate knowledge of the language syntax (though a rudimentary familiarity definitely helps). It also means that we can evaluate for skills that we care most about &#8212; namely, technical communication skills and an understanding of language-agnostic software engineering concepts such as TDD and <a href="https://martinfowler.com/bliki/BeckDesignRules.html">simple design</a>.</p><h3>Onboarding</h3><p>A typical approach to onboarding is to give the new team member a straightforward task and let them implement it on their own, while &#8220;encouraging&#8221; them to ask for help if they need it. I use scare quotes here because this strategy has the opposite effect for any software engineers who are inexperienced relative to their teammates. Imposter syndrome is an unavoidable reality for these new hires, who oftentimes have the added sceptre of probation hanging over their heads.</p><p>Instead, I find that a much kinder approach is to pair them up with a teammate as soon as they&#8217;re ready to work on a task. Ideally, neither the task nor the teammate should matter. The new hire is put in the Typist seat, while their teammate takes on the role of Strong-Navigator.</p><p>While this may seem intimidating at first, remember that in Strong-Style Pairing, the Typist need not be concerned with anything other than following instructions. If they cannot understand the instructions, they can ask for clarification. It might seem like throwing them in the deep-end of a pool. I contend that it&#8217;s actually like walking them into the shallow-end. Throwing them in the deep-end would be expecting them to solo<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> on a new ticket, in a new codebase, on a new team.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qZhr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F988acf63-5f2c-4e88-b9c1-cfd03e60d20d_2848x1657.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qZhr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F988acf63-5f2c-4e88-b9c1-cfd03e60d20d_2848x1657.png 424w, https://substackcdn.com/image/fetch/$s_!qZhr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F988acf63-5f2c-4e88-b9c1-cfd03e60d20d_2848x1657.png 848w, https://substackcdn.com/image/fetch/$s_!qZhr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F988acf63-5f2c-4e88-b9c1-cfd03e60d20d_2848x1657.png 1272w, https://substackcdn.com/image/fetch/$s_!qZhr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F988acf63-5f2c-4e88-b9c1-cfd03e60d20d_2848x1657.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qZhr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F988acf63-5f2c-4e88-b9c1-cfd03e60d20d_2848x1657.png" width="1456" height="847" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/988acf63-5f2c-4e88-b9c1-cfd03e60d20d_2848x1657.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:847,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8480127,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qZhr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F988acf63-5f2c-4e88-b9c1-cfd03e60d20d_2848x1657.png 424w, https://substackcdn.com/image/fetch/$s_!qZhr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F988acf63-5f2c-4e88-b9c1-cfd03e60d20d_2848x1657.png 848w, https://substackcdn.com/image/fetch/$s_!qZhr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F988acf63-5f2c-4e88-b9c1-cfd03e60d20d_2848x1657.png 1272w, https://substackcdn.com/image/fetch/$s_!qZhr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F988acf63-5f2c-4e88-b9c1-cfd03e60d20d_2848x1657.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Some teams have new hires solo on a task in their first week. Other teams set a different precedent by pair programming with them. (<a href="https://unsplash.com/photos/1qCSGzVEKKQ?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditShareLink">photo source</a>)</figcaption></figure></div><p>Off the bat, set the expectation that the point of the pairing session (and perhaps even the first week) is for them to get familiar with what they need to learn in order to be effective on the team. Setting this expectation is a powerful way to invite honesty and openness, while allowing them to set aside time for deliberate learning and practice as they ramp up onto the team.</p><div><hr></div><h2>Wrap-up</h2><p>There were a few more usage contexts for Strong-Style Pairing that I wanted to cover. I&#8217;ve save them for a follow-up post that can be found here: <a href="https://spikes.sobes.co/p/pairing-with-a-subject-matter-expert">Pairing with a Subject Matter Expert</a>. In the meantime, I hope that Strong-Style Pairing has given you food-for-thought in regards to how you can incorporate pair programming on your product team.</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>In contrast to Pair Programming, a Software Engineer programming on their own (without a pairing partner) is referred to as &#8220;soloing&#8221;.</p></div></div>]]></content:encoded></item><item><title><![CDATA[Pairing Themes]]></title><description><![CDATA[Demystifying pair programming for novices]]></description><link>https://spikes.sobes.co/p/pairing-themes</link><guid isPermaLink="false">https://spikes.sobes.co/p/pairing-themes</guid><dc:creator><![CDATA[Paul Sobocinski]]></dc:creator><pubDate>Mon, 07 Mar 2022 17:00:34 GMT</pubDate><enclosure url="https://cdn.substack.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc500f23d-9f70-44c3-b627-2f6da22d89e1_5472x3648.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Over the past month, I have pair programmed with close to a dozen software engineers of varying experience and skill levels. For most, this was my first time pairing with them.</p><p>Through this experience, I have observed a few common themes. I have discussed these themes with the people I paired with. We found that these discussions led to a shared understanding which in turn resulted in more effective subsequent pairing sessions.</p><p>Furthermore, I have found that these themes apply regardless of pairing style (e.g. driver-navigator vs. strong-style) or context (e.g. working on a <a href="http://codekata.com/">TDD kata</a> vs. debugging a production codebase).</p><p>The three themes I cover in this week&#8217;s post are: control, communication, and group flow.</p><h2>Control</h2><p>During a pairing session, exactly one person has control of the coding process at a time. In the traditional <a href="https://martinfowler.com/articles/on-pair-programming.html#DriverAndNavigator">Driver-Navigator</a> pairing style, this is the Driver role, who also happens to have the keyboard. In <a href="https://spikes.sobes.co/p/strong-style-pairing">Strong-Style Pairing</a>, however, the Navigator directs the Typist on what code to write. This means that the Navigator has control, while the Typist has the keyboard.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!R_HE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8de320e-4e7a-4b18-af30-bea87103bea0_727x608.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!R_HE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8de320e-4e7a-4b18-af30-bea87103bea0_727x608.png 424w, https://substackcdn.com/image/fetch/$s_!R_HE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8de320e-4e7a-4b18-af30-bea87103bea0_727x608.png 848w, https://substackcdn.com/image/fetch/$s_!R_HE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8de320e-4e7a-4b18-af30-bea87103bea0_727x608.png 1272w, https://substackcdn.com/image/fetch/$s_!R_HE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8de320e-4e7a-4b18-af30-bea87103bea0_727x608.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!R_HE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8de320e-4e7a-4b18-af30-bea87103bea0_727x608.png" width="727" height="608" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/d8de320e-4e7a-4b18-af30-bea87103bea0_727x608.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:608,&quot;width&quot;:727,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:43458,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!R_HE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8de320e-4e7a-4b18-af30-bea87103bea0_727x608.png 424w, https://substackcdn.com/image/fetch/$s_!R_HE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8de320e-4e7a-4b18-af30-bea87103bea0_727x608.png 848w, https://substackcdn.com/image/fetch/$s_!R_HE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8de320e-4e7a-4b18-af30-bea87103bea0_727x608.png 1272w, https://substackcdn.com/image/fetch/$s_!R_HE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8de320e-4e7a-4b18-af30-bea87103bea0_727x608.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">In the <strong>Driver-Navigator</strong> pairing style, the <strong>Driver has control</strong>.</figcaption></figure></div><p>Recognizing the concept of control is important, because it is unavoidably present in a pairing session. It&#8217;s impossible for both programmers to have control at the same time, yet a healthy pairing dynamic means that control switches fluidly and frequently between pairing partners. I find that it&#8217;s beneficial to call this out in a pairing session and establish norms with your pair around it. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZIir!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5f721276-6421-4a5b-bd9c-fb2c2613dbbb_715x534.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZIir!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5f721276-6421-4a5b-bd9c-fb2c2613dbbb_715x534.png 424w, https://substackcdn.com/image/fetch/$s_!ZIir!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5f721276-6421-4a5b-bd9c-fb2c2613dbbb_715x534.png 848w, https://substackcdn.com/image/fetch/$s_!ZIir!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5f721276-6421-4a5b-bd9c-fb2c2613dbbb_715x534.png 1272w, https://substackcdn.com/image/fetch/$s_!ZIir!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5f721276-6421-4a5b-bd9c-fb2c2613dbbb_715x534.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZIir!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5f721276-6421-4a5b-bd9c-fb2c2613dbbb_715x534.png" width="715" height="534" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5f721276-6421-4a5b-bd9c-fb2c2613dbbb_715x534.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:534,&quot;width&quot;:715,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:37247,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZIir!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5f721276-6421-4a5b-bd9c-fb2c2613dbbb_715x534.png 424w, https://substackcdn.com/image/fetch/$s_!ZIir!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5f721276-6421-4a5b-bd9c-fb2c2613dbbb_715x534.png 848w, https://substackcdn.com/image/fetch/$s_!ZIir!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5f721276-6421-4a5b-bd9c-fb2c2613dbbb_715x534.png 1272w, https://substackcdn.com/image/fetch/$s_!ZIir!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5f721276-6421-4a5b-bd9c-fb2c2613dbbb_715x534.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">In the <strong>Strong-Style Pairing</strong> style, the <strong>Strong-Navigator</strong> has control.</figcaption></figure></div><p>For example, one principle I employ is to agree that <strong>control should be given, not taken</strong>. I find that it&#8217;s very easy to take control when pairing virtually, especially when using tools such as <a href="https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-pack">VS Code Live Share</a> and <a href="https://tuple.app/">Tuple</a>. While this might seem convenient the person taking control, it can be jarring for the one losing it. Switching control doesn&#8217;t need to be a formal thing. I find that simply asking, &#8220;mind if I try something?&#8221; is usually sufficient. </p><p>Having said that, teams and individuals who&#8217;ve paired hundreds of hours together may feel this notion of control a stilted way to go about pairing. That is completely fine and even expected for teams with a high degree of pairing proficiency. Nonetheless, I have found that &#8220;control&#8221; is an important concept to keep in mind when pairing with a new teammate, and especially someone who is new to pair programming.</p><h2>Communication</h2><p>In a <a href="https://spikes.sobes.co/p/pair-programming-misunderstood">past post</a>, I explained how I initially struggled with pairing because of my inability to think aloud. Coding in silence meant that my pairing partner had no idea what I was trying to do until the code was written. This severely limited the level and amount of contribution that they were able to offer.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xrLk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4eeea1-fec2-4679-8595-ecc6a1b87924_4096x3112.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xrLk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4eeea1-fec2-4679-8595-ecc6a1b87924_4096x3112.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xrLk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4eeea1-fec2-4679-8595-ecc6a1b87924_4096x3112.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xrLk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4eeea1-fec2-4679-8595-ecc6a1b87924_4096x3112.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xrLk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4eeea1-fec2-4679-8595-ecc6a1b87924_4096x3112.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xrLk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4eeea1-fec2-4679-8595-ecc6a1b87924_4096x3112.jpeg" width="1456" height="1106" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/ab4eeea1-fec2-4679-8595-ecc6a1b87924_4096x3112.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1106,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1379398,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xrLk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4eeea1-fec2-4679-8595-ecc6a1b87924_4096x3112.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xrLk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4eeea1-fec2-4679-8595-ecc6a1b87924_4096x3112.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xrLk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4eeea1-fec2-4679-8595-ecc6a1b87924_4096x3112.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xrLk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4eeea1-fec2-4679-8595-ecc6a1b87924_4096x3112.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Until we&#8217;re able to read minds, we&#8217;re stuck with thinking aloud. (<a href="https://unsplash.com/photos/58Z17lnVS4U?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditShareLink">photo source</a>)</figcaption></figure></div><p>Concretely, they were only able to point out typos, syntax errors, and style inconsistencies &#8212; essentially everything a well-configured IDE already does for you. Consequently, they would lose interest and thus struggle to stay engaged during the session.</p><h3>Having control</h3><p>Thinking aloud for the person in control is only one part of communication, however. It&#8217;s also important for the person in control to be deliberate about how they ask questions to their pairing partner.</p><p>Before elaborating on this further, it&#8217;s important to explain two collaboration modes that come up when pair programming. </p><h4>Discussing mode</h4><p>Actual coding takes a pause when a pair switches to &#8220;discussing mode&#8221;. Consequently, either person is invited to type out notes, pseudocode, or even sketch out some ideas and diagrams on a virtual whiteboard.</p><p>There are two important aspects of this mode. First: executable code is not written. Second: the mode should not last longer than a few minutes.</p><h4>Coding mode</h4><p>The other mode is &#8220;coding mode&#8221;. This is when executable code is being written. During this mode, it&#8217;s imperative that the person in control is continually thinking aloud. They should also be aware that asking a question may result in a shift to &#8220;discussing mode&#8221;, depending on what is asked, and how.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4swB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc500f23d-9f70-44c3-b627-2f6da22d89e1_5472x3648.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4swB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc500f23d-9f70-44c3-b627-2f6da22d89e1_5472x3648.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4swB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc500f23d-9f70-44c3-b627-2f6da22d89e1_5472x3648.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4swB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc500f23d-9f70-44c3-b627-2f6da22d89e1_5472x3648.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4swB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc500f23d-9f70-44c3-b627-2f6da22d89e1_5472x3648.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4swB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc500f23d-9f70-44c3-b627-2f6da22d89e1_5472x3648.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/c500f23d-9f70-44c3-b627-2f6da22d89e1_5472x3648.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2234549,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4swB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc500f23d-9f70-44c3-b627-2f6da22d89e1_5472x3648.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4swB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc500f23d-9f70-44c3-b627-2f6da22d89e1_5472x3648.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4swB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc500f23d-9f70-44c3-b627-2f6da22d89e1_5472x3648.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4swB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc500f23d-9f70-44c3-b627-2f6da22d89e1_5472x3648.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Choose your questions deliberately (<a href="https://unsplash.com/photos/V5vqWC9gyEU">Photo source</a>)</figcaption></figure></div><p>For example, if they ask a straightforward, closed-ended question (such as, &#8220;is there a native method for splitting a comma-separated string into an array?&#8221;), then the coding mode is maintained, as the pairing partner can provide them with a simple answer. I have found that having a <a href="https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop">REPL</a> open to do so is a quick an effective way to answer these kinds of questions.</p><p>On the other hand, if an open-ended question is asked, this invites a switch from coding to discussing mode. This, of course, is critical &#8212; without a discussing mode, there is little point to pair programming in the first place. In most cases however, the discussing mode has rapidly diminishing returns when it lasts longer than a few minutes. In pair programming, the bias should always be towards writing working code, so it&#8217;s important that both pairing participants are aware of the mode currently in effect, and when it changes.</p><p>For example, the person in control may say, &#8220;I&#8217;m not sure whether to extract this to a class or a module. What do you think?&#8221;. Their pairing partner may respond with, &#8220;I&#8217;m not sure either. Instead of discussing it, let&#8217;s pick the one you&#8217;re more comfortable coding out and see where it goes.&#8221; In this situation, the pair agreed that switching to discussing mode wasn&#8217;t worth it, so coding mode was maintained instead.</p><h3>If you don&#8217;t have control</h3><p>If one doesn&#8217;t have control, there are a few counter-intuitive communication guidelines to keep in mind. When in coding mode, one communicates almost exclusively by answering questions as opposed to proactively making suggestions. This allows for the person in control to maintain an uninterrupted focus.</p><p>There is an important exception to this: when a test unexpectedly fails, and the one without control is able to see why. In that case, it makes sense to jump in and proactively make a suggestion, as the person in control has already lost focus due to the unexpectedly failing test (note that this exception doesn&#8217;t apply when the test expectedly fails, for example during the &#8220;red&#8221; step of the &#8220;red-green-refactor&#8221; cycle).</p><h4>Use pomodoros</h4><p>Let&#8217;s say that the pair is coding away in coding mode. What if the one without control has an idea they wish to discuss? Similar to discussing, the coding mode also shouldn&#8217;t last for too long. A pause in coding and consequential shift to discussing mode presents an opportunity for the person not in control to share their thoughts and discuss their ideas with their pairing partner. This is also a natural point at which to consider handing over control to the other person.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AQCY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6e902fcc-6896-4402-baf7-319f9f846cbe_4800x3200.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AQCY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6e902fcc-6896-4402-baf7-319f9f846cbe_4800x3200.jpeg 424w, https://substackcdn.com/image/fetch/$s_!AQCY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6e902fcc-6896-4402-baf7-319f9f846cbe_4800x3200.jpeg 848w, https://substackcdn.com/image/fetch/$s_!AQCY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6e902fcc-6896-4402-baf7-319f9f846cbe_4800x3200.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!AQCY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6e902fcc-6896-4402-baf7-319f9f846cbe_4800x3200.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AQCY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6e902fcc-6896-4402-baf7-319f9f846cbe_4800x3200.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/6e902fcc-6896-4402-baf7-319f9f846cbe_4800x3200.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2621156,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!AQCY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6e902fcc-6896-4402-baf7-319f9f846cbe_4800x3200.jpeg 424w, https://substackcdn.com/image/fetch/$s_!AQCY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6e902fcc-6896-4402-baf7-319f9f846cbe_4800x3200.jpeg 848w, https://substackcdn.com/image/fetch/$s_!AQCY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6e902fcc-6896-4402-baf7-319f9f846cbe_4800x3200.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!AQCY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6e902fcc-6896-4402-baf7-319f9f846cbe_4800x3200.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Timeboxing is a simple yet powerful tool in software development (<a href="https://unsplash.com/photos/xLs4XSQmxtE?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditShareLink">photo source</a>).</figcaption></figure></div><h2>Group Flow</h2><p>This third pairing theme underpins the first two. All experienced programmers are familiar with the notion of &#8220;<a href="https://en.wikipedia.org/wiki/Flow_(psychology)">flow state</a>&#8221;, but most have only experienced it when soloing. I was convinced that flow state is something that simply doesn&#8217;t happen when pair programming. I later came to realize that one can in fact achieve this while collaborating with another person during a pair programming session.</p><p>I believe that recognizing and respecting control helps programmers achieve group flow. Further, establishing communication norms based on coding vs. discussing modes help maintain group flow. Finally, reflecting on the sessions themselves with one&#8217;s pairing partner helps optimize for group flow.</p><p>Beyond affording an opportunity to shift into discussing mode, working in <a href="https://en.wikipedia.org/wiki/Pomodoro_Technique">pomodoros</a> allows for pairs to reflect on their pairing experience. Here are examples of topics that could come up in doing so:</p><ul><li><p>Did we give enough time for discussion in that last session?</p></li><li><p>I noted down some some ideas that I&#8217;d like to try. Can we discuss and perhaps you could give me control for the next pomodoro?</p></li><li><p>What else can we do to improve our group flow in our next session?</p></li></ul><h2>Wrap up</h2><p>We coders just want to code. When we feel like we&#8217;re on a roll, we don&#8217;t want to be interrupted because being in a flow state feels good, and it&#8217;s fulfilling when we ship working code as a result. However, it feels even better when we include our teammates, both in the learning as well as the shipping.</p><p>While pair programming is the most effective way I&#8217;ve seen to include the team in this, it&#8217;s still an uncommon practice that feels strange and unusual to many programmers. Hopefully, the pairing themes covered in this post will help demystify it and thus make pair programming accessible to more software engineers.</p>]]></content:encoded></item><item><title><![CDATA[Ping-Pong Pairing]]></title><description><![CDATA[The foundational pairing style]]></description><link>https://spikes.sobes.co/p/ping-pong-pairing</link><guid isPermaLink="false">https://spikes.sobes.co/p/ping-pong-pairing</guid><dc:creator><![CDATA[Paul Sobocinski]]></dc:creator><pubDate>Mon, 28 Feb 2022 07:31:52 GMT</pubDate><enclosure url="https://cdn.substack.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd630967-dcc0-4685-abd1-5a43a33486c6_3543x2365.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In my last post I discussed how <a href="https://spikes.sobes.co/p/pair-programming-misunderstood">pair programming is misunderstood</a> in software engineering today, and recounted my story of how I started with the practice. I also made the case for the use of pairing styles as a <a href="https://spikes.sobes.co/p/learning-frameworks-for-skills-acquisition">learning framework</a> &#8212; namely, a means to introduce those who are new to pair programming in general.</p><p>In this post, I cover Ping-Pong Pairing and its benefits. I consider this pairing style foundational as it holds the key to learning a number of principles that set us up to be effective pair programmers throughout our careers.</p><h2>Origins</h2><p>At the start of this month, I launched a technical coaching program at work. Pair programming lies at the foundation of the program. The program is also geared to software engineers of all skill levels, so the content and approach must accommodate those who are entirely new to pair programming. This begged the question:</p><blockquote><p><em>How do I teach pair programming to those who have never truly experienced it before?</em></p></blockquote><p>Fortunately, I am not the first to encounter this problem. When Corey Haines started running <a href="https://www.coderetreat.org/the-workshop/#what-is-a-coderetreat">coderetreats</a>, he realized that the commonly-adopted practice of Driver-Navigator pair programming is actually an intermediate-level practice. He observed that introducing this pairing style to beginners would often backfire:</p><blockquote><p><em>Unfortunately, too often this [Driver-Navigator] form of pair-programming leads to what I call the &#8220;Driver-Twitterer&#8221; style of collaboration. In this mode, the person with the keyboard is writing code while the other person watches intently for a short time. Then, after a bit, the navigator starts to lose interest. Perhaps the driver isn&#8217;t talking, perhaps the navigator doesn&#8217;t want to disturb them. Sometimes I&#8217;ve seen where the driver says &#8220;just a second, I&#8217;ve got an idea,&#8221; and then proceeds to code in silence for minutes on end. This can have the effect of boring the navigator. So, what do they do? Naturally, they check twitter. Or email. Or some other non-code-focused task.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a></em></p></blockquote><p>In response to the lack of communication, Corey introduced ping-pong pairing at his coderetreats. By design, this style of pair programming encourages a high degree of  communication.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fzxk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9eecd8-fe3f-4c32-baf3-10c76a6acff6_1024x425.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fzxk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9eecd8-fe3f-4c32-baf3-10c76a6acff6_1024x425.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Fzxk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9eecd8-fe3f-4c32-baf3-10c76a6acff6_1024x425.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Fzxk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9eecd8-fe3f-4c32-baf3-10c76a6acff6_1024x425.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Fzxk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9eecd8-fe3f-4c32-baf3-10c76a6acff6_1024x425.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fzxk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9eecd8-fe3f-4c32-baf3-10c76a6acff6_1024x425.jpeg" width="1024" height="425" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8d9eecd8-fe3f-4c32-baf3-10c76a6acff6_1024x425.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:425,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:90044,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Fzxk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9eecd8-fe3f-4c32-baf3-10c76a6acff6_1024x425.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Fzxk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9eecd8-fe3f-4c32-baf3-10c76a6acff6_1024x425.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Fzxk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9eecd8-fe3f-4c32-baf3-10c76a6acff6_1024x425.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Fzxk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8d9eecd8-fe3f-4c32-baf3-10c76a6acff6_1024x425.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Global Day of Coderetreat 2019 Toronto</figcaption></figure></div><h2>First Form</h2><p>There are two forms of ping-pong pairing; the first form is summarized below:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OKtK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F28d8aa0e-14ea-4eff-ad7d-933e769d4203_761x207.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OKtK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F28d8aa0e-14ea-4eff-ad7d-933e769d4203_761x207.png 424w, https://substackcdn.com/image/fetch/$s_!OKtK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F28d8aa0e-14ea-4eff-ad7d-933e769d4203_761x207.png 848w, https://substackcdn.com/image/fetch/$s_!OKtK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F28d8aa0e-14ea-4eff-ad7d-933e769d4203_761x207.png 1272w, https://substackcdn.com/image/fetch/$s_!OKtK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F28d8aa0e-14ea-4eff-ad7d-933e769d4203_761x207.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OKtK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F28d8aa0e-14ea-4eff-ad7d-933e769d4203_761x207.png" width="761" height="207" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/28d8aa0e-14ea-4eff-ad7d-933e769d4203_761x207.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:207,&quot;width&quot;:761,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:19879,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OKtK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F28d8aa0e-14ea-4eff-ad7d-933e769d4203_761x207.png 424w, https://substackcdn.com/image/fetch/$s_!OKtK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F28d8aa0e-14ea-4eff-ad7d-933e769d4203_761x207.png 848w, https://substackcdn.com/image/fetch/$s_!OKtK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F28d8aa0e-14ea-4eff-ad7d-933e769d4203_761x207.png 1272w, https://substackcdn.com/image/fetch/$s_!OKtK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F28d8aa0e-14ea-4eff-ad7d-933e769d4203_761x207.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Ping-pong Pairing, First Form. Repeat steps as needed.</figcaption></figure></div><p>Essentially, one person is responsible for writing tests, while the other is responsible for writing and refining the implementation that makes them pass. </p><p>I have found this form very effective at getting someone started with Test-Driven Development (TDD). In my experience, one of the most common obstacles to writing tests lies with the software engineers who have never seen how TDD works in practice. This form of ping-pong pairing is the most effective way to nip this in the bud. Simply assign the software engineer with more TDD experience to the &#8220;Test Redder&#8221; role.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jmTQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd630967-dcc0-4685-abd1-5a43a33486c6_3543x2365.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jmTQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd630967-dcc0-4685-abd1-5a43a33486c6_3543x2365.jpeg 424w, https://substackcdn.com/image/fetch/$s_!jmTQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd630967-dcc0-4685-abd1-5a43a33486c6_3543x2365.jpeg 848w, https://substackcdn.com/image/fetch/$s_!jmTQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd630967-dcc0-4685-abd1-5a43a33486c6_3543x2365.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!jmTQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd630967-dcc0-4685-abd1-5a43a33486c6_3543x2365.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jmTQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd630967-dcc0-4685-abd1-5a43a33486c6_3543x2365.jpeg" width="1456" height="972" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/cd630967-dcc0-4685-abd1-5a43a33486c6_3543x2365.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:972,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1231043,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jmTQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd630967-dcc0-4685-abd1-5a43a33486c6_3543x2365.jpeg 424w, https://substackcdn.com/image/fetch/$s_!jmTQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd630967-dcc0-4685-abd1-5a43a33486c6_3543x2365.jpeg 848w, https://substackcdn.com/image/fetch/$s_!jmTQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd630967-dcc0-4685-abd1-5a43a33486c6_3543x2365.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!jmTQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd630967-dcc0-4685-abd1-5a43a33486c6_3543x2365.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Ping-Pong Pairing can be just as fun as actual ping-pong! (<a href="https://unsplash.com/photos/dybZ3jXtYUo?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditShareLink">photo source</a>)</figcaption></figure></div><p>More broadly, this form of ping-pong pairing is the single most effective way of explaining the value proposition of TDD to another software engineer. When I first looked at code that was written using TDD, I thought it was wasteful. I noticed that codebases written using TDD had at least three lines of test code for one line of implementation code.</p><p>Only once I experienced TDD did I recognize the value of the approach, and how it goes far beyond simply achieving test coverage. I finally understood what it meant to refactor in confidence, as opposed to in dread. I also discovered the joys of working with code that is refactored continuously.</p><p>While such comments might give you a hint, words alone will always be ineffective in explaining the value of TDD to another software engineer. A better way is to try this first form of ping pong pairing with them for a few red-green-refactor rounds. I recommend a <a href="http://codekata.com/">code kata</a> to start, but there&#8217;s no reason why it can&#8217;t be done when working on shipped code (i.e. code that goes to production).</p><h2>Second Form</h2><p>The obvious limitation of the first form of ping-pong pairing is the lack of experience that the &#8220;Test Greener&#8221; gets in writing tests.</p><p>In theory, timer-enforced role-switching addresses this. In practice, however, I&#8217;ve rarely seen this work. Once a software engineer gets in their flow-state, they try to maintain it for as long as possible. People who are new to pair programming feel that switching roles threatens their flow-state. In actuality, I&#8217;ve found that flow-state can be preserved while still switching roles. </p><p>It does require some experience with pair programming to accomplish this. If you wish to work on maintaining your flow-state while switching roles, that is precisely what you need to practice doing! Consequently, the second form of ping-pong pairing has role-switching &#8220;built-in&#8221;. See below for a summary of the approach:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RwFK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7064af0-aeba-4f76-ab35-45f349280793_760x368.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RwFK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7064af0-aeba-4f76-ab35-45f349280793_760x368.png 424w, https://substackcdn.com/image/fetch/$s_!RwFK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7064af0-aeba-4f76-ab35-45f349280793_760x368.png 848w, https://substackcdn.com/image/fetch/$s_!RwFK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7064af0-aeba-4f76-ab35-45f349280793_760x368.png 1272w, https://substackcdn.com/image/fetch/$s_!RwFK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7064af0-aeba-4f76-ab35-45f349280793_760x368.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RwFK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7064af0-aeba-4f76-ab35-45f349280793_760x368.png" width="760" height="368" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/a7064af0-aeba-4f76-ab35-45f349280793_760x368.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:368,&quot;width&quot;:760,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:30528,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RwFK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7064af0-aeba-4f76-ab35-45f349280793_760x368.png 424w, https://substackcdn.com/image/fetch/$s_!RwFK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7064af0-aeba-4f76-ab35-45f349280793_760x368.png 848w, https://substackcdn.com/image/fetch/$s_!RwFK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7064af0-aeba-4f76-ab35-45f349280793_760x368.png 1272w, https://substackcdn.com/image/fetch/$s_!RwFK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7064af0-aeba-4f76-ab35-45f349280793_760x368.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Ping-pong Pairing, Second Form. Repeat steps as needed.</figcaption></figure></div><p>Essentially, one person gives up control by writing a failing test. You can think of it as &#8220;ending your turn&#8221; in a similar way you would do for a card game: writing a failing test is like drawing a card from the card pile.</p><p>For those new to the ping-pong pairing style, I like to start off at the first form with myself in the &#8220;Test Redder&#8221; role. I then introduce the second form once we have a good rhythm going. Once I feel that this has been established, I wait until they ask me to write the next failing test. At this point, I say:</p><blockquote><p><em>Now let&#8217;s change things up a bit. Keep control for a little while longer. You write the next failing test, and I will get it to pass.</em></p></blockquote><p>Once they write the failing test and hand  control over to me, I follow the previously-mentioned steps: make the test green, refactor the implementation, and finally, write the next failing test. Once I hand control back to them, they realize that we&#8217;ve shifted from the first form of ping-pong pairing to the second.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VeRG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd35986a-b8bb-402d-8f8d-eb420f8860c0_4000x3048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VeRG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd35986a-b8bb-402d-8f8d-eb420f8860c0_4000x3048.png 424w, https://substackcdn.com/image/fetch/$s_!VeRG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd35986a-b8bb-402d-8f8d-eb420f8860c0_4000x3048.png 848w, https://substackcdn.com/image/fetch/$s_!VeRG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd35986a-b8bb-402d-8f8d-eb420f8860c0_4000x3048.png 1272w, https://substackcdn.com/image/fetch/$s_!VeRG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd35986a-b8bb-402d-8f8d-eb420f8860c0_4000x3048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VeRG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd35986a-b8bb-402d-8f8d-eb420f8860c0_4000x3048.png" width="1456" height="1109" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/dd35986a-b8bb-402d-8f8d-eb420f8860c0_4000x3048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1109,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:12252033,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VeRG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd35986a-b8bb-402d-8f8d-eb420f8860c0_4000x3048.png 424w, https://substackcdn.com/image/fetch/$s_!VeRG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd35986a-b8bb-402d-8f8d-eb420f8860c0_4000x3048.png 848w, https://substackcdn.com/image/fetch/$s_!VeRG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd35986a-b8bb-402d-8f8d-eb420f8860c0_4000x3048.png 1272w, https://substackcdn.com/image/fetch/$s_!VeRG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd35986a-b8bb-402d-8f8d-eb420f8860c0_4000x3048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Ping-pong Pairing, Second Form: Similar to drawing a card from the pile in a card game, we signal an &#8220;end to our turn&#8221; by writing the next failing test. (<a href="https://unsplash.com/photos/jmjxl6ms1vA">photo source</a>).</figcaption></figure></div><p>The second form of ping-pong pairing yields all the benefits of the first form, in addition to a seamless means by which control is handed over from one person to another. This ultimately allows for both participants to have equal exposure to all three parts of the red-green-refactor cycle.</p><h2>Wrap-up</h2><p>In a <a href="https://spikes.sobes.co/p/pairing-themes">follow-up post</a>, I will discuss three core aspects of pair programming that ping-pong pairing highlights and reinforces the importance of. In the meantime, I encourage you to try out the two forms of ping pong pairing by starting with the first and easing into the second when you and your pairing partner is ready.</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p><a href="https://leanpub.com/4rulesofsimpledesign">Understanding the 4 Rules of Simple Design</a> by Corey Haines</p></div></div>]]></content:encoded></item><item><title><![CDATA[Pair Programming Misunderstood]]></title><description><![CDATA[How I thought it wasn't for me, until it was]]></description><link>https://spikes.sobes.co/p/pair-programming-misunderstood</link><guid isPermaLink="false">https://spikes.sobes.co/p/pair-programming-misunderstood</guid><dc:creator><![CDATA[Paul Sobocinski]]></dc:creator><pubDate>Mon, 21 Feb 2022 17:00:38 GMT</pubDate><enclosure url="https://cdn.substack.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98b03bed-9486-4317-9ded-55a45e27d8ed_1220x706.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This tweet on pair programming has created quite the stir on social media last week:</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://twitter.com/mattrickard/status/1492548554426048514&quot;,&quot;full_text&quot;:&quot;Hire drivers, not passengers. No more pair programming. &quot;,&quot;username&quot;:&quot;mattrickard&quot;,&quot;name&quot;:&quot;Matt Rickard&quot;,&quot;profile_image_url&quot;:&quot;&quot;,&quot;date&quot;:&quot;Sat Feb 12 17:18:00 +0000 2022&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://pbs.substack.com/media/FKt-RK6VQAAaB6c.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/Hels2TE1sG&quot;,&quot;alt_text&quot;:null}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:98,&quot;like_count&quot;:1005,&quot;impression_count&quot;:0,&quot;expanded_url&quot;:{},&quot;video_url&quot;:null,&quot;belowTheFold&quot;:false}" data-component-name="Twitter2ToDOM"></div><p>As you&#8217;d expect, the responses have been varied, from emphatic agreement to vociferous disagreement, including everything in between. Many of those who fell in the latter camp have already written <a href="https://twitter.com/mattrickard/status/1492548554426048514/retweets/with_comments">response threads</a> dismantling the above argument line-by-line, so I won&#8217;t be doing that here. Instead, I&#8217;ll share how I started pair programming, and some of the &#8220;aha&#8221; moments I experienced along the way.</p><h2>What is pair programming?</h2><p>Pair programming (AKA &#8220;pairing&#8221;) is two people programming, with one person typing at a time. Understanding this definition requires one to appreciate that programming is more than just typing, and appreciating this difference is necessary for being convinced of the merits of pair programming.</p><h3>What is programming?</h3><p>Fundamentally, programming is the process of identifying and solving problems through the authoring of computer instructions (AKA &#8220;code&#8221;). Getting these instructions right requires that programmers identify the problem with absolute precision. Within the scope of the problem at hand, this means articulating exactly what the computer should do under every possible circumstance &#8212; computers have a zero tolerance for ambiguity.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hwS3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98b03bed-9486-4317-9ded-55a45e27d8ed_1220x706.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hwS3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98b03bed-9486-4317-9ded-55a45e27d8ed_1220x706.png 424w, https://substackcdn.com/image/fetch/$s_!hwS3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98b03bed-9486-4317-9ded-55a45e27d8ed_1220x706.png 848w, https://substackcdn.com/image/fetch/$s_!hwS3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98b03bed-9486-4317-9ded-55a45e27d8ed_1220x706.png 1272w, https://substackcdn.com/image/fetch/$s_!hwS3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98b03bed-9486-4317-9ded-55a45e27d8ed_1220x706.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hwS3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98b03bed-9486-4317-9ded-55a45e27d8ed_1220x706.png" width="728" height="421.28524590163937" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/98b03bed-9486-4317-9ded-55a45e27d8ed_1220x706.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:706,&quot;width&quot;:1220,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:619279,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hwS3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98b03bed-9486-4317-9ded-55a45e27d8ed_1220x706.png 424w, https://substackcdn.com/image/fetch/$s_!hwS3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98b03bed-9486-4317-9ded-55a45e27d8ed_1220x706.png 848w, https://substackcdn.com/image/fetch/$s_!hwS3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98b03bed-9486-4317-9ded-55a45e27d8ed_1220x706.png 1272w, https://substackcdn.com/image/fetch/$s_!hwS3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F98b03bed-9486-4317-9ded-55a45e27d8ed_1220x706.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Ada Lovelace, the first computer programmer (<a href="https://openclipart.org/detail/269209/Ada-Lovelace-portrait">photo source</a>)</figcaption></figure></div><p>Further, code is written to be executed by computers as well as comprehended by humans. It is the latter that makes modern software engineering especially challenging. As Martin Fowler said,</p><blockquote><p><em>Any fool can write code that a computer can understand. Good programmers write code that humans can understand.</em></p></blockquote><p>Code readability, however, is only a means-to-an-end to writing code that is easily maintained and extended in response to new circumstances. The accelerating pace of change in software means that the need for well-designed code will only increase.</p><p>Thus, software programming in the modern sense is a tall order. Let&#8217;s say that you can figure out exactly what the computer needs to do and exactly how to instruct the computer to do it. How do you know that the code you have written is readable to other software engineers? How do you know that your design is simple, yet scalable?</p><p>A few answers to these questions exist. Other than pairing, code reviews and general programming experience are two that come to mind. Pair programming is not the only way to write readable and scalable code. Still, many claim that it&#8217;s the best way we have so far, compared to the alternatives.</p><h2>How I started pair programming</h2><p>I regret that I wasn&#8217;t more curious about pair programming  when I first learned of it back in 2007. The long-forgotten article I read explained that pair programming involved, &#8220;two people sitting at one computer, with one person having control of the keyboard at a time.&#8221; That sounded awful! Even back then I knew how I liked to write code: without interruptions, immersed in my &#8220;flow state&#8221;, and (most importantly) alone. So I dismissed the outlandish concept without giving it any further thought.</p><p>Six years later I was faced with pair programming once again when I began working on a team that paired all the time. At first, I hated it. The experience felt like my thoughts were being trampled over.</p><h3>Intention and reflection</h3><p>Then, I began to pair with another Software Engineer who was more experienced at pairing than those who I had worked with so far. Instead of &#8220;talking over&#8221; my thoughts &#8212; telling me to do something different from what I was thinking &#8212; he gently pointed out that he was unable to read my mind and if I&#8217;d be so kind as to tell him what I was thinking.</p><p>That was my first &#8220;aha&#8221; moment when it came to pair programming. Along with other insights, it led to my team developing the approach of <strong>Intention-Driven Pairing<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a></strong> . In addition to setting intentionality around how we worked together, the approach gave us an opportunity to share feedback after every pairing session, so issues such as a lack of &#8220;thinking aloud&#8221; were identified and addressed early.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7zWH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbde3f771-bb48-40a2-9e51-4ec26c7c9b5b_2404x1377.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7zWH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbde3f771-bb48-40a2-9e51-4ec26c7c9b5b_2404x1377.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7zWH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbde3f771-bb48-40a2-9e51-4ec26c7c9b5b_2404x1377.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7zWH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbde3f771-bb48-40a2-9e51-4ec26c7c9b5b_2404x1377.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7zWH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbde3f771-bb48-40a2-9e51-4ec26c7c9b5b_2404x1377.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7zWH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbde3f771-bb48-40a2-9e51-4ec26c7c9b5b_2404x1377.jpeg" width="1456" height="834" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/bde3f771-bb48-40a2-9e51-4ec26c7c9b5b_2404x1377.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:834,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1129534,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7zWH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbde3f771-bb48-40a2-9e51-4ec26c7c9b5b_2404x1377.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7zWH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbde3f771-bb48-40a2-9e51-4ec26c7c9b5b_2404x1377.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7zWH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbde3f771-bb48-40a2-9e51-4ec26c7c9b5b_2404x1377.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7zWH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbde3f771-bb48-40a2-9e51-4ec26c7c9b5b_2404x1377.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Global Day of Coderetreat 2019</figcaption></figure></div><h3>Pairing styles</h3><p>A year later, I had the opportunity to attend my first <a href="https://www.coderetreat.org/">Coderetreat</a>. There, I paired up with someone I had never met (let alone programmed with) before. I was worried. On the one hand: I knew how to pair with my teammates, thanks to hundreds of hours of pairing together. On the other hand: I couldn&#8217;t see how pairing with a complete stranger was going to be any different from the first time I tried pair programming.</p><p>Then, they introduced me to <a href="https://articles.coreyhaines.com/posts/thoughts-on-pair-programming#ping-pong-pairing">ping-pong pairing</a>. </p><p>This was another &#8220;aha&#8221; moment for me. Novices at a given skill need a clear set of instructions (or rules). By following these instructions repeatedly, they establish a baseline skill level. Musicians play scales. Athletes do drills. Programmers do code katas.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a></p><p>Pairing styles are instructions for novice pair programmers. Ping-pong pairing is an example that is particularly well-suited for programmers who are new to both pair programming and TDD, as it uses the red-green-refactor cycle to ensure that control is frequently rotated between programmers.</p><h2>Wrap up</h2><p>I did not enjoy pair programming when I first tried it. I am also still learning how to be a more effective pair programmer. Nonetheless, my most fulfilling, insightful, and productive programming moments have happened in pairing sessions. The pair programming learning curve is steep, but I think it&#8217;s worth surmounting.</p><p>In a <a href="https://spikes.sobes.co/p/ping-pong-pairing">future post</a>, I&#8217;ll delve more into pairing styles and why I think they&#8217;re the key to effectively introducing novices to pair programming. If you&#8217;ve already dismissed pair programming as something that&#8217;s not for you, I hope this post has opened you up to the possibility of having your mind changed.</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>The original article has been unpublished due to a domain migration, see <a href="https://web.archive.org/web/20221205142714/https://connected.io/post/delivering-better-products-through-intention-driven-pairing/">this Wayback Machine entry</a> for a record of it.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>For more on this, see my prior post on <a href="https://spikes.sobes.co/p/learning-frameworks-for-skills-acquisition">Learning Frameworks for Skills Acquisition</a>.</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Test-Driven Development and Specification by Example]]></title><description><![CDATA[Change-resilient alternatives to phased planning approaches]]></description><link>https://spikes.sobes.co/p/tdd-and-specification-by-example</link><guid isPermaLink="false">https://spikes.sobes.co/p/tdd-and-specification-by-example</guid><dc:creator><![CDATA[Paul Sobocinski]]></dc:creator><pubDate>Mon, 14 Feb 2022 14:00:59 GMT</pubDate><enclosure url="https://cdn.substack.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d5b7f9-1c02-4399-9084-499378378793_2448x2221.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The universal tendency to <a href="https://spikes.sobes.co/p/planning-in-phases-software-development">plan in phases</a> is problematic as it is fragile to change. On the other hand, &#8220;responding to change over following a plan&#8221; is one of the Agile values, so it&#8217;s no surprise that we have many models and approaches that help product teams to iterate on what to build.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aUMq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d5b7f9-1c02-4399-9084-499378378793_2448x2221.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aUMq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d5b7f9-1c02-4399-9084-499378378793_2448x2221.png 424w, https://substackcdn.com/image/fetch/$s_!aUMq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d5b7f9-1c02-4399-9084-499378378793_2448x2221.png 848w, https://substackcdn.com/image/fetch/$s_!aUMq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d5b7f9-1c02-4399-9084-499378378793_2448x2221.png 1272w, https://substackcdn.com/image/fetch/$s_!aUMq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d5b7f9-1c02-4399-9084-499378378793_2448x2221.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aUMq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d5b7f9-1c02-4399-9084-499378378793_2448x2221.png" width="1456" height="1321" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/f3d5b7f9-1c02-4399-9084-499378378793_2448x2221.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1321,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6752301,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aUMq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d5b7f9-1c02-4399-9084-499378378793_2448x2221.png 424w, https://substackcdn.com/image/fetch/$s_!aUMq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d5b7f9-1c02-4399-9084-499378378793_2448x2221.png 848w, https://substackcdn.com/image/fetch/$s_!aUMq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d5b7f9-1c02-4399-9084-499378378793_2448x2221.png 1272w, https://substackcdn.com/image/fetch/$s_!aUMq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3d5b7f9-1c02-4399-9084-499378378793_2448x2221.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Climbing waterfalls: phased planning leaves little room for Agile approaches (<a href="https://unsplash.com/photos/-GI-PXfGAz8">photo source</a>)</figcaption></figure></div><p>How this iteration happens from an implementation perspective is often less clear. What cyclical workflows does a team adopt that allow it to iterate continuously on not just what to build, but also on how to build it?</p><h2>&#8220;What&#8221; and &#8220;how&#8221; are interwoven</h2><p>First off, care should be taken when thinking about &#8220;what&#8221; (the business requirements) and the &#8220;how&#8221; (the implementation). If we think of them as separate concepts, then we ultimately invite what we are trying to avoid &#8212; phases in software development.</p><p>Consequently, product teams interweave the &#8220;what&#8221; and the &#8220;how&#8221; of software development by adopting Test-First Development<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> methodologies. Writing tests prior to implementation continues to be one of the most misunderstood practices in software development. I have seen it referred to as a &#8220;testing strategy&#8221;, a &#8220;luxury&#8221;, or only applicable &#8220;when stakes are high&#8221;.</p><p>Given the cost of software development today (including the opportunity cost brought on by talent scarcity), when are the stakes low? For whom are tests considered a &#8220;luxury&#8221;? For the software engineers, so that they can do their job effectively and sustainably? For the team, so that it can safely pivot in response to rapidly-shifting requirements in the product? What cool-headed professional would not want to &#8220;indulge&#8221; such a &#8220;luxury&#8221;?</p><p>Perhaps most grievous of all is the misconception that Test-First Development is a &#8220;testing strategy&#8221;. In the sample phased software development model introduced in a <a href="https://spikes.sobes.co/p/planning-in-phases-software-development">prior post</a>, Business Analysis happens three levels upstream from QA. In a sense, Test-First Development merges the four phases &#8212; Business Analysis, Architecture Design, Implementation, and QA &#8212; into one. Granted, testing (QA) is there, but so are the three other phases. To call Test-First Development a testing strategy is like calling a house a heating strategy. Yes a house will provide you with heat, but also shelter, safety, comfort, etc.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!43EA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa323954-a751-45ad-902e-a46701e846cd_4212x2804.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!43EA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa323954-a751-45ad-902e-a46701e846cd_4212x2804.jpeg 424w, https://substackcdn.com/image/fetch/$s_!43EA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa323954-a751-45ad-902e-a46701e846cd_4212x2804.jpeg 848w, https://substackcdn.com/image/fetch/$s_!43EA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa323954-a751-45ad-902e-a46701e846cd_4212x2804.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!43EA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa323954-a751-45ad-902e-a46701e846cd_4212x2804.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!43EA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa323954-a751-45ad-902e-a46701e846cd_4212x2804.jpeg" width="1456" height="969" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/fa323954-a751-45ad-902e-a46701e846cd_4212x2804.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:969,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1738206,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!43EA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa323954-a751-45ad-902e-a46701e846cd_4212x2804.jpeg 424w, https://substackcdn.com/image/fetch/$s_!43EA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa323954-a751-45ad-902e-a46701e846cd_4212x2804.jpeg 848w, https://substackcdn.com/image/fetch/$s_!43EA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa323954-a751-45ad-902e-a46701e846cd_4212x2804.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!43EA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa323954-a751-45ad-902e-a46701e846cd_4212x2804.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A jazz band is a common analogy to describe the spirit in which an effective cross-disciplinary product team works together (<a href="https://unsplash.com/photos/qYHyn4ztNkc">photo source</a>)</figcaption></figure></div><h2>What is Test-First Development?</h2><p>In <a href="https://www.goodreads.com/book/show/67833.Extreme_Programming_Explained">XP Explained</a>, Kent Beck defines Test-First Programming simply as:</p><blockquote><p><em>&#8230; write a failing automated test before changing (or adding) any code.</em></p></blockquote><p>Further, Test-First Development and Test-Driven Development (TDD) is often thought of  as being one and the same. In actuality, the latter is a subset of the former. A straightforward way to determine whether or not TDD is being practiced is the length of the feedback loop. For TDD, this should be in the order of minutes, while other Test-First Development practices can have a feedback loop in the order of days to weeks.</p><p>Concretely, TDD leverages the red-green-refactor cycle of software development:</p><ol><li><p><strong>Red:</strong> Write a failing unit test<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a></p></li><li><p><strong>Green:</strong> Write the implementation to make the failing unit test pass</p></li><li><p><strong>Refactor:</strong> while keeping the tests green,</p><ol><li><p>Improve the implementation (without changing the tests)</p></li><li><p>Improve the tests (without changing the implementation)</p></li></ol></li></ol><p>Again, it&#8217;s important to emphasize this point &#8212; a single cycle should happen in the order of minutes. If it takes longer, then it&#8217;s not TDD.</p><h2>When TDD is not enough</h2><p>Oftentimes, a business requirement cannot be satisfied with TDD alone. While on the one hand a bug can often be addressed by filling in an edge case via a few red-green-refactor cycles, a user story typically involves elaborate end-user interaction. It is impractical, for example, to write a unit test for a user navigating to a website, viewing an item, and then adding that item to their cart. Assuredly, however, the code generated by implementing that requirement would involve several TDD cycles and be supported by a number of unit tests.</p><p>For such a scenario, a complementary Test-First Development approach is needed. Specification by Example is one such approach:</p><blockquote><p><em>Specification by example (SBE) is a collaborative approach to defining requirements and business-oriented functional tests for software products based on capturing and illustrating requirements using realistic examples instead of abstract statements. This approach is particularly successful for managing requirements and functional tests on large-scale projects of significant domain and organizational complexity.</em><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a></p></blockquote><h2>How Specification by Example prevents phases</h2><p>The critical part of SBE is frequent collaboration between all four disciplines of software development, namely: QA, Product, Engineering, and Design. SBE encourages this collaboration to be continuous throughout the development process, thus preventing these disciplines from siloing themselves into phases. Here is how a specification written using SBE might look like:</p><ul><li><p><strong>Given</strong> a potential customer visits the website, and<br><strong>given</strong> that they are using a computer with a pointing device,</p></li><li><p><strong>When</strong> they hover over a featured product,</p></li><li><p><strong>Then</strong> they are shown a product preview pop-over.</p></li></ul><p>Note how SBE exposes the need to consider specifics, such as hovering-over a product only makes sense when using a computer with a pointing device (such as a laptop). This is one example of how SBE allows for feedback loops to be drastically shortened. On the other hand, a phased approach would mean that this UX design oversight would be caught in the QA phase, which would be too late in the process to address in a holistic way.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KwAC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6f9333fe-3656-41a8-a531-38c260cf7ef8_5472x1737.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KwAC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6f9333fe-3656-41a8-a531-38c260cf7ef8_5472x1737.png 424w, https://substackcdn.com/image/fetch/$s_!KwAC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6f9333fe-3656-41a8-a531-38c260cf7ef8_5472x1737.png 848w, https://substackcdn.com/image/fetch/$s_!KwAC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6f9333fe-3656-41a8-a531-38c260cf7ef8_5472x1737.png 1272w, https://substackcdn.com/image/fetch/$s_!KwAC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6f9333fe-3656-41a8-a531-38c260cf7ef8_5472x1737.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KwAC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6f9333fe-3656-41a8-a531-38c260cf7ef8_5472x1737.png" width="1456" height="462" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/6f9333fe-3656-41a8-a531-38c260cf7ef8_5472x1737.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:462,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8850469,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KwAC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6f9333fe-3656-41a8-a531-38c260cf7ef8_5472x1737.png 424w, https://substackcdn.com/image/fetch/$s_!KwAC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6f9333fe-3656-41a8-a531-38c260cf7ef8_5472x1737.png 848w, https://substackcdn.com/image/fetch/$s_!KwAC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6f9333fe-3656-41a8-a531-38c260cf7ef8_5472x1737.png 1272w, https://substackcdn.com/image/fetch/$s_!KwAC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6f9333fe-3656-41a8-a531-38c260cf7ef8_5472x1737.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="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"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Birds fly in formation for efficiency and reach their destination sooner than when they fly alone (<a href="https://unsplash.com/photos/5KV6OfBw-4c">photo source</a>)</figcaption></figure></div><p>SBE aside, if your cross-disciplinary product team writes the actual specifications together &#8212; be it virtual or in-person, synchronous or async, using SBE or otherwise &#8212; you&#8217;ve already made great headway towards eliminating unnecessary phases and thus adopting an approach that is not just resilient to but also optimized for change. In other words, a team that continuously creates and refines specifications together in short iterations is poised to leverage change and transform it into an opportunity, as opposed to dealing with it as a threat.</p><h2>Wrap-up</h2><p>I continue to be amazed by teams claiming to be Agile on the one hand, yet on the other hand the software engineers on these teams gladly accept handed down and &#8220;dev ready&#8221; specifications. Furthermore, when a specification is incomplete, it&#8217;s the software engineers who complain that the process needs to be improved by adding more implementation details before they even look at a ticket. I&#8217;ve witnessed that the attraction towards phased approaches doesn&#8217;t just come from management or from product &#8212; it often comes from the software engineers themselves.</p><p>How does your team implement requirements? Can software engineers provide feedback on the specification, and if so, how does that feedback happen? I look forward to hearing your thoughts and experiences.</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Also known as Behaviour-Driven Development (or BDD)</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p><a href="https://martinfowler.com/bliki/UnitTest.html">Key characteristics of a Unit Test</a> by Martin Fowler (note that speed of execution is critical)</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>Adzic, Gojko (2011). <a href="https://gojko.net/books/specification-by-example/">Specification by example</a>: How successful teams deliver the right software.</p></div></div>]]></content:encoded></item></channel></rss>