<?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" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Scrum - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Scrum - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 16 May 2026 16:29:43 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/tag/scrum/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ A Beginner Developer's Guide to Scrum ]]>
                </title>
                <description>
                    <![CDATA[ Let me guess: you’re learning to code…alone. You’ve been grinding through tutorials. You've built a portfolio site, maybe deployed a few projects on GitHub. And now you're trying to land a job or join a team. Then the interviews start. Suddenly, peop... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/a-beginner-developers-guide-to-scrum/</link>
                <guid isPermaLink="false">68813c7579e092b166d373b6</guid>
                
                    <category>
                        <![CDATA[ Scrum ]]>
                    </category>
                
                    <category>
                        <![CDATA[ agile development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ project management ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Developer ]]>
                    </category>
                
                    <category>
                        <![CDATA[ interview ]]>
                    </category>
                
                    <category>
                        <![CDATA[ guide ]]>
                    </category>
                
                    <category>
                        <![CDATA[ education ]]>
                    </category>
                
                    <category>
                        <![CDATA[ learning ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Productivity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Product Management ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Data Science ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Career ]]>
                    </category>
                
                    <category>
                        <![CDATA[ workflow ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Aditya Vikram Kashyap ]]>
                </dc:creator>
                <pubDate>Wed, 23 Jul 2025 19:48:05 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1753300058064/7046dd6c-1d9e-4f06-9ca1-65b3bb7eec83.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Let me guess: you’re learning to code…alone.</p>
<p>You’ve been grinding through tutorials. You've built a portfolio site, maybe deployed a few projects on GitHub. And now you're trying to land a job or join a team.</p>
<p>Then the interviews start.</p>
<p>Suddenly, people ask:</p>
<ul>
<li><p>"Are you familiar with Agile?"</p>
</li>
<li><p>"Have you worked in a Scrum environment?"</p>
</li>
<li><p>"What’s your experience with sprints?"</p>
</li>
</ul>
<p>Cue the imposter syndrome. Because no one teaches this stuff in JavaScript 101.</p>
<p>This guide is for you.</p>
<p>I’ll help make the Scrum process – a very common way developers work together – <em>make actual sense</em>. I’ll walk you through the basics, but also tell you what developers actually <em>do</em>, how standups feel when you're new, and what’s expected of you when you’re no longer coding in a vacuum.</p>
<p>Let’s break it down.</p>
<h3 id="heading-heres-what-well-cover">Here’s what we’ll cover:</h3>
<ul>
<li><p><a class="post-section-overview" href="#heading-what-even-is-scrum">What Even Is Scrum?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-the-three-roles-in-scrum-and-who-does-what">The Three Roles in Scrum (and Who Does What)</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-the-scrum-rhythm-what-a-sprint-actually-looks-like">The Scrum Rhythm: What a Sprint Actually Looks Like</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-who-attends-the-ceremonies">Who attends the Ceremonies:</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-standups-where-you-talk-like-a-human-not-a-robot">Standups: Where You Talk Like a Human, Not a Robot</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-sprint-planning">Sprint Planning</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-whats-a-user-story-and-why-does-it-sound-like-a-childrens-book">What’s a User Story and Why Does It Sound Like a Children’s Book?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-what-counts-as-done-definition-of-done-and-why-its-important">What Counts as “Done”? Definition of Done and Why It’s Important</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-demos-retros-and-saying-the-hard-things">Demos, Retros, and Saying the Hard Things</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-tools-you-might-encounter">Tools You Might Encounter</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-if-youre-preparing-for-a-job-heres-what-you-can-do">If You’re Preparing for a Job, Here’s What You Can Do</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-final-thoughts">Final Thoughts</a></p>
</li>
</ul>
<h2 id="heading-what-even-is-scrum"><strong>What Even Is Scrum?</strong></h2>
<p>Scrum is not a tool. It’s not a software. It’s not some elite thing only PMs care about.</p>
<p>It’s a lightweight framework that helps software teams build things incrementally, together, in short focused cycles called sprints.</p>
<p>Scrum is used by everyone from FAANG teams to indie dev shops because it helps:</p>
<ul>
<li><p>Keep teams aligned</p>
</li>
<li><p>Deliver working software fast</p>
</li>
<li><p>Course-correct often</p>
</li>
<li><p>Spot problems early (before they go nuclear)</p>
</li>
</ul>
<p>It’s the opposite of the old-school “build for a year and pray it works” model.</p>
<h2 id="heading-the-three-roles-in-scrum-and-who-does-what"><strong>The Three Roles in Scrum (and Who Does What)</strong></h2>
<p>Scrum officially defines three roles. Here's what that means in practice:</p>
<h3 id="heading-1-product-owner-po"><strong>1. Product Owner (PO)</strong></h3>
<p>Think: Vision-holder. They decide <em>what</em> the team builds and <em>why</em>. A product owner:</p>
<ul>
<li><p>Writes user stories (think of these as feature requests written from a user’s point of view)</p>
</li>
<li><p>Prioritizes the work</p>
</li>
<li><p>Clarifies what success looks like</p>
</li>
<li><p>Says “yes” or “not yet” to features</p>
</li>
</ul>
<h3 id="heading-2-scrum-master-sm"><strong>2. Scrum Master (SM)</strong></h3>
<p>Think: Air-traffic controller meets therapist. They make sure the process works. The are master Facilitators, like between Dev and PO’s. A Scrum Master:</p>
<ul>
<li><p>Facilitates meetings</p>
</li>
<li><p>Removes blockers (“Your AWS access is stuck? I’ll escalate it.”)</p>
</li>
<li><p>Coaches the team on Scrum practices</p>
</li>
<li><p>Doesn’t manage people – manages <em>flow</em></p>
</li>
</ul>
<h3 id="heading-3-developers-you"><strong>3. Developers (YOU!)</strong></h3>
<p>Think: Builders. You write code, test it, ship it, fix it, and improve it. You also:</p>
<ul>
<li><p>Break down stories into tasks</p>
</li>
<li><p>Pick up work from the team board (like Jira or Trello)</p>
</li>
<li><p>Communicate progress</p>
</li>
<li><p>Demo what you’ve built at the end of the sprint</p>
</li>
</ul>
<p>You might also work with designers, testers, or DevOps folks – but within Scrum, you’re all “developers” building a product together.</p>
<h2 id="heading-the-scrum-rhythm-what-a-sprint-actually-looks-like"><strong>The Scrum Rhythm: What a Sprint Actually Looks Like</strong></h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1752809790048/253fd92b-1ebe-4f3e-bfbc-48719676dc82.png" alt="253fd92b-1ebe-4f3e-bfbc-48719676dc82" class="image--center mx-auto" width="900" height="530" loading="lazy"></p>
<p>Image Source: <a target="_blank" href="https://www.invensislearning.com/blog/what-are-scrum-ceremonies/">https://www.invensislearning.com/blog/what-are-scrum-ceremonies/</a></p>
<h3 id="heading-understanding-the-scrum-cycle"><strong>Understanding the Scrum Cycle</strong></h3>
<p>So, what does it <em>actually</em> look like when a team uses Scrum to build software?</p>
<p>Let’s walk through a full sprint – not just the buzzwords, but what really happens when a group of humans tries to plan, build, review, and improve together. Think of this as your backstage pass to the rhythm of modern teamwork.</p>
<h3 id="heading-step-1-build-and-refine-the-product-backlog">📦 Step 1: Build and Refine the Product Backlog</h3>
<p>Before any coding starts, the team needs to agree on <em>what</em> they might build – not just this week, but in the near future too.</p>
<p>That’s where the <strong>Product Backlog</strong> comes in. This is a big, running list of everything the product might need – features, bug fixes, improvements, ideas, and maybe a few wild dreams. It’s like the wishlist for the product, but more organized (ideally).</p>
<p>The Product Owner is responsible for maintaining and prioritizing this list. They decide what’s most important to work on based on customer needs, business goals, and feedback.</p>
<p>But the PO doesn’t do this in isolation. Enter the <strong>Backlog Refinement meeting</strong>.</p>
<p>In these sessions, the Scrum Team – that’s the PO, the Scrum Master (SM), and the Developers – come together to:</p>
<ul>
<li><p><strong>Review</strong> the most important upcoming items</p>
</li>
<li><p><strong>Clarify</strong> any vague or confusing parts of each task</p>
</li>
<li><p><strong>Break big items</strong> down into smaller, buildable pieces called <strong>user stories</strong></p>
</li>
<li><p><strong>Estimate effort</strong> (how much time or complexity is involved for each story)</p>
</li>
</ul>
<p>This meeting makes sure the team isn’t caught off guard in the sprint – that they understand the work ahead and can actually start sprinting when the time comes.</p>
<h3 id="heading-step-2-sprint-planning-what-are-we-building-this-time">🧭 Step 2: Sprint Planning – What Are We Building This Time?</h3>
<p>Now that we’ve got a solid backlog, it’s time to pick what to build <em>right now</em>.</p>
<p>At the start of each sprint (which typically lasts 1 to 4 weeks), the team holds a <strong>Sprint Planning meeting</strong>. This meeting sets the stage for the entire sprint – it’s like the huddle before the big game.</p>
<p>In Sprint Planning, the team:</p>
<ul>
<li><p>Reviews the top items from the backlog</p>
</li>
<li><p>Discusses what can realistically be completed based on their availability and capacity</p>
</li>
<li><p>Chooses a handful of these stories to commit to</p>
</li>
<li><p><strong>Defines a Sprint Goal</strong> – a simple statement that captures the purpose of this sprint</p>
</li>
</ul>
<p>For example, the Sprint Goal might be:<br>🎯 <em>“Allow users to reset their passwords.”</em></p>
<p>Every user story chosen should contribute to that goal. The collection of these stories becomes the <strong>Sprint Backlog</strong> – basically, the to-do list for the sprint.</p>
<p>So when we say:</p>
<p>“The team selects an ordered list of user stories to comprise the Sprint Backlog for the next sprint, which will be achievable to satisfy the Sprint Goal...”</p>
<p>We’re really just saying:<br>👉 <em>“Pick a realistic number of important tasks that, if completed, will help us hit our target for the sprint.”</em></p>
<p>Not too vague. Not too ambitious. Just achievable and focused.</p>
<h3 id="heading-step-3-daily-standups-stay-in-sync">☀️ Step 3: Daily Standups – Stay in Sync</h3>
<p>Now the sprint is underway! But how does everyone stay aligned and avoid working in silos?</p>
<p>That’s where the <strong>Daily Standup</strong> comes in. Every day – usually in the morning – the team has a quick check-in (about 15 minutes) where each person answers three questions:</p>
<ol>
<li><p><strong>What did I do yesterday?</strong></p>
</li>
<li><p><strong>What am I working on today?</strong></p>
</li>
<li><p><strong>Is anything blocking me?</strong> (that is, am I stuck?)</p>
</li>
</ol>
<p>Example:</p>
<p>“Yesterday I set up the login API integration. Today I’ll work on the UI validation. I’m blocked on getting access to the staging database — may need help.”</p>
<p>These standups keep the team in sync and surface blockers early so they can be addressed quickly. They’re not about micromanaging or showing off. They’re about visibility and support.</p>
<h3 id="heading-whats-a-sprint-burndown-chart">📉 What’s a Sprint Burndown Chart?</h3>
<p>You might hear your team mention a “burndown chart.” No, this isn’t about things going down in flames (hopefully).</p>
<p>A <strong>Sprint Burndown Chart</strong> is a graph that shows how much work is left in the sprint – day by day.</p>
<ul>
<li><p>The <strong>y-axis</strong> is the amount of work remaining (often measured in story points or tasks)</p>
</li>
<li><p>The <strong>x-axis</strong> is the number of days left in the sprint</p>
</li>
</ul>
<p>The line should ideally trend downward as work gets completed – hence “burning down.” If it flattens out or slopes up, that’s a red flag that the team might be stuck, behind schedule, or not updating the board.</p>
<p>Think of it as a visual heartbeat of the sprint. You can learn more via a practical example <a target="_blank" href="https://youtu.be/2K84aZn9AY8?si=tS8oMGxVD0CYtnlw">in this video</a>.</p>
<h3 id="heading-step-4-sprint-review-show-what-youve-built">🖥️ Step 4: Sprint Review – Show What You’ve Built</h3>
<p>At the end of the sprint, the team holds a <strong>Sprint Review</strong> (also called a “demo”). This is where you show what was actually built during the sprint.</p>
<ul>
<li><p>The <strong>Developers</strong> demo working features – live, not just screenshots</p>
</li>
<li><p>The <strong>Product Owner</strong> reviews whether the Sprint Goal was achieved</p>
</li>
<li><p>Stakeholders may ask questions, give feedback, or suggest tweaks</p>
</li>
</ul>
<p>This meeting isn’t just for show – it’s a feedback loop. It helps the team validate that what they built is useful, usable, and meets expectations. If changes are needed, those get added to the backlog for future sprints.</p>
<h3 id="heading-step-5-sprint-retrospective-look-back-to-move-forward">🔍 Step 5: Sprint Retrospective – Look Back to Move Forward</h3>
<p>Once the review is done, the team shifts focus from <em>what</em> they built to <em>how</em> they worked together.</p>
<p>Enter the <strong>Sprint Retrospective</strong> – a meeting to reflect on the process, not the product.</p>
<p>The team discusses:</p>
<ul>
<li><p>✅ What went well</p>
</li>
<li><p>❌ What didn’t go so well</p>
</li>
<li><p>🔁 What could be improved next time</p>
</li>
</ul>
<p>This isn’t about pointing fingers. It’s about learning, adapting, and continuously improving how the team collaborates.</p>
<p>The <strong>Scrum Master</strong> often facilitates this meeting and helps turn feedback into action items for the next sprint. For example:</p>
<p>“We underestimated testing time. Next sprint, let’s budget for QA earlier.”</p>
<p>The best teams take retros seriously. Why? Because even if your code is perfect, your <em>process</em> needs tuning too – and small process changes often lead to big gains.</p>
<h3 id="heading-scrum-is-a-loop">♻️ Scrum Is a Loop</h3>
<p>Here’s the rhythm:</p>
<ol>
<li><p>Plan the sprint</p>
</li>
<li><p>Check in daily</p>
</li>
<li><p>Build and demo the product</p>
</li>
<li><p>Reflect and improve</p>
</li>
</ol>
<p>Then do it all over again – with slightly better coordination and slightly more trust each time.</p>
<p>It’s not about being fast. It’s about being intentional, consistent, and collaborative.</p>
<h3 id="heading-example-sprint">Example Sprint</h3>
<p>Let’s say, for example, that your team does 4-week sprints. (Keep in mind that Sprints can differ by team, nature of product, release cycles, and so on.)</p>
<p>Here’s the rough beat:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Week</strong></td><td><strong>What Happens (Sprint Ceremonies)</strong></td><td><strong>Your Role</strong></td></tr>
</thead>
<tbody>
<tr>
<td>1</td><td><strong>Sprint Planning</strong></td><td>Help estimate effort, pick what to build</td></tr>
<tr>
<td>1-4</td><td><strong>Daily Stand ups</strong> (15 mins)</td><td>Share what you’re doing &amp; any blockers</td></tr>
<tr>
<td>1-3</td><td><strong>Development Time</strong></td><td>Code, test, commit, fix, push, repeat</td></tr>
<tr>
<td>3.5-4</td><td><strong>Sprint Review</strong></td><td>Demo what you built</td></tr>
<tr>
<td>4</td><td><strong>Sprint Retrospective</strong></td><td>Reflect on how the sprint went as a team</td></tr>
</tbody>
</table>
</div><p>Scrum works in <strong>loops</strong>. Every 2-4 weeks (depending on your cadence and sprint cycle), your team should have working, demo-able software to show for it – even if it’s small.</p>
<p>And no, it’s not about “speed.” It’s about consistency, communication, and collaboration.</p>
<h2 id="heading-who-attends-the-ceremonies"><strong>Who attends the Ceremonies:</strong></h2>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Ceremony</strong></td><td><strong>Who Attends</strong></td><td><strong>Why They’re There</strong></td></tr>
</thead>
<tbody>
<tr>
<td><strong>Sprint Planning</strong></td><td>Product Owner (PO), Scrum Master (SM), Development Team</td><td>To define what will be delivered and how the work will be accomplished</td></tr>
<tr>
<td><strong>Daily Standup</strong></td><td>Development Team, Scrum Master (optional), PO (optional)</td><td>To sync on progress, share blockers, and coordinate efforts</td></tr>
<tr>
<td><strong>Sprint Review</strong></td><td>Development Team, Scrum Master, Product Owner, Stakeholders</td><td>To demo the work, get feedback, and assess if goals were met</td></tr>
<tr>
<td><strong>Sprint Retrospective</strong></td><td>Development Team, Scrum Master, Product Owner (optional)</td><td>To reflect on the process, identify what worked/what didn’t, and improve the next sprint</td></tr>
<tr>
<td><strong>Backlog Refinement</strong></td><td>Product Owner, Development Team, Scrum Master (optional)</td><td>To clarify upcoming stories, estimate work, and prepare for future sprint planning</td></tr>
</tbody>
</table>
</div><p>Now lets dive deeper and understand practically how each of these ceremonies work:</p>
<h2 id="heading-standups-where-you-talk-like-a-human-not-a-robot"><strong>Standups: Where You Talk Like a Human, Not a Robot</strong></h2>
<p>So how does the team actually stay connected day to day? That’s where standups come in.</p>
<p>Every morning, your team meets briefly – usually on Zoom or in a circle – and you answer 3 questions:</p>
<ol>
<li><p>What did I work on yesterday?</p>
</li>
<li><p>What will I work on today?</p>
</li>
<li><p>What’s blocking me? Any impediments?</p>
</li>
</ol>
<p>Example:</p>
<p>"Yesterday I cleaned up the signup validation logic. Today I’m working on the email verification flow. I’m stuck on SendGrid config – might need help setting up credentials."</p>
<p>It’s not about impressing anyone. It’s about keeping everyone in sync. Some days you’ll say, “I spent the whole day debugging a CSS bug that turned out to be a semicolon.” That’s okay.</p>
<p>How does it work?</p>
<p>The Scrum Master gathers everyone in a huddle room, the PO and Dev Team included, and opens the the Standup. They are the facilitator of the ceremony. Everyone gets a chance to answer the 3 questions above (usually about 2-5 minutes each). It’s not a full report – it’s quick. When one person is done, they pass it on to someone else.</p>
<p>This ensures there is team cohesion and transparency.</p>
<p><a target="_blank" href="https://youtu.be/q_R9wQY4G5I?si=W1AcvcLXB-mnUM1f">Here is a video example of a standup</a>.</p>
<h2 id="heading-sprint-planning"><strong>Sprint Planning</strong></h2>
<p>The goal of the planning meeting is to answer the questions “What are we going to work on, and how are we going to do it?” It is critical for the team to have a shared goal and a shared commitment to this goal before beginning this ceremony.</p>
<p>Participants should:</p>
<ul>
<li><p>Measure growth</p>
</li>
<li><p>Sync with the Scrum Master</p>
</li>
<li><p>Sync with the Product Owner</p>
</li>
</ul>
<p>Sprint planning happens just before the sprint starts, and usually lasts for an hour or two. In this meeting, the team goes over a collection of <strong>user stories</strong> and discuss, plan, measure, and prioritize. This is where they decide what is going to be in scope for their upcoming sprint cycle.</p>
<p>The Product Owner will have a prioritized view of things in the backlog. They work with the team on each object or customer experience. Together, as a group they go through and make calculations, deciding to what they can commit.</p>
<h2 id="heading-whats-a-user-story-and-why-does-it-sound-like-a-childrens-book"><strong>What’s a User Story and Why Does It Sound Like a Children’s Book?</strong></h2>
<p>So you might be wondering: how do you know what to work on? What to build? So much work, so little time? Thats where <strong>user stories</strong> come in.</p>
<p>In Scrum, teams don’t just write vague tasks like “code the login.” Instead, they write user stories – short, human-centered feature descriptions that describe what the user needs, why they need it, and what success looks like.</p>
<p>Here’s an example:</p>
<p><em>As a user, I want to be able to reset my password, so I can access my account if I forget it.</em></p>
<p>User stories are the scaffolding of teamwork. They’re written with empathy, not just efficiency. And each one comes with <strong>acceptance criteria</strong> – a checklist that clarifies what “done” actually means:</p>
<ul>
<li><p>A “Forgot Password” link is visible</p>
</li>
<li><p>Clicking it shows a form</p>
</li>
<li><p>An email gets sent with a reset link</p>
</li>
</ul>
<p>Once a story is agreed upon, developers break it down into tasks, like “build form,” “hook into backend,” or “handle email validation.” It’s collaborative, not prescriptive. And user stories have priority so you know what’s the most important and what’s the least.</p>
<p>A helpful rule of thumb many teams use is the <a target="_blank" href="https://medium.com/@nic/writing-user-stories-with-gherkin-dda63461b1d2"><strong>Gherkin</strong>-style "Given–When–Then"</a> format:</p>
<ul>
<li><p><strong>Given</strong> some initial context</p>
</li>
<li><p><strong>When</strong> an event occurs</p>
</li>
<li><p><strong>Then</strong> a specific outcome should happen</p>
</li>
</ul>
<p>This ensures that everyone – devs, testers, and product owners – shares the same understanding of behavior and expectations.</p>
<p><a target="_blank" href="https://www.youtube.com/watch?v=7hoGqhb6qAs">Here is a great video example</a> thats outlines how to draft effective and powerful user stories.</p>
<h2 id="heading-what-counts-as-done-definition-of-done-and-why-its-important"><strong>What Counts as “Done”? Definition of Done and Why It’s Important</strong></h2>
<p>Now you might be wondering – how do I know when a task is done and can be closed out?</p>
<p>The <strong>Definition of Done</strong> is a type of documentation in the form of a <strong>team agreement</strong>. The Definition of Done identifies the conditions that need to be achieved in order for the product to be considered done (as in <strong>potentially shippable</strong>).</p>
<p>This is how we know that we "did the thing right". Meaning, we built the correct level of quality into the product. The Definition of Done is not the same as the acceptance criteria, which are written by the product owner to help us know we did the "right thing".</p>
<p>Every team has a Definition of Done – it’s not just “I pushed code.” It could mean:</p>
<ul>
<li><p>Code is written</p>
</li>
<li><p>Reviewed by a peer</p>
</li>
<li><p>Merged into main</p>
</li>
<li><p>Tested on staging</p>
</li>
<li><p>Possibly deployed</p>
</li>
</ul>
<p>This clarity keeps teams honest and accountable. No “it works on my machine” energy here. The DoD sets a quality bar. It prevents ambiguity, rework, and “it works on my machine” moments. When every card on the board passes the same finish line, teams move faster – and trust each other more.</p>
<p>Everyone should know what done is in a team. Either its Done as per DoD standards or its not.</p>
<p><a target="_blank" href="https://youtu.be/pYOJyQoBT3U?si=nVygkQQx79NaAOo4">Here is a beautiful video</a> highlighting the impotence of DoD.</p>
<h2 id="heading-demos-retros-and-saying-the-hard-things"><strong>Demos, Retros, and Saying the Hard Things</strong></h2>
<p>Once you’ve built the product, then comes demos (showcasing your work) and retros (analysis as a team on what when well and what areas to improve on).</p>
<p>In the retro, everyone’s encouraged to speak up:</p>
<ul>
<li><p>What went well?</p>
</li>
<li><p>What didn’t?</p>
</li>
<li><p>What should we try next time?</p>
</li>
</ul>
<p>Example:</p>
<p>“We missed a lot of stories because we didn’t account for testing time. Maybe we buffer next sprint with fewer tasks.”</p>
<p>The goal is not to blame – it’s to <em>improve</em>. Over time, this feedback loop becomes gold. The Scrum Master usually facilitates, collects feedback (via tools like Parabol, Miro, or sticky notes), and helps turn insights into actionable experiments for the next sprint.</p>
<p>Over time, retros become the heartbeat of team evolution.</p>
<p><a target="_blank" href="https://youtu.be/5eu1HotNmWs?si=1DZaSmztB6rHyawj">Here is a video</a> highlighting the importance of a Retro and Sprint Review.</p>
<h3 id="heading-why-retrospection-matters-more-than-you-think">🧠 Why Retrospection Matters More Than You Think</h3>
<p>The Sprint Retrospective is more than just another meeting. It’s a mirror for your team – a safe, structured space to pause, reflect, and improve together.</p>
<p>You discuss:</p>
<p>✅ what went well</p>
<p>❌ what did not go well</p>
<p>🔁 what could we do better next time</p>
<p>Great teams don't just deliver great software, they continually deliver better ways of working.</p>
<p>This is why many experienced Scrum practitioners consider the retro to be the most important event in Scrum. Code is deployed once, but process improvements grow exponentially, sprint after sprint.</p>
<h2 id="heading-tools-you-might-encounter"><strong>Tools You Might Encounter</strong></h2>
<p>Scrum doesn’t require software, but real-world teams use a variety of tools:</p>
<ul>
<li><p><strong>Jira</strong> – Tracks sprints, issues, velocity</p>
</li>
<li><p><strong>Trello</strong> – Simple board, good for small teams</p>
</li>
<li><p><strong>Slack</strong> – Where standups often happen if async</p>
</li>
<li><p><strong>Notion / Confluence</strong> – Docs, retros, notes</p>
</li>
<li><p><strong>GitHub Projects</strong> – Lightweight planning for devs</p>
</li>
</ul>
<p>Don’t worry if you’re not fluent in these yet. They’re tools – you’ll learn them on the job.</p>
<h2 id="heading-if-youre-preparing-for-a-job-heres-what-you-can-do"><strong>If You’re Preparing for a Job, Here’s What You Can Do</strong></h2>
<ul>
<li><p>✍️ Practice writing user stories from your side projects</p>
</li>
<li><p>🧪 Run a mini-sprint: Plan your weekend project, set goals, and “review” it at the end</p>
</li>
<li><p>🤝 Contribute to an open-source project that uses Scrum or Agile workflows</p>
</li>
<li><p>🧾 Write about what you learned – maybe as a tutorial (<em>hint hint</em>)</p>
</li>
</ul>
<h2 id="heading-final-thoughts"><strong>Final Thoughts</strong></h2>
<p>So to recap, Scrum is a simple yet powerful way for teams to work together, stay organized, and deliver results quickly. It runs in short cycles called <strong>sprints</strong>, where the team plans what to do, checks in daily, shows their progress at the end, and reflects on how to improve.</p>
<p>The four key ceremonies – <strong>Sprint Planning</strong>, <strong>Daily Scrum</strong>, <strong>Sprint Review</strong>, and <strong>Sprint Retrospective</strong> – help keep everyone aligned and focused. With clear roles and regular feedback, Scrum makes it easier to handle changes, solve problems early, and continuously get better as a team.</p>
<p>But scrum isn’t a magic spell. It’s just a way for humans to build complex things – together – without falling apart.</p>
<p>You don’t need to be a Scrum Master. You don’t need a certification. But if you understand how sprints work, what’s expected of you, and how to show up to meetings with clarity and candor, you’re 10 steps ahead of most.</p>
<p>Scrum helps teams talk, plan, build, and learn. And now? You can too.</p>
<p>If you liked this, please do share. You never know who it might help out.</p>
<p>Until then…keep learning, unlearning, and relearning!!!</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Run a Great Sprint Review – Actionable Tips for Developers and Teams ]]>
                </title>
                <description>
                    <![CDATA[ In my twenty years of being in the Software Engineer game, I’ve been through lots of Sprint Reviews. I’ve seen them done well, and I’ve seen them used as no more than a few hours every sprint for people to take a nice break in a meeting room. When do... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-run-a-great-sprint-review-actionable-insights/</link>
                <guid isPermaLink="false">679a5f09bd88c0851092079d</guid>
                
                    <category>
                        <![CDATA[ agile ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Scrum ]]>
                    </category>
                
                    <category>
                        <![CDATA[ planning ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Ben ]]>
                </dc:creator>
                <pubDate>Wed, 29 Jan 2025 17:02:01 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1738170100236/fcc7407a-3b08-493f-a704-661eed12f369.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>In my twenty years of being in the Software Engineer game, I’ve been through lots of Sprint Reviews. I’ve seen them done well, and I’ve seen them used as no more than a few hours every sprint for people to take a nice break in a meeting room.</p>
<p>When done right, the Sprint Review can be key to keeping your project on track. But badly run Sprint Reviews are worse than just the time they waste – they also reduce people’s trust in Scrum as a whole.</p>
<p>In this article, I’ll walk you through some clear, step-by-step ideas for making your Sprint Review more valuable.</p>
<h2 id="heading-what-is-a-sprint-review"><strong>What is a Sprint Review?</strong></h2>
<p>A <strong>Sprint Review</strong> is a short session held at the end of each sprint, usually once every couple of weeks.</p>
<p>It allows the team to show what they have completed via demos, get feedback, and decide what happens next.</p>
<p>When run well, the Sprint Review shows progress and builds trust with the people who have a stake in the product and project.</p>
<p>Sure, you can tell the stakeholders you are on track, but if they can see it with their own eyes in the Sprint Review, they’ll be much happier.</p>
<h2 id="heading-who-should-be-in-the-review">Who Should Be in the Review?</h2>
<p>In short, anyone who wants to be. Anyone who is a project stakeholder in any capacity can and should attend the meetings.</p>
<p>The scrum team themselves are the core of the meeting, but there can also be Sales, Senior Management, other scrum teams, and Project Managers.</p>
<p>In short, if someone could have good input on a project or could get something out of learning something about a project, they should attend.</p>
<h2 id="heading-what-to-do-before-the-review">What to Do Before the Review</h2>
<p>To ensure that the meeting itself runs as smoothly as possible, you need to make sure that everyone presenting is ready and has a demo ready to show.</p>
<p>In my experience, live demos don’t work. Well, sometimes they do, but mostly they don’t.</p>
<p>Get the people who have a demo to at least record themselves showing their workflow prior to the meeting. That way, if they insist on doing a live demo, they have a recorded video as a backup if it goes wrong.</p>
<p>You should also have a running order. Know who is presenting, in which order, and group them by similarity of topic. Who presents and when doesn’t really matter as long as the presentations are grouped together by topic.</p>
<p>For instance, if you have six engineers – two working on a Login Page, two working on new back-end service, and two working on database performance – make sure that your running order groups these three distinct areas together.</p>
<p>If two demos are fairly similar, you can explain the context once and then run through both demos back to back. Be efficient, as you have a lot of people in this meeting and everyone knows that <a target="_blank" href="https://calculatorlord.com/meeting-cost-calculator/">meetings are expensive</a>.</p>
<h2 id="heading-during-the-review">During the Review</h2>
<p>The Software Engineers who have completed a piece of work will present the work to the other members of the scrum team (Product, QA, and so on) as well as all stakeholders who have attended.</p>
<p>After each Engineer has presented, anyone in the room is free to either ask questions or make comments about the work/presentation.</p>
<p>These questions can simply be to fill in knowledge gaps for people who know less about the project, or they can be questions about why a particular solution was chosen.</p>
<p>Product or more business-focused members of the audience may now give feedback on whether what was demonstrated matches the business intent of what was asked to be delivered.</p>
<p>Once all questions and comments have been addressed, the next Engineer will present their work.</p>
<p>In a Sprint Review, everyone is encouraged to speak, but generally it’s only Engineers who present. So the Engineer will present what they have worked on, then Product, QA, BA, and so on can give feedback and ask questions specifically about what the engineer has presented.</p>
<h2 id="heading-example-review">Example Review</h2>
<p>Let’s take a look at an example review and what that may look like.</p>
<p>We’ll use the example above of having six engineers: two working on a Login Page, two working on a back-end service, and two working on database performance. In that case, you may have a running order like this:</p>
<p>Presentations:</p>
<ol>
<li><p>Larry: <em>User Exceeds Max login attempts and the user account gets locked after the fifth incorrect password. User has to reset password before they can login again.</em></p>
</li>
<li><p>David: <em>User clicks forgotten password link and a link is sent to their email address. The user follows this link and is able to reset their password.</em></p>
</li>
<li><p>Premilla: <em>Reporting Service consumes the “User Exceeded Max Login Attempts” event and publishes it to the reporting dashboard.</em></p>
</li>
<li><p>Akshat: <em>Reporting Service consumes the “User Clicked Forgotten Password” event and publishes this to the reporting dashboard</em></p>
</li>
<li><p>Olga: <em>An Admin User can view the reporting dashboard for a month and load the report within 3 seconds.</em></p>
</li>
<li><p>Trevor: <em>An Admin User can view the events from multiple users combined in to one dashboard and load the report within 2 seconds.</em></p>
</li>
</ol>
<p>As you can see here, the two login page user stories are demonstrated first, then the two reporting service stories, and then the two database speed stories. This requires less context switching for the members of the audience and means that context only needs to be given at the beginning of the first of the two grouped stories (that is, presentations 1, 3 and 5).</p>
<p>After presentation 1 (by Larry), Product may ask why he chose 5 retries as the maximum amount of retries before locking the account. Larry may have an answer, or he may not. Product can either ask to have a follow up on this later and find out what the industry standard is and apply that to Larry’s logic, or just leave it as it is.</p>
<p>After each of the six presentations, there could be questions, comments, and change requests by anyone in the audience. Typically this will then spark a conversation amongst the audience about the best approach.</p>
<p>For instance, in Larry’s example again, some may argue that they should not even be using a username and password, but instead should use an email address and <a target="_blank" href="https://www.pingidentity.com/en/resources/blog/post/what-is-magic-link-login.html">magic link</a>. This is the beauty of the review. You have a lot of smart people in a room bringing their own experience and expertise.</p>
<h2 id="heading-actionable-takeaways"><strong>Actionable Takeaways</strong></h2>
<p>Here are some tips for what to show, how to show it, and what actually matters during the meeting itself.</p>
<h3 id="heading-1-showcase-real-deliverables">1. Showcase Real Deliverables</h3>
<p>First, always present working software or completed work rather than static slides. For instance, if you built a new login feature, do a live demo. This makes the review more genuine and shows tangible progress.</p>
<h3 id="heading-2-encourage-open-feedback">2. Encourage Open Feedback</h3>
<p>Second, invite questions from everyone. Remind stakeholders that their ideas can help shape future work. Write down their suggestions, and confirm whether any changes should go straight into your backlog.</p>
<h3 id="heading-3-keep-it-clear-and-on-track">3. Keep It Clear and On Track</h3>
<p>Third, maintain a simple format. For example, start with a quick overview of the sprint goal, move to demos, and end with a short discussion of next steps.</p>
<p>Avoid going too deep into technical details. If a topic needs more time, set up a follow-up chat.</p>
<h3 id="heading-4-align-on-next-steps">4. Align on Next Steps</h3>
<p>After that, update your backlog based on what you learned. If a feature needs an extra tweak, add that task right away.</p>
<p>This helps the entire group stay informed about the plan for the upcoming sprint.</p>
<h3 id="heading-5-keep-it-short-and-end-on-time">5. Keep it short and end on Time</h3>
<p>You should be reviewing one scrum team’s work for one sprint (two or three weeks).</p>
<p>If your meetings are running on for too long, it either means that your scrum team is too large (in which case, you should think about splitting your scrum team into <a target="_blank" href="https://namegenerators.online/scrum-team-name-generator/">smaller teams</a>), or you are not efficient enough with your demos.</p>
<p>People’s time and attention is expensive and in short supply. Keep the meetings to no more than one <a target="_blank" href="https://en.wikipedia.org/wiki/Basic_rest%E2%80%93activity_cycle">ultradian cycle</a>. I personally try to limit all of the meetings I run to a max of 90 minutes.</p>
<p>Lastly, set a firm limit for the meeting so that participants feel confident bringing their feedback without dragging out the discussion.</p>
<p>Wrapping up on time respects everyone’s schedule and keeps the team fresh for the next sprint.</p>
<h2 id="heading-in-summary"><strong>In Summary</strong></h2>
<p>A Sprint Review gives stakeholders a real-time look at completed work, ensures alignment on what’s next, and gathers the feedback you need to grow your product effectively.</p>
<p>If you focus on showing real progress, inviting open dialogue, and keeping things concise, you’ll see a steady improvement in how your team delivers.</p>
<p><em>In his spare time, Ben writes his tech blog</em> <a target="_blank" href="https://justanothertechlead.com/"><em>Just Another Tech Lead</em></a> <em>and runs a site creating forever-free online calaculators at</em> <a target="_blank" href="https://calculatorlord.com/"><em>CalculatorLord.com</em></a><em>.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Run an Effective Daily Scrum – Tips for Team Members and Managers ]]>
                </title>
                <description>
                    <![CDATA[ Let’s start with a simple question: Why do we get together for a short meeting each day? If you work on a Scrum team, you’ve probably heard of a daily scrum, sometimes called a daily stand-up. It’s one of the key events in scrum. The “daily” usually ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-run-an-effective-daily-scrum/</link>
                <guid isPermaLink="false">678a7845720a1885d5f75ecd</guid>
                
                    <category>
                        <![CDATA[ Scrum ]]>
                    </category>
                
                    <category>
                        <![CDATA[ agile development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ agile methodology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ agil ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Ben ]]>
                </dc:creator>
                <pubDate>Fri, 17 Jan 2025 15:33:25 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1737127993830/ea473796-6a68-48f2-8643-f533561e12cf.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Let’s start with a simple question: Why do we get together for a short meeting each day?</p>
<p>If you work on a Scrum team, you’ve probably heard of a daily scrum, sometimes called a daily stand-up. It’s one of the key <a target="_blank" href="https://justanothertechlead.com/agile/scrum-events-a-tech-leads-guide-to-effective-scrum/">events in scrum</a>.</p>
<p>The “daily” usually takes place around the same time every day, and it should last around 15 minutes.</p>
<p>At first glance, it seems straightforward. When it’s your turn, you answer three basic questions. Job’s done, right?</p>
<p>Well, without a structure and someone to enforce that structure, a 15 minute daily meeting can turn in to a 45 minute chat.</p>
<h2 id="heading-what-is-the-daily-scrum"><strong>What Is the Daily Scrum?</strong></h2>
<p>Scrum teams use the daily scrum to align and share their efforts.</p>
<p>Each person usually answers three questions:</p>
<ol>
<li><p><strong>What did I do yesterday to help the team meet its goal?</strong></p>
</li>
<li><p><strong>What do I plan to do today to help the team meet its goal?</strong></p>
</li>
<li><p><strong>Are there any obstacles in my way?</strong></p>
</li>
</ol>
<p>I call these the “classic three.” Yesterday, Today, Blockers.</p>
<p>From this explanation, if you’ve never attended a daily scrum, you might assume it’s just a trivial and pretty pointless meeting. But it can highlight important issues in real time.</p>
<p>For instance, if someone says, “I’m stuck waiting for a database script to finish,” the rest of the team can suggest a workaround.</p>
<p>Or if the product owner says, “We need to shift a feature’s priority,” everyone learns about it immediately.</p>
<h2 id="heading-why-keep-the-scrum-short"><strong>Why Keep the Scrum Short?</strong></h2>
<p>In theory, the daily scrum lasts 15 minutes, give or take. Yet, many teams allow it to stretch to half an hour or more.</p>
<p>That’s risky.</p>
<p>When these meetings grow too long, people lose interest. Also, they might skip the next one, feeling like it’s a waste of time.</p>
<p>Beyond this, brevity encourages people to share only what matters most.</p>
<p>If someone dives into intricate details, it might derail the conversation.</p>
<p>This is not the space for describing every table in your database schema. It’s a moment to share your progress, highlight your plan, and let your teammates know if you’re blocked.</p>
<h2 id="heading-the-three-essential-questions"><strong>The Three Essential Questions</strong></h2>
<p>The daily scrum usually follows the same pattern. It’s predictable, and that’s a good thing.</p>
<p>Let’s expand on each question:</p>
<ol>
<li><p><strong>Yesterday’s Tasks</strong>: This is an update on what you finished. For instance, I might say, “I set up the new testing environment for our user login feature.” That helps the rest of the team see how tasks are progressing and whether I’m finishing my part of the sprint goal.</p>
</li>
<li><p><strong>Today’s Plans</strong>: Next, we share what we’re about to tackle. For example, “Today, I’m going to fix a bug in the payment service.” That piece of information helps everyone see how the day’s work lines up with the sprint backlog.</p>
</li>
<li><p><strong>Blockers</strong>: This is a crucial point. If something is stopping me from completing my tasks, I mention it here. Let’s say, “I need access to the staging environment, but I’m waiting on a permissions update to give me access.” This means if anyone on the team can fix that, we speed up progress.</p>
</li>
</ol>
<p>In my teams, we usually have the Jira board open and associate each person’s update with the related story. This gives people a little more context. You don’t have to do this though – my teams just find it helpful.</p>
<h2 id="heading-how-to-prevent-the-scrum-from-turning-into-a-status-meeting"><strong>How to Prevent the Scrum from Turning into a Status Meeting</strong></h2>
<p>A daily scrum is not just a status report. It’s a chance for the team to realign quickly.</p>
<p>But some managers treat it as a time to see who is on track. That can shift the focus away from cooperation. On the other hand, a team might treat it like a casual hangout without any structure. These extremes usually lead to frustration.</p>
<h3 id="heading-whats-the-sweet-spot"><strong>What’s the sweet spot?</strong></h3>
<p>It’s where the team focuses on tasks that lead to the sprint goal while also offering quick help when people get stuck.</p>
<p>The meeting should be about collaboration and the scrum team’s needs, not about pleasing a manager.</p>
<p>Also, if something requires a deeper talk, schedule a follow-up. For instance, you might say, “Let’s finish the stand-up, then we can chat about the modeling question after”.</p>
<p>If you find that your stand ups are getting too long, you as a team need to discuss why this is happening in the <a target="_blank" href="https://justanothertechlead.com/agile/sprint-review-vs-retrospective-a-real-world-guide-to-the-difference/">sprint retro</a> and adjust.</p>
<h2 id="heading-a-typical-example-of-a-smooth-daily-scrum"><strong>A Typical Example of a Smooth Daily Scrum</strong></h2>
<p>Let’s paint a quick picture.</p>
<p>The team is working on a feature that handles user registration and payment processing. Each day, the daily scrum goes like this:</p>
<ol>
<li><p><strong>Developer A:</strong></p>
<ul>
<li><p>Yesterday, I cleaned up the user registration form.</p>
</li>
<li><p>Today, I’ll add form validation for email.</p>
</li>
<li><p>I’m blocked by a missing API key, so if someone can share that, I can move forward.</p>
</li>
</ul>
</li>
<li><p><strong>Developer B:</strong></p>
<ul>
<li><p>Yesterday, I tested the payment integration.</p>
</li>
<li><p>Today, I’ll fix a bug I found during testing.</p>
</li>
<li><p>No blockers.</p>
</li>
</ul>
</li>
<li><p><strong>QA Engineer:</strong></p>
<ul>
<li><p>Yesterday, I automated tests for the cart service.</p>
</li>
<li><p>Today, I’ll check the new user registration form.</p>
</li>
<li><p>No blockers, but I want to set up a quick chat about test coverage soon.</p>
</li>
</ul>
</li>
</ol>
<p>The entire process finishes in around 10 minutes. After the scrum, Developer A and Developer B might stay behind to swap that missing API key. Everyone else dives into their day. That’s it—short, sweet, and useful.</p>
<h2 id="heading-common-problems-that-disrupt-the-daily-scrum"><strong>Common Problems That Disrupt the Daily Scrum</strong></h2>
<p>Let’s discuss a few pitfalls I’ve seen crop up over the years:</p>
<ol>
<li><p><strong>Going off on tangents</strong>: For instance, a developer might begin describing the entire architecture of a new microservice. The rest of the team is left wondering how that affects them.</p>
</li>
<li><p><strong>Trying to solve every issue in real time</strong>: The daily scrum is not the place to debug code or solve other issues as a group. If something complex needs discussion, note it and talk after the stand-up with the interested parties.</p>
</li>
<li><p><strong>Waiting for latecomers</strong>: Starting late can quickly become a habit. If people learn that the meeting really begins at 9:05, they start arriving at 9:10. The easiest fix is to start on time. People usually adapt once they see you’re serious.</p>
</li>
<li><p><strong>No one mentions blockers</strong>: Sometimes, folks feel uncomfortable admitting a problem in front of the team. If that happens, the daily scrum loses its value. This meeting is precisely where you should feel safe to say, “I’m stuck here.”</p>
</li>
<li><p><strong>Too many people in the meeting</strong>: In certain organizations, multiple teams join one daily scrum. That can lead to confusion. It’s better to keep each daily scrum small and focused. If you have a big project, you might break out into smaller Scrum teams.</p>
</li>
</ol>
<h2 id="heading-tips-for-keeping-the-meeting-on-track"><strong>Tips for Keeping the Meeting on Track</strong></h2>
<p>There are various ways you can help keep a daily scrum from devolving into a long, drawn-out meeting.</p>
<p>First, make sure you stick to 15 minutes (or shorter). A timer can really help. Some teams use an actual countdown on a screen, which can be fun. If you find that it’s consistently longer, it may be a sign that you have too many people, your team members need reminding about the format, and so on.</p>
<p>Second, make sure you have a capable leader who understands how to manage the scrum. Often, the scrum master or team lead can step in if the conversation strays. They might say, “Good point. Let’s park that for later.” This ensures the scrum doesn’t balloon into a brainstorming session.</p>
<p>You should also make sure the team is focusing on its sprint goals during the meeting. In addition to sharing tasks, remember why you’re doing them. For instance, if you know the sprint goal is to launch a new checkout flow, keep that in mind. This will help streamline everyone’s three questions.</p>
<p>Next, make sure you promote a culture of help. If someone mentions a blocker, invite the group to see who can help. This is a practical approach that fosters teamwork.</p>
<p>And finally, it can be helpful to use the scrum board. This board—whether physical or digital—helps people visualize progress. If your tasks are on sticky notes or in a tool like Jira, you can quickly show which tasks are done, in progress, or awaiting review.</p>
<h2 id="heading-practical-ways-managers-can-support-the-daily-scrum"><strong>Practical Ways Managers Can Support the Daily Scrum</strong></h2>
<p>Some folks ask if managers should attend the scrum every day. There’s no strict rule, but if you do join, here are some things to keep in mind to help your team stay on track.</p>
<p>First, make sure you let the team speak. The daily scrum is for the development team to share their plan and blockers. You as a manager should avoid turning it into a performance check.</p>
<p>Next, try to observe any ongoing or developing patterns. The manager can spot trends. For instance, if a certain issue keeps popping up, they might escalate it or allocate more resources toward solving it.</p>
<p>And try to offer help without dominating the meeting. The moment you sense a roadblock your position can solve—like a missing budget approval—step in. Otherwise, let the team own the meeting.</p>
<h2 id="heading-frequently-asked-questions"><strong>Frequently Asked Questions</strong></h2>
<ol>
<li><p><strong>How strict is the 15-minute rule?</strong></p>
<p> Pretty strict if you can help it. If your team is small, you may finish in even less time.</p>
</li>
<li><p><strong>Do we need to stand physically?</strong><br> Some say it keeps the meeting short. Others aren’t able to stand, or prefer to sit. In my teams, the goal is brevity, so sitting or standing doesn’t matter as much. We also usually have a hybrid stand up where some people are in the office and some aren’t. For this, we all attend virtually.</p>
</li>
<li><p><strong>What if we have nothing new to say?</strong><br> That’s fine. A quick “No updates, no blockers” is perfectly acceptable. The meeting might take only five minutes. Great—everyone can get back to work sooner.</p>
</li>
<li><p><strong>Do we ever skip the daily scrum?</strong><br> Some teams do skip if everything is stable. I never do though, because it confirms that no new blockers have emerged. It’s like a brief pulse check. If there’s nothing to share, the meeting won’t last long anyway.</p>
</li>
<li><p><strong>Who speaks first?</strong><br> Some teams pass a “talking stick” around in a circle. Others follow the order of tasks on the board. I’ve even seen teams do it alphabetically. I also like to mix it up by playing the “nomination game” where the person speaking nominates the next person. The method doesn’t matter, as long as everyone gets a turn. I do like to mix the ordering up though as it keeps the meeting a little “fresh”.</p>
</li>
</ol>
<h2 id="heading-conclusion"><strong>Conclusion</strong></h2>
<p>The daily scrum can be one of the most helpful parts of Scrum if it’s done right. It helps with open communication, early detection of blockers, and a sense of shared ownership.</p>
<p>Also, it reminds us what we’re aiming to achieve as a team (the sprint goal), which is easy to forget when everyone’s heads are down coding or testing.</p>
<p>Above all, keep it simple. Focus on yesterday’s progress, today’s plan, and any obstacles in your path.</p>
<p>If you need deeper conversations, schedule them right after the scrum with the people who care most about the topic. That way, you respect everyone else’s time.</p>
<p><em>In his spare time, Ben writes his tech blog</em> <a target="_blank" href="https://justanothertechlead.com/"><em>Just Another Tech Lead</em></a> <em>and runs a site creating forever-free online calaculators at</em> <a target="_blank" href="https://calculatorlord.com/"><em>CalculatorLord.com</em></a><em>.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Why Scrum is Pandemic-Proof ]]>
                </title>
                <description>
                    <![CDATA[ By Kevin Hanson I thought I knew everything about Scrum theory. But the one thing I didn’t know was that the framework is sufficiently resilient that not even a pandemic can stop it in its tracks. Let me tell you why. But first, some background. I am... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/why-scrum-is-pandemic-proof/</link>
                <guid isPermaLink="false">66d45f6738f2dc3808b790bf</guid>
                
                    <category>
                        <![CDATA[ agile ]]>
                    </category>
                
                    <category>
                        <![CDATA[ agile development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ data analysis ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Scrum ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 26 Aug 2020 00:22:33 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2020/08/Meetings.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Kevin Hanson</p>
<p>I thought I knew everything about <a target="_blank" href="https://www.scrumalliance.org/about-scrum/theory">Scrum theory</a>. But the one thing I didn’t know was that the framework is sufficiently resilient that not even a pandemic can stop it in its tracks.</p>
<p>Let me tell you why. But first, some background.</p>
<p>I am a technical project manager and Scrum master on the data engineering team for Major League Baseball. On a daily basis I eat, drink, and sleep all things Agile methodology, particularly Scrum. </p>
<p>My team works on solving complex problems in baseball stats and analytics. We build data pipelines, databases, data analyzing tools, and visualization tools to answer every question possible about traditional baseball stats (who leads the league in home runs?) and <a target="_blank" href="http://m.mlb.com/glossary/statcast">statcast</a> stats (what batter has the highest exit velocity against The Yankees on two strike counts?). </p>
<p>Needless to say, some of the engineering challenges we face are not easy. And with difficult problems to solve, there is a heavy premium placed on excellent communication – it’s one of the key things we look for in hiring talent. </p>
<p>It’s one thing to build an intricate application that calculates home run distance based on on the launch angle and exit velocity of the ball, it’s another to write it all down and explain it to our key stakeholders. </p>
<h2 id="heading-insert-the-covid-19-pandemic-into-the-fold">Insert the COVID-19 pandemic into the fold</h2>
<p>The season gets temporarily cancelled, our roadmaps get shuffled, and we are all forced to work from home indefinitely.</p>
<p>As the Scrum master for the team, I am all of a sudden thinking about how this will affect our communication, throughput, and quality of work. </p>
<p>Previously, we were all co-located in a small San Francisco office where everyone came to work each day. It was great – imagine one big room with an open floor plan where people just write code, bounce ideas off of each other, and watch baseball games. </p>
<p>But now, we are all communicating over Slack and Zoom, and I’m left wondering if things are going to slip through the cracks. </p>
<p>What did I do? I freaked out and started adding more meetings. This would solve our communication shortage, right? Just throw more meetings on everyone’s calendars! </p>
<p>So that’s what I did. </p>
<h3 id="heading-1-happy-hour">1. Happy Hour</h3>
<p>I added a daily “happy hour” that was optional to attend. The goal was to provide a social outlet where people could talk about work or non-work related items in a casual, albeit still virtual, setting. </p>
<p>That one lasted about a week before people stopped going – but more to come on that later. First I want to go over the rest of the failed meeting attempts. </p>
<h3 id="heading-2-happy-hour-part-two">2. Happy Hour Part Two</h3>
<p>The second was yet another Zoom “happy hour” with a slightly larger audience that included some folks from our New York office as well. That lasted even less than a week. </p>
<h3 id="heading-3-leadership-overhead">3. Leadership Overhead</h3>
<p>The third bright idea: a “leadership” call between myself and the three dev leads where we went over in-flight projects and upcoming roadmap items. </p>
<p>I thought our roadmap would be ever fluid during the pandemic (which it was), so why not talk about it every week? </p>
<h3 id="heading-4-additional-stakeholder-meetings">4. Additional Stakeholder Meetings</h3>
<p>And finally, I set up additional touch point meetings with key stakeholders to make sure we were meeting their expectations and getting their feedback on our delivered code fixes and enhancements. </p>
<p>I thought I was taking a proactive approach to solving a problem that no Scrum team has ever gone through: going from a co-located work environment to full remote work while maintaining full productivity levels, strong communication, and high quality of work. </p>
<p>Little did I know, Scrum had this all covered and I freaked out over nothing. </p>
<p>Here’s why.</p>
<p>Scrum provides a framework for how teams can go about building products through iterative cycles of constant feedback and improvement. This framework calls for a variety of different meetings (or as my manager prefers, ceremonies), that facilitate these development principles. </p>
<p>And through these meetings, I came to realize that all of the problems I was trying to solve for, were in fact, already solved by Scrum. </p>
<h2 id="heading-revisiting-my-list-of-additional-meetings-lets-walk-through-why-each-became-obsolete">Revisiting my list of additional meetings – let’s walk through why each became obsolete</h2>
<h3 id="heading-1-and-2-the-happy-hour-meetings">1 and 2. The Happy Hour Meetings.</h3>
<p>It is a best practice in Scrum to hold daily standups. Each developer on the Scrum team goes over what they did yesterday, their plan for today, and if they have any blockers or issues they want to flag. </p>
<p>Early into the working from home life, this daily meeting became a nice touch point to say hi to colleagues and have a bit of social time together. This often took the form of baseball trivia since most of us are big fans of the game. </p>
<p>And while the rules of Scrum say that daily standups should be no longer than 15 minutes, I figured this was well worth going over that. You see, while many Scrum masters are very rigid and treat Scrum as a "science", I am a bit more fluid and treat it more as an "art form". </p>
<h3 id="heading-3-the-leadership-meetings">3. The Leadership Meetings</h3>
<p>The leadership meeting was to have a consistent meeting on the books to go over small and large roadmap items. It was to convene and prioritize items based on news about when the baseball season might return. </p>
<p>Again, I thought I was doing my team a service by adding this additional touch point. And again, I was wrong. </p>
<p>It’s another best practice in Scrum to hold a backlog refinement meeting at least once per development sprint. This meeting is used to review the upcoming bugs and features in the backlog and to prioritize them for future development cycles (sprints). </p>
<p>My dev team and I had been consistently holding these refinement meetings before the pandemic, and sure enough, this was the perfect solution for the problem I was trying to solve – it was there all along. </p>
<p>I quickly realized that we were just repeating ourselves in the leadership meeting. It was pointless to have both.</p>
<h3 id="heading-4-the-stakeholder-meetings">4. The Stakeholder Meetings</h3>
<p>Since we were all working remotely, I figured we should communicate more with stakeholders to make sure we were all crystal clear about what they should expect from my dev team. By now, I’m sure you’ve guessed that Scrum also accounts for this in their guidelines. </p>
<p>The Scrum playbook calls for a demo at the end of every sprint where the dev team gives demos to stakeholders and asks for feedback. </p>
<p>We have been doing this remotely now, and it has had the same effect as always – it shows what we’ve been working on and it creates a forum for quick feedback from the people who have an interest in our product enhancements. </p>
<h2 id="heading-what-i-learned">What I Learned</h2>
<p>Hitting the fast-forward button to today, all of those aforementioned meetings have been cancelled indefinitely and my Scrum team is continuing to deliver consistent results to our stakeholders. </p>
<p>My bias toward taking action with additional meetings, while well-intentioned, only added repetition and clutter. Next time I guess I’ll think twice before trying to reinvent the agile methodology wheel. </p>
<p>There are two important lessons I learned while transitioning to working on a fully remote team during the pandemic that I hope are now obvious to you. </p>
<p>Firstly, it’s that the Scrum framework is resilient and already set up to work in almost any team environment. Its built-in touch points and meeting cadences are the perfect solution that were and still are staring me in the face. </p>
<p>My bias was towards action. But before actioning yet another team meeting, my bias should have been towards the question "why"? This brings me to my second takeaway.</p>
<p>I learned that before adding an additional meeting, you should ask yourself “what is this meeting trying to accomplish? What’s the goal? Is this not already being achieved by some other meeting or other form of communication?” </p>
<p>Surely, this litmus test will catch a lot of repetitive meetings and save a lot of people time on their calendars. Your team will be happier and more effective as a result.  </p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What is a Scrum Master? The Agile Role and Responsibilities Explained ]]>
                </title>
                <description>
                    <![CDATA[ By Bertil Muth I've been working as a Scrum Master since 2010. The most common questions I hear are: What exactly does a Scrum Master do? Do you really need the role? Is Scrum Master a full time job? In this article I will answer these questions. W... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/what-is-a-scrum-master-the-agile-role-and-responsibilities-explained/</link>
                <guid isPermaLink="false">66d45df6182810487e0ce11f</guid>
                
                    <category>
                        <![CDATA[ agile ]]>
                    </category>
                
                    <category>
                        <![CDATA[ agile development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Scrum ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Fri, 07 Aug 2020 17:31:21 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2020/08/irfan-simsar-wxWulfjN-G0-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Bertil Muth</p>
<p>I've been working as a Scrum Master since 2010. The most common questions I hear are:</p>
<ul>
<li>What exactly does a Scrum Master do?</li>
<li>Do you really need the role?</li>
<li>Is Scrum Master a full time job?</li>
</ul>
<p>In this article I will answer these questions.</p>
<h1 id="heading-what-exactly-does-a-scrum-master-do">What exactly does a Scrum Master do?</h1>
<p>The <a target="_blank" href="https://www.scrumguides.org/">Scrum Guide</a> describes the roles, events, and artifacts of Scrum.<br>Everyone who practices Scrum should read the Scrum Guide. It's the normative reference for Scrum. It's only about 20 pages, and it's free to download.</p>
<p>According to the Scrum Guide, the Scrum Master is a <em>Servant Leader</em>. So they're a leader who supports their colleagues in their activities. But not someone who just assigns tasks or bosses other people around.</p>
<p>The Scrum Master supports the Product Owner, the development team, and the rest of the organization.</p>
<h3 id="heading-the-scrum-masters-support-for-the-product-owner">The Scrum Master's support for the Product Owner</h3>
<p>The main task of the Product Owner is to maintain and rank the Product Backlog to maximize the value of the product. </p>
<p>The Scrum Master supports the Product Owner methodically. For example, they help with the documentation of requirements, with prioritization techniques, and in communicating with the rest of the team and organization. </p>
<p>Everyone in the Scrum Team should share a clear vision and understand the direction in which the product will evolve. The team should also have a common understanding of the Product Backlog. The Scrum Master helps with that.</p>
<h3 id="heading-the-scrum-masters-support-for-the-development-team">The Scrum Master's support for the Development Team</h3>
<p>The Scrum Master supports the development team in delivering high quality products. </p>
<p>For example, they make sure that the team can deliver a working, integrated and automatically tested software at least once a Sprint. So for a 2-week Sprint, that's at least every 2 weeks, or more often. </p>
<p>If the team can't deliver, the Scrum Master has to take action.</p>
<p>In the Sprint Retrospective, the Scrum Master ensures that the team discusses how to improve delivery. Not theoretically, but practically. Step by step, in each Sprint.</p>
<p>If the developers can't remove an impediment, the Scrum Master helps. For example if tools need to be purchased for test automation and continuous integration. Or the team needs training courses for its developers.</p>
<p>Also, the Scrum Master supports the team in self-organization. In Scrum there is nobody who assigns tasks to the developers. Instead, the team members perform the tasks that are their own responsibility. </p>
<p>The Scrum Master supports the developers in making this happen, especially if they are not used to it.</p>
<p>Self-organization also includes dealing with conflicts. The Scrum Master teaches the team decision-making techniques and communication techniques, like <a target="_blank" href="https://en.wikipedia.org/wiki/Nonviolent_Communication">non-violent communication</a>.</p>
<p>The Scrum Master also hosts the Scrum Events.</p>
<h3 id="heading-the-scrum-masters-support-for-the-organization">The Scrum Master's support for the organization</h3>
<p>The work of a Scrum Master is not limited to the team. They must also teach the organization how to interact with the teams.</p>
<p>For example, let's say that an important stakeholder approaches developers and makes them implement a feature that hasn't been agreed on with the Product Owner. Then the Scrum Master has to talk to the stakeholder and explain the influence of their behavior on the productivity and effectiveness of the whole team.</p>
<p>Furthermore, a Scrum Master helps with spreading Scrum in the organization,<br>and makes sure that everyone understands how it works. </p>
<p>Scrum is not a process that is just rolled out once and everything's fine. Scrum is about continuous improvement based on continuously observing what is going on.</p>
<h1 id="heading-is-the-role-necessary-is-it-a-full-time-job">Is the role necessary? Is it a full-time job?</h1>
<p>The short answer is yes. I haven't seen a team that that's able to manage all the above mentioned tasks themselves, while at the same time focusing sufficiently on development. </p>
<p>But my experience is limited. It's quite possible that such teams exist, especially in smaller organizations and start-ups.</p>
<p>My experience as a Scrum Master is that I can usually take care of at most 2 teams. And then it's a full time job. It's not something that a developer does on the side.</p>
<p>In many organizations, this is seen differently. But they likely don't understood that a Scrum Master is a leadership position. And that has an impact on the effectiveness of the teams.</p>
<p>I believe that a lot of frustration that comes from sloppy Scrum implementations could be avoided. And one factor is to have an experienced Scrum Master.</p>
<p>To be a good Scrum Master, it's not enough to attend a certification course that just takes several days. Those courses are fine, but they only teach the basics. The real challenges come with practice.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What is Kanban? The Agile Methodology Defined, and How to Use it For Your Software Development Team ]]>
                </title>
                <description>
                    <![CDATA[ By Bertil Muth Kanban was invented in the Japanese automotive industry in the first half of the 20th century. Inspired by how supermarkets stock their shelves based on demand, Toyota's goal was to reduce inventory and to improve the flow throughout t... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/what-is-kanban-the-agile-methodology-defined-and-how-to-use-it-for-your-software-development-team-2/</link>
                <guid isPermaLink="false">66d45df8bc9760a197a10368</guid>
                
                    <category>
                        <![CDATA[ agile ]]>
                    </category>
                
                    <category>
                        <![CDATA[ kanban ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Scrum ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Tue, 19 May 2020 11:12:13 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2020/05/grafik-8.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Bertil Muth</p>
<p>Kanban was invented in the Japanese automotive industry in the first half of the 20th century. Inspired by how supermarkets stock their shelves based on demand, Toyota's goal was to reduce inventory and to improve the flow throughout their whole production system.</p>
<p>In his book <em>Kanban: Successful Evolutionary Change for Your Technology Business</em>, David Anderson described how to apply the Kanban principles to software development. These principles are:</p>
<ul>
<li>Start with what you do now</li>
<li>Agree to pursue incremental, evolutionary change</li>
<li>Respect the current process, roles, responsibilities, and titles</li>
</ul>
<h2 id="heading-what-does-that-mean-for-agile-software-development">What does that mean for agile software development?</h2>
<p>In my training courses, I ask the attendees what they already know about <a target="_blank" href="https://agilemanifesto.org/">agile software development</a>. Common answers are: "Work in Sprints", "There's a product owner", "Manage user stories in a backlog." People are influenced by the arguably most popular agile framework today, Scrum. </p>
<p>Scrum comes with its own predefined roles, events and artifacts. Scrum requires you to follow the rules defined in the <a target="_blank" href="https://www.scrumguides.org/">Scrum Guide</a>, if you want to call what you're doing Scrum. Kanban is different.</p>
<p>Kanban starts with the process that you follow in your company now. Visualize the steps on a Kanban board. They can include everything you do, from idea to delivery. </p>
<p>Each step becomes the title of a column on the board.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/04/grafik-7.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>To track your day to day work, it's best to break it down into small items. Maybe user stories that can be implemented in, at most, 2 days. Write each item on a stickie note, and hang it on the board. You can use the vertical order on the board for prioritization.</p>
<p>The cards move from left to right. The people doing the work pull items that have been finished by the previous process step. When they have capacity to do so. So the developers in the example pull the <em>Upload Image</em> card into <em>Dev</em> when they have the capacity to implement it.</p>
<h2 id="heading-pursuing-incremental-evolutionary-change">Pursuing incremental, evolutionary change</h2>
<p>So you have created a Kanban board that shows your process? You are making your work visible, which is a great start!</p>
<p>To get the benefits of Kanban, you need to do some more things. You need to:</p>
<ul>
<li>Limit work in process and queues</li>
<li>Observe and improve flow</li>
<li>Collaborate effectively</li>
</ul>
<h3 id="heading-limit-work-in-process-and-queues">Limit work in process and queues</h3>
<p>Limiting work in process means: you set a maximum for the number of items you work on. That's called the Work-in-Process limit, or in short WiP limit. Here's the Kanban board with a WiP limit for some process steps.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/04/grafik-9.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>The developers can work on 5 items at a time. At most. If their column contains 5 items, they are not allowed to pull items any more. This has two consequences.</p>
<p>First of all: it encourages people to finish their work, instead of starting more work. Started work that isn't finished bears risks. How happy will your customers be when you can't release your software as planned? Because you started to work on all these great ideas, but you didn't go through with them? </p>
<p>The second consequence of limiting work in process: bottlenecks become visible. When a process step starts work that it can't finish, people will feel it immediately. Because the next process step won't be able to pull items.</p>
<p>Apart from limiting the work in process, you should limit queue sizes, too. In the board above, they are shown as the dotted lines between the columns. It works the same way as limiting the work in process.</p>
<p>In summary: <em>Stop starting, start finishing</em> is the motto. From concept to delivery in as little time as possible.</p>
<h3 id="heading-observe-and-improve-flow">Observe and improve flow</h3>
<p>Observing a bottleneck can be painful at first. But at least you know where the major problems are in your process. And Kanban encourages you to improve the flow by removing the bottleneck.  A consistent flow enables you to deliver more reliably, and that's good for all stakeholders, including developers.</p>
<p>To observe the flow, you record the time at which a card enters a process step. And the time at which you complete the process step. So you know how much time the card spends in each step, and in each queue between the steps.</p>
<p>Based on the data, you can set up metrics that help you to improve the flow. Common metrics include:</p>
<ul>
<li>Cycle time: the time a card takes from the moment a team starts working on it (i.e. <em>Dev</em>) to delivery (i.e. <em>Release</em>). Improving this metric can help you improve your time to market.</li>
<li>Throughput: the number of cards that move through the system in a given time. Improving this metric can help you improve the performance of your delivery organization.</li>
</ul>
<p>A common way to get an overview of how many cards are in which process step over time is a cumulative flow chart. Ideally, the number of cards in each step but the last stays roughly the same over time. The number of released cards should mount. When the chart deviates from that, you might have a bottleneck.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/05/Cumulative_Flow_Chart.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h3 id="heading-collaborate-effectively">Collaborate effectively</h3>
<p>The Kanban metrics are a powerful tool to analyze and improve what you're doing. But they are worthless without the people doing the work. Everybody involved in the process steps should be open to the transparency that Kanban creates. </p>
<p>People should work together constructively to remove bottlenecks, instead of blaming individuals. Look at the current state regularly. Are there any bottlenecks? Is there too much or too little work available for a certain process step? Is throughput sufficient? Are there other sources of discontent? What needs to be improved?</p>
<p>Agree on experiments that try out small changes to the system. Realize the changes. Later, look if the experiments worked out as expected. To be able to implement the changes, management support is often crucial.</p>
<h2 id="heading-when-to-use-kanban">When to use Kanban</h2>
<p>Kanban is very flexible. It can be used in combination with Scrum, which is called <a target="_blank" href="https://en.wikipedia.org/wiki/Scrumban">Scrumban</a>. It can be used outside of product development. You can even use it to plan a trip or organize what you do in your free time.</p>
<p>I found it especially helpful when working in Scrum Sprints is not possible or is difficult. Example: two companies where one is customer, and the other is supplier, and a hand-off is inevitable. Another example is when you're working on a product that involves both software and hardware, and multiple engineering disciplines are involved. </p>
<p>Kanban can also be used inside your company when development works in an agile fashion, but not all of the rest of the company does.  It can be used to facilitate the cooperation between strategic planning and software development.</p>
<p>Don't think that just because you have trouble implementing Scrum, there's no way to become more agile. Kanban starts with what you do now. And if you take it seriously, it will help you improve. One small step at a time.</p>
<p><em>To</em> <a target="_blank" href="https://skl.sh/2Cq497P"><em>learn more about agile software development</em></a><em>, visit my online course. To keep up with what I’m doing or drop me a note, follow me on</em> <a target="_blank" href="https://dev.to/bertilmuth"><em>dev.to</em></a><em>,</em> <a target="_blank" href="https://www.linkedin.com/in/bertilmuth/"><em>LinkedIn</em></a> <em>or</em> <a target="_blank" href="https://twitter.com/BertilMuth"><em>Twitter</em></a><em>. Or visit my</em> <a target="_blank" href="https://github.com/bertilmuth/requirementsascode"><em>GitHub project</em></a><em>.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What is Agile and How You Can Become an Epic Storyteller ]]>
                </title>
                <description>
                    <![CDATA[ Running a team of developers is hard. Trying to coordinate a mountain of work while keeping everyone productive is a challenge itself. But on top of that, you have to keep open communications with a client. How can we use agile to relieve some of tho... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/what-is-agile-and-how-youcan-become-an-epic-storyteller/</link>
                <guid isPermaLink="false">66b8e3940cedc1f2a4f706a1</guid>
                
                    <category>
                        <![CDATA[ Software Requirements ]]>
                    </category>
                
                    <category>
                        <![CDATA[ agile ]]>
                    </category>
                
                    <category>
                        <![CDATA[ agile development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ development process  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ project management ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Scrum ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Software Engineering ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Colby Fayock ]]>
                </dc:creator>
                <pubDate>Tue, 12 May 2020 14:45:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2020/05/intro-to-agile-1.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Running a team of developers is hard. Trying to coordinate a mountain of work while keeping everyone productive is a challenge itself. But on top of that, you have to keep open communications with a client. How can we use agile to relieve some of those pain points?</p>
<ul>
<li><a class="post-section-overview" href="#heading-what-is-agile">What is agile?</a></li>
<li><a class="post-section-overview" href="#heading-what-are-some-concepts-you-should-know">What are some concepts you should know?</a></li>
<li><a class="post-section-overview" href="#heading-stories">Stories</a></li>
<li><a class="post-section-overview" href="#heading-epics">Epics</a></li>
<li><a class="post-section-overview" href="#heading-sprints">Sprints</a></li>
</ul>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/1GPYnoG_nkE" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<h2 id="heading-what-is-agile">What is agile?</h2>
<p>Agile is a software development methodology that stems from the idea of breaking up large amounts of work into smaller pieces. This gives product managers, developers, and any stakeholder a better understanding of the work.</p>
<p>Historically, software development was a slow process where major changes to requirements could put large strains on teams. </p>
<p>When following the agile methodology, the smaller chunks of work help teams become more flexible, and dare I say <em>agile</em>. And in the process it helps them deliver features faster and respond to changes quicker.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/05/jira-project-board.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Example Jira project board from <a target="_blank" href="https://www.atlassian.com/software/jira">atlassian.com/software/jira</a></em></p>
<p>These ideas have been broken up into different frameworks of approaching this methodology. Two of the common ones are <a target="_blank" href="https://www.scrum.org/resources/what-is-scrum">Scrum</a> and <a target="_blank" href="https://en.wikipedia.org/wiki/Kanban_(development)">Kanban</a>. </p>
<p>For this walkthrough, most of these concepts follow along the Scrum framework, but there are certainly concepts that apply to both and others.</p>
<h2 id="heading-what-are-some-concepts-you-should-know">What are some concepts you should know?</h2>
<p>I'd argue half of being productive as a developer in an agile world is simply understanding the terms. Typically the project manager runs the show, so if you can be on the same page with what they're talking about, it will make the process a lot easier.</p>
<p>There are books, courses, and certifications based around learning the nuances of the agile methodology. I'm not going to go deep into some of the philosophical aspects or some of the deeper parts, but I'm going to cover a good set of key concepts that will help you hit the ground running when you start your new job with an agile team.</p>
<h2 id="heading-stories">Stories</h2>
<p>A story is typically the smallest defined piece of work. This usually comes in the form of a new ticket that you create in the project tool you're using whether it's <a target="_blank" href="https://www.atlassian.com/software/jira">Jira</a> or even <a target="_blank" href="https://help.github.com/en/github/managing-your-work-on-github/about-issues">Github Issues</a>.</p>
<h3 id="heading-expressing-stories">Expressing stories</h3>
<p>When working on a project, you'll probably run into a variety of ways people express stories. But a good guideline is to work through the concept of the word "story" itself and explain the work that needs to be done in that way.</p>
<p>For instance, if you would like to provide the ability for the people who use your website to share a blog post on Twitter, you may want to write the story as: As a reader, I want to share the post I just read to Twitter.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/05/jira-story-summary.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Creating a new story in Jira</em></p>
<p>Using that pattern of "as a [person], I want to [action]" helps provide context as what state somebody may be in when visiting their site and what they're trying to achieve. This can be particularly helpful if you're developing features for people who are logged in that are different from guests.</p>
<h3 id="heading-details-and-requirements">Details and requirements</h3>
<p>While the title of a story is an important representation of the work, you'll also want to provide additional specifics. </p>
<p>At a minimum, that should be done by adding a thorough description and a set of acceptance criteria that can help give the developer context and requirements. Depending on the team, this can also include tools like tags or categorizations that make it easier for the team to visualize groups of work.</p>
<p>Providing a strong set of requirements helps both the developer working on the story and the person reviewing it have a measurement to determine if it's actually complete. Without it, everyone's just guessing.</p>
<p>A good way to phrase these are: verify [requirement]. Back to my example of sharing a post on Twitter, maybe some of the requirements to that story would be:</p>
<ul>
<li>Verify when clicking the share button a new tweet is created</li>
<li>Verify the tweet includes a link to the current blog post</li>
</ul>
<h3 id="heading-amount-of-work-or-level-of-difficulty">Amount of work or level of difficulty</h3>
<p>Each story is represented by a number of points. Those points are a way to express how much effort a team of developers expects one story to be. That effort can mean a variety of things though whether it's simply how difficult the team expects the work to be or the amount of risk or uncertainty a particular story has.</p>
<p>One way teams represent this is with the <a target="_blank" href="https://en.wikipedia.org/wiki/Fibonacci_number">fibonacci sequence</a>, where the amount of points can be 1, 2, 3, 5, 8, etc. Where a negligible text update might be 1 point, adding a new form to a page could be 3 points.</p>
<p>Typically you'll want to avoid pointing stories too high, as you get above 5 points, there's more than likely a way you can break up the work to make it more manageable. While you could easily create a massive 13 point story to accomplish all aspects of a feature, it usually makes sense to tackle the work in smaller, more focused chunks.</p>
<p>Either way, these points all add up together to give your team a rough estimate of how much work a group of stories would take to complete.</p>
<h2 id="heading-epics">Epics</h2>
<p>While stories have a goal of defining a bite-sized piece of work, epics are a way to group those pieces of work together to represent a feature.</p>
<h3 id="heading-defining-stories-as-a-feature">Defining stories as a feature</h3>
<p>A good way to explain this is with another example. If you're working on an application that requires the integration of authentication, you may want to create a new epic simply called "Authentication". </p>
<p>Inside that epic, you could find stories like:</p>
<ul>
<li>As a guest, I want to sign into the application with my email address</li>
<li>As an authenticated user, I want to change my password</li>
<li>As the security team, I want to prevent spam and abuse of user authentication</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/05/jira-epic-authentication.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Example of an Authentication epic in Jira</em></p>
<p>With your epic defined, you're giving your team a path to calling a feature complete while also understanding the entire scope of that work. This is important when it comes to planning out the work to be done.</p>
<p>Defining your stories in your epic gives you a sense of how much work something takes, but it doesn't help you figure out how long it would take, which is where sprints come in.</p>
<h2 id="heading-sprints">Sprints</h2>
<p>Sprints are a way of planning out how the work will actually get done. While similar to epics in that they are a way to group chunks of work, sprints typically represent a period of time in which a particular chunk of work will be done.</p>
<h3 id="heading-time-per-sprint">Time per sprint</h3>
<p>A common way of defining a sprint is two weeks of work. During those two weeks, your team will have a particular velocity, or average amount of work you can complete, for an individual sprint. This velocity is represented by a number of points that is a sum of the average velocity of each of the developers working on that sprint.</p>
<h3 id="heading-points-per-sprint">Points per sprint</h3>
<p>Though many fiercely argue you shouldn't use time to represent that velocity, points will roughly translates to an average amount of time of work for each developer. While 1 point for an experienced developer could be 1 hour, that same 1 point could mean 3 hours for a less experienced developer.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/05/jira-project-roadmaps.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Example project roadmap from <a target="_blank" href="https://www.atlassian.com/software/jira">atlassian.com/software/jira</a></em></p>
<p>But once you have this number of points that your team averages in a sprint, you'll know how many story points you can expect to plan to be completed. This planning goes sprint to sprint as you spread out a group of stories or an epic so you can predict when a feature will be complete.</p>
<h2 id="heading-how-agile-fits-with-your-team">How agile fits with your team</h2>
<p>Try to remember that the Agile methodology through Scrum, Kanban, or any other framework is just that – a framework. While it's probably a good idea to follow the process when you first start out, listen to your team and try to mold it to your own experiences.</p>
<p>Each team works a little bit differently and forcing a process onto that team can cause more harm than good, but there will always be a learning curve for any process. Fight the eye rolls until everyone gets the hang of it and have frequent retrospectives to see what works and what doesn't.</p>
<p>At the end of the day, the processes your team follows should mostly be invisible, working for you instead of against you. Find what works best for your team and share your experiences for others to learn!</p>
<h2 id="heading-whats-your-teams-process">What's your teams process?</h2>
<p><a target="_blank" href="https://twitter.com/colbyfayock">Share with me on Twitter!</a></p>
<div id="colbyfayock-author-card">
  <p>
    <a href="https://twitter.com/colbyfayock">
      <img src="https://res.cloudinary.com/fay/image/upload/w_2000,h_400,c_fill,q_auto,f_auto/w_1020,c_fit,co_rgb:007079,g_north_west,x_635,y_70,l_text:Source%20Sans%20Pro_64_line_spacing_-10_bold:Colby%20Fayock/w_1020,c_fit,co_rgb:383f43,g_west,x_635,y_6,l_text:Source%20Sans%20Pro_44_line_spacing_0_normal:Follow%20me%20for%20more%20JavaScript%252c%20UX%252c%20and%20other%20interesting%20things!/w_1020,c_fit,co_rgb:007079,g_south_west,x_635,y_70,l_text:Source%20Sans%20Pro_40_line_spacing_-10_semibold:colbyfayock.com/w_300,c_fit,co_rgb:7c848a,g_north_west,x_1725,y_68,l_text:Source%20Sans%20Pro_40_line_spacing_-10_normal:colbyfayock/w_300,c_fit,co_rgb:7c848a,g_north_west,x_1725,y_145,l_text:Source%20Sans%20Pro_40_line_spacing_-10_normal:colbyfayock/w_300,c_fit,co_rgb:7c848a,g_north_west,x_1725,y_222,l_text:Source%20Sans%20Pro_40_line_spacing_-10_normal:colbyfayock/w_300,c_fit,co_rgb:7c848a,g_north_west,x_1725,y_295,l_text:Source%20Sans%20Pro_40_line_spacing_-10_normal:colbyfayock/v1/social-footer-card" alt="Follow me for more Javascript, UX, and other interesting things!" width="600" height="400" loading="lazy">
    </a>
  </p>
  <ul>
    <li>
      <a href="https://twitter.com/colbyfayock">? Follow Me On Twitter</a>
    </li>
    <li>
      <a href="https://youtube.com/colbyfayock">?️ Subscribe To My Youtube</a>
    </li>
    <li>
      <a href="https://www.colbyfayock.com/newsletter/">✉️ Sign Up For My Newsletter</a>
    </li>
  </ul>
</div>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Kanban VS Scrum - How to be Agile ]]>
                </title>
                <description>
                    <![CDATA[ By Niall Maher Scrum and Kanban are the two most popular project management techniques today in business. As a developer, I think it's important to understand these processes as you will likely be heavily involved in them if you are part of a team. B... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/being-agile-kanban-vs-scrum/</link>
                <guid isPermaLink="false">66d46042f855545810e934a3</guid>
                
                    <category>
                        <![CDATA[ agile development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ kanban ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Scrum ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Tue, 31 Mar 2020 22:08:07 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2020/03/Being-Agile-Kanban-VS-Scrum--3-.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Niall Maher</p>
<p>Scrum and Kanban are the two most popular project management techniques today in business. As a developer, I think it's important to understand these processes as you will likely be heavily involved in them if you are part of a team. By understanding, we can stay focused on solving problems and not be too frightened of some of the buzzwords.</p>
<p>I'm a developer by trade but my last employed role was in product management. I tried both of these methodologies to improve productivity and efficiency in delivering products and services in the best possible way. They also assist in making organizations quick to adapt to changes in demand for their products/services.</p>
<h2 id="heading-what-is-scrum">What is Scrum?</h2>
<p>Scrum is a project management methodology designed for cross-functional teams of less than 10 members working on complex projects. Its primary goal is to use the team member's various skills to create a solution/product for the customer/end-user.</p>
<p>The word Scrum is derived from the game of rugby where players of both teams interlock and try to gain possession of the ball as a functional unit.</p>
<p>Scrum runs on three major pillars, transparency, inspection and adaptation. This methodology is based on the premise that the customer/end-user could change their mind about what they want or there could be changes which a planned approach cannot deal with.</p>
<p>The project is usually started with what information is available. Afterwards, changes or tweaks can be made whenever necessary while tracking the developmental process.</p>
<p>The project is broken down into distinct actions called sprints that have to be completed within a fixed timeframe or iterations. The average duration for sprints is usually two weeks to a month.</p>
<p>Progress is tracked through daily scrums which are 15 minutes fixed stand up meetings. This encourages close interaction and communication between team members rather than the traditional sequential approach.</p>
<h2 id="heading-what-is-kanban">What is Kanban?</h2>
<p>Kanban is a visual project management framework which was created from lean software development process and used in Agile project management. The word Kanban is a Japanese word meaning Billboard and was derived from the lean manufacturing methods pioneered by the vehicle manufacturer Toyota in Japan.</p>
<p>It visualizes the work process and progress through Kanban Boards. It's used for products/solutions that require continuous delivery and aims to balance demand with available capacity (Pull system) rather than push out products to the market (Push system).</p>
<p>The aim of using Kanban is to remove bottlenecks during the production process so that the project can flow smoothly and still be kept within budget. It's usually used in combination with other agile methodologies like Scrum.</p>
<h1 id="heading-history">History</h1>
<h3 id="heading-the-evolution-of-scrum">The Evolution of Scrum</h3>
<p>The Scrum methodology was first mentioned in a 1986 Harvard Business Review article '<a target="_blank" href="https://hbr.org/1986/01/the-new-new-product-development-game">The New New Product Development Game</a>' by Hirotaka Takeuchi and Ikujiro Nonaka.</p>
<p>The authors described this process they initially called the holistic or rugby approach as a new developmental process that would increase the speed and flexibility with which commercial products were brought to the market. They saw it as "good at bringing about innovation continuously, incrementally and spirally".</p>
<p>1993 saw the initial use of this methodology by Jeff Sutherland along with John Scumniotales and Jeff Mckenna at Easel Corporation. Two years later Sutherland and Ken Schwaber co-presented a paper describing the Scrum methodology at the Object-Oriented Programming, Systems, Languages and Applications '95 (OOPSLA) conference in Austin, Texas.</p>
<p>Schwaber also wrote the first scrum text in 2001 along with Mike Beedle called <a target="_blank" href="https://www.amazon.com/Agile-Software-Development-Scrum/dp/0130676349">Agile Software Development with Scrum</a>. That same year saw the two authors along with Sutherland and 14 other experts on Scrum draft the Agile Manifesto in Utah which specified the principles, features and values of this methodology.</p>
<p>The Scrum Alliance was created in 2002 by Schwaber to provide a governing body for the Scrum methodology as well as formal certification through the CSM (Certified ScrumMaster) program. Schwaber later left the alliance in 2009 to set up <a target="_blank" href="https://www.scrum.org/">Scrum.org</a> which is in charge of the Professional Scrum Accreditation Series.</p>
<p>Since 2010, a document called the <a target="_blank" href="https://www.scrum.org/resources/scrum-guide">Scrum Guide</a> has provided guidelines for the Scrum methodology and has been revised regularly, with the latest version released on November 2017.</p>
<h3 id="heading-evolution-of-kanban">Evolution of Kanban</h3>
<p>Kanban started life as a manufacturing methodology promoted on the factory floors of Toyota by Taiichi Ohno, who is known as the father of the Toyota Production System.</p>
<p>Ohno was looking for a way to increase productivity and reduce inefficiencies during the car manufacturing process while avoiding making products that couldn't get sold and lost money for the company.</p>
<p>In a quest to get a solution, Ohno would stumble on it during a visit to a Tokyo supermarket in 1943. There, he noticed that the products on sale were only restocked when they were almost sold out according to customer demand instead of through regular supplies from the vendor. This ensured that the supermarket had very little excess inventory and ran efficiently.</p>
<p>Ohno would bring this technique to Toyota thought it would take 10 years for it to be fully operational. A big part of this process would be the communication system which made use of visual cards called <strong>Kanban</strong> that illustrated to the workers in each stage of the vehicle manufacturing process what needed to be done, and the materials needed, in clear terms.</p>
<p>It also adjusted the number of vehicles manufactured to the demand by the public instead of utilizing the full productive capacity. This process was also known as lean manufacturing or 'Just in Time' production.</p>
<p>This helped standardize the production process, removed inefficiencies, and made Toyota nimble and flexible by avoiding the accumulation of excess products that couldn't be sold. This was a problem American auto manufacturers were also having.</p>
<p>This turned Toyota into a global auto giant. After its adoption in the automotive industry, the Kanban philosophy spread all over the world and into different industries.</p>
<p>Kanban would become popular in service/knowledge industries due to the work of David J. Anderson. He was an admirer of the lean manufacturing process who applied a pull system of development influenced by Ohno's Kanban philosophy while working with a Microsoft XIT Sustaining Engineering group in 2004.</p>
<p>The next few years would see Anderson and some other colleagues shape the features and principles of the Kanban methodology. The Kanban methodology spread through management conferences and talks and more companies began to adopt it.</p>
<p>Anderson collated his experiences with Kanban in a book published in 2010 '<a target="_blank" href="https://www.amazon.co.uk/Kanban-Successful-Evolutionary-Technology-Business/dp/0984521402">Successful Evolutionary Change for your Technology Business</a>' which is regarded as the most comprehensive definition of the Kanban methodology for Knowledge workers.</p>
<h2 id="heading-the-scrum-principlesvalues">The Scrum Principles/Values</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/03/image-273.png" alt="Image" width="600" height="400" loading="lazy">
<em>Scrum boards are “Kanban boards” too, confusing eh?</em></p>
<p>The Scrum project management methodology became part of the Agile development approaches which spread in the late 1990s and early 2000s. These were an effort to find a solution to the high failure rate in software development.</p>
<p>The Waterfall Development approach used primarily before this point in the software industry was rigid and inflexible – product development had to follow rigidly laid down procedures and documentation.</p>
<p>Scrum allowed software developers the flexibility and freedom to respond to changes in development. It also called for the involvement of the customer in the development process rather than being a bystander.</p>
<p>This methodology later spread to other industries. Scrum has become the most used of the agile project management methodologies – research indicates that it is in use in 66% of all projects incorporating agile development methods.</p>
<p>Scrum is easy to understand and follow as it avoids rigid instructions and procedures. With Scrum, organizations can do whatever is needed to get the project done, adapting to circumstances that might suddenly arise. This flexibility is one reason Eric Naiburg, marketing vice president at scrum.org, calls Scrum the opposite of a to-do list.</p>
<p>The breaking down of projects into sprints makes it suited for complex undertakings while the involvement of the customer in the development process enhances transparency.</p>
<h3 id="heading-the-agile-manifesto">The Agile Manifesto</h3>
<p><a target="_blank" href="http://agilemanifesto.org/">The Agile Manifesto</a> set out to address frustrations among software project developers in 2001 and came out with four principles. Today these principles are the bedrock of the Scrum project management philosophy and have spread beyond the software industry. They state that projects should value:</p>
<ul>
<li>Individuals and interactions over processes and tools.</li>
<li>Working products/solutions over comprehensive documentation.</li>
<li>Customer collaboration over contract negotiation.</li>
<li>Responding to change over following a plan.</li>
</ul>
<h3 id="heading-scrum-best-practices">Scrum Best Practices</h3>
<ul>
<li>There are some best practices which underpin the Scrum methodology.</li>
<li>We are ensuring Customer Satisfaction through early and continuous product delivery.</li>
<li>Testing and incorporating product owner feedback daily.</li>
<li>Welcoming and responding to changing requirements even late in the development process.</li>
<li>We are working together with the customer on the development process.</li>
<li>We are providing the support and environment for motivated individuals to get the work done.</li>
<li>Emphasis on face to face communication within and to the team.</li>
<li>We are measuring progress through a working solution/product.</li>
<li>We are promoting development at a sustainable pace.</li>
<li>We are enhancing agility by devotion to technical excellence and good design.</li>
<li>Self-organizing teams being the best way to get the best architecture, requirements and designs.</li>
<li>Having regular reflections on improving effectiveness through sprint reviews and adjusting actions to suit such.</li>
<li>We are respecting the balance between the team members' professional and private lives to keep stress to a minimum.</li>
</ul>
<h3 id="heading-benefits-of-scrum">Benefits of Scrum</h3>
<p>The scrum methodology is the most widely used agile project management methodology for the following reasons.</p>
<p><strong>Freedom of initiative</strong> — Professionals who love the freedom to take initiatives are in love with the scrum process due to its self-organizing ethos. This tends to boost team morale.</p>
<p><strong>High-quality products/services</strong> — Products and services that are produced using the scrum process tend to be of a high quality due to the various iterations and improvements they have had to go through as well as customer involvement in the development.</p>
<p><strong>Shorter delivery times</strong> — This is a result of the incremental development process which shortens the delivery time by 30%-40%. The involvement of the customer in the development is also a factor here.</p>
<p><strong>Better return on investment</strong> — This is as a result of the shorter delivery times, better product/service quality and fewer defects as a result of continual feedback and the early testing.</p>
<p><strong>Flexibility</strong>— Teams are able to react quickly to sudden changes in the market and reflect them in the product/service development.</p>
<h3 id="heading-drawbacks-of-scrum">Drawbacks of Scrum</h3>
<p>Like everything else, the Scrum process does have its limitations. Here are some of them.</p>
<p><strong>Need for expertise</strong> — Scrum requires professionals with expertise and training on the scrum methodology. This requires upfront investment by the organization.</p>
<p><strong>Scope creep</strong> — The customer could request too many modifications on the product/project, which could turn out to be unnecessary.</p>
<p><strong>Expensive</strong> — The need for high expertise during the scrum process as well as the constant events makes the scrum process expensive to operate</p>
<h1 id="heading-the-scrum-process">The Scrum Process</h1>
<h3 id="heading-scrum-teams">Scrum Teams</h3>
<p>The process starts with the formation of a Scrum team to work on a pre-defined solution/project. These teams are usually self-organizing and cross-functional. According to Scrum principles, self-organizing teams are the best way to ensure optimal performance on a project as they can influence how the work will be accomplished rather than follow external directions.</p>
<p>Cross-functionality refers to the different competencies among the team members which enable the Scrum team to have all it requires to accomplish the project within and does away with the need for external help.</p>
<p>An ideal Scrum team shouldn't have more than 9 members to enhance the team spirit, closeness and effectiveness. It's also important that the team members are in the same physical location or are at least online constantly if they work remotely.</p>
<p>Scrum Teams deliver solutions in increments, incorporating the views of the product owner at each product's iteration. This ensures the constant availability of a functional product. There are 5 values or principles which every Scrum team should abide by in order to be effective.</p>
<ul>
<li><strong>Commitment</strong> — Working towards the team goals at every sprint.</li>
<li><strong>Courage</strong> — Being able to do the right thing despite conflicts and challenges.</li>
<li><strong>Focus</strong> — Concentrating on the team goals and the sprint backlog exclusively.</li>
<li><strong>Openness</strong> — Being transparent with one another about the job and its challenges.</li>
<li><strong>Respect</strong> — Respecting each and every team member.</li>
</ul>
<h3 id="heading-scrum-roles">Scrum Roles</h3>
<p>There are three distinct roles in any Scrum team: the product owner, the Scrum Master, and the Development team.</p>
<p><strong>Product owner</strong> — This person represents the customer in the Scrum team and has the responsibility of ensuring the team delivers the project/solution/product according to the customer' s/end user's specifications. They have to communicate the end user's product requirements as well as the customer's feedback at each product's iteration. They also manage the product backlog which identifies the features of the product to be worked on.</p>
<p><strong>Scrum master</strong> — This individual ensures that the team follows the Scrum principles and guidelines. They ensure that whatever is needed for the project is made available and take care of any impediments obstructing it. They also facilitate team events and ensure proper communication.</p>
<p><strong>Development team</strong> — This comprises the rest of the Scrum team. They have to work together to provide a product/project using their various competencies. They organize themselves and choose their own path in getting the product delivered.</p>
<h3 id="heading-scrum-events">Scrum Events</h3>
<p>Communication is vital in the Scrum framework. This is enshrined in the five events or meetings where information about the development process is exchanged regularly.</p>
<p><strong>Backlog refinement —</strong> The product owner regularly reviews the product backlog which refers to the list of product features, the work to be done, and the sequence of delivery. They make sure that the backlog is properly prepared in a way that communicates to team members what needs to be done at each sprint.</p>
<p>Sometimes, the order of work has to be modified due to customer feedback or reviews from the development team. The review of the backlog, which is done in between the conclusion of a sprint and before the start of a new one, prioritizes features based on factors like business value, risk and date the features are needed. This review usually delivers the content for the next sprint.</p>
<p><strong>Sprint planning</strong> — This is done at the beginning of a sprint to plan what needs to be worked on by the Scrum team. The smaller parts which a project is broken down into are called sprints. They could last from a week to a month.</p>
<p>The sprint meeting, which usually lasts an average of four hours for a 2-week sprint, has the team choosing the backlog items that can be completed during the sprint, how it will be worked on, and the goal for the sprint. These are all included in a sprint backlog.</p>
<p><strong>Daily scrum/stand up</strong> — This is a quick daily stand up meeting that lasts a maximum of 15 minutes. The previous day's work is reviewed and challenges are identified by the team as well as individual members.</p>
<p>An individual is tasked with getting solutions to any challenges identified and any uncompleted work from the previous day is highlighted by the Scrum master on the scrum board.</p>
<p>Detailed discussions aren't allowed during scrum meetings. The strategy to be used for the day's work is also agreed upon.</p>
<p><strong>Sprint review</strong> — This meeting which is held at the end of the sprint is used to review the performance of the team. If the work for the day is completed, the product's iteration is demonstrated and then presented to the customer/end-user along with the sprint backlog containing the 'done' items for their feedback.</p>
<p>The product owner can also make adjustments to the product backlog at this point.</p>
<p>The recommended duration for the meeting is usually a maximum of four hours.</p>
<p><strong>Sprint retrospective</strong> — This is an opportunity for the Scrum team to reflect on how effective they were and what could be improved upon for better productivity the next time.</p>
<h3 id="heading-scrum-artifacts">Scrum Artifacts</h3>
<p>This refers to the commonly used tools in the scrum process. These are three of them used to record the progress of the Scrum team as well as details of the project.</p>
<p><strong>Product backlog</strong> — Is a list of work that has to be done on the project by the scrum team. It contains the product requirements, features to be worked on and bugs that have to be fixed. It's overseen by the product owner and serves as a guide to the team. It's usually reviewed before it makes it into the Sprint backlog.</p>
<p><strong>Sprint backlog</strong> — This list which is overseen by the development team refers to the list of product features from the product backlog that has to be worked on during the present sprint. </p>
<p>Team members sign up to handle tasks they can handle based on their competencies in the spirit of self-organization and commitment. </p>
<p>Sprint backlogs can be modified during a sprint but the end goal remains constant.</p>
<p><strong>Product increments</strong> — This is the end result of the work completed during a sprint. It's usually added to the completed work from previous sprints. </p>
<p>This is usually according to what the Scrum Team defines and agrees as 'Done' status. Most times, this means the product is functional at an optimal level and ready to be delivered to the customer/end-user.</p>
<h1 id="heading-the-kanban-principles-and-practices">The Kanban Principles and Practices</h1>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/03/image-274.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h3 id="heading-the-kanban-principles">The Kanban Principles</h3>
<p>There are four core principles which form the bedrock of a successful implementation of the Kanban methodology.</p>
<p><strong>Start with the present system —</strong> Kanban methodology stresses the need to avoid a culture shock by introducing a new system overnight. Instead, it can be brought into an organization and applied alongside the existing techniques. </p>
<p>This makes Kanban easy to implement and non-disruptive. Changes can then be implemented at a speed that everyone is okay with within a long gestation period while information about the current workflow and its inefficiencies are collected and analyzed.</p>
<p><strong>Make changes incrementally —</strong> The Kanban methodology emphasizes gradual and small changes to the status quo. This will enable more buy-in from the organizational members that will be affected by the process, reduce uncertainty and unease, and in turn enable the organization to be turned around for the better as the evidence from previous incremental changes is apparent.</p>
<p><strong>Respect the current workflow processes and roles —</strong> The existing work process, functions, and those in charge of them are not done away with immediately when the Kanban methodology is implemented. </p>
<p>The team will decide what roles should be modified, what changes should be introduced, and the right time they should be done. This is to ease the organizational transition among the members and make the incremental changes acceptable among them.</p>
<p><strong>Encourage leadership at every level —</strong> Kanban recognizes that leadership qualities can emerge from anybody no matter the level they are in an organization. This is why team members are encouraged to act when there is a need for changes or to kick off initiatives instead of waiting for superior or senior management to order them. </p>
<p>This principle fosters trust and continuous self-improvement (Kaizen) among the team members, helping them to reach their optimal performance levels which will boost organizational productivity in the long run.</p>
<h3 id="heading-kanban-practices">Kanban Practices</h3>
<p>In order for Kanban implementation to be effective, there are six Kanban practices which teams have to put into action.</p>
<p><strong>Visualize the workflow process</strong> — This is the first step when using the Kanban methodology. The process used to deliver the products/services by the organization as well as its flow has to be illustrated on a Kanban board which could be physical or electronic. </p>
<p>Each step in the workflow is represented by a column on the board. The different work items are denoted by Kanban cards of different colours. A collection of related work items can be bunched together using Kanban swim lanes.</p>
<p>The main aim of these is for all parties to understand the functioning of the workflow process from the customer request to the final product/service delivery as well as improve communication and collaboration. With this, different areas of the work process can be tracked and analyzed to identify possible impediments which can be worked on.</p>
<p><strong>Limit the work in progress (WIP) —</strong> With Kanban, a manageable number of work items should be worked on at a time with a limit placed on the work in progress that can be handled. Work at hand should be completed before moving on to 'pull' in a new task. </p>
<p>Kanban discourages multitasking as it leads to wastage and inefficiencies. WIP limits in the column boards stress the importance of choosing the work the team has to do at the moment carefully as there is a limited capacity which has to be used efficiently.</p>
<p>Focus on the WIP also helps to reduce the cycle times (The duration from the customer request to the final delivery) for a particular product/service.</p>
<p><strong>Manage the workflow —</strong> With the Kanban methodology, the various workflow stages and work progress in each of them are highlighted on the Kanban board. </p>
<p>Kanban emphasizes the management of the workflow process instead of the micromanagement of people with the main aim of its implementation being the smooth work process flow at optimal levels. </p>
<p>This enables the team to analyze the workflow process by measuring productivity/efficiency with metrics like cycle time and lead times. This makes it easier to spot any obstructions in the workflow process.</p>
<p>Most times, these obstructions are in the intermediate wait stages where the work has to change hands, but sometimes other factors like worker efficiency have a role to play. </p>
<p>Wherever they are present, adjustments are made in the work process to remove them and make the workflow better. This will enable the cycle times for the product or service to be reduced, ensuring faster turn around and the delivery of better value to the customers.</p>
<p><strong>Communicate the process policies clearly —</strong> A big part of Kanban is the communication of policies and process rules on how work is conducted explicitly to all parties concerned so that there is a clear understanding of what is expected of each person. This help provides a standard against which performance can be measured and ensures quality consistency in the product/service delivered.</p>
<p>There have to be work process rules and guidelines for each column like who pulls what, entry and exit criteria for the column, when a task is done etc. which has to be visualized on the Kanban board. This keeps everyone with a visual reference in the organization as they work towards a common goal.</p>
<p><strong>Get feedback regularly and implement it</strong> — Feedback is very important to the Kanban methodology. The review and analysis of the workflow stages on the Kanban board during daily stand up meetings are a good opportunity for this. Each of the different aspects of the workflow like delivery and operations should also be reviewed individually to track their progress.</p>
<p>Team members should also comment on their individual observations during the previous day. These daily meetings should be short and be straight to the point. Plans should be set in motion to work on all the feedback received. Getting all this feedback early in the process enables improvements to be made fast so as to improve cycle times and organizational productivity.</p>
<p><strong>Always experiment and improve —</strong> The evolutionary change pattern of Kanban enables the use of the scientific investigation method which involves forming a theory, testing it and modifying it to be better. </p>
<p>The workflow process should be evaluated and improved upon continuously. New techniques can be introduced incrementally into the workflow process and observed, and then a decision should be made to keep or remove them depending on how much improvement they bring to the process through evaluating the metrics measurement. </p>
<p>Sometimes, these techniques just need some modification in order to perform optimally. Continuous improvement is the cornerstone of the Kanban methodology.</p>
<h3 id="heading-the-kanban-process">The Kanban Process</h3>
<p>Kanban is a methodology that seeks to improve an organization's efficiency by applying visualization to the work process. It's based on the proven notion that the brain processes pictures more easily than words. With the visualization, areas of inefficiencies become apparent. </p>
<p>Kanban aims to improve the workflow process gradually and incrementally rather than quickly. This reduces the risk to the organization. It also aims to make the work process flow faster.</p>
<h3 id="heading-the-kanban-board">The Kanban Board</h3>
<p>The Kanban board is the main tool for the visual representation of the workflow process. It enables clearer communication among all parties involved with the way information about the project/development process is highlighted through pictures.</p>
<p>Kanban boards can be in physical forms or in a digital/electronic form which is used for teams with remote members. The Kanban board usually comprises of three main columns:</p>
<ul>
<li><strong>To do</strong> — Tasks that haven't been started are listed here.</li>
<li><strong>Doing</strong> — Tasks that are being worked on are listed here.</li>
<li><strong>Done</strong> — This consists of tasks that have been completed.</li>
</ul>
<p>Tasks are represented by coloured sticky notes or cards. By representing the workflow process with pictures on the Kanban board, the efficiency of the workflow process can be measured especially with the aid of specialized Kanban software. </p>
<p>Where efficiency is lower than expected, impediments can be traced and then dealt with. This enables higher production efficiency and shorter product cycle times as well as improvements in the product/service quality.</p>
<h3 id="heading-benefits-of-kanban">Benefits of Kanban</h3>
<p>Kanban is quickly being adopted by organizations in different industries globally. Some of the reasons for this include the following.</p>
<ul>
<li><strong>Clear communication and transparency</strong> - The workflow visualization on the Kanban boards enables clear communication and lets everybody involved know what is expected of them. It's easy to track work progress which makes it easy to know what action is needed.</li>
<li><strong>Spot impediments quickly</strong> — The overcrowding of some of the columns can easily highlight where the work process is being slowed down, thereby necessitating adjustments.</li>
<li><strong>Flexibility</strong> — The ability to use Kanban in any system or industry and its philosophy of incremental change makes it a darling among many organizations desirous of continuous efficiency improvements. It is usually combined with agile project management techniques to make them more effective.</li>
<li><strong>Responsive to demand</strong> — Kanban enables capacity to be adjusted to match customer demands avoiding unnecessary wastage as well as the ability to respond to changes quickly.</li>
<li><strong>Focus and collaboration</strong> — Limited work in progress forces teams to focus on WIP instead of multi-tasking thereby enhancing productivity. Collaboration is also enhanced as organizational members help each other to remove challenges in discharging their tasks.</li>
</ul>
<h3 id="heading-drawbacks-of-kanban">Drawbacks of Kanban</h3>
<p>The Kanban methodology has its limitations –</p>
<ul>
<li><strong>Ill suited for large projects</strong> — Kanban can be challenging to operate in a large scale situation.</li>
<li><strong>Misuse of Kanban board</strong> — The misuse or over-complication of the Kanban board can send the wrong signals about the workflow process which might result in costly mistakes.</li>
<li><strong>Wild demand fluctuations</strong> — Irregular product demands could disrupt the Kanban methodology as wrong signals could be sent as a result.</li>
<li><strong>Quality miscues</strong>— Kanban methodology drives down inventory levels to almost zero in a bid to reduce wastage. But when there's a quality issue with the final product or service, it could be difficult for the organization to react quickly as a result of the absence of an inventory buffer.</li>
</ul>
<h3 id="heading-similarities-and-differences-between-scrum-and-kanban">Similarities and Differences Between Scrum and Kanban</h3>
<p>Scrum and Kanban are the most adopted productivity improvement tools globally but they are not really direct alternatives to each other like most people believe. They have some similarities but there are also differences between both of them.</p>
<h3 id="heading-similarities">Similarities</h3>
<p>Both Scrum and Kanban are tools to improve productivity and efficiency as well as minimize wastage.</p>
<p>They are both based on the agile project management technique which emphasizes flexibility and ability to adapt to changes.</p>
<p>They also work on the 'pull' scheduling technique.</p>
<p>They both see improvements in product or service quality and delivery times are the cornerstone of both techniques.</p>
<p>They are both based on the self-organization ethos with team members taking their own initiatives and actions with every member being equal to each other and no orders coming externally.</p>
<p>Complex tasks are usually broken down into smaller, manageable parts.</p>
<h3 id="heading-scrumban">Scrumban</h3>
<p>In many organizations today, Scrum and Kanban are being used and combined in what is known as Scrumban. This was originally created for teams transitioning from Scrum to Kanban but has become a project management methodology in its own right. Under this methodology, the Scrum process is used but it's viewed through the lens of the Kanban improvement system.</p>
<p>A board similar to a Kanban board with coloured cards is used. Work is broken down into iterations. WIP limits are used here while team members choose the tasks they will work on since they are self-organizing. </p>
<p>On-demand planning is a feature of Scrumban. This is the application of planning techniques when new tasks are available rather than on a daily basis. Prioritization of tasks is done so that team members know what tasks are important.</p>
<h3 id="heading-differences">Differences</h3>
<p>There are many differences between Scrum and Kanban. This includes:</p>
<p><strong>Definition</strong> — Scrum is a framework with specific rules and techniques while Kanban is a workflow visualization tool used alongside an existing system.</p>
<p><strong>Training and management —</strong> Scrum requires a lot of education and training, as well as management and professionals with expertise. Kanban, on the other hand, can be easily understood by everybody which makes it cheaper to run and manage.</p>
<p><strong>Change process</strong> — Kanban encourages incremental change and is suited for organizations with good, stable workflow structures while organizations that need wholesome change quickly should go for Scrum.</p>
<p><strong>Usage —</strong> Kanban is usually used for smaller projects while Scrum is more beneficial for larger, more complex projects.</p>
<p><strong>Roles —</strong> Scrum has three defined roles of scrum master, product owner and development teams. Kanban has no defined roles as every team member can take up available duties.</p>
<p><strong>Duration —</strong> The Scrum process lasts for the duration of the project/development and is started again with a new undertaking while Kanban is a continuous effort as it is done with products/services that have to be continually delivered.</p>
<p><strong>Teams</strong> — Scrum advocates cross-functional teams while specialized teams are the norm in Kanban.</p>
<p><strong>New tasks/Iterations</strong> — In Scrum, new items cannot be added outside the preplanned tasks for the sprint even when the team has the capacity for such additions. In Kanban, new tasks can be worked on as long as the capacity is available.</p>
<p><strong>Ownership</strong> — The sprint backlog in the Scrum process is owned by one Scrum team while the Kanban board can be shared by as many teams possible.</p>
<p><strong>Productivity measurement</strong> — Kanban measures productivity using a product's/services' cycle time while Scrum measures this using velocity through the sprints.</p>
<p><strong>Team goals</strong> — In Scrum, teams focus on collaborating and completing a pre-defined task while Kanban teams are focused on setting goals and reducing the cycle times.</p>
<h1 id="heading-conclusion">Conclusion</h1>
<p>This article doesn't aim to prove which is better between Scrum and Kanban as they are both productivity tools aimed at boosting efficiency. Rather it is aimed at providing an understanding of both tools so that you can make a good decision if choosing between them – or you can decide to go with both.</p>
<p>I personally prefer Kanban. But I think that's because a mentor of mine gave me a copy of '<a target="_blank" href="https://www.amazon.co.uk/Kanban-Successful-Evolutionary-Technology-Business/dp/0984521402">Kanban: Successful Evolutionary Change for your Technology Business</a>' which really helped me when I started needing to make my teams productive. It's definitely a book that should be in every office.</p>
<p>If you have any feedback or want to get in touch find me on Twitter <a target="_blank" href="https://twitter.com/nialljoemaher">@nialljoemaher</a>.</p>
<h1 id="heading-references">References</h1>
<p><a target="_blank" href="https://en.wikipedia.org/wiki/Scrum_(software_development)">https://en.wikipedia.org/wiki/Scrum_(software_development)</a></p>
<p><a target="_blank" href="https://en.wikipedia.org/wiki/Agile_software_development">https://en.wikipedia.org/wiki/Agile_software_development</a></p>
<p><a target="_blank" href="https://en.wikipedia.org/wiki/Kanban_(development)">https://en.wikipedia.org/wiki/Kanban_(development)</a></p>
<p><a target="_blank" href="https://en.wikipedia.org/wiki/Scrumban">https://en.wikipedia.org/wiki/Scrumban</a></p>
<p><a target="_blank" href="https://searchsoftwarequality.techtarget.com/definition/Scrum">https://searchsoftwarequality.techtarget.com/definition/Scrum</a></p>
<p><a target="_blank" href="https://kanbanize.com/kanban-resources/getting-started/what-is-kanban/">https://kanbanize.com/kanban-resources/getting-started/what-is-kanban/</a></p>
<p><a target="_blank" href="https://kanbanzone.com/kanban-resources/what-is-kanban/">https://kanbanzone.com/kanban-resources/what-is-kanban/</a></p>
<p><a target="_blank" href="https://www.planview.com/resources/articles/what-is-kanban/">https://www.planview.com/resources/articles/what-is-kanban/</a></p>
<p><a target="_blank" href="https://www.digite.com/kanban/what-is-kanban/">https://www.digite.com/kanban/what-is-kanban/</a></p>
<p><a target="_blank" href="https://getnave.com/blog/kanban-history/">https://getnave.com/blog/kanban-history/</a></p>
<p><a target="_blank" href="https://www.google.com/url?q=https%3A%2F%2Fwww.guru99.com%2Fscrum-vs-kanban.html&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNE4VcyF1uTuyc4tjrQP_gNXANtdMg">https://www.guru99.com/scrum-vs-kanban.html</a><a target="_blank" href="https://www.google.com/url?q=https%3A%2F%2Fmedium.com%2F%40thorbjorn.sigberg%2Fscrum-vs-kanban-c73dc70e8eef&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEIwTJxMirbodj4uzJrYBFYh7P_Mw">https://medium.com/@thorbjorn.sigberg/scrum-vs-kanban-c73dc70e8eef</a><a target="_blank" href="https://www.google.com/url?q=https%3A%2F%2Fmedium.com%2Fntask%2Fkanban-vs-scrum-which-one-is-the-better-approach-to-use-in-2018-7503ee98dd0c&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFb9deR_GBdWD2iXXu2qxaBxot6Ew">https://medium.com/ntask/kanban-vs-scrum-which-one-is-the-better-approach-to-use-in-2018-7503ee98dd0c</a><a target="_blank" href="https://www.google.com/url?q=https%3A%2F%2Fmedium.com%2F%40pavel.obod%2Fkanban-vs-scrum-why-and-how-we-switched-from-scrum-to-kanban-8e524b6619bb&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEQC8MvKq-Rlgcda3Tun6EM3249IA">https://medium.com/@pavel.obod/kanban-vs-scrum-why-and-how-we-switched-from-scrum-to-kanban-8e524b6619bb</a></p>
<p><a target="_blank" href="https://www.gliffy.com/blog/scrum-what-it-is-and-how-it-works">https://www.gliffy.com/blog/scrum-what-it-is-and-how-it-works</a></p>
<p><a target="_blank" href="https://www.visual-paradigm.com/scrum/how-scrum-team-works/">https://www.visual-paradigm.com/scrum/how-scrum-team-works/</a></p>
<p><a target="_blank" href="https://skillcrush.com/2017/06/28/what-is-scrum-project-management/">https://skillcrush.com/2017/06/28/what-is-scrum-project-management/</a></p>
<p><a target="_blank" href="https://stackify.com/what-is-scrum/">https://stackify.com/what-is-scrum/</a></p>
<p><a target="_blank" href="https://www.atlassian.com/agile/scrum">https://www.atlassian.com/agile/scrum</a></p>
<p><a target="_blank" href="https://www.brighthubpm.com/methods-strategies/71133-weighing-the-disadvantages-of-the-kanban-system/">https://www.brighthubpm.com/methods-strategies/71133-weighing-the-disadvantages-of-the-kanban-system/</a></p>
<p><a target="_blank" href="https://smallbusiness.chron.com/advantages-disadvantages-scrum-project-management-methodology-36099.html">https://smallbusiness.chron.com/advantages-disadvantages-scrum-project-management-methodology-36099.html</a></p>
<p><a target="_blank" href="https://www.yodiz.com/blog/kanban-vs-scrum-benefits-similarities-pros-and-cons/">https://www.yodiz.com/blog/kanban-vs-scrum-benefits-similarities-pros-and-cons/</a></p>
<p><a target="_blank" href="https://leankit.com/learn/kanban/kanban-vs-scrum/">https://leankit.com/learn/kanban/kanban-vs-scrum/</a></p>
<p><a target="_blank" href="https://upraise.io/blog/scrum-kanban-project-management/">https://upraise.io/blog/scrum-kanban-project-management/</a></p>
<p><a target="_blank" href="https://www.quora.com/How-similar-or-different-are-Scrum-and-Kanban">https://www.quora.com/How-similar-or-different-are-Scrum-and-Kanban</a></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to get certified as a professional scrum master - both the fast and the slow way ]]>
                </title>
                <description>
                    <![CDATA[ By Periklis Gkolias A few months ago, I got the Professional Scrum Master Certification (PSM I). This is a trending certification nowadays, because most companies operate with some sort of agile methodology. So I wanted to share some tips that helped... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-get-certified-as-a-professional-scrum-master-the-fast-and-the-slow-way/</link>
                <guid isPermaLink="false">66d460917df3a1f32ee7f883</guid>
                
                    <category>
                        <![CDATA[ agile ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Certification ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Scrum ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Tue, 24 Mar 2020 17:32:38 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2020/03/pravin-nayak-t-bpYg0qpIY-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Periklis Gkolias</p>
<p>A few months ago, I got the Professional Scrum Master Certification (PSM I).</p>
<p>This is a trending certification nowadays, because most companies operate with some sort of agile methodology. So I wanted to share some tips that helped me get 98% on the first try.</p>
<p>In this article, will discuss both the fast and slow track. And I would urge you to lean more towards the slow track. </p>
<p>This is because the fast track, most of the time, will give you just enough knowledge to pass the certification. But this info is totally not enough to solve business day to day team problems with scrum. And that's a big part of what a scrum master does.</p>
<p>Still, some people just care about having the certificate itself, for their own reasons (for example, company KPIs). So let's get started with the fast track.</p>
<h2 id="heading-fast-track">Fast track</h2>
<p>The fast track should take at most 25-30 hours of preparation.</p>
<h3 id="heading-read-the-scrum-guide-at-least-five-times-and-internalize-the-concepts">Read the scrum guide at least five times and internalize the concepts</h3>
<p>Almost all of the questions in the PSM I exam are derived from details of the <a target="_blank" href="https://www.scrumguides.org/index.html">scrum guide</a> text. Most of the time there are <a target="_blank" href="https://www.scrum.org/resources/nexus-guide">nexus</a> questions too, but it is not that hard if you have conquered the scrum guide.</p>
<p>Learning the guide by heart is not the solution here. But you might need to memorize it to remember minor details you will never encounter again in your scrum master journey (which I believe is the case with most certifications) :-)</p>
<p>While doing this step, you should totally understand a) the processes of scrum methodology b) the why behind the processes.</p>
<p>For example:</p>
<ul>
<li>Why the daily scrum (or standup as most people know it) lasts for 15 minutes and not 20</li>
<li>Why it's a bad idea for the CEO to join the sprint retro</li>
<li>Why sprint ceremonies are not a chance to micromanage people</li>
</ul>
<p>I believe if you read it thoroughly and mindfully 5-6 times, you are good to go.</p>
<h3 id="heading-embrace-the-scrumorg-fora">Embrace the scrum.org fora</h3>
<p>In there you will "meet" people from the scrum trenches. People who have made a living, maybe many years in a row, from scrum oriented activities and  who know what works and what does not.</p>
<p>Reading the scrum.org fora helped me understand a lot "the why" behind the scrum guide.</p>
<h3 id="heading-do-the-official-open-assessments">Do the official open assessments</h3>
<p>The official <a target="_blank" href="https://www.scrum.org/open-assessments">open assessments</a> will test your understanding of the scrum guide and make you familiar with the actual exam environment. They are great practice for PSM I.</p>
<p>I think a good portion of the questions that you will encounter in the open assessment will be similar to the ones in the exam.</p>
<p>I recommend that you take the open assessments many times. The more the merrier.</p>
<p>A popular stop criterion is when you have achieved a 100% score five or six consecutive times.</p>
<h3 id="heading-do-the-mock-tests-from-mikhail-lapshin">Do the mock tests from Mikhail Lapshin</h3>
<p>Mikhail Laphsin is a software architect and he's very passionate about scrum as well.</p>
<p>Because of that, he had created one of the best <a target="_blank" href="https://mlapshin.com/index.php/scrum-quizzes/sm-real-mode/">simulation tests</a> out there, which 100% follows the scrum guide.</p>
<p>There are not multiple versions of the test (at least that was the case when I was taking it). But taking it and checking the explanation of your wrong answers will supercharge your ability to tackle the actual exam.</p>
<h2 id="heading-the-slow-track">The slow track</h2>
<p>This track will keep you busy for about 3 months. You can stretch it as much or little you want. I assume you have gone through the fast track as well, before starting the slow.</p>
<p>Don't forget to check the <a target="_blank" href="https://www.scrum.org/resources/suggested-reading-professional-scrum-master">official</a> reading guide too, when on the slow track, and add any resources you find interesting in my suggestions.</p>
<h3 id="heading-reflect-on-your-current-scrum-experience">Reflect on your current scrum experience</h3>
<p>You can get the scrum master certification even if you've had no experience with scrum before. But it will make your life way easier if you do have some experience.</p>
<p>So if you are one of the lucky (experienced) ones, think what you are doing right and what you are doing wrong in the scrum team you are part of.</p>
<p>Just keep in mind - there are some opinionated people who don't know what scrum is all about. They think it's a web development framework or a book of pasta recipes. It's ok - let them do their thing, and stick to your plan to become a great scrum master.</p>
<p>When you do, you can be opinionated as you want. Until then, I suggest you focus on the collective experience of the community.</p>
<p>If you don't have experience with scrum, a great free resource for a pretty good and interesting introduction is this <a target="_blank" href="http://scrumtrainingseries.com/">Scrum Training Series</a>.</p>
<h3 id="heading-blogs">Blogs</h3>
<p>Similar to the scrum.org fora, <a target="_blank" href="https://www.scrum.org/resources/blog">blogs</a> can give you a great perspective from a working scrum master / agile coach.</p>
<p>Some articles might be overkill for a new scrum master, so don't get discouraged if you don't get some of those.</p>
<p>My other favorite one is <a target="_blank" href="https://medium.com/serious-scrum">Serious Scrum</a>.</p>
<h3 id="heading-books">Books</h3>
<p>Did you think you would escape? :) Here are some of the best scrum books I have found out there and I would suggest that you read.</p>
<ul>
<li><a target="_blank" href="https://www.amazon.com/Software-30-Days-Customers-Competitors/dp/1118206665">Software in 30 Days</a></li>
<li><a target="_blank" href="https://www.amazon.com/Essential-Scrum-Practical-Addison-Wesley-Signature/dp/0137043295">Essential Scrum: A Practical Guide to the Most Popular Agile Process</a></li>
<li><a target="_blank" href="https://www.amazon.com/Skilled-Facilitator-Comprehensive-Consultants-Facilitators/dp/1119064392">The Skilled Facilitator: A Comprehensive Resource for Consultants, Facilitators, Coaches, and Trainers</a></li>
<li><a target="_blank" href="https://www.amazon.com/Professional-ScrumMasters-Handbook-Traditional-Organization-ebook/dp/B00CFJGKZS">The Professional ScrumMaster’s Handbook - Break the Chains of Traditional Organization and Management</a></li>
<li><a target="_blank" href="https://www.amazon.com/Toyota-Production-System-Beyond-Large-Scale/dp/0915299143">Toyota Production System: Beyond Large-Scale Production</a></li>
<li><a target="_blank" href="https://www.amazon.com/Serving-Leader-Transform-Community-Blanchard/dp/1626566143">The Serving Leader: Five Powerful Actions to Transform Your Team, Business, and Community</a></li>
<li><a target="_blank" href="https://www.infoq.com/minibooks/scrum-xp-from-the-trenches-2/">Scrum and XP from the Trenches</a></li>
</ul>
<h3 id="heading-other-assessments">Other assessments</h3>
<p>If time allows and you are not burned out yet :-P , doing the <a target="_blank" href="https://www.scrum.org/index.php/open-assessments/nexus-open">nexus</a>, <a target="_blank" href="https://www.scrum.org/index.php/open-assessments/scrum-developer-open">scrum developer</a> and <a target="_blank" href="https://www.scrum.org/index.php/open-assessments/product-owner-open">product owner</a> open assessments will help you get a wider picture of the framework, from various angles.</p>
<p>Of course, you don't need to get consistently perfect scores. A couple of runs with a "pass" is more than sufficient in my opinion.</p>
<h3 id="heading-book-a-class">Book a class</h3>
<p>This is a bit overkill if you ask me, and I would never take a class for PSM I (PSM II or III are more eligible for that kind of training). But I don't want to influence your personal style of learning.</p>
<p>You can find all the trainers <a target="_blank" href="https://www.scrum.org/find-trainers">here</a>. If there is no one in your country or you don't want physical presence due to the pandemic, maybe you could request Skype/Hangouts courses.</p>
<p>I don't know anyone who has done it, so if you have any interesting feedback to share, please do, I would be glad to hear it!</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Thank you for reading this article. If you are new to the field, I wish you all the best in your journey as a scrum master. If you are more seasoned I would appreciate any feedback on the resources. Enjoy your study in any case!</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ A radically simple approach to user stories ]]>
                </title>
                <description>
                    <![CDATA[ By Bertil Muth User stories are a great way to plan development work. In theory. But how do you avoid getting burned in practice? I propose a radically simple approach. Here's a popular template to describe a user story: Here's an example user story... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/a-radical-simple-approach-to-user-stories/</link>
                <guid isPermaLink="false">66d45dd5264384a65d5a9506</guid>
                
                    <category>
                        <![CDATA[ agile ]]>
                    </category>
                
                    <category>
                        <![CDATA[ backlog ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Scrum ]]>
                    </category>
                
                    <category>
                        <![CDATA[ user story ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Tue, 17 Sep 2019 19:01:36 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2019/09/adorable-book-boy-1250722.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Bertil Muth</p>
<p>User stories are a great way to plan development work. In theory. But how do you avoid getting burned in practice? I propose a radically simple approach.</p>
<p>Here's a popular template to describe a user story:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/08/grafik-18.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Here's an example user story:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/08/grafik-22.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>User stories look at software from a perspective of user value. After implementing a story, the developers can get feedback from users whether they're satisfied or if there's something they'd like changed. That's the core idea of agile development.</p>
<p>Good user stories follow the three Cs: <strong>Card</strong>, <strong>Conversation</strong>, and <strong>Confirmation</strong> [1].</p>
<p><strong>Card</strong> means: user stories are short. They focus on the value provided to the user. You can write them on an index card, or a Post-it. Of course, a Post-it doesn't contain all the information necessary for development.</p>
<p>So the team developing the software has <strong>conversations</strong> about the stories. Input from users and business stakeholders is necessary, but developers bring their ideas to the table as well. It's important that everybody keeps an open mind in these discussions. </p>
<p>The team documents the results of the conversations as acceptance criteria. Checking the acceptance criteria later serves as <strong>confirmation</strong> that the team has implemented the story correctly.</p>
<h2 id="heading-acceptance-criteria-and-invest">Acceptance criteria and INVEST</h2>
<p>The acceptance criteria should answer questions like:</p>
<ul>
<li>What are the possible user inputs?<br>For example: "The payment options are MasterCard, Visa, [...] PayPal<em>."</em></li>
<li>How does the system react to user input, or a business relevant event? Under which conditions?<br>For example: "When the user enters a wrong credit card number, the system shows the following error message: [...]"</li>
</ul>
<p>There are many ways to document acceptance criteria. Bullet points, sketches, examples, tables. Development starts a few days after the conversation about the story. So developers need just enough documentation to remember the conversation.</p>
<p>How does a team check if a story has a good enough quality to start implementing it? The <strong>INVEST</strong> criteria define a quality checklist for each story [2]:</p>
<ul>
<li><strong>I</strong> for <strong>Independent</strong>. The story can be implemented independently of other stories. This facilitates priority changes.</li>
<li><strong>N</strong> for <strong>Negotiated</strong>. The conversation between developers and stakeholders about the details of the story has happened.</li>
<li><strong>V</strong> for <strong>Valuable</strong>. The story provides visible value for users. In contrast to implementation tasks like querying the database, for example.</li>
<li><strong>E</strong> for <strong>Estimable</strong>. The developers can estimate the story.</li>
<li><strong>S</strong> for <strong>Small</strong>. The story can be implemented quickly. In Scrum for example in a Sprint.</li>
<li><strong>T</strong> for <strong>Testable</strong>. The story is so concrete that the team can derive test cases.</li>
</ul>
<h2 id="heading-the-problems-in-practice">The problems in practice</h2>
<p>I like user stories. In product planning, they shift the focus from technical details to users and their needs. That's good.</p>
<p>And yet, in my work as an agile coach and trainer for agile approaches, I've started questioning the common way people deal with them.</p>
<p>I've seen backlogs with hundreds of stories that became extremely hard to manage. I've witnessed people use the terms "feature", "epic" and "business requirement" without sharing an understanding what that even means. I've heard endless discussions about detailed acceptance criteria, and how to slice stories based on them. It was frustrating.</p>
<p>I claim there is an alternative. A simple way to avoid all these traps. First, you need to understand that there are two fundamental levels of user stories.</p>
<h2 id="heading-goals-deliver-value-but-cant-be-implemented">Goals deliver value, but can't be implemented</h2>
<p>In one of my courses, I ask questions like: "What can you do with a web shop?<em>"</em><br>The typical answers are: "Buy a  product", or "Order products".</p>
<p>What the participants talk about are goals. If we were a team developing a web shop, we might come up with the following user story:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/08/grafik-23.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Is this goal level story valuable to the user? Yes! It reflects the needs of the web shop customer.</p>
<p>Can you implement this goal directly? No! In order to implement a goal, you need to derive steps to reach it first. For the story "Buy Product", the steps might look like these:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/09/grafik.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Each step could be documented with the user story template: "As a web shop customer, I want to enter the address so that the product is shipped to me."</p>
<p>Can you implement this step level story directly? Yes! As soon as you have clarified the acceptance criteria. But is it valuable for the user? Without the other steps, no.</p>
<p>Value only emerges when the goal has been reached. Each step represents progress towards the goal. But independently, the step has no value. Does it make sense to use the story template for it then?</p>
<h2 id="heading-a-radically-simple-approach">A radically simple approach</h2>
<p>The stories at the goal level are coarse grained. They can be used for long-term planning, without wasting effort on details:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/09/grafik-1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>You can often realize good user stories at the goal level independently of each other. And they deliver value. They are <strong>I</strong>ndependent, <strong>N</strong>egotiated, and <strong>V</strong>aluable. But they are not <strong>S</strong>mall, easily <strong>E</strong>stimable and <strong>T</strong>estable. Because you cannot define acceptance criteria for them without talking about steps.</p>
<p>The stories at the step level are <strong>N</strong>egotiated, <strong>E</strong>stimable, <strong>S</strong>mall, and <strong>T</strong>estable. However, they are not <strong>I</strong>ndependent and do not provide <strong>V</strong>alue alone. </p>
<p>How do you combine the two kinds of stories into one simple approach? Here's my proposal. </p>
<p>The team picks a goal, say "Buy product". The team then reflects: "What is the simplest way to reach the goal? And how can we reduce architectural risks early?"</p>
<p>Let's assume that the team sees the greatest risk in the communication with PayPal, because they've never implemented an interface to PayPal before. </p>
<p>So what does a simple way to get to the "Buy product" goal look like? The team puts goal level story, step level stories and acceptance criteria as stickie notes below each other:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/09/grafik-2.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Here's what the acceptance criteria say (green stickies). There is only one fixed product that can be ordered. No search, no choice. The user interface is basic, and only allows users to pay with PayPal. </p>
<p>These are the first steps that the developers implement. Once the developers have implemented a step, they demonstrate it to company internal stakeholders. At latest when a goal is reached, the team involves users. Getting feedback and deriving insights for further iterations is crucial. </p>
<p>In later iterations, the team adds and changes stories. Examples include: more products, a search capability, and new payment methods. Or the team picks another story as a goal. Whatever is most valuable and makes sense at a given point in time. </p>
<h2 id="heading-summary">Summary</h2>
<p>You focus on a few goals to look further ahead. But you only discuss the acceptance criteria of the steps that you will implement in a few days. You implement the steps and gather feedback. You use the feedback to inform what you will develop in the future.</p>
<p>That way, everybody has a clear idea of what happens in development. You avoid wasteful discussions. And you keep backlog management to a minimum.</p>
<p>I've followed this approach many times. When everybody involved is on board, it works great. It makes development a joy. </p>
<p>And that's it.  </p>
<p>Sources:</p>
<p>[1] Ron Jeffries 3Cs: <a target="_blank" href="https://ronjeffries.com/articles/019-01ff/3cs-revisited/">https://ronjeffries.com/articles/019-01ff/3cs-revisited/</a></p>
<p>[2] Bill Wake on INVEST criteria: <a target="_blank" href="https://xp123.com/articles/invest-in-good-stories-and-smart-tasks/">https://xp123.com/articles/invest-in-good-stories-and-smart-tasks/</a></p>
<p><em>To <a target="_blank" href="https://skl.sh/2Cq497P">get the basics of agile software development right</a>, visit my online course. If you want to keep up with what I'm doing or drop me a note, follow me on <a target="_blank" href="https://dev.to/bertilmuth">dev.to</a>, <a target="_blank" href="https://www.linkedin.com/in/bertilmuth/">LinkedIn</a> or <a target="_blank" href="https://twitter.com/BertilMuth">Twitter</a>. Or visit my <a target="_blank" href="https://github.com/bertilmuth/requirementsascode">GitHub project</a>.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Project budgeting: an anti-pattern ]]>
                </title>
                <description>
                    <![CDATA[ By Bertil Muth The desired benefits of agile development are many. Customers are happier and more willing to buy. Lead time from idea to delivery is shorter. Employees are more motivated and more productive.  Sounds good, doesn't it? In practice, cer... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/project-budgeting-an-anti-pattern/</link>
                <guid isPermaLink="false">66d45de8bc9760a197a1035f</guid>
                
                    <category>
                        <![CDATA[ agile ]]>
                    </category>
                
                    <category>
                        <![CDATA[ agile development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ budget ]]>
                    </category>
                
                    <category>
                        <![CDATA[ project management ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Scrum ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Sun, 08 Sep 2019 07:58:16 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2019/09/1-qF4e5LHYdx78lBJUP7TJsw.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Bertil Muth</p>
<p>The desired benefits of agile development are many. Customers are happier and more willing to buy. Lead time from idea to delivery is shorter. Employees are more motivated and more productive. </p>
<p>Sounds good, doesn't it? In practice, certain behaviors stand in the way of the benefits. As a scrum master and agile coach, I see the same anti-patterns in many companies over and over again. Today's anti-pattern is about project budgeting and contracts.</p>
<h2 id="heading-fixing-the-scope-not-a-good-idea">Fixing the scope - not a good idea</h2>
<p>In many companies, the scope of delivery must be decided on first. Then someone estimates the effort and calculates the necessary budget. Finally, there is a go or no-go decision for the project.</p>
<p>It is similar for many customer supplier relationships. First, a contract must be set up that describes exactly what will be delivered. Otherwise there is no order.</p>
<p>How else could it be? How else can you, as a customer, be sure what will come out in the end?</p>
<p>As an agilist, here's my answer. Customers can't possibly know the exact end result in advance. Software development is full of surprises. The requirements of today are history tomorrow.</p>
<p>It's important to recognize the tension between predictability and changeability. You can't have both: perfect predictability of the end result at the beginning <em>and</em> maximum consideration of change requests later.</p>
<h2 id="heading-what-you-can-do-instead">What you can do instead</h2>
<p>At the beginning of agile development, it is sufficient for stakeholders to agree on a product vision, and maybe a rough roadmap. Funding can be done incrementally, sprint by sprint.</p>
<p>But what if this is not possible in your company? What if the stakeholders don't want to give up the illusion of safety that comes from clarifying requirements early?</p>
<p>Well, it's a waste of time to specify details of requirements that will change later. So what to do?</p>
<p>You can agree on user stories in advance. That makes sense. But don't define the acceptance criteria! Clarification of details is postponed to development, shortly before implementation.</p>
<p>The advantage: you can react to lessons learned from development and new customer needs.</p>
<h2 id="heading-change-management-done-right">Change management done right</h2>
<p>Either at the beginning of a project or during contract negotiation, stakeholders should agree on the mode of cooperation and the handling of changes later.</p>
<p>It is important to follow a few important principles.</p>
<p>If there are changes, a change management process that evaluates each change individually is NOT enough. Instead, a change should be related to other changes.</p>
<p>For each change that is implemented, either</p>
<ul>
<li>take another requirement out of scope, or</li>
<li>increase the duration of the project.</li>
</ul>
<p>During development, individual elements can therefore be replaced by elements that are equivalent in terms of development effort. Scrum supports this with the Product Backlog–by pulling a backlog item up, the other elements automatically have less urgency.</p>
<p>If you want to know more about agile contract design, I recommend you have a look at <a target="_blank" href="https://www.scruminc.com/agile-contracts-money-for-nothing-and/">Money for Nothing and Your Change for Free</a>.</p>
<p><em>To <a target="_blank" href="https://skl.sh/2Cq497P">get the basics of agile software development right</a>, visit my online course. If you want to keep up with what I'm doing or drop me a note, follow me on <a target="_blank" href="https://dev.to/bertilmuth">dev.to</a>, <a target="_blank" href="https://www.linkedin.com/in/bertilmuth/">LinkedIn</a> or <a target="_blank" href="https://twitter.com/BertilMuth">Twitter</a>. Or visit my <a target="_blank" href="https://github.com/bertilmuth/requirementsascode">GitHub project</a>.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Scrum - the hard parts ]]>
                </title>
                <description>
                    <![CDATA[ By Bertil Muth The hard parts of Scrum and how to work around them. Further inspiration can be found here: ScrumBut. Only the developers estimate According to the Scrum Guide, only members of the development team  are allowed to estimate development ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/scrum-the-hard-parts/</link>
                <guid isPermaLink="false">66d45dedd7a4e35e38434951</guid>
                
                    <category>
                        <![CDATA[ agile ]]>
                    </category>
                
                    <category>
                        <![CDATA[ humor ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Scrum ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Tue, 09 Jul 2019 12:46:51 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2019/07/action-adult-adventure-1058958.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Bertil Muth</p>
<p>The hard parts of Scrum and how to work around them. Further inspiration can be found here: <a target="_blank" href="https://www.scrum.org/ScrumBut">ScrumBut</a>.</p>
<h2 id="heading-only-the-developers-estimate">Only the developers estimate</h2>
<p>According to the Scrum Guide, only members of the development team  are allowed to estimate development effort. Neither Scrum Master, nor  Product Owner.</p>
<p>As a Product Owner, you should therefore <em>subtly</em> influence  the estimates in your favor by asking questions like: "You can do that  in two weeks, right?" Or: "I can't imagine that this is a lot of effort.  Does anyone else see that?"</p>
<p>That way, you stay in control even when the going gets tough!</p>
<h2 id="heading-done">Done</h2>
<p>Scrum calls for a <em>potentially shippable product increment</em> at  the end of a Sprint: executable, tested and integrated software.  Because this is one of the hardest parts of Scrum, there are several  workarounds to make life a little easier.</p>
<p>First, learn to appreciate other artifacts as Sprint results as well.  How about a completed analysis or architectural document? For this to  work, you only need to adjust the Definition of Done.</p>
<p>Second, most importantly: do not forget the phases before Scrum and after Scrum.</p>
<p>Before Scrum, a planning phase of several months should take place, in which the project is approved and its scope is fixed.</p>
<p>After Scrum, you should have a test phase of at least several weeks  until the product can finally be delivered. This workaround is  particularly useful if you do not use any form of automated testing,  integration or deployment.</p>
<h2 id="heading-the-product-owner-sets-priorities">The product owner sets priorities</h2>
<p>According to the Scrum Guide, the Product Owner has the final say when prioritizing the Product Backlog.</p>
<p>This is uncomfortable. It would give the lower level management folks  huge decision-making power. Real managers keep away from developers, in  order to be able to make unpleasant decisions and enforce them.</p>
<p>Fortunately, there are now established roles such as the "Proxy  Product Owner". Rightly applied, that role has no decision-making  authority. PPOs merely pass on the announcements from the top to the  developers and "take the responsibility" if something goes wrong.</p>
<p>So - these are my "recommendations" for you today.<br>What are your favorite Scrum hacks?</p>
<p><em>To <a target="_blank" href="https://skl.sh/2Cq497P">get the basics of agile software development right</a>, visit my online course. If you want to keep up with what I'm doing, follow me on <a target="_blank" href="https://dev.to/bertilmuth">dev.to</a>, <a target="_blank" href="https://www.linkedin.com/in/bertilmuth/">LinkedIn</a> or <a target="_blank" href="https://twitter.com/BertilMuth">twitter</a>. Or visit my <a target="_blank" href="https://github.com/bertilmuth/requirementsascode">GitHub project</a>.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ The 3 biggest user story myths ]]>
                </title>
                <description>
                    <![CDATA[ By Bertil Muth In my work with agile teams and as a trainer I often hear  statements about user stories that cause problems in practice. Time to  get rid of the most common myths. Myth #1: In Scrum, you document requirements with user stories. The Sc... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/the-3-biggest-user-story-myths/</link>
                <guid isPermaLink="false">66d45df136c45a88f96b7ccb</guid>
                
                    <category>
                        <![CDATA[ agile ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Scrum ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 03 Jul 2019 21:33:14 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2019/07/pexels-photo-415137-1024x768.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Bertil Muth</p>
<p>In my work with agile teams and as a trainer I often hear  statements about user stories that cause problems in practice. Time to  get rid of the most common myths.</p>
<h2 id="heading-myth-1-in-scrum-you-document-requirements-with-user-stories">Myth #1: In Scrum, you document requirements with user stories.</h2>
<p>The Scrum Guide leaves it open how backlog items are documented. I  like user stories because they shift the perspective from the system to  the user. But they are not mandatory. And they should be used more for  conversation than f or documentation.</p>
<h2 id="heading-myth-2-if-you-write-user-stories-you-have-to-use-a-certain-template">Myth #2: If you write user stories, you have to use a certain template.</h2>
<p>You probably think of: As a <em>user</em> I want <em>function</em> so that <em>fulfilled need</em>.<br>The user story concept had nothing to do with this template at the  beginning. Later the template became popular. It's possible to document  user stories informally. Don't get hung up on the template.</p>
<h2 id="heading-myth-3-user-stories-are-estimated-with-story-points">Myth #3: User Stories are estimated with Story Points.</h2>
<p>As a Scrum Master, I watched teams go crazy with discussions about story points, estimates and velocity.<br>There is a simple alternative. The team agrees on small stories. So 1 or  2 days to implement them. Then after the sprint, the team counts the  stories it has finished. There's the velocity.</p>
<p><em>Learn more about <a target="_blank" href="https://skl.sh/2Edz9Zu">how to deal with user stories effectively</a> by visiting my online course. If you want to keep up with what I'm doing, follow me on <a target="_blank" href="https://dev.to/bertilmuth">dev.to</a>, <a target="_blank" href="https://www.linkedin.com/in/bertilmuth/">LinkedIn</a> or <a target="_blank" href="https://twitter.com/BertilMuth">twitter</a>. Or visit my <a target="_blank" href="https://github.com/bertilmuth/requirementsascode">GitHub project</a>.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Epics are dead. Here’s what we should do instead. ]]>
                </title>
                <description>
                    <![CDATA[ By Bertil Muth What has not been declared dead already? Test Driven Development was buried years ago. Still, it continues to spread. Of course, Agile is dead as well. But even traditional companies come into contact with Scrum. The dead continue to l... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/epics-are-dead-heres-what-we-should-do-instead-279bada1e644/</link>
                <guid isPermaLink="false">66d45dd755db48792eed3f31</guid>
                
                    <category>
                        <![CDATA[ agile ]]>
                    </category>
                
                    <category>
                        <![CDATA[ business ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Productivity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Scrum ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Fri, 18 Jan 2019 21:59:26 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/0*OaKd4OM6oZkPAvbQ.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Bertil Muth</p>
<p>What has not been declared dead already? <a target="_blank" href="https://dhh.dk//2014/tdd-is-dead-long-live-testing.html">Test Driven Development was buried</a> years ago. Still, it continues to spread. Of course, <a target="_blank" href="https://www.youtube.com/watch?v=a-BOSpxYJ9M">Agile is dead</a> as well. But even traditional companies come into contact with Scrum. The dead continue to live, but declaring something dead is always good for a snappy headline. In that sense, witness how I destroy epics as an agile practice.</p>
<h3 id="heading-what-are-epics">What are epics?</h3>
<p>The term is vague. This has advantages. Epics are more for communication than specification. The vagueness makes them versatile. But there is a risk of misunderstandings. I stick to Mike Cohn’s definition:</p>
<blockquote>
<p>A Scrum epic is a large user story. (<a target="_blank" href="https://www.mountaingoatsoftware.com/blog/stories-epics-and-themes">Source</a>)</p>
</blockquote>
<p>I use the term like this: An epic is a story that is too big to be implemented in a Scrum sprint. The items at the top of the Product Backlog are thus not epics, but little stories. Down in the backlog you will typically find epics. Over time, the epics are “sliced” into stories that can be pulled into a sprint.</p>
<p>That is what I have taught for years in my training courses. It seems to be the general consensus. Intuitive at first glance. I’m here to explain why it’s not practical.</p>
<h3 id="heading-3-impractical-ways-to-deal-with-epics">3 impractical ways to deal with epics</h3>
<p>So far, I’ve come across three ways companies deal with epics. None of them is practical. Let’s call them:</p>
<h4 id="heading-dissolution">Dissolution</h4>
<p><img src="https://cdn-media-1.freecodecamp.org/images/OO4-EKucR2gZhVJilqHLfLwnBOBxvqM0fgkA" alt="Image" width="600" height="400" loading="lazy">
<em>1. Dissolution</em></p>
<h4 id="heading-links">Links</h4>
<p><img src="https://cdn-media-1.freecodecamp.org/images/hT9ibQZCCuFNl60RAWY2ZkOvmR7-1idajU0k" alt="Image" width="600" height="400" loading="lazy">
<em>2. Links</em></p>
<h4 id="heading-trees">Trees</h4>
<p><img src="https://cdn-media-1.freecodecamp.org/images/9PrBM9HZpNEftSfygOJFwVKtoCpYMVZj15ga" alt="Image" width="600" height="400" loading="lazy">
<em>3. Trees</em></p>
<h3 id="heading-1-dissolution">1. Dissolution</h3>
<p>The principle of dissolution is simple. An epic is completely broken down into its components, the individual little stories.</p>
<p>For example, an epic “Book flight” of an online flight portal can be broken down into the individual process steps. So “Log in”, “Search flight”, and so on. Every process step becomes a story. The team estimates the story. As long as it is too big, the team continues to slice it. Once all stories are small enough to fit into sprints, the team deletes the epic and starts development for the stories.</p>
<p>It’s the underlying idea of completeness that bothers me. The dissolution suggests that a topic can be completed with a predetermined scope.<br>But if changes to the stories are possible during development, you can’t define all the stories upfront.</p>
<p>The Scrum Guide says:</p>
<blockquote>
<p>A product backlog is never complete. […] Requirements never stop changing.</p>
</blockquote>
<p>If you have to deliver a fixed scope, stop pretending. Forget about epics, and describe the detailed requirements upfront. Just don’t claim to be agile then.</p>
<h3 id="heading-2-links">2. Links</h3>
<p>If you don’t dissolve your epics completely, it makes sense to use links. The epics remain, down in the backlog. You link new little stories to the epics from which they derive.</p>
<p>The risk is that over time, the amount of epics increases. The backlog becomes bloated. It contains epics that you don’t need any more. The stakeholder is no longer in the company. Or the topic is no longer relevant.</p>
<p>Of course, you can clean up your backlog from time to time. I regard this as non-value-added work. And you can avoid it, as I will describe later.</p>
<h3 id="heading-3-trees">3. Trees</h3>
<p>Another way is the depiction of epics and stories as a tree:</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/fQdxdGv7x3ec26JpDMXcMLhbuvOwBjyXHO8F" alt="Image" width="600" height="400" loading="lazy">
<em>Depiction of epics as a tree</em></p>
<p>You group the little stories by epic. Not a bad idea. But what you lose is the ordered list of the backlog. How do you determine the implementation order then?</p>
<p>Of course you can use a digital tool that supports both views. The risk: you invest too much time and effort in the tools. What are the views? What are the attributes? What is the underlying data model? Interesting questions. But in an agile approach they should not have high priority.</p>
<p>In summary, the idea of grouping is good. But doing it is time-consuming.</p>
<h3 id="heading-the-alternative-to-epics">The alternative to epics</h3>
<p>There has long been an alternative. It is even mentioned in the same blog post by Mike Cohn, which I linked above.</p>
<p>I am talking about <em>themes</em>.</p>
<p>A theme can be thought of as an additional attribute of the stories. Normally, several stories share the same theme. The story “Search flight” could have the theme “Book flight”. A snippet from the backlog could look like this:</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/-iL6f0xFP4aFfnxgRCmzK3Nkouv1csAh-S5m" alt="Image" width="600" height="400" loading="lazy">
<em>User Stories with theme</em></p>
<p>Themes are not managed as separate backlog elements. This eliminates the cleanup work discussed in the Links chapter. That’s good.</p>
<p>But what you lose is the process of gradual refinement from the big epics to the stories that can be implemented in a sprint. That’s bad.</p>
<p>Luckily, there are practices that make it possible to do this refinement outside of the backlog. One way to identify themes is a use case diagram:</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/A9k8qh6lfEKpCj0aqpFMpxLiuE4igVNT5cua" alt="Image" width="600" height="400" loading="lazy"></p>
<p>The nice thing about such diagrams is that they show the “Big Picture” due to the high level of abstraction and the graphical representation. For that, a backlog is unsuitable.</p>
<p>The use case names later become themes in the backlog. But how do you get from the use cases to the stories? For this, Jeff Patton's Story Mapping is a good fit:</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/KrweoAjq2JO5T6ckmRnIY7DRq5pPCd3HlH3E" alt="Image" width="600" height="400" loading="lazy"></p>
<p>The top two lines of the example map show the use cases “Book flight” and “Manage profile” and their basic flow. Under the individual steps, the team hangs the alternatives: other processes, errors and so on. These yellow notes are called user tasks.</p>
<p>In Backlog Refinement, the team derives the stories from the user tasks. A task can serve as the title of the story. The team adds details like acceptance criteria to the stories.</p>
<h3 id="heading-the-consequences">The consequences</h3>
<p>Applying this alternative approach has consequences. For example, the Product Backlog will only contain stories for the next 1–2 sprints. So maybe 10–20 stories.</p>
<p>All activities like further prioritization, estimation and elaboration of the acceptance criteria only take place with these stories. As the 10th agile principle says:</p>
<blockquote>
<p>Simplicity — the art of maximizing the amount of work not done — is essential.</p>
</blockquote>
<p>If management wants to have insights into the progress of development, this is possible on three levels:</p>
<ul>
<li><strong>Use case diagrams or themes</strong> provide the long-term perspective for management. For 1 year, or even beyond. But: they are not suitable for specifying details.</li>
<li><strong>Story maps</strong> form the basis for release planning. Stakeholders interested in the release create the story map with team members. (Due to new findings, the scope may change during development.)</li>
<li>Those who want to have a deep insight and influence the details during development participate in <strong>Sprint Review</strong> and <strong>Backlog Refinement</strong>.</li>
</ul>
<p>Only at low altitude, we see the details. And the Product Backlog is basically like a shopping list. Would you write down what you want to buy in a year?</p>
<p>Last, but not least, the death of epics heralds the dying of consumerism. If you want something, you have to agree with the team and work closely together.</p>
<h3 id="heading-post-mortem">Post mortem</h3>
<p>In the discussion with colleagues, they pointed out that even after a dissolution of an epic, small stories can be added. That’s right, and for me it’s an acceptable solution. What is lost in this case, however, is the “Big Picture” that I have shown in the use case diagram.</p>
<p>Ultimately, the suitability of a product for users determines its success. Not how it was made. This applies to all development practices, including epics.<br>Maybe you have come up with a sensible way to deal with epics? </p>
<p><em>Learn how to <a target="_blank" href="https://skl.sh/2Edz9Zu">manage your Product Backlog effectively</a> by visiting my online course. This article was first published on <a target="_blank" href="https://blog.hood-group.com/blog/2019/01/02/epics-sind-tot/">HOOD Blog</a> in German.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ The Acceptance Criteria for Writing Acceptance Criteria ]]>
                </title>
                <description>
                    <![CDATA[ By Elijah Valenciano Many development teams are too familiar with the frustrations of unsatisfactory acceptance criteria or even the lack of criteria itself. Defining no requirements is like preparing for battle without a plan of action — the team ha... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/the-acceptance-criteria-for-writing-acceptance-criteria-6eae9d497814/</link>
                <guid isPermaLink="false">66c360a49539e75f2cc24a2d</guid>
                
                    <category>
                        <![CDATA[ agile ]]>
                    </category>
                
                    <category>
                        <![CDATA[ kanban ]]>
                    </category>
                
                    <category>
                        <![CDATA[ project management ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Scrum ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Sat, 06 Jan 2018 18:25:31 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*eRFNul714YcZ-LcdQARm2Q.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Elijah Valenciano</p>
<p>Many development teams are too familiar with the frustrations of unsatisfactory acceptance criteria or even the lack of criteria itself. Defining no requirements is like preparing for battle without a plan of action — the team has taken more steps toward failure than success. I offer specific suggestions in crafting acceptance criteria that can improve any agile process.</p>
<p>First, let’s quickly define acceptance criteria.</p>
<blockquote>
<p>Acceptance criteria are the “conditions that a software product must satisfy to be accepted by a user, customer or other stakeholders.” (Microsoft Press)</p>
</blockquote>
<p>Easy enough, right? Not quite. At this point, I would ask myself if this is where my definition of acceptance criteria stops. In addition to the definition above, any product owner should have answers ready for the following questions:</p>
<blockquote>
<p>What do these conditions look like? Who creates these conditions? How many conditions should there be? How are outcomes measured?</p>
</blockquote>
<p>Generally, acceptance criteria are initiated by the product owner or stakeholder. They are written prior to any development of the feature. Their role is to provide guidelines for a business or user-centered perspective.</p>
<p><strong>However, writing the criteria is not solely the responsibility of the product owner. Acceptance criteria should be developed as a joint effort between the development team and the product owner.</strong></p>
<p>Crafting these criteria together helps the development team understand the desire featured. It also helps the product owner catch missing details. Additionally, the owner gains a better understanding of feasibility, complexity, and scope.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/Hzk0Rmb3UArySx-mxJXWBxlajmYZiNQ9rTyr" alt="Image" width="600" height="400" loading="lazy">
_Image by [Maryna Z. &amp; Dmiriy G](https://rubygarage.org/blog/clear-acceptance-criteria-and-why-its-important" rel="noopener" target="<em>blank" title=").</em></p>
<h3 id="heading-formatting-acceptance-criteria">Formatting acceptance criteria</h3>
<p>Criteria can be written in a variety of formats. Most teams lean towards two specific types: <strong>rule-oriented</strong> or <strong>scenario-oriented</strong>.</p>
<p>Rule-oriented requirements are straight-forward. They list out observable outcomes. “Display statement balance upon successful authentication.”</p>
<p>On the other hand, scenario-oriented criteria tend to follow the “Given…When…Then…” template. This was derived from behavior-driven-development (BDD). This requirement outlines the expected observable result. This occurs <em>when</em> a particular action is executed <em>given</em> some context.</p>
<h3 id="heading-3-characteristics-of-effective-acceptance-criteria"><strong>3 characteristics of effective acceptance criteria</strong></h3>
<h4 id="heading-1-testable-with-clearly-defined-passfail-results"><strong>1. Testable with clearly defined pass/fail results</strong></h4>
<p>Have testable criteria. This allows testers to properly confirm that all of the desired conditions have been fulfilled. If criteria were not testable, then there would be no way for verification. These criteria should either be met or not met. A developer should know the point in which the criterion has been achieved. Any ambiguity may prolong effort on the story.</p>
<p>For example, an acceptance criterion states “increase the number of entries available in a drop-down menu”. The developer would have no idea how many new entries to add and may take the liberty to assume a number based on his experience with the product. Likewise, a manual tester may take the same liberty and assume a different definition of increase. This results in a confusion that will circle back to the product owner.</p>
<h4 id="heading-2-unambiguous-and-concise">2. Unambiguous and concise</h4>
<p>This is where writing acceptance criteria become an art. Academic essays stress the importance of clarity and succinctness. Similarly, writing acceptance criteria mandates the same level of organization and care.</p>
<p>Similar to writing a literary piece, the audience must be kept in mind. Those reading the acceptance criteria must understand what is written. Otherwise, those words are completely useless. If they are long-winded and filled with jargon, then the main points of the outlined conditions may not come across. Many people can overlook essential details in a sea of words when pressed for time. Even when not pressed for time, many people can easily gloss over long blurbs.</p>
<p>Instead of putting the blame on others’ lack of careful reading, one can proactively present acceptance criteria that are easy to read, straight to the point, and devoid of superfluous details.</p>
<h4 id="heading-3-establish-shared-understanding">3. Establish shared understanding</h4>
<p>This is probably the most important characteristic and the one most taken for granted. If all the members of the team are not on the same page, then process and productivity become jeopardized. Having the development team review acceptance criteria before moving forward with the story minimizes confusion. Clarifications should be made about the criteria, and the criteria should be updated accordingly.</p>
<p>I’ve had experiences where all team members have been part of writing acceptance criteria. It allowed everyone to understand all parts of the story. It also provided opportunities for team members to chime in with questions and ideas. However, such a process might not always be ideal, especially for larger teams.</p>
<p>Nevertheless, it is important that each member can read the acceptance criteria. From there each member should gain an understanding of how to bring the story into completion. Regardless of whether it be in development or testing.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/-ZwiZDhnjvum-WpwyTy2etTL1X1OY2zbOWPm" alt="Image" width="600" height="400" loading="lazy"></p>
<h3 id="heading-when-too-much-is-an-issue"><strong>When too much is an issue</strong></h3>
<p>We’ve already explored the danger of unclear acceptance criteria. This results in the risk of introducing extraneous features into a story. However, the surprising opposite case can also exist: acceptance criteria may become too detailed.</p>
<blockquote>
<p><strong>“Acceptance Criteria should state intent, not a solution” (</strong>Segue Technologies<strong>)</strong></p>
</blockquote>
<p>Provide a blueprint of “what” (intention) instead of “how” (implementation). Otherwise, the development team may be robbed of the opportunity to explore different ways to solve the problem. On those lines, better implementations may be thought up after the initial thoughts on a solution.</p>
<p><strong>Once you’ve written your acceptance criteria, you may ask yourself, “How many is too many?”</strong><br>I’ve seen stories that range from zero acceptance criteria to more than fifteen (or at least it felt like that).</p>
<p>As a rule of thumb, I personally like to see three to eight acceptance criteria per story. However, towards the upper end of that limit, around five or more acceptance criteria, I would check manageability. I would carefully check to see that the story couldn’t be broken up into smaller, more manageable stories.</p>
<p>Others would disagree and argue that eight would already be too many. However, I like to lean towards providing as much “what” detail as I can without sacrificing conciseness.</p>
<h3 id="heading-now-what"><strong>Now what?</strong></h3>
<p><strong>Ok, I lied.</strong> I did not provide an exhaustive list of acceptance criteria for writing acceptance criteria. The desired characteristics such as conciseness, clarity, and comprehension are subjective. I intended them to be.</p>
<p><strong>I believe that there is no “correct” format to writing acceptance criteria. Their correctness is measured by the effectiveness in one’s team.</strong></p>
<p>I highly recommend on initially using a template. They have provided many teams with a solid and safe structure that promotes good acceptance criteria writing. However, do not let that structure stop you from advancing into ideas that may promote efficiency and efficacy.</p>
<p>If you are a product owner or client writing acceptance criteria, I challenge you to ask your development team for feedback on the current acceptance criteria. With a bit of care, practice, and organization, crafting effective acceptance criteria becomes a powerful tool in improving the workflow of any team.</p>
<h3 id="heading-more-to-read">More to read</h3>
<ul>
<li><a target="_blank" href="https://rubygarage.org/blog/clear-acceptance-criteria-and-why-its-important">https://rubygarage.org/blog/clear-acceptance-criteria-and-why-its-important</a> — by Maryna Z. and Dmiriy G.</li>
<li><a target="_blank" href="https://www.leadingagile.com/2014/09/acceptance-criteria/">https://www.leadingagile.com/2014/09/acceptance-criteria/</a> by Steve Povilaitis</li>
<li><a target="_blank" href="https://www.seguetech.com/what-characteristics-make-good-agile-acceptance-criteria/">https://www.seguetech.com/what-characteristics-make-good-agile-acceptance-criteria/</a> by Segue Technologies</li>
<li><a target="_blank" href="http://agileforgrowth.com/blog/acceptance-criteria-checklist/">http://agileforgrowth.com/blog/acceptance-criteria-checklist/</a> — by Kamlesh Ravlani</li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
