<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.4">Jekyll</generator><link href="https://www.3protocols.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://www.3protocols.com/" rel="alternate" type="text/html" /><updated>2025-01-20T21:14:48-05:00</updated><id>https://www.3protocols.com/feed.xml</id><title type="html">3Protocols LLC</title><subtitle>3Protocols LLC builds and sells software products which seek to bring incredible value to customers and users..</subtitle><entry><title type="html">How to Prioritize Product Deliverables and Identify Great Ideas</title><link href="https://www.3protocols.com/software-development/2025/01/20/how-to-prioritize-product-deliverables-and-identify-great-ideas.html" rel="alternate" type="text/html" title="How to Prioritize Product Deliverables and Identify Great Ideas" /><published>2025-01-20T00:00:00-05:00</published><updated>2025-01-20T00:00:00-05:00</updated><id>https://www.3protocols.com/software-development/2025/01/20/how-to-prioritize-product-deliverables-and-identify-great-ideas</id><content type="html" xml:base="https://www.3protocols.com/software-development/2025/01/20/how-to-prioritize-product-deliverables-and-identify-great-ideas.html"><![CDATA[<h2 id="tldr">TL;DR</h2>
<p>Differentiating great product features from the merely good doesn’t require invention of new frameworks, lucky guesses, or divine intervention. It <em>does</em> require standardization and consistent application of a method for identifying the value of any given <em>thing</em>, so that you can confidently say “Yes!” to the great ideas, while deferring less valuable ideas and eliminating others which may be distractions.</p>

<p>3Protocols prefers the <a href="https://www.productplan.com/glossary/rice-scoring-model/">RICE Framework</a> for prioritizing product deliverables because it is simple, repeatable, scalable, and objective.</p>

<h2 id="the-problem">The Problem</h2>
<p>Your product has bugs, a backlog of feature enhancement requests, technical debt to pay off, you had a great <em>shower thought</em> this morning. Then, an RFP from a potential enterprise customer has just landed on your desk – did it identify product gaps? You bet it did.</p>

<p>Let’s learn about a method for filtering all of this input so that you can confidently say “Yes!” to the great ideas, while deferring less valuable ideas and eliminating others which may be distractions.</p>

<p>Choosing the right method for determining what does and does not go onto your product roadmap doesn’t require invention of new methods of thinking. But that thinking does need to be consistent, objective, and repeatable.</p>

<h2 id="solving-the-problem-with-the-rice-framework-for-product-prioritization">Solving the Problem with the RICE Framework for Product Prioritization</h2>

<p>The <strong><a href="https://www.productplan.com/glossary/rice-scoring-model/">RICE Framework</a></strong> requires us to rank the following characteristics of each potential product deliverable: <em>Reach</em>, <em>Impact</em>, <em>Confidence</em>, and <em>Effort</em>. Once you’ve assessed each of these factors, you apply a formula to produce a quantifiable <strong>RICE Score</strong>.</p>

<p>RICE offers a simple and repeatable method prioritzing potential product deliverables. In order to achieve this though, the team must agree on how each category is scored.</p>

<ul>
  <li><strong>Reach</strong> - How many customers or users will be impacted by this deliverable? (e.g. 1, 10, 10,000, etc.)</li>
  <li><strong>Impact</strong> - To what degree will this deliverable impact a higher-level goal, such as <strong>Increase conversion rate</strong>, <strong>Improve Net Promotor Score®</strong>, <strong>Expand to new markets</strong>, or <strong>Win enterprise customers</strong>? Your goals may vary, but they ought to be measurable and understandable. (e.g. 3x, 2x, 1x, 0.5x, 0.25x)</li>
  <li><strong>Confidence</strong> - How confident are we about our assessment of this deliverable’s Reach and Impact? Scored as a percentage (100%, 90%, 80%, etc.)</li>
  <li><strong>Effort</strong> - How much effort will it take to implement the feature, typically measured in <em>person-months</em>. This is not intended to be a precise measurement. A ballpark figure is sufficient.</li>
</ul>

<p>The formula for RICE is:</p>

