<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Paderich</title>
    <description>The latest articles on Forem by Paderich (@paderich).</description>
    <link>https://forem.com/paderich</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1103649%2F8da89cc1-471c-4fdd-add7-46b186c700f8.png</url>
      <title>Forem: Paderich</title>
      <link>https://forem.com/paderich</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/paderich"/>
    <language>en</language>
    <item>
      <title>From Chaos to Clarity: Fundamentals and Best Practices for an Effective Backlog</title>
      <dc:creator>Paderich</dc:creator>
      <pubDate>Tue, 27 Jun 2023 13:00:40 +0000</pubDate>
      <link>https://forem.com/paderich/from-chaos-to-clarity-fundamentals-and-best-practices-for-an-effective-backlog-4340</link>
      <guid>https://forem.com/paderich/from-chaos-to-clarity-fundamentals-and-best-practices-for-an-effective-backlog-4340</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;Over the past few years, I've had the opportunity to inspect numerous backlogs. Based on these experiences I was able to create a short list of rules on how to handle the backlog in a more effective way. My personal goal was to replace a bit of the everyday chaos with more clarity and aiding Product Owners in maximizing the value of their products.&lt;/p&gt;

&lt;h1&gt;
  
  
  Fundamentals
&lt;/h1&gt;

&lt;p&gt;What is a Backlog? Based on the Scrum Guide, a Backlog is an emergent, ordered list of what is needed to improve the product. It is the single source of work undertaken by the Scrum Team.¹&lt;/p&gt;

&lt;p&gt;In short, a backlog is an ordered list of todos, prioritized to ensure the most valuable items are tackled first, thereby creating a clear pathway towards the product goal and value realization.&lt;/p&gt;

&lt;p&gt;That said, by definition, a backlog is a prioritized list that should be constantly revisited and revised by the Product Owner. This continuous refinement ensures the development of a product that aligns with the envisioned goals. Moreover, the backlog serves as a value-maximizing stream, always mirroring stakeholder needs in relation to the anticipated return on investment.&lt;/p&gt;

&lt;h1&gt;
  
  
  Backlog Safari
&lt;/h1&gt;

&lt;p&gt;Now, for the amusing part. I'd like to share with you some of the most interesting backlog approaches that I've encountered in the wild world of Agile.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Backlog backlog
&lt;/h2&gt;

&lt;p&gt;I once had a gig where the Product Owner established shadow backlogs to organize his stories, and therefore, his own thinking process. He didn't just have one backlog; he had four of them, each with a prioritization marker on it. For instance, "Backlog 1 - High", "Backlog 2 - Low", and the most interesting one, "Backlog 3 - Not Relevant". In the end, the Product Owner had multiple backlogs to manage but was still unable to make the right decisions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Support prioritization of Backlogs
&lt;/h2&gt;

&lt;p&gt;What are you going to do if you are unable to prioritize your backlog? Right, you implement things such as tags and custom fields! Back in the day, there were two Scrum Teams, both working with one product backlog. To manage the team separation, they created placeholder user stories like "Team A Backlog Start" and "Team A Backlog End". All of Team A's topics were placed between these dividers. That was the first attempt to manage the backlog. After that, they established a new custom field called "Priority" and created a classification from "4 - very low" up to "1 - very high". But they didn't stop there, they also implemented tags for each team and a tag to indicate if it was a backend or frontend topic.&lt;/p&gt;

&lt;p&gt;At this point, there's not much more to say. It was simply the most ineffective approach I've ever encountered.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Pit
&lt;/h2&gt;

&lt;p&gt;On the other hand, the 'pit' is a fairly common mistake. The Product Owner attempts to keep everything and throws it into this large pit known as the backlog. Each planning session turns into a disaster, with the Product Owner constantly trying to remember what the next thing to tackle is.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Estimation Monster
&lt;/h2&gt;

