{"id":2075,"date":"2022-01-30T17:37:09","date_gmt":"2022-01-30T16:37:09","guid":{"rendered":"https:\/\/benjiweber.co.uk\/blog\/?p=2075"},"modified":"2022-01-30T18:18:14","modified_gmt":"2022-01-30T17:18:14","slug":"pondering-agile-principles","status":"publish","type":"post","link":"https:\/\/benjiweber.co.uk\/blog\/2022\/01\/30\/pondering-agile-principles\/","title":{"rendered":"Pondering Agile Principles"},"content":{"rendered":"\n<p class=\"lead\">I&#8217;ve worked in and with teams who would identify as agile for many years. I&#8217;ve <a href=\"https:\/\/benjiweber.co.uk\/blog\/2021\/07\/03\/uncovering-better-ways\">written about<\/a> how I think the most interesting part of the agile manifesto is the <a href=\"https:\/\/benjiweber.co.uk\/blog\/2021\/07\/03\/uncovering-better-ways\">&#8220;uncovering better ways&#8221;<\/a> mindset.&nbsp;<\/p>\n\n\n\n<style type=\"text\/css\">\nh2 {\n  margin-top: 50px;\n}\n#main article figure.blogsummary {\ndisplay: flex; justify-content: center;\n}\n#main article figure.blogsummary > a > img {\nmax-height: 300px;\nborder: 2px solid #0088cc;\nwidth: auto;\n}\n#main article figure.costofchange {\nmargin-top: 20px;\ndisplay: flex; justify-content: center;\n}\n#main article figure.costofchange > img {\nmax-height: 300px;\nwidth: auto;\n}\nfigure.wp-block-image > img {\n  max-height: 100px; width: auto;\n}\nfigure.wp-block-image {\ndisplay: flex; justify-content: center;\n}\nfigure.wp-block-pullquote {\npadding-top: 10px;\n}\n<\/style>\n\n\n\n<figure class=\"blogsummary\"><a href=\"https:\/\/benjiweber.co.uk\/blog\/2021\/07\/03\/uncovering-better-ways\"><img loading=\"lazy\" width=\"758\" height=\"417\" src=\"https:\/\/benjiweber.co.uk\/blog\/wp-content\/uploads\/2022\/01\/uncovering_snippet.png\" alt=\"\" class=\"wp-image-2076\"><\/a><\/figure>\n\n\n\n<p>With this in mind, I&#8217;ve been pondering how <a href=\"https:\/\/agilemanifesto.org\/principles.html\">the <em>principles<\/em> in the agile manifesto<\/a> have aged. Where do (and don&#8217;t) I share the same principles.&nbsp;<\/p>\n\n\n\n<p>Given the <em>&#8220;better ways&#8221;<\/em> of developing software we&#8217;ve uncovered, can we <em>&#8220;turn up the dials&#8221;<\/em> on the principles as well as the ways of working?&nbsp;<\/p>\n\n\n\n<p>Principles tend to stand the test of time better than specifics. The agile manifesto still reads as an aspirational document today, but I think there&#8217;s room for improvement. &nbsp;<\/p>\n\n\n\n<p>Here&#8217;s my take on things I&#8217;d tweak in each principle; hopefully staying true to the <a href=\"https:\/\/agilemanifesto.org\/\">values<\/a>.&nbsp;<\/p>\n\n\n\n<h2>Bettering Ourselves<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1854\" height=\"358\" src=\"https:\/\/benjiweber.co.uk\/blog\/wp-content\/uploads\/2022\/01\/betterourselves.png\" alt=\"\" class=\"wp-image-2085\"\/><\/figure>\n\n\n\n<p>Building working software is a powerful tool to achieve our ends. However, I wouldn&#8217;t consider it the highest priority of a team. If we can achieve our goals without software (which can be a liability) that&#8217;s even better.&nbsp;<\/p>\n\n\n\n<p>Moreover, if the software we&#8217;re asked to build is harmful for humanity, or counter to our organisational\/personal values; avoiding that comes before satisfying the customer. The negative impact software can have on society is increasingly evident as more of our society is controlled by software.<\/p>\n\n\n\n<p><em>&#8220;Bettering ourselves&#8221;<\/em> (optimise for learning) is at the heart of agile to me. To borrow from <a href=\"https:\/\/en.wikiquote.org\/wiki\/Jean-Luc_Picard#!:~:text=we%20work%20to%20better%20ourselves\">Captain Picard<\/a>, I&#8217;d state our highest priority as:<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote class=\"has-text-color has-black-color\"><p><em>Our highest priority is to <strong>better ourselves<\/strong>, our organisation, and the rest of humanity. Continuous delivery of software is our tool to achieve this.<\/em><\/p><\/blockquote><\/figure>\n\n\n\n<h2>Learning we&#8217;re Wrong<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1402\" height=\"268\" src=\"https:\/\/benjiweber.co.uk\/blog\/wp-content\/uploads\/2022\/01\/changingrequirements.png\" alt=\"\" class=\"wp-image-2086\"\/><\/figure>\n\n\n\n<p>We&#8217;re not passively waiting for requirements. We can take more ownership over our goals and understand customer needs ourselves. We&#8217;ve shifted from requirements to forming our own hypotheses of what customers need. <\/p>\n\n\n\n<p>It&#8217;s not that requirements change, it&#8217;s our understanding that improves. We learn how we were wrong and adapt our goals in response.<\/p>\n\n\n\n<p>We don&#8217;t need to build for a customer-proxy (stakeholder who wants the software). We&#8217;re can build products for people; they are our customers. &nbsp;By meeting customer needs, we build a competitive advantage for ourselves.<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p><em>We welcome <strong>learning that we&#8217;re wrong,<\/strong> even late in development. Changing our software in response to what we learn helps us meet customer needs and gives us a competitive advantage.<\/em><\/p><\/blockquote><\/figure>\n\n\n\n<h2>Continuous Delivery <\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1260\" height=\"276\" src=\"https:\/\/benjiweber.co.uk\/blog\/wp-content\/uploads\/2022\/01\/continuousdelivery.png\" alt=\"\" class=\"wp-image-2087\"\/><\/figure>\n\n\n\n<p>The only thing worth changing in the continuous delivery principle, is that our tooling and platforms are so much better now than 20 years ago. We can deliver considerably faster and smaller. <\/p>\n\n\n\n<p>A team can feasibly ship multiple times a day\u2014given a good continuous delivery pipeline, reliable &amp; fast tests, production safety net from canary deploys, and production observability. We&#8217;re no longer having to burn CDs with software builds.<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p><em>Deliver increments to working software frequently, from a couple of <strong>hours<\/strong> to a couple of <strong>weeks<\/strong>, with a preference to the shorter timescale.&nbsp;<\/em><\/p><\/blockquote><\/figure>\n\n\n\n<h2>All the Brilliant People<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1460\" height=\"326\" src=\"https:\/\/benjiweber.co.uk\/blog\/wp-content\/uploads\/2022\/01\/allthepeople-1.png\" alt=\"\" class=\"wp-image-2089\"\/><\/figure>\n\n\n\n<p>I&#8217;d replace project with product; due to the temporary-team fixed time\/budget\/requirements connotations of project. <\/p>\n\n\n\n<p>I think longer lived product teams are more effective. I appreciate this won&#8217;t be for folks working in a project\/consultancy context but I avoid those ;)&nbsp;<\/p>\n\n\n\n<p>I&#8217;d also expand to <em>&#8220;all the brilliant people&#8221; <\/em>as per <a href=\"https:\/\/mobprogramming.org\/\">Woody Zuill&#8217;s description<\/a> of mob programming. Get everyone needed to achieve the goals together into the team, collaborating together every day. Minimising dependencies and handoffs.<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p><em><strong>All the brilliant people<\/strong> work together daily on the product. Developers, businesspeople, customers, designers, testers, ux, data scientists &#8230;&nbsp;&nbsp;<\/em><\/p><\/blockquote><\/figure>\n\n\n\n<h2>Product Teams over Individuals on Projects<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1496\" height=\"310\" src=\"https:\/\/benjiweber.co.uk\/blog\/wp-content\/uploads\/2022\/01\/teamsoverindividuals.png\" alt=\"\" class=\"wp-image-2090\"\/><\/figure>\n\n\n\n<p>As per above, I prefer sustained investment in stable product teams over the project model. <\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p><em><strong>Teams<\/strong> of motivated individuals build <strong>products<\/strong>. Give them the environment and support they need, and trust them to get the job done.&nbsp;<\/em><\/p><\/blockquote><\/figure>\n\n\n\n<h2>Communication Quality over Efficiency<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1786\" height=\"340\" src=\"https:\/\/benjiweber.co.uk\/blog\/wp-content\/uploads\/2022\/01\/qualityoverefficiency.png\" alt=\"\" class=\"wp-image-2091\"\/><\/figure>\n\n\n\n<p>This is the only principle I feel like I&#8217;m watering down rather than turning up. <\/p>\n\n\n\n<p>I think face to face conversation is still the highest bandwidth communication method.&nbsp;However, face to face communication is not always feasible for practical &amp; inclusion reasons. Reasons such as geographic location, neurodiversity, family commitments, carbon footprints, and global pandemics!&nbsp;<\/p>\n\n\n\n<p>If face to face communication is infeasible then it&#8217;s not the most effective method of communication; even if it would be the <em>highest bandwidth <\/em>method. <\/p>\n\n\n\n<p>I think the general principle is it&#8217;s better to trade off <em>efficiency<\/em> for <em>quality<\/em> of communication. Be willing to sacrifice time for better communication.&nbsp;You&#8217;ll save time in the long run. Prefer the highest bandwidth communication you can enable, even if it feels inefficient.<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p><em>Prioritise communication <strong>quality<\/strong> over time <strong>efficiency<\/strong>. Learn the most effective method of conveying information to and within your team, for your context and each other&#8217;s individual needs.&nbsp;<\/em><\/p><\/blockquote><\/figure>\n\n\n\n<h2>Results are the primary measure of progress<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1706\" height=\"198\" src=\"https:\/\/benjiweber.co.uk\/blog\/wp-content\/uploads\/2022\/01\/results.png\" alt=\"\" class=\"wp-image-2092\"\/><\/figure>\n\n\n\n<p>I don&#8217;t see working software as the primary measure of progress. We can ship oodles of working software every day and benefit nobody. <\/p>\n\n\n\n<p>How are people&#8217;s lives enriched by our toil? How are our organisational goals furthered by our software? How is society better? <\/p>\n\n\n\n<p>Have we achieved what we set out to? What have we learned from our experiments? <\/p>\n\n\n\n<p>The less software needed the better!<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p><em>The <strong>results<\/strong> of working software in production is the primary measure of progress. Get software into production early, starting with a walking skeleton.<\/em><\/p><\/blockquote><\/figure>\n\n\n\n<h2>Sustainability<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1712\" height=\"300\" src=\"https:\/\/benjiweber.co.uk\/blog\/wp-content\/uploads\/2022\/01\/sustainability.png\" alt=\"\" class=\"wp-image-2093\"\/><\/figure>\n\n\n\n<p>I&#8217;d make the call for sustainbility more imperative. We don&#8217;t rely on static processes to keep development sustainable. It requires <a href=\"https:\/\/benjiweber.co.uk\/blog\/2022\/01\/30\/supporting-sustainability\/\">active effort and adaptation<\/a> to combat the natural incentives in play. <\/p>\n\n\n\n<p>We don&#8217;t go fast now at the expense of tomorrow. We strive to keep the cost of change curve low.&nbsp;<\/p>\n\n\n\n<figure class=\"costofchange\"><img loading=\"lazy\" width=\"800\" height=\"660\" src=\"https:\/\/benjiweber.co.uk\/blog\/wp-content\/uploads\/2022\/01\/costofchange.png\" alt=\"\" class=\"wp-image-2094\"><\/figure>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p><em>Prioritise <strong>sustainable<\/strong> development <strong>over speed<\/strong>. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.<\/em><\/p><\/blockquote><\/figure>\n\n\n\n<h2>Technical Excellence<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1818\" height=\"208\" src=\"https:\/\/benjiweber.co.uk\/blog\/wp-content\/uploads\/2022\/01\/technicalexcellence.png\" alt=\"\" class=\"wp-image-2095\"\/><\/figure>\n\n\n\n<p>I find myself avoiding the words agile and agility since &#8220;agile&#8221; has become so <a href=\"https:\/\/martinfowler.com\/bliki\/SemanticDiffusion.html\">semantically diffused<\/a> it can create confusion.<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p><em>Continuous attention to technical excellence and good design keeps <strong>cost of change<\/strong> low and lets us learn and adapt swiftly.<\/em><\/p><\/blockquote><\/figure>\n\n\n\n<h2>Simplicity<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1324\" height=\"208\" src=\"https:\/\/benjiweber.co.uk\/blog\/wp-content\/uploads\/2022\/01\/simplicity.png\" alt=\"\" class=\"wp-image-2096\"\/><\/figure>\n\n\n\n<p>The principle of simplicity is timeless. <\/p>\n\n\n\n<h2>Diverse Teams<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1820\" height=\"248\" src=\"https:\/\/benjiweber.co.uk\/blog\/wp-content\/uploads\/2022\/01\/diverse.png\" alt=\"\" class=\"wp-image-2097\"\/><\/figure>\n\n\n\n<p>I&#8217;d add diversity to the description of teams that produce the best results. Self-organising teams with a monoculture are not going to produce the best ideas; there&#8217;ll be shared blind spots. <\/p>\n\n\n\n<p>I think it can also be useful to expound on some of the things teams need to self-organise effectively.<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p><em>The best architectures, requirements, and designs emerge from <\/em><strong><em>diverse<\/em><\/strong><em> teams that can self organise. Having the skills needed, clarity on their goals, with a high level of <strong>psychological safety<\/strong>.&nbsp;<\/em><\/p><\/blockquote><\/figure>\n\n\n\n<h2>Double-loop Learning<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1542\" height=\"272\" src=\"https:\/\/benjiweber.co.uk\/blog\/wp-content\/uploads\/2022\/01\/adjustgoals.png\" alt=\"\" class=\"wp-image-2098\"\/><\/figure>\n\n\n\n<p>I&#8217;d just add adjusting goals, in addition to tuning team behaviours. The most effective teams benefit from <a href=\"https:\/\/en.wikipedia.org\/wiki\/Double-loop_learning\">double loop learning<\/a>. Learning-through-doing that our goals are wrong, or our assumptions when choosing our goals were wrong.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p><em>At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly,  reviewing <strong>their goals<\/strong> based on what they have learned.<\/em><\/p><\/blockquote><\/figure>\n\n\n\n<h2>Your Team&#8217;s Principles<\/h2>\n\n\n\n<p>How do your principles differ? I&#8217;ve only thought about things I&#8217;d tweak from the manifesto principles above, not what I&#8217;d add. What would you add?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve worked in and with teams who would identify as agile for many years. I&#8217;ve written about how I think the most interesting part of the agile manifesto is the &#8220;uncovering better ways&#8221; mindset.&nbsp; With this in mind, I&#8217;ve been pondering how the principles in the agile manifesto have aged. Where do (and don&#8217;t) I&#8230;  <a href=\"https:\/\/benjiweber.co.uk\/blog\/2022\/01\/30\/pondering-agile-principles\/\" class=\"more-link\" title=\"Read Pondering Agile Principles\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":2,"featured_media":2084,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[30,17],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v14.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<meta name=\"description\" content=\"With this in mind, I&#039;ve been pondering where do (and don&#039;t) I share the same principles. Can we &quot;turn up the dials&quot; on agile principles as well as the ways of working?\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/benjiweber.co.uk\/blog\/2022\/01\/30\/pondering-agile-principles\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pondering Agile Principles - Benji&#039;s Blog\" \/>\n<meta property=\"og:description\" content=\"With this in mind, I&#039;ve been pondering where do (and don&#039;t) I share the same principles. Can we &quot;turn up the dials&quot; on agile principles as well as the ways of working?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/benjiweber.co.uk\/blog\/2022\/01\/30\/pondering-agile-principles\/\" \/>\n<meta property=\"og:site_name\" content=\"Benji&#039;s Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-01-30T16:37:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-01-30T17:18:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/benjiweber.co.uk\/blog\/wp-content\/uploads\/2022\/01\/workingsoftware.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/benjiweber.co.uk\/blog\/#website\",\"url\":\"https:\/\/benjiweber.co.uk\/blog\/\",\"name\":\"Benji&#039;s Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/benjiweber.co.uk\/blog\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/benjiweber.co.uk\/blog\/2022\/01\/30\/pondering-agile-principles\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/benjiweber.co.uk\/blog\/wp-content\/uploads\/2022\/01\/workingsoftware.png\",\"width\":1920,\"height\":1080},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/benjiweber.co.uk\/blog\/2022\/01\/30\/pondering-agile-principles\/#webpage\",\"url\":\"https:\/\/benjiweber.co.uk\/blog\/2022\/01\/30\/pondering-agile-principles\/\",\"name\":\"Pondering Agile Principles - Benji&#039;s Blog\",\"isPartOf\":{\"@id\":\"https:\/\/benjiweber.co.uk\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/benjiweber.co.uk\/blog\/2022\/01\/30\/pondering-agile-principles\/#primaryimage\"},\"datePublished\":\"2022-01-30T16:37:09+00:00\",\"dateModified\":\"2022-01-30T17:18:14+00:00\",\"author\":{\"@id\":\"https:\/\/benjiweber.co.uk\/blog\/#\/schema\/person\/45ecb36b51f4ce99e6929d2d31ca5c09\"},\"description\":\"With this in mind, I've been pondering where do (and don't) I share the same principles. Can we \\\"turn up the dials\\\" on agile principles as well as the ways of working?\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/benjiweber.co.uk\/blog\/2022\/01\/30\/pondering-agile-principles\/\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/benjiweber.co.uk\/blog\/#\/schema\/person\/45ecb36b51f4ce99e6929d2d31ca5c09\",\"name\":\"benji\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/benjiweber.co.uk\/blog\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/05fb47b31a0b329e1b790074a9b624ef?s=96&d=mm&r=g\",\"caption\":\"benji\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","amp_enabled":true,"_links":{"self":[{"href":"https:\/\/benjiweber.co.uk\/blog\/wp-json\/wp\/v2\/posts\/2075"}],"collection":[{"href":"https:\/\/benjiweber.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/benjiweber.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/benjiweber.co.uk\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/benjiweber.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=2075"}],"version-history":[{"count":82,"href":"https:\/\/benjiweber.co.uk\/blog\/wp-json\/wp\/v2\/posts\/2075\/revisions"}],"predecessor-version":[{"id":2237,"href":"https:\/\/benjiweber.co.uk\/blog\/wp-json\/wp\/v2\/posts\/2075\/revisions\/2237"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/benjiweber.co.uk\/blog\/wp-json\/wp\/v2\/media\/2084"}],"wp:attachment":[{"href":"https:\/\/benjiweber.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=2075"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/benjiweber.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=2075"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/benjiweber.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=2075"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}