<blockquote>

  <p>RICE Score = (Reach x Impact x Confidence) / Effort</p>

</blockquote>

<p>Consider the following example for a product that is undergoing a redesign, wants to expand to enterprise customers, but requires existing customers to remain happy, so that they’ll refer new customers.</p>

<table>
  <thead>
    <tr>
      <th>Deliverable</th>
      <th>Reach</th>
      <th>Impact</th>
      <th>Confidence</th>
      <th>Effort</th>
      <th>RICE Score</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Redesign Login Screen</td>
      <td>1500</td>
      <td>1x</td>
      <td>90%</td>
      <td>3</td>
      <td>450</td>
    </tr>
    <tr>
      <td>Fix Dashboard Filtering Bug</td>
      <td>800</td>
      <td>2x</td>
      <td>80%</td>
      <td>2</td>
      <td>640</td>
    </tr>
    <tr>
      <td>Add New Enterprise Feature</td>
      <td>1,000</td>
      <td>2x</td>
      <td>70%</td>
      <td>10</td>
      <td>140</td>
    </tr>
    <tr>
      <td>Add the Whimsical Shower Thought</td>
      <td>1500</td>
      <td>0.25x</td>
      <td>50%</td>
      <td>5</td>
      <td>67.5</td>
    </tr>
  </tbody>
</table>

<p>Evaluating each of the RICE Scores helps us objectively prioritize stability of existing features that customers use (that’s a strong “Yes!”). After that, we’ll finish the redesign work that we’ve started. Only after that will we add new features that an enterprise customer added that we <em>think</em> may be beneficial to other customers. Our <em>Whimsical Shower Thought</em> that we <em>think</em> might impact every one of our customers, turns out to be a distraction.</p>