&lt;p&gt;The 'estimation monster' often arrives hand in hand with the pitfall of over-planning. It's not just that you have 100+ tasks in your backlog; each task carries an estimate as well. Some of these estimates are months old, leading to the development team's frustration as each sprint fails to reach completion.&lt;/p&gt;

&lt;h2&gt;
  
  
  The wholly plan
&lt;/h2&gt;

&lt;p&gt;The 'whole plan' is a common mistake too. The idea is to plan the entire application upfront, fill the backlog with hundreds of items, and then lean back and let the other people do their job. Hmm, this reminds me of the good old waterfall days, where each and every project was successful thriving this approach.&lt;/p&gt;

&lt;h1&gt;
  
  
  Best Practice
&lt;/h1&gt;

&lt;p&gt;So, what have I learned from my foray into the agile wilderness? My experiences can be distilled into a few, but highly effective rules:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Aim to populate your backlog with items that cover a time span of, at most, three sprints.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Prioritize your backlog on a regular basis and make use of techniques like backlog grooming.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Only estimate the tasks you intend to tackle in the upcoming sprint.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Always keep tabs on the needs of customers and stakeholders, and consider the Return on Investment (ROI).&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;To sum up this blog post, I want to emphasize: Please take care of your backlog. There should be one backlog for one product, nothing more. The established methods to prioritize and order your backlog items are effective, and very often, you don't need anything else. If you recognize any of the backlog pitfalls mentioned in this post within your team, don't hesitate to call them out and assist your Product Owner in maintaining an excellent experience.&lt;/p&gt;

&lt;p&gt;Source:&lt;br&gt;
¹ &lt;a href="https://scrumguides.org/scrum-guide.html#product-backlog"&gt;https://scrumguides.org/scrum-guide.html#product-backlog&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>agile</category>
      <category>development</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Writing Effective User Stories: 5 Essential Rules</title>
      <dc:creator>Paderich</dc:creator>
      <pubDate>Sun, 18 Jun 2023 13:24:03 +0000</pubDate>
      <link>https://forem.com/paderich/user-stories-42a5</link>
      <guid>https://forem.com/paderich/user-stories-42a5</guid>
      <description>&lt;h2&gt;
  
  
  Intro
&lt;/h2&gt;

&lt;p&gt;As far as I know, there are at least a million ways to write User Stories, and that sucks. Some of them are good approaches and some are just crap, more like full-blown specifications from the old days. In the past 10 years, the way I write User Stories has evolved from the Stone Age to a more modern century. I guess it’s like real life, everything evolves and it will always be somewhat wrong in retrospect.&lt;/p&gt;

&lt;p&gt;Anyways, I’d like to share some ideas on how I write User Stories today.&lt;/p&gt;

&lt;h2&gt;
  
  
  Boundaries
&lt;/h2&gt;

&lt;p&gt;From my point of view, a User Story delivers value and to be specific, one User Story delivers one user value. I’ve read so many Stories where it goes like this: "As a PO I want to bla bla and bla bla bla and after that foo foo foo, so that x, y, z." Well, there are a lot of issues with this example. First of all, what kind of User is the PO in this Story? Maybe they are developing a Scrum Tool, which in this special case would make sense. Otherwise, it's just one lazy Product Owner. The second issue with this Story is the concatenation of user values. It seems to be one Story, but by using conjunctions, this tiny little Story swells to a bigger picture, maybe a Feature or even an Epic.&lt;/p&gt;

&lt;p&gt;So, to be more specific, I try to follow these rules when writing User Stories:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;One Story, one User Value&lt;/li&gt;
&lt;li&gt;Try to follow the "As a [Role] I want to [Function], so that [Goal]"-Template&lt;/li&gt;
&lt;li&gt;Always define User Roles, like "Administrator" or "Customer" and so on&lt;/li&gt;
&lt;li&gt;Try to specify Personas based on your User Roles, to be even better in describing your User Value&lt;/li&gt;
&lt;li&gt;Always make your User Story testable from a user's perspective.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Deep Dive
&lt;/h2&gt;

