{"id":523,"date":"2022-08-17T21:33:36","date_gmt":"2022-08-18T01:33:36","guid":{"rendered":"https:\/\/freedville.com\/blog\/?p=523"},"modified":"2022-08-17T21:33:37","modified_gmt":"2022-08-18T01:33:37","slug":"solve-for-pieces-not-stickers-and-how-rubiks-cubes-taught-me-about-agile","status":"publish","type":"post","link":"https:\/\/freedville.com\/blog\/2022\/08\/17\/solve-for-pieces-not-stickers-and-how-rubiks-cubes-taught-me-about-agile\/","title":{"rendered":"Solve for pieces, not stickers, and how Rubik&#8217;s Cubes taught me about Agile"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"700\" height=\"525\" src=\"https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/two_cubes-700x525.png\" alt=\"Two Rubik's Cubes\" class=\"wp-image-524\" srcset=\"https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/two_cubes-700x525.png 700w, https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/two_cubes-300x225.png 300w, https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/two_cubes-768x576.png 768w, https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/two_cubes-1536x1152.png 1536w, https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/two_cubes-2048x1536.png 2048w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption>Figure 1. Ah yes, another blog post about Rubik\u2019s Cubes and Agile. How clich\u00e9!<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>The Netflix documentary \u201c<a href=\"https:\/\/www.netflix.com\/title\/81092143\">The Speed Cubers<\/a>\u201d inspired me to learn how to solve a Rubik\u2019s Cube.&nbsp; I followed the <a href=\"https:\/\/www.wired.com\/story\/how-to-solve-a-rubiks-cube-step-by-step\/\">guide from Robbie Gonzalez<\/a> and one piece of advice stuck out at me: \u201cSolve pieces, not stickers\u201d.&nbsp; This is profound advice is the most important part of solving a Rubik\u2019s Cube.<\/p>\n\n\n\n<p>If you ever tried to solve a Rubik\u2019s Cube on your own, you probably keep twisting the cube edges until you get a single face all matched with one color.&nbsp; This is hard enough to do if you are turning without plans!&nbsp; You\u2019ll probably examine the rest of the cube and find it hopelessly scrambled.&nbsp; With no idea how to solve the rest of the cube, you\u2019ll probably give up and look for an easier puzzle.<\/p>\n\n\n\n<p>I went through this failure pattern with the traditional 3&#215;3 Rubik\u2019s Cube.&nbsp; I even bought a simpler 2&#215;2 Rubik\u2019s Cube, thinking it might be easier for me to solve.&nbsp; But with random turns, I still failed on the 2&#215;2.&nbsp; The reason I failed is I was trying to solve stickers, not pieces.&nbsp; I looked at a 2&#215;2 cube as having 24 <strong>stickers<\/strong> \u2013 four each of white, red, blue, green, orange, and yellow.&nbsp; The key insight was looking at a cube as having eight <strong>pieces<\/strong>.<\/p>\n\n\n\n<p>Looking at a solved cube as having pieces, several insights snap into place:<\/p>\n\n\n\n<ul><li>There\u2019s only one piece with white, blue, and red.<\/li><li>That piece is always to the left of the white, red, and green piece.<\/li><li>It\u2019s always to the right of the white, blue, and orange piece.<\/li><li>It\u2019s always under the red, blue, and yellow piece.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"700\" height=\"390\" src=\"https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/neighbors_slide-700x390.png\" alt=\"Highlighting a Rubik's Cube piece and its three neighbors\" class=\"wp-image-525\" srcset=\"https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/neighbors_slide-700x390.png 700w, https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/neighbors_slide-300x167.png 300w, https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/neighbors_slide-768x428.png 768w, https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/neighbors_slide-1536x856.png 1536w, https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/neighbors_slide-2048x1142.png 2048w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption>Figure 2. In a solved cube, if you know where one piece goes, you know where all the other pieces go too<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p>Solve pieces, not stickers!<\/p><\/blockquote><\/figure>\n\n\n\n<p>Solving a Rubik\u2019s Cube is done by methodically moving a single piece into place until the cube is solved.<\/p>\n\n\n\n<p>(The companion advice to \u201csolve pieces, not stickers\u201d is to solve layers one by one, from bottom to top, until the cube is solved.&nbsp; The advice varies by cube size, but the principles hold, at least for the <a href=\"https:\/\/jperm.net\/2x2\">2&#215;2<\/a> and <a href=\"https:\/\/www.wired.com\/story\/how-to-solve-a-rubiks-cube-step-by-step\/\">3&#215;3<\/a> lessons I\u2019ve followed.)<\/p>\n\n\n\n<p>The rest of solving a Rubik\u2019s Cube is beyond the scope of this post.&nbsp; But I was struck by the beauty and simplicity of the insight \u201csolve pieces, not stickers\u201d.&nbsp; It made me think about what else in my life could benefit from a simple reframing.&nbsp; I landed on software development generally and the Agile process specifically.<\/p>\n\n\n\n<p>Agile is a cool name \u2013 it even sounds fast \u2013 and everyone wants to be Agile.\u00a0 There are plenty of arguments about what is Truly Agile, how one can be more Agile, along with courses and certifications.\u00a0 Becoming Agile is treated as an end state, not just a means to an end.\u00a0 This feels like twisting a Rubik\u2019s Cube blindly to match up a bunch of stickers.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"700\" height=\"466\" src=\"https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/jenny-hill-mQVWb7kUoOE-unsplash-700x466.jpg\" alt=\"Runner on gravel path\" class=\"wp-image-527\" srcset=\"https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/jenny-hill-mQVWb7kUoOE-unsplash-700x466.jpg 700w, https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/jenny-hill-mQVWb7kUoOE-unsplash-300x200.jpg 300w, https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/jenny-hill-mQVWb7kUoOE-unsplash-768x511.jpg 768w, https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/jenny-hill-mQVWb7kUoOE-unsplash-1536x1022.jpg 1536w, https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/jenny-hill-mQVWb7kUoOE-unsplash-2048x1363.jpg 2048w, https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/jenny-hill-mQVWb7kUoOE-unsplash-175x117.jpg 175w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption>Figure 3.  Hint: It&#8217;s not the shoes that makes you a good runner.  Just like following Agile processes doesn&#8217;t guarantee good software.  Photo by <a href=\"https:\/\/unsplash.com\/@jennyhill?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Jenny Hill<\/a> on <a href=\"https:\/\/unsplash.com\/s\/photos\/running?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Unsplash<\/a>.<\/figcaption><\/figure>\n\n\n\n<p>The key insight from the original <a href=\"https:\/\/agilemanifesto.org\/\">Agile Manifesto<\/a> is the focus on valuable software.&nbsp; There are twelve principles but they are all context-dependent:<\/p>\n\n\n\n<ul><li>Iterations are generally good <em>because you can\u2019t know everything up front<\/em><\/li><li>Smaller batches are generally good <em>because you can get feedback sooner<\/em><\/li><li>Self-directed teams are generally good <em>because it motivates the team<\/em><\/li><\/ul>\n\n\n\n<p>It\u2019s much more instructive to look at Agile as a set of useful ideas rather than a dictate.&nbsp; For a largely independent project, the ideas are a great way to get feedback that you are Building The Right Thing.&nbsp; For other projects, not all the principles are useful.&nbsp; Is it better for a team to be self-directed or follow an enterprise\u2019s architectural patterns?&nbsp; If you\u2019re flying a probe to Saturn, you\u2019re not getting many feedback cycles!<\/p>\n\n\n\n<p>The key to successful software development is <strong>understanding your context<\/strong> and applying solid principles useful in that context.&nbsp; Maybe those principles are Agile and maybe they\u2019re not.&nbsp; (Probably, you\u2019ll use a blend of those principles.)&nbsp; That\u2019s fine!&nbsp; Your goal is producing valuable software.&nbsp; \u201cProduce valuable software\u201d is as useful as \u201csolve pieces, not stickers\u201d.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"700\" height=\"525\" src=\"https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/solved_with_andrew-700x525.png\" alt=\"Andrew with solved 2x2 Rubiks Cube\" class=\"wp-image-526\" srcset=\"https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/solved_with_andrew-700x525.png 700w, https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/solved_with_andrew-300x225.png 300w, https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/solved_with_andrew-768x576.png 768w, https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/solved_with_andrew-1536x1152.png 1536w, https:\/\/freedville.com\/blog\/wp-content\/uploads\/2022\/08\/solved_with_andrew-2048x1536.png 2048w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption>Figure 4. Pay attention to the useful context. Solve pieces, not stickers!<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Solving for stickers is solving the wrong problem.\u00a0 Becoming more Agile is solving the wrong problem.  For Rubik&#8217;s Cubes, solve pieces (not stickers).  For software, understand your context and apply principles that make sense to deliver valuable software!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Netflix documentary \u201cThe Speed Cubers\u201d inspired me to learn how to solve a Rubik\u2019s Cube.&nbsp; I followed the guide from Robbie Gonzalez and one piece of advice stuck out at me: \u201cSolve pieces, not&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/freedville.com\/blog\/wp-json\/wp\/v2\/posts\/523"}],"collection":[{"href":"https:\/\/freedville.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/freedville.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/freedville.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/freedville.com\/blog\/wp-json\/wp\/v2\/comments?post=523"}],"version-history":[{"count":3,"href":"https:\/\/freedville.com\/blog\/wp-json\/wp\/v2\/posts\/523\/revisions"}],"predecessor-version":[{"id":530,"href":"https:\/\/freedville.com\/blog\/wp-json\/wp\/v2\/posts\/523\/revisions\/530"}],"wp:attachment":[{"href":"https:\/\/freedville.com\/blog\/wp-json\/wp\/v2\/media?parent=523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/freedville.com\/blog\/wp-json\/wp\/v2\/categories?post=523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/freedville.com\/blog\/wp-json\/wp\/v2\/tags?post=523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}