<p>When prioritization of your potential product deliverables is based on objective analysis rather than personal intuition, you can confidently say “No” to poor ideas or distractions while more clearly communicating to customers and stakeholders  the value in what you’ve built and what you’re going to build.</p>]]></content><author><name>Matt Becker</name></author><category term="software-development" /><summary type="html"><![CDATA[Differentiating great product features from the merely good doesn't require invention of new frameworks, lucky guesses, or divine intervention. It _does_ require standardization and consistent application of a method for identifying the value of any given _thing_, so that you can confidently say "Yes!" to the great ideas, while deferring less valuable ideas and eliminating others which may be distractions.]]></summary></entry><entry><title type="html">Relaunching the 3Protocols Site</title><link href="https://www.3protocols.com/3protocols-products/2025/01/19/relaunching-the-3protocols-site.html" rel="alternate" type="text/html" title="Relaunching the 3Protocols Site" /><published>2025-01-19T00:00:00-05:00</published><updated>2025-01-19T00:00:00-05:00</updated><id>https://www.3protocols.com/3protocols-products/2025/01/19/relaunching-the-3protocols-site</id><content type="html" xml:base="https://www.3protocols.com/3protocols-products/2025/01/19/relaunching-the-3protocols-site.html"><![CDATA[<h2 id="tldr">TL;DR</h2>

<p>Relaunching and extending the scope of the 3Protocols site to include a blog required thoughtful consideration of scope, requirements, and available technologies.</p>

<ul>
  <li>I carefully considered the site’s requirements; namely that it must be easy to maintain, SEO friendly, and highly affordable to run.</li>
  <li>As a web developer who prefers and specializes in Ruby, I chose to build the site using the Static Site Generator <a href="https://jekyllrb.com/">Jekyll</a> ; this allows me to focus on writing using <a href="https://www.markdownguide.org/basic-syntax/">Markdown</a> and avoid being distracted by HTML and CSS.</li>
  <li>I chose AWS S3 and CloudFront for hosting the site; this allows me to easily deploy the site and cache it for fast delivery.</li>
</ul>

<h2 id="the-task-at-hand">The Task at Hand</h2>
<p>For every software developer maintains a website and blog, I’m sure 90% of them have also made reference to the old saying:</p>

<blockquote>

  <p>The cobbler always wears the worst shoes</p>

</blockquote>

<p>… Or maybe it was:</p>

<blockquote>

  <p>The cobbler’s children have no shoes</p>

</blockquote>

<p>Whatever of these you prefer, the point is that many software developers don’t find the time to build their own website or blog because their efforts are reserved for solving problems for their clients or users. Yet, sharing my perspective about pragmatic product development is important to me. So, I proceded, but not without some requirements.</p>

<h3 id="3protocols-site-requirements">3Protocols Site Requirements</h3>
<ul>
  <li>The site must not be a technical distraction after launch and must be easy to maintain</li>
  <li>The site must bias towards allowing me to focus on writing and publishing <strong>content</strong>, not HTML and CSS</li>
  <li>The site must be very SEO friendly and cacheable by a CDN</li>
  <li>The site must be highly affordable to run</li>
</ul>

<h3 id="the-solution">The Solution</h3>

<p>There’s a rich ecosystem of <a href="https://en.wikipedia.org/wiki/Static_site_generator">static site generators</a> (SSGs)that are built on top of Ruby, Python, Javascript, Go, and myriad other languages. The core value proposition of SSGs is that they require no server-side processing (pages load very fast), are very secure (no server-side code to be exploited), and are very easy to deploy. <strong>As a developer who specializes in Ruby, my choice of SSG was <a href="https://jekyllrb.com/">Jekyll</a>.</strong></p>

<p>Jekyll lets me write the site and post content in Markdown, create a deployable site with a single command, and then upload the contents of the site to an <a href="https://aws.amazon.com/s3/">AWS S3 bucket</a> – which was infrastructure I was already using to host the previous version of the site. From there, I use <a href="https://aws.amazon.com/cloudfront/">CloudFront</a> to cache and distribute those static files.</p>

<h3 id="which-solutions-missed-the-cut">Which solutions missed the cut?</h3>

<ul>
  <li><strong><a href="https://wordpress.org/">Wordpress</a></strong> – I’ve used Wordpress in the past and while it might be great for some usecases, mine was not one of them. Wordpress frankly offers too much functionality for my needs and requires more infrastructure to run than I’m willing to maintain.</li>
  <li><strong>A custom-built <a href="https://rubyonrails.org/">Ruby on Rails</a> blog</strong> – I could have fine-tuned a site and blog to my needs, but in this classic “build vs buy” scenario, I choose to “buy” or utilize tools that are already proven to work.</li>
  <li><strong>Static site generators built on other languages</strong> – I am comfortable with my current toolbox of langauges (Ruby, HTML, CSS, Javascript) and learning new ones would have ballooned the scope of the project.</li>
  <li><strong>Hosting my site on GitHub Pages</strong> – This aligned with my selection of Jekyll and it’s a great choice for many software developers and teams. This likely would hacve been my choice if I didn’t already have my existing AWS infrastructure in place.</li>
</ul>

<h3 id="future-improvements">Future Improvements</h3>
<ul>
  <li>To make editing even easier, I’ll be looking to fully automate deployment of updates to S3 without manually syncing.</li>
  <li>I’ll continue to refine the design and layout of the site.</li>
</ul>

<h2 id="a-summary-of-technologies-used-by-this-site">A summary of technologies used by this site</h2>
<ul>
  <li><a href="https://jekyllrb.com/">Jekyll</a> - Static site generator</li>
  <li><a href="https://www.ruby-lang.org/">Ruby</a>, <a href="https://sass-lang.com/">SCSS</a> and good old fashioned HTML</li>
  <li><a href="https://aws.amazon.com/s3/">S3</a> - For hosting the static files</li>
  <li><a href="https://aws.amazon.com/cloudfront/">CloudFront</a> - For caching and distribution of the static files</li>
  <li><a href="https://www.cloudflare.com/">Cloudfare</a> - For DNS</li>
</ul>]]></content><author><name>Matt Becker</name></author><category term="3protocols-products" /><summary type="html"><![CDATA[Relaunching and extending the scope of the 3Protocols site to include a blog required thoughtful consideration of scope, requirements, and available technologies. I chose the Static Site Generator Jekyll, hosting using AWS S3 and CloudFront, and have plans for automating deployment to S3 in the future.]]></summary></entry></feed>