&lt;p&gt;Let’s have look at my list of rules and what I mean by that. &lt;/p&gt;

&lt;h3&gt;
  
  
  One Story, one User Value
&lt;/h3&gt;

&lt;p&gt;It’s super important to write a User Story which tries to generate just one User Value and not a list of values. Why is it important? Well, one value is much more easily testable in the end. Also, one value is, if necessary, easier to break down into development tasks. Another positive side effect is that one value can be delivered much faster.&lt;/p&gt;

&lt;h3&gt;
  
  
  Try to follow the User Story-Template
&lt;/h3&gt;

&lt;p&gt;Back in the old days, when User Stories first came up, a story consisted of a simple card. On the front was written something like "A company can pay for a job posting with a credit card" and nothing else. At the back of this card, you could find some tests to make sure your User Story delivers exactly what you want. You may ask, what is wrong with this approach? In short: nothing. But, User Stories are much broader in use now, and many more people are making use of it, even if they have no experience with it. To prevent people from writing a novel instead of a User Story, the User Story template has been invented. It helps to nail your expected goal down to just one value. And if your goal does not fit into one value, well then you have to write more than one User Story.&lt;/p&gt;

&lt;h3&gt;
  
  
  User Roles
&lt;/h3&gt;

&lt;p&gt;A User Role is someone who is using your application. For example, if you want to create an online book shop, you have at least 3 roles:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Customer&lt;/li&gt;
&lt;li&gt;The Seller&lt;/li&gt;
&lt;li&gt;Page Administrator&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Based on these roles, you can write better User Stories to deliver specific value to them.&lt;/p&gt;

&lt;h3&gt;
  
  
  Personas
&lt;/h3&gt;

&lt;p&gt;In addition to Roles, you can develop Personas. Personas provide a more in-depth look into a User Role. For example, a Persona for "Customer" could be "Susan the Customer".&lt;/p&gt;

&lt;p&gt;Susan the Customer&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Demographics:

&lt;ul&gt;
&lt;li&gt;Age: 23&lt;/li&gt;
&lt;li&gt;Interests: Volleyball, Finance, Dogs&lt;/li&gt;
&lt;li&gt;Digital native&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Background: Susan is an Accountant and wants to teach herself to get better in her job.&lt;/li&gt;
&lt;li&gt;Goal: An easy way to search and buy business books&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You see, based on this Persona, you can create a User Story which provides much more value to your user base.&lt;/p&gt;

&lt;h3&gt;
  
  
  Testability
&lt;/h3&gt;

&lt;p&gt;In order to create a User Value, you have to make sure that you deliver the right thing. To ensure this, you have to test your User Story. There are a lot of ways to test a User Story, and it doesn't start at the end of the implementation. An experienced development team will test their implementation with each commit to make sure nothing breaks. Also, an experienced team will always try to reflect the User Value and consult the Product Owner to ensure they are doing the right thing.&lt;br&gt;
Another significant point when it comes to testability is to test the User Story from a user's perspective. A user will never test if property "Age" is persisted in your database. A user wants to add their age via an input field, refresh the page, and still see their age.&lt;br&gt;
You see, there are several layers of testing within a User Story:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unit Test&lt;/li&gt;
&lt;li&gt;Integration Test&lt;/li&gt;
&lt;li&gt;System Test&lt;/li&gt;
&lt;li&gt;User Acceptance Test&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A good development team is able to deliver all testing stages for each User Story in one iteration. But the overall goal for a User Story is to verify that the user value, which is described, is delivered correctly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;I hope my point of view was helpful and you can see why I think there are a lot of bad User Stories out there. My goal was to deliver a quick guide on how to write good User Stories, simply by sharing my list of rules.&lt;/p&gt;

</description>
      <category>agile</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>development</category>
    </item>
  </channel>
</rss>
