1<!DOCTYPE html><html lang="en"><head><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/><link rel="stylesheet" type="text/css" href="/nprogress.css"/><link rel="apple-touch-icon" sizes="180x180" href="/favicon/Logo_plain_black no background.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon/Logo_plain_black no background.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon/Logo_plain_black no background.png"/><link rel="manifest" href="/favicon/site.webmanifest"/><link rel="mask-icon" href="/favicon/Logo_plain_black no background.png" color="#000000"/><link rel="shortcut icon" href="/favicon/Logo_plain_black no background.png"/><meta name="msapplication-TileColor" content="#000000"/><meta name="msapplication-config" content="/favicon/browserconfig.xml"/><meta name="theme-color" content="#000"/><link rel="alternate" type="application/rss+xml" href="/feed.xml"/><meta name="description" content="PM toolbox. Find all the tools great product managers use."/><title>Magic Estimation</title><meta property="og:image" content="https://images.ctfassets.net/pjgxqv8emygm/6mxhcFaJa5Iy2J7GIb9Xzd/e2c58deda0339788122830395fcbc3ef/pexels-tobias-bj__rkli-2715004.jpg"/><meta name="next-head-count" content="16"/><link rel="preload" href="/_next/static/css/cb74e41aeeeb8d05afe2.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cb74e41aeeeb8d05afe2.css" data-n-g=""/><link rel="preload" href="/_next/static/css/0a076ce56610909f578f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/0a076ce56610909f578f.css" data-n-p=""/><noscript data-n-css=""></noscript><link rel="preload" href="/_next/static/chunks/main-3f0f4d3fb4e1584a29bb.js" as="script"/><link rel="preload" href="/_next/static/chunks/webpack-245f049e565ebf942e09.js" as="script"/><link rel="preload" href="/_next/static/chunks/framework.d2ae4074d0a54d95f68e.js" as="script"/><link rel="preload" href="/_next/static/chunks/commons.53b8d858b532f411e554.js" as="script"/><link rel="preload" href="/_next/static/chunks/8b8caf89649d16ed80f0146e745fd9bf06773bdf.6c7fd4c7dbb327940b5d.js" as="script"/><link rel="preload" href="/_next/static/chunks/pages/_app-ab2f3d1d6d30e57c0273.js" as="script"/><link rel="preload" href="/_next/static/chunks/1bfc9850.937af499be697709b9c0.js" as="script"/><link rel="preload" href="/_next/static/chunks/2c3b9bffc7150b37a7b3810dfcf1c0b0fac2bd18.8b29f51d6c78c1c1531f.js" as="script"/><link rel="preload" href="/_next/static/chunks/pages/posts/%5Bslug%5D-1e167039ce5c6c247e9b.js" as="script"/></head><body><div id="__next"><style data-emotion="css x87y6r">.css-x87y6r{border-bottom-color:#E2DDD5;border-width:1px;border-left:0;border-right:0;border-top:0;background:white;}</style><div class="css-x87y6r"><div class="container mx-auto px-3"><style data-emotion="css jk1vhi">.css-jk1vhi{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:72px;border-bottom:1px;}.css-jk1vhi py{base:2px;}.css-jk1vhi px{base:4px;}</style><div class="css-jk1vhi"><a class="mx-3 lg:text-xl" href="/">Product Toolbox</a><style data-emotion="css 17xejub">.css-17xejub{-webkit-flex:1;-ms-flex:1;flex:1;justify-self:stretch;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;}</style><div class="css-17xejub"></div><div class="css-17xejub"></div><a class="mx-3 lg:text-xl hover:underline" href="/about">About</a><a class="mx-3 lg:text-xl hover:underline" href="/contact">Contact</a></div></div></div><style data-emotion="css-global 1vlvquu">:root{--chakra-ring-offset:0px;--chakra-ring-color:rgba(66, 153, 225, 0.6);--chakra-ring-width:3px;--chakra-ring-inset:var(--chakra-empty, /*!*/ /*!*/);--chakra-ring-offset-shadow:var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset) var(--chakra-ring-offset-color, transparent);--chakra-ring-shadow:var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset)) var(--chakra-ring-color);--chakra-ring:var(--chakra-ring-offset-shadow),var(--chakra-ring-shadow),0 0 transparent;
1--chakra-transform-gpu:translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0) rotate(var(--chakra-rotate, 0)) scaleX(var(--chakra-scale-x, 1)) scaleY(var(--chakra-scale-y, 1)) skewX(var(--chakra-skew-x, 0)) skewY(var(--chakra-skew-y, 0));--chakra-transform:translateX(var(--chakra-translate-x, 0)) translateY(var(--chakra-translate-y, 0)) rotate(var(--chakra-rotate, 0)) scaleX(var(--chakra-scale-x, 1)) scaleY(var(--chakra-scale-y, 1)) skewX(var(--chakra-skew-x, 0)) skewY(var(--chakra-skew-y, 0));--chakra-space-x-reverse:0;--chakra-space-y-reverse:0;--chakra-colors-transparent:transparent;--chakra-colors-current:currentColor;--chakra-colors-black:#16161D;--chakra-colors-white:#FFFFFF;--chakra-colors-whiteAlpha-50:rgba(255, 255, 255, 0.04);--chakra-colors-whiteAlpha-100:rgba(255, 255, 255, 0.06);--chakra-colors-whiteAlpha-200:rgba(255, 255, 255, 0.08);--chakra-colors-whiteAlpha-300:rgba(255, 255, 255, 0.16);--chakra-colors-whiteAlpha-400:rgba(255, 255, 255, 0.24);--chakra-colors-whiteAlpha-500:rgba(255, 255, 255, 0.36);--chakra-colors-whiteAlpha-600:rgba(255, 255, 255, 0.48);--chakra-colors-whiteAlpha-700:rgba(255, 255, 255, 0.64);--chakra-colors-whiteAlpha-800:rgba(255, 255, 255, 0.80);--chakra-colors-whiteAlpha-900:rgba(255, 255, 255, 0.92);--chakra-colors-blackAlpha-50:rgba(0, 0, 0, 0.04);--chakra-colors-blackAlpha-100:rgba(0, 0, 0, 0.06);--chakra-colors-blackAlpha-200:rgba(0, 0, 0, 0.08);--chakra-colors-blackAlpha-300:rgba(0, 0, 0, 0.16);--chakra-colors-blackAlpha-400:rgba(0, 0, 0, 0.24);--chakra-colors-blackAlpha-500:rgba(0, 0, 0, 0.36);--chakra-colors-blackAlpha-600:rgba(0, 0, 0, 0.48);--chakra-colors-blackAlpha-700:rgba(0, 0, 0, 0.64);--chakra-colors-blackAlpha-800:rgba(0, 0, 0, 0.80);--chakra-colors-blackAlpha-900:rgba(0, 0, 0, 0.92);--chakra-colors-gray-50:#F7FAFC;--chakra-colors-gray-100:#EDF2F7;--chakra-colors-gray-200:#E2E8F0;--chakra-colors-gray-300:#CBD5E0;--chakra-colors-gray-400:#A0AEC0;--chakra-colors-gray-500:#718096;--chakra-colors-gray-600:#4A5568;--chakra-colors-gray-700:#2D3748;--chakra-colors-gray-800:#1A202C;--chakra-colors-gray-900:#171923;--chakra-colors-red-50:#FFF5F5;--chakra-colors-red-100:#FED7D7;--chakra-colors-red-200:#FEB2B2;--chakra-colors-red-300:#FC8181;--chakra-colors-red-400:#F56565;--chakra-colors-red-500:#E53E3E;--chakra-colors-red-600:#C53030;--chakra-colors-red-700:#9B2C2C;--chakra-colors-red-800:#822727;--chakra-colors-red-900:#63171B;--chakra-colors-orange-50:#FFFAF0;--chakra-colors-orange-100:#FEEBC8;--chakra-colors-orange-200:#FBD38D;--chakra-colors-orange-300:#F6AD55;--chakra-colors-orange-400:#ED8936;--chakra-colors-orange-500:#DD6B20;--chakra-colors-orange-600:#C05621;--chakra-colors-orange-700:#9C4221;--chakra-colors-orange-800:#7B341E;--chakra-colors-orange-900:#652B19;--chakra-colors-yellow-50:#FFFFF0;--chakra-colors-yellow-100:#FEFCBF;--chakra-colors-yellow-200:#FAF089;--chakra-colors-yellow-300:#F6E05E;--chakra-colors-yellow-400:#ECC94B;--chakra-colors-yellow-500:#D69E2E;--chakra-colors-yellow-600:#B7791F;--chakra-colors-yellow-700:#975A16;--chakra-colors-yellow-800:#744210;--chakra-colors-yellow-900:#5F370E;--chakra-colors-green-50:#F0FFF4;--chakra-colors-green-100:#C6F6D5;--chakra-colors-green-200:#9AE6B4;--chakra-colors-green-300:#68D391;
1--chakra-colors-green-400:#48BB78;--chakra-colors-green-500:#38A169;--chakra-colors-green-600:#2F855A;--chakra-colors-green-700:#276749;--chakra-colors-green-800:#22543D;--chakra-colors-green-900:#1C4532;--chakra-colors-teal-50:#E6FFFA;--chakra-colors-teal-100:#B2F5EA;--chakra-colors-teal-200:#81E6D9;--chakra-colors-teal-300:#4FD1C5;--chakra-colors-teal-400:#38B2AC;--chakra-colors-teal-500:#319795;--chakra-colors-teal-600:#2C7A7B;--chakra-colors-teal-700:#285E61;--chakra-colors-teal-800:#234E52;--chakra-colors-teal-900:#1D4044;--chakra-colors-blue-50:#ebf8ff;--chakra-colors-blue-100:#bee3f8;--chakra-colors-blue-200:#90cdf4;--chakra-colors-blue-300:#63b3ed;--chakra-colors-blue-400:#4299e1;--chakra-colors-blue-500:#3182ce;--chakra-colors-blue-600:#2b6cb0;--chakra-colors-blue-700:#2c5282;--chakra-colors-blue-800:#2a4365;--chakra-colors-blue-900:#1A365D;--chakra-colors-cyan-50:#EDFDFD;--chakra-colors-cyan-100:#C4F1F9;--chakra-colors-cyan-200:#9DECF9;--chakra-colors-cyan-300:#76E4F7;--chakra-colors-cyan-400:#0BC5EA;--chakra-colors-cyan-500:#00B5D8;--chakra-colors-cyan-600:#00A3C4;--chakra-colors-cyan-700:#0987A0;--chakra-colors-cyan-800:#086F83;--chakra-colors-cyan-900:#065666;--chakra-colors-purple-50:#FAF5FF;--chakra-colors-purple-100:#E9D8FD;--chakra-colors-purple-200:#D6BCFA;--chakra-colors-purple-300:#B794F4;--chakra-colors-purple-400:#9F7AEA;--chakra-colors-purple-500:#805AD5;--chakra-colors-purple-600:#6B46C1;--chakra-colors-purple-700:#553C9A;--chakra-colors-purple-800:#44337A;--chakra-colors-purple-900:#322659;--chakra-colors-pink-50:#FFF5F7;--chakra-colors-pink-100:#FED7E2;--chakra-colors-pink-200:#FBB6CE;--chakra-colors-pink-300:#F687B3;--chakra-colors-pink-400:#ED64A6;--chakra-colors-pink-500:#D53F8C;--chakra-colors-pink-600:#B83280;--chakra-colors-pink-700:#97266D;--chakra-colors-pink-800:#702459;--chakra-colors-pink-900:#521B41;--chakra-colors-linkedin-50:#E8F4F9;--chakra-colors-linkedin-100:#CFEDFB;--chakra-colors-linkedin-200:#9BDAF3;--chakra-colors-linkedin-300:#68C7EC;--chakra-colors-linkedin-400:#34B3E4;--chakra-colors-linkedin-500:#00A0DC;--chakra-colors-linkedin-600:#008CC9;--chakra-colors-linkedin-700:#0077B5;--chakra-colors-linkedin-800:#005E93;--chakra-colors-linkedin-900:#004471;--chakra-colors-facebook-50:#E8F4F9;--chakra-colors-facebook-100:#D9DEE9;--chakra-colors-facebook-200:#B7C2DA;--chakra-colors-facebook-300:#6482C0;--chakra-colors-facebook-400:#4267B2;--chakra-colors-facebook-500:#385898;--chakra-colors-facebook-600:#314E89;--chakra-colors-facebook-700:#29487D;--chakra-colors-facebook-800:#223B67;--chakra-colors-facebook-900:#1E355B;--chakra-colors-messenger-50:#D0E6FF;--chakra-colors-messenger-100:#B9DAFF;--chakra-colors-messenger-200:#A2CDFF;--chakra-colors-messenger-300:#7AB8FF;--chakra-colors-messenger-400:#2E90FF;--chakra-colors-messenger-500:#0078FF;--chakra-colors-messenger-600:#0063D1;--chakra-colors-messenger-700:#0052AC;--chakra-colors-messenger-800:#003C7E;--chakra-colors-messenger-900:#002C5C;--chakra-colors-whatsapp-50:#dffeec;--chakra-colors-whatsapp-100:#b9f5d0;--chakra-colors-whatsapp-200:#90edb3;--chakra-colors-whatsapp-300:#65e495;--chakra-colors-whatsapp-400:#3cdd78;--chakra-colors-whatsapp-500:#22c35e;--chakra-colors-whatsapp-600:#179848;--chakra-colors-whatsapp-700:#0c6c33;--chakra-colors-whatsapp-800:#01421c;--chakra-colors-whatsapp-900:#001803;--chakra-colors-twitter-50:#E5F4FD;--chakra-colors-twitter-100:#C8E9FB;--chakra-colors-twitter-200:#A8DCFA;--chakra-colors-twitter-300:#83CDF7;--chakra-colors-twitter-400:#57BBF5;--chakra-colors-twitter-500:#1DA1F2;--chakra-colors-twitter-600:#1A94DA;--chakra-colors-twitter-700:#1681BF;--chakra-colors-twitter-800:#136B9E;--chakra-colors-twitter-900:#0D4D71;--chakra-colors-telegram-50:#E3F2F9;--chakra-colors-telegram-100:#C5E4F3;--chakra-colors-telegram-200:#A2D4EC;--chakra-colors-telegram-300:#7AC1E4;--chakra-colors-telegram-400:#47A9DA;--chakra-colors-telegram-500:#0088CC;--chakra-colors-telegram-600:#007AB8;--chakra-colors-telegram-700:#006BA1;--chakra-colors-telegram-800:#005885;--chakra-colors-telegram-900:#003F5E;--chakra-colors-brown-100:#E2DDD5;--chakra-colors-brown-500:#8E877B;--chakra-borders-none:0;--chakra-borders-1px:1px solid;--chakra-borders-2px:2px solid;--chakra-borders-4px:4px solid;--chakra-borders-8px:8px solid;--chakra-fonts-heading:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--chakra-fonts-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--chakra-fonts-mono:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--chakra-fontSizes-xs:0.75rem;--chakra-fontSizes-sm:0.875rem;--chakra-fontSizes-md:1rem;--chakra-fontSizes-lg:1.125rem;--chakra-fontSizes-xl:1.25rem;--chakra-fontSizes-2xl:1.5rem;--chakra-fontSizes-3xl:1.875rem;--chakra-fontSizes-4xl:2.25rem;--chakra-fontSizes-5xl:3rem;--chakra-fontSizes-6xl:3.75rem;--chakra-fontSizes-7xl:4.5rem;--chakra-fontSizes-8xl:6rem;--chakra-fontSizes-9xl:8rem;--chakra-fontWeights-hairline:100;--chakra-fontWeights-thin:200;--chakra-fontWeights-light:300;--chakra-fontWeights-normal:400;--chakra-fontWeights-medium:500;--chakra-fontWeights-semibold:600;--chakra-fontWeights-bold:700;--chakra-fontWeights-extrabold:800;--chakra-fontWeights-black:900;--chakra-letterSpacings-tighter:-0.05em;
1--chakra-letterSpacings-tight:-0.025em;--chakra-letterSpacings-normal:0;--chakra-letterSpacings-wide:0.025em;--chakra-letterSpacings-wider:0.05em;--chakra-letterSpacings-widest:0.1em;--chakra-lineHeights-3:.75rem;--chakra-lineHeights-4:1rem;--chakra-lineHeights-5:1.25rem;--chakra-lineHeights-6:1.5rem;--chakra-lineHeights-7:1.75rem;--chakra-lineHeights-8:2rem;--chakra-lineHeights-9:2.25rem;--chakra-lineHeights-10:2.5rem;--chakra-lineHeights-normal:normal;--chakra-lineHeights-none:1;--chakra-lineHeights-shorter:1.25;--chakra-lineHeights-short:1.375;--chakra-lineHeights-base:1.5;--chakra-lineHeights-tall:1.625;--chakra-lineHeights-taller:2;--chakra-radii-none:0;--chakra-radii-sm:0.125rem;--chakra-radii-base:0.25rem;--chakra-radii-md:0.375rem;--chakra-radii-lg:0.5rem;--chakra-radii-xl:0.75rem;--chakra-radii-2xl:1rem;--chakra-radii-3xl:1.5rem;--chakra-radii-full:9999px;--chakra-space-0:0;--chakra-space-1:0.25rem;--chakra-space-2:0.5rem;--chakra-space-3:0.75rem;--chakra-space-4:1rem;--chakra-space-5:1.25rem;--chakra-space-6:1.5rem;--chakra-space-7:1.75rem;--chakra-space-8:2rem;--chakra-space-9:2.25rem;--chakra-space-10:2.5rem;--chakra-space-12:3rem;--chakra-space-14:3.5rem;--chakra-space-16:4rem;--chakra-space-20:5rem;--chakra-space-24:6rem;--chakra-space-28:7rem;--chakra-space-32:8rem;--chakra-space-36:9rem;--chakra-space-40:10rem;--chakra-space-44:11rem;--chakra-space-48:12rem;--chakra-space-52:13rem;--chakra-space-56:14rem;--chakra-space-60:15rem;--chakra-space-64:16rem;--chakra-space-72:18rem;--chakra-space-80:20rem;--chakra-space-96:24rem;--chakra-space-px:1px;--chakra-space-0\.5:0.125rem;--chakra-space-1\.5:0.375rem;--chakra-space-2\.5:0.625rem;--chakra-space-3\.5:0.875rem;--chakra-shadows-xs:0 0 0 1px rgba(0, 0, 0, 0.05);--chakra-shadows-sm:0 1px 2px 0 rgba(0, 0, 0, 0.05);--chakra-shadows-base:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);--chakra-shadows-md:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);--chakra-shadows-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);--chakra-shadows-xl:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);--chakra-shadows-2xl:0 25px 50px -12px rgba(0, 0, 0, 0.25);--chakra-shadows-outline:0 0 0 3px rgba(66, 153, 225, 0.6);--chakra-shadows-inner:inset 0 2px 4px 0 rgba(0,0,0,0.06);--chakra-shadows-none:none;--chakra-shadows-dark-lg:rgba(0, 0, 0, 0.1) 0px 0px 0px 1px,rgba(0, 0, 0, 0.2) 0px 5px 10px,rgba(0, 0, 0, 0.4) 0px 15px 40px;--chakra-sizes-0:0;--chakra-sizes-1:0.25rem;--chakra-sizes-2:0.5rem;--chakra-sizes-3:0.75rem;--chakra-sizes-4:1rem;--chakra-sizes-5:1.25rem;--chakra-sizes-6:1.5rem;--chakra-sizes-7:1.75rem;--chakra-sizes-8:2rem;--chakra-sizes-9:2.25rem;--chakra-sizes-10:2.5rem;--chakra-sizes-12:3rem;--chakra-sizes-14:3.5rem;--chakra-sizes-16:4rem;--chakra-sizes-20:5rem;--chakra-sizes-24:6rem;--chakra-sizes-28:7rem;--chakra-sizes-32:8rem;--chakra-sizes-36:9rem;--chakra-sizes-40:10rem;--chakra-sizes-44:11rem;--chakra-sizes-48:12rem;--chakra-sizes-52:13rem;--chakra-sizes-56:14rem;--chakra-sizes-60:15rem;--chakra-sizes-64:16rem;--chakra-sizes-72:18rem;--chakra-sizes-80:20rem;--chakra-sizes-96:24rem;--chakra-sizes-px:1px;--chakra-sizes-0\.5:0.125rem;--chakra-sizes-1\.5:0.375rem;--chakra-sizes-2\.5:0.625rem;--chakra-sizes-3\.5:0.875rem;--chakra-sizes-max:max-content;--chakra-sizes-min:min-content;--chakra-sizes-full:100%;--chakra-sizes-3xs:14rem;--chakra-sizes-2xs:16rem;--chakra-sizes-xs:20rem;--chakra-sizes-sm:24rem;--chakra-sizes-md:28rem;--chakra-sizes-lg:32rem;--chakra-sizes-xl:36rem;--chakra-sizes-2xl:42rem;--chakra-sizes-3xl:48rem;--chakra-sizes-4xl:56rem;--chakra-sizes-5xl:64rem;--chakra-sizes-6xl:72rem;--chakra-sizes-7xl:80rem;--chakra-sizes-8xl:90rem;--chakra-sizes-container-sm:640px;--chakra-sizes-container-md:768px;--chakra-sizes-container-lg:1024px;--chakra-sizes-container-xl:1280px;--chakra-zIndices-hide:-1;--chakra-zIndices-auto:auto;--chakra-zIndices-base:0;--chakra-zIndices-docked:10;--chakra-zIndices-dropdown:1000;--chakra-zIndices-sticky:1100;--chakra-zIndices-banner:1200;--chakra-zIndices-overlay:1300;--chakra-zIndices-modal:1400;--chakra-zIndices-popover:1500;--chakra-zIndices-skipLink:1600;--chakra-zIndices-toast:1700;--chakra-zIndices-tooltip:1800;--chakra-transition-property-common:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;--chakra-transition-property-colors:background-color,border-color,color,fill,stroke;--chakra-transition-property-dimensions:width,height;--chakra-transition-property-position:left,right,top,bottom;--chakra-transition-property-background:background-color,background-image,background-position;--chakra-transition-easing-ease-in:cubic-bezier(0.4, 0, 1, 1);--chakra-transition-easing-ease-out:cubic-bezier(0, 0, 0.2, 1);--chakra-transition-easing-ease-in-out:cubic-bezier(0.4, 0, 0.2, 1);--chakra-transition-duration-ultra-fast:50ms;--chakra-transition-duration-faster:100ms;--chakra-transition-duration-fast:150ms;--chakra-transition-duration-normal:200ms;--chakra-transition-duration-slow:300ms;--chakra-transition-duration-slower:400ms;--chakra-transition-duration-ultra-slow:500ms;}</style><style data-emotion="css-global 1syi0wy">html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;}body{position:relative;min-height:100%;font-feature-settings:'kern';}*,*::before,*::after{border-width:0;border-style:solid;box-sizing:border-box;}main{display:block;}hr{border-top-width:1px;box-sizing:content-box;height:0;overflow:visible;}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1em;}a{background-color:transparent;color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;}abbr[title]{border-bottom:none;-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration:underline dotted;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bold;}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-0.25em;}sup{top:-0.5em;}img{border-style:none;}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible;}button,select{text-transform:none;}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0;}fieldset{padding:0.35em 0.75em 0.625em;}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline;}textarea{overflow:auto;}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none!important;}input[type="number"]{-moz-appearance:textfield;}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none!important;}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}
1details{display:block;}summary{display:-webkit-box;display:-webkit-list-item;display:-ms-list-itembox;display:list-item;}template{display:none;}[hidden]{display:none!important;}body,blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0;}button{background:transparent;padding:0;}fieldset{margin:0;padding:0;}ol,ul{margin:0;padding:0;}textarea{resize:vertical;}button,[role="button"]{cursor:pointer;}button::-moz-focus-inner{border:0!important;}table{border-collapse:collapse;}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit;}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle;}img,video{max-width:100%;height:auto;}[data-js-focus-visible] :focus:not([data-focus-visible-added]){outline:none;box-shadow:none;}select::-ms-expand{display:none;}</style><style data-emotion="css-global 7f1r4j">body{font-family:var(--chakra-fonts-body);color:var(--chakra-colors-gray-800);background:var(--chakra-colors-white);-webkit-transition:background-color 0.2s;transition:background-color 0.2s;line-height:var(--chakra-lineHeights-base);}*::-webkit-input-placeholder{color:var(--chakra-colors-gray-400);}*::-moz-placeholder{color:var(--chakra-colors-gray-400);}*:-ms-input-placeholder{color:var(--chakra-colors-gray-400);}*::placeholder{color:var(--chakra-colors-gray-400);}*,*::before,::after{border-color:var(--chakra-colors-gray-200);word-wrap:break-word;}</style><div class="py-4"><div class="min-h-screen"><main><div class="container mx-auto px-3"><div class="max-w-2xl mx-auto pb-40"><article><h1 class="text-5xl tracking-tighter leading-tight md:leading-none mt-12 mb-4 text-center md:text-left">Magic Estimation</h1><style data-emotion="css 1y0bycm">.css-1y0bycm{margin-bottom:var(--chakra-space-6);}</style><div class="css-1y0bycm"><style data-emotion="css 1298b99">.css-1298b99{display:inline-block;white-space:nowrap;vertical-align:middle;-webkit-padding-start:var(--chakra-space-1);padding-inline-start:var(--chakra-space-1);-webkit-padding-end:var(--chakra-space-1);padding-inline-end:var(--chakra-space-1);text-transform:uppercase;font-size:var(--chakra-fontSizes-xs);border-radius:var(--chakra-radii-sm);font-weight:var(--chakra-fontWeights-bold);background:var(--chakra-colors-cyan-100);color:var(--chakra-colors-cyan-800);margin-right:var(--chakra-space-1);}</style><span class="chakra-badge css-1298b99">Delivery</span><style data-emotion="css 1kbg8x5">.css-1kbg8x5{display:inline-block;white-space:nowrap;vertical-align:middle;-webkit-padding-start:var(--chakra-space-1);padding-inline-start:var(--chakra-space-1);-webkit-padding-end:var(--chakra-space-1);padding-inline-end:var(--chakra-space-1);text-transform:uppercase;font-size:var(--chakra-fontSizes-xs);border-radius:var(--chakra-radii-sm);font-weight:var(--chakra-fontWeights-bold);background:var(--chakra-colors-whatsapp-100);color:var(--chakra-colors-whatsapp-800);margin-right:var(--chakra-space-1);}</style><span class="chakra-badge css-1kbg8x5">Prioritization</span><style data-emotion="css vcd9fn">.css-vcd9fn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;margin-top:var(--chakra-space-6);}.css-vcd9fn>*:not(style)~*:not(style){-webkit-margin-start:0.5rem;margin-inline-start:0.5rem;margin-top:var(--chakra-space-0);}</style><div class="chakra-stack css-vcd9fn"><style data-emotion="css fbk2xi">.css-fbk2xi{width:var(--chakra-sizes-3);height:var(--chakra-sizes-3);display:inline-block;line-height:1em;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;color:var(--chakra-colors-brown-500);}</style><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 512 512" focusable="false" class="chakra-icon css-fbk2xi" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm92.49,313h0l-20,25a16,16,0,0,1-22.49,2.5h0l-67-49.72a40,40,0,0,1-15-31.23V112a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V256l58,42.5A16,16,0,0,1,348.49,321Z"></path></svg><style data-emotion="css 1ansifn">.css-1ansifn{color:var(--chakra-colors-brown-500);font-size:var(--chakra-fontSizes-xs);}</style><p class="chakra-text css-1ansifn">5<!-- --> min</p><style data-emotion="css 1dfyjf3">.css-1dfyjf3{width:var(--chakra-sizes-4);height:var(--chakra-sizes-4);display:inline-block;line-height:1em;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;color:var(--chakra-colors-brown-500);}</style><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 640 512" focusable="false" class="chakra-icon css-1dfyjf3" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M192 256c61.9 0 112-50.1 112-112S253.9 32 192 32 80 82.1 80 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C51.6 288 0 339.6 0 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zM480 256c53 0 96-43 96-96s-43-96-96-96-96 43-96 96 43 96 96 96zm48 32h-3.8c-13.9 4.8-28.6 8-44.2 8s-30.3-3.2-44.2-8H432c-20.4 0-39.2 5.9-55.7 15.4 24.4 26.3 39.7 61.2 39.7 99.8v38.4c0 2.2-.5 4.3-.6 6.4H592c2
16.5 0 48-21.5 48-48 0-61.9-50.1-112-112-112z"></path></svg><p class="chakra-text css-1ansifn">4<!-- -->+</p></div></div><div class="markdown-styles_markdown__2nnyq"><img src="https://images.ctfassets.net/pjgxqv8emygm/6mxhcFaJa5Iy2J7GIb9Xzd/e2c58deda0339788122830395fcbc3ef/pexels-tobias-bj__rkli-2715004.jpg" alt="My image alt text"/><p>A neat and handy method to estimate or prioritize any new feature or product in the briefest of time, like magic.</p><p></p><hr/><p></p><p>You all know planning poker. Itâs the almost universal method to estimate complexity of a user story, technical task, sometimes even bug ticket. But particularly when starting off a completely new product or feature and donât know much of the implementation details yet, planning poker wonât help much. Yet, maybe you want to know which feature is roughly estimated at what effort to e.g. create project plans, roadmaps or prioritize. Here, Magic Estimation comes in to help.</p><h3>How to do it?</h3><p>This method can also be used after a User Story Mapping workshop with your team. Imagine during the User Story Mapping you already identified which features you want to build and maybe even already roughly scoped the first increment. Now, take the user stories which are supposed to get into the MVP from the map. In my experience, these probably roughly correspond to epics in size rather than actual user stories.</p><p>Invite 2â5 of your developers, maybe a designer and QA engineer for a whole afternoon (time is actually super dependend on the numbers of tickets youâve got to get estimated) and do this:</p><h4>What you need?</h4><ul><li><li><p>A wall onto which you may stick Post-It notes</p></li></li><li><li><p>Markers, probably glue strips</p></li></li><li><li><p>Post-Its with your features (maybe from your User Story Map)</p></li></li></ul><p></p><h3>Step 1âââPreparation</h3><p>First, take some of your sticky notes and note down the sequence of Fibonacci sequence on them: 1, 2, 3, 5, 8, 13, ⦠Put these on the top of the wall in equal distance to each other, mark each of them as a column. These will be used as complexity buckets, quite similar to planning poker. In case you are nostalgic and got an actual set of planning poker cards, just stick them to the wall.</p><img src="https://images.ctfassets.net/pjgxqv8emygm/3PS02qaJkeIYcStYWV73g4/5a8aad8f5670257d9138a7e35956b7bc/0_D30woDLLN7w_01zc.jpg" alt="My image alt text"/><p></p><p>Next, define what the scale is supposed to describe. In this example we choose effort or complexity. Define with your team how complexity points translate into time. For example, you define eight complexity points as corresponding to a two-week sprint. Five is then a one-week sprint, 13 equals two two-week sprints, etc.</p><h4>Optional: Use additional dimensions, such as relevance</h4><p>This method is super flexible. You do not have to use it to estimate complexity or effort. You can also use it to estimate relevance, urgency, influence or any other criteria. You can even combine multiple categories to estimate.</p><p>Instead of simply colums, define what other dimension you want to estimate and create a grid such as this one:</p><img src="https://images.ctfassets.net/pjgxqv8emygm/2cOdEgwVVZKazDGRgSirDI/9569621c94f774d51def57d8a9ab4f33/0_ZLbKJX0pmKIGyfxA.jpg" alt="My image alt text"/><p> 2</p><h3>Step 2 âStick the Post-Its</h3><p>Now itâs time to add the sticky notes. For this, there are two methods:</p><p>a) In case you got only a small number of Post-Its and participants, just one-by-one hand your teams the Post-It with the feature and ask them how long it might take. If they are of the same opinion, just stick it into the respective column. If not, let them talk it through. This is the closest thing you get to planning poker.</p><h4>Optional: Account for uncertainty</h4><p>Also ask for certainty. For example, if you got a Post-It which says âloginâ and your devs say this takes about a two-weeks sprint without testing and they are pretty certain about it, because theyâve already done that hundreds of times, mark it with a dot. If they are uncertain, mark it with two dots, if they have not clue at all, give it three dots. This might help you to adjust for variance in case youâre doing a project plan with it.</p><p>b) In case you got a large amount of features or participants, better do this: Give everyone 5 to 15 minutes, depending on how many Post-It notes youâve got. Let every participant in silence take a pile of sticky notes and let them put the notes onto the wall. Eac
2h participant only takes care of their own pile at this moment, not talking or noticing what the others are doing. For example, if they believe a certain feature is worth eight complexity points, then let them stick it into this column, independent of whether someone else might be of different opinion.</p><p></p><h3>Step 3âââRearrange</h3><p>Now, take a step back. Take some time, probably around 15-20 minutes, depending on number of Post-Its and participants, and let your team view and examine the otherâs estimates. </p><p>In case someone does not agree with an estimate, let them re-arrange it to a column into which they think it belongs. For example, someone disagrees with the estimate on a Post-It your colleague initially put into the âeight pointsâ column. Let them take this note and put it into the column they deem more fitting, say 13. This can be done multiple times with the same Post-It: For example, if now another participant does not agree with this corrected estimation of 13 either, let them re-arrange the Post-It again, even it is placed into the column it was initially put. Some Post-Its might even never really stop to roam around the wall. Just make sure that for each Post-It every participant can move it a maximum of one time.</p><p>As a moderator, your job is to mark each Post-It that moved, e.g. with a sticky dot, a heart, a lightning bolt or anything. In my experience, roughly 80% of sticky notes will stay where they were initially put and people tend to agree on them.</p><p>Make sure that each note got some attention and that no Post-It is overseen on which the group disagrees. If the focus remains with only a handful of items which continuously get moved around, as moderator try to put focus on the other items, because as soon as a Post-It has been moved around at least once and got marked as such, you will discuss about it in the next step anywaysâââno need to push it around all the time.</p><p> 3</p><h3>Step 4âââDiscuss</h3><p>Last, take the Post-Its which where marked as moving from the previous step and let the group discuss about why they came to different estimates here. Make sure that every voice is heard. Goal is to find consensus among the group as to where this ticket is supposed to end up. In case no consensus can be reached, as moderator encourage to be conservative with the estimations and let a Post-It which is on the fence end up rather on a higher estimate than on the lower. Experience shows that teams usually donât plan enough buffer anyways and unforseen circumstances will always mess up with your timeline.</p><p></p><p>Finally, you end up in front of a wall full of estimated, prioritized (,...) items, which you can continue to work with - magic, isn't it?</p><p></p><hr/><p></p><p>Got questions, ideas or remarks on this method? Join the conversation on </p><h4><u></u><a href="pm-tools-talk.slack.com"><u>Slack</u></a><u></u></h4><p></p></div></article></div></div></main></div></div><footer class="bg-accent-0 border-t border-accent-2"><div class="container mx-auto px-3"><div class="py-12 flex flex-col lg:flex-row items-center"><a class="text-xl lg:text-xl tracking-tighter leading-tight text-center lg:text-left mb-10 lg:mb-0 lg:pr-4 lg:w-1/2">Product Toolbox</a><div class="flex flex-col lg:flex-row justify-center items-center lg:pl-4 lg:w-1/2"></div><div class="flex flex-col lg:flex-row justify-center items-center lg:pl-4 lg:w-1/2"><a class="mx-3">Made with ð¤ in Berlin</a><a href="https://www.rank.health/imprint" class="mx-3 hover:underline hover:text-success">Imprint</a><a href="https://www.rank.health/data-privacy" class="mx-3 hover:underline hover:text-success">Data Privacy</a><a href="https://github.com/toolbox-rodeo/PMtoolbox" class="mx-3 hover:underline hover:text-success"><img src="/github.svg" alt="Github Logo" width="32"/></a></div></div></div></footer></div>
3<script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"preview":false,"post":{"slug":"magic-estimation","title":"Magic Estimation","coverImage":{"url":"https://images.ctfassets.net/pjgxqv8emygm/6mxhcFaJa5Iy2J7GIb9Xzd/e2c58deda0339788122830395fcbc3ef/pexels-tobias-bj__rkli-2715004.jpg"},"excerpt":"A neat and handy method to estimate or prioritize any new feature or product in the briefest of time, like magic.","content":{"json":{"data":{},"content":[{"data":{"target":{"sys":{"id":"6mxhcFaJa5Iy2J7GIb9Xzd","type":"Link","linkType":"Asset"}}},"content":[],"nodeType":"embedded-asset-block"},{"data":{},"content":[{"data":{},"marks":[],"value":"A neat and handy method to estimate or prioritize any new feature or product in the briefest of time, like magic.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[],"nodeType":"hr"},{"data":{},"content":[{"data":{},"marks":[],"value":"","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"You all know planning poker. Itâs the almost universal method to estimate complexity of a user story, technical task, sometimes even bug ticket. But particularly when starting off a completely new product or feature and donât know much of the implementation details yet, planning poker wonât help much. Yet, maybe you want to know which feature is roughly estimated at what effort to e.g. create project plans, roadmaps or prioritize. Here, Magic Estimation comes in to help.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"How to do it?","nodeType":"text"}],"nodeType":"heading-3"},{"data":{},"content":[{"data":{},"marks":[],"value":"This method can also be used after a User Story Mapping workshop with your team. Imagine during the User Story Mapping you already identified which features you want to build and maybe even already roughly scoped the first increment. Now, take the user stories which are supposed to get into the MVP from the map. In my experience, these probably roughly correspond to epics in size rather than actual user stories.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Invite 2â5 of your developers, maybe a designer and QA engineer for a whole afternoon (time is actually super dependend on the numbers of tickets youâve got to get estimated) and do this:","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"What you need?","nodeType":"text"}],"nodeType":"heading-4"},{"data":{},"content":[{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"A wall onto which you may stick Post-It notes","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"list-item"},{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"Markers, probably glue strips","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"list-item"},{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"Post-Its with your features (maybe from your User Story Map)","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"list-item"}],"nodeType":"unordered-list"},{"data":{},"content":[{"data":{},"marks":[],"value":"","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Step 1âââPreparation","nodeType":"text"}],"nodeType":"heading-3"},{"data":{},"content":[{"data":{},"marks":[],"value":"First, take some of your sticky notes and note down the sequence of Fibonacci sequence on them: 1, 2, 3, 5, 8, 13, ⦠Put these on the top of the wall in equal distance to each other, mark each of them as a column. These will be used as complexity buckets, quite similar to planning poker. In case you are nostalgic and got an actual set of planning poker cards, just stick them to the wall.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{"target":{"sys":{"id":"3PS02qaJkeIYcStYWV73g4","type":"Link","linkType":"Asset"}}},"content":[],"nodeType":"embedded-asset-block"},{"data":{},"content":[{"data":{},"marks":[],"value":"","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Next, define what the scale is supposed to describe. In this example we choose effort or complexity. Define with your team how complexity points translate into time. For example, you define eight complexity points as corresponding to a two-week sprint. Five is then a one-week sprint, 13 equals two two-week sprints, etc.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Optional: Use additional dimensions, such as relevance","nodeType":"text"}],"nodeType":"heading-4"},{"data":{},"content":[{"data":{},"marks":[],"value":"This method is super flexible. You do not have to use it to estimate complexity or effort. You can also use it to estimate relevance, urgency, influence or any other criteria. You can even combine multiple categories to estimate.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Instead of simply colums, define what other dimension you want to estimate and create a grid such as this one:","nodeType":"text"}],"nodeType":"paragraph"},{"data":{"target":{"sys":{"id":"2cOdEgwVVZKazDGRgSirDI","type":"Link","linkType":"Asset"}}},"content":[],"nodeType":"embedded-asset-block"},{"data":{},"content":[{"data":{},"marks":[],"value":"\n","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Step 2 âStick the Post-Its","nodeType":"text"}],"nodeType":"heading-3"},{"data":{},"content":[{"data":{},"marks":[],"value":"Now itâs time to add the sticky notes. For this, there are two methods:","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"a) In case you got only a small number of Post-Its and participants, just one-by-one hand your teams the Post-It with the feature and ask them how long it might take. If they are of the same opinion, just stick it into the respective column. If not, let them talk it through. This is the closest thing you get to planning poker.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Optional: Account for uncertainty","nodeType":"text"}],"nodeType":"heading-4"},{"data":{},"content":[{"data":{},"marks":[],"value":"Also ask for certainty. For example, if you got a Post-It which says âloginâ and your devs say this takes about a two-weeks sprint without testing and they are pretty certain about it, because theyâve already done that hundreds of times, mark it with a dot. If they are uncertain, mark it with two dots, if they have not clue at all, give it three dots. This might help you to adjust for variance in case youâre doing a project plan with it.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"b) In case you got a large amount of features or participants, better do this: Give everyone 5 to 15 minutes, depending on how many Post-It notes youâve got. Let every participant in silence take a pile of sticky notes and let them put the notes onto the wall. Eac
3h participant only takes care of their own pile at this moment, not talking or noticing what the others are doing. For example, if they believe a certain feature is worth eight complexity points, then let them stick it into this column, independent of whether someone else might be of different opinion.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Step 3âââRearrange","nodeType":"text"}],"nodeType":"heading-3"},{"data":{},"content":[{"data":{},"marks":[],"value":"Now, take a step back. Take some time, probably around 15-20 minutes, depending on number of Post-Its and participants, and let your team view and examine the otherâs estimates. ","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"In case someone does not agree with an estimate, let them re-arrange it to a column into which they think it belongs. For example, someone disagrees with the estimate on a Post-It your colleague initially put into the âeight pointsâ column. Let them take this note and put it into the column they deem more fitting, say 13. This can be done multiple times with the same Post-It: For example, if now another participant does not agree with this corrected estimation of 13 either, let them re-arrange the Post-It again, even it is placed into the column it was initially put. Some Post-Its might even never really stop to roam around the wall. Just make sure that for each Post-It every participant can move it a maximum of one time.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"As a moderator, your job is to mark each Post-It that moved, e.g. with a sticky dot, a heart, a lightning bolt or anything. In my experience, roughly 80% of sticky notes will stay where they were initially put and people tend to agree on them.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Make sure that each note got some attention and that no Post-It is overseen on which the group disagrees. If the focus remains with only a handful of items which continuously get moved around, as moderator try to put focus on the other items, because as soon as a Post-It has been moved around at least once and got marked as such, you will discuss about it in the next step anywaysâââno need to push it around all the time.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"\n","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Step 4âââDiscuss","nodeType":"text"}],"nodeType":"heading-3"},{"data":{},"content":[{"data":{},"marks":[],"value":"Last, take the Post-Its which where marked as moving from the previous step and let the group discuss about why they came to different estimates here. Make sure that every voice is heard. Goal is to find consensus among the group as to where this ticket is supposed to end up. In case no consensus can be reached, as moderator encourage to be conservative with the estimations and let a Post-It which is on the fence end up rather on a higher estimate than on the lower. Experience shows that teams usually donât plan enough buffer anyways and unforseen circumstances will always mess up with your timeline.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Finally, you end up in front of a wall full of estimated, prioritized (,...) items, which you can continue to work with - magic, isn't it?","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[],"nodeType":"hr"},{"data":{},"content":[{"data":{},"marks":[],"value":"","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Got questions, ideas or remarks on this method? Join the conversation on ","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[{"type":"underline"}],"value":"","nodeType":"text"},{"data":{"uri":"pm-tools-talk.slack.com"},"content":[{"data":{},"marks":[{"type":"underline"}],"value":"Slack","nodeType":"text"}],"nodeType":"hyperlink"},{"data":{},"marks":[{"type":"underline"}],"value":"","nodeType":"text"}],"nodeType":"heading-4"},{"data":{},"content":[{"data":{},"marks":[],"value":"","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"},"links":{"assets":{"block":[{"sys":{"id":"6mxhcFaJa5Iy2J7GIb9Xzd"},"title":"pexels-tobias-bjørkli-2715004","url":"https://images.ctfassets.net/pjgxqv8emygm/6mxhcFaJa5Iy2J7GIb9Xzd/e2c58deda0339788122830395fcbc3ef/pexels-tobias-bj__rkli-2715004.jpg","description":null},{"sys":{"id":"3PS02qaJkeIYcStYWV73g4"},"title":"Magic estimation1","url":"https://images.ctfassets.net/pjgxqv8emygm/3PS02qaJkeIYcStYWV73g4/5a8aad8f5670257d9138a7e35956b7bc/0_D30woDLLN7w_01zc.jpg","description":"Magic estimation1"},{"sys":{"id":"2cOdEgwVVZKazDGRgSirDI"},"title":"Magic estimation2","url":"https://images.ctfassets.net/pjgxqv8emygm/2cOdEgwVVZKazDGRgSirDI/9569621c94f774d51def57d8a9ab4f33/0_ZLbKJX0pmKIGyfxA.jpg","description":"Magic estimation2"}]}}},"duration":5,"peopleNeeded":4,"tagsCollection":{"items":[{"name":"Delivery","hex":"BF5427"},{"name":"Prioritization","hex":"497351"}]}},"morePosts":[{"slug":"tickets","title":"Bread \u0026 Butter: Ticket Best Practices","coverImage":{"url":"https://images.ctfassets.net/pjgxqv8emygm/6zm2x4d4pHduh4SYhjYKSQ/8aa8ab5aafd598350b67d00fa63231ea/pexels-veeterzy-39811.jpg"},"excerpt":"Writing tickets is among the daily duties for many POs. There are thousand ways to do it and almost no right nor wrong. Let's take a look at some best practices when writing epics, user stories and bug reports.","content":{"
3json":{"nodeType":"document","data":{},"content":[{"nodeType":"embedded-asset-block","content":[],"data":{"target":{"sys":{"id":"6zm2x4d4pHduh4SYhjYKSQ","type":"Link","linkType":"Asset"}}}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"There are thousand ways to do it and almost no right nor wrong. But let's take a look at some best practices when writing epics, user stories, bug reports and so on.","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"","marks":[],"data":{}}],"data":{}},{"nodeType":"hr","content":[],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"","marks":[],"data":{}}],"data":{}},{"nodeType":"heading-3","content":[{"nodeType":"text","value":"Prologue","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Before diving into it, letâs face one thing: You ","marks":[],"data":{}},{"nodeType":"text","value":"will ","marks":[{"type":"italic"}],"data":{}},{"nodeType":"text","value":"be judged for the quality of your tickets, especially as a new PO. Just like an English teacher will be judged by their grammar if they write a text â lucky for me then Iâm not a teacher.","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"But also, letâs get straight: Tickets are merely a way of transporting the idea of a product to your team. So, if you get your idea across well or work with a highly self-reliant team you donât even need ticketsâor your teams write them themselves: Nowhere it is written that product people need to do this. At some great companies, you often won't even need to write tickets. For example at facebook there are product managers who never wrote a single ticket - mindblowing, aye? In a way that's actually the way it's meant to be. Your business should be to explore user needs, to find problems worth solving. Unfortunately, reality in many companies is different, and some even drive it so far as to reduce POs to Delivery Managers.","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"And so, in reality writing tickets is the bread and butter of the job for many POs. And sometimes you even need them for documentation purposes, such as in health or fin tech, when authorities or other institutions check upon your product regularly.","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"However, when writing tickets always keep in mind: ","marks":[],"data":{}},{"nodeType":"text","value":"You first write tickets for your team","marks":[{"type":"italic"}],"data":{}},{"nodeType":"text","value":"ââânot yourself, not management, maybe auditors if your industry requires it. So, the best tickets are the ones your team can work with best. Ask them what they need and continually improve.","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Yet, here are some best practices across a wide range of ticket types, that might help you write better tickets. Try them out, combine them with your own best practices, leave feedback and find you own blend that works best for you.","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"","marks":[],"data":{}}],"data":{}},{"nodeType":"heading-2","content":[{"nodeType":"text","value":"1. Include ","marks":[],"data":{}},{"nodeType":"text","value":"Objectives ","marks":[{"type":"bold"}],"data":{}},{"nodeType":"text","value":"in your Backlog","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"OBJECTIVES are not the standard ticket types you face on a Jira Board, I know. But hear me out because lots of POs know this situation: Some outside stakeholder - often management - knocks on the door and asks that some feature definitely needs to find its way into your product, maybe because competition already got it or some investor demands it. It messes up your plan and a few month later management comes back and ask why you're behind schedule or didn't achieve certain outcomes.","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Companies at which this happens often don't work with OKR or do a poor job at it. This article is not how actually make OKR work. But maybe think about including OKR into your backlog as a kind of top-level-ticket-type. This will not only help you trace all tickets back to your highest level objectives, and thus makes it easier to check if what you work on is actually aligned with your goals. But also it makes it much easier to prioritize tickets according to these OKR. And - if done right - it's super transparent to all stakeholders and you don't even have to create stupid powerpoint slides (better use www.pitch.com anyways) or put effort.","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"To make a plastic example: Create a issue type - maybe call it 'OKR' - as a top-level ticket type. For each objective create a OKR-issue. Say y
3our building a medical product which allows users to add and share medical documents with their physician. An objective here could be to become compliant to some law by the end of the year and the corresponding key result would be to fulfill all 'must have' requirments of some authority which check whether you fulfill the law. Now, link all initiatives or epics that pay into this goal to this OKR-ticket. Done well, each initiative or ticket should be clearly and (usually) unambiguosly be tied to one of your objectives. If this is not the case, often times it's a sign of your OKR being to ambiguous.","marks":[],"data":{}}],"data":{}},{"nodeType":"embedded-asset-block","content":[],"data":{"target":{"sys":{"id":"62Bua20Py65fDkGih9spVk","type":"Link","linkType":"Asset"}}}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"example","marks":[{"type":"italic"}],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Of course, there are plenty tools out there which help with this as well, such as Productboard. But if you don't want to spend loads of $$$ on them just use Jira to keep track of your objectives.","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"","marks":[],"data":{}}],"data":{}},{"nodeType":"heading-2","content":[{"nodeType":"text","value":"2. Work with ","marks":[],"data":{}},{"nodeType":"text","value":"Initiatives","marks":[{"type":"bold"}],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"In case the gap between epics and your goals is too large, or your epics are very granular (as I will advocate for later), think about creating a \"in-between\" level, called INITIATIVES. Initiatives are high-level efforts that immediately pay into your objectives. Ideally, each initiative pays into one of your OKR. ","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Given our aboves example of our medical product, an initiative might be to enable users to allow physicians to access their documents in their record. As product managers, it's your job is to uncover these initiatives, find out how impactful they might be towards your objective and prioritize them.","marks":[],"data":{}}],"data":{}},{"nodeType":"embedded-asset-block","content":[],"data":{"target":{"sys":{"id":"3HcJLyx8PsRCwM30ZkAlbc","type":"Link","linkType":"Asset"}}}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"example","marks":[{"type":"italic"}],"data":{}}],"data":{}},{"nodeType":"embedded-asset-block","content":[],"data":{"target":{"sys":{"id":"Ma6lSz3T9Fmt7lFpWSbFj","type":"Link","linkType":"Asset"}}}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"initiatives are perfect to bridge the gap between objectives an epics","marks":[{"type":"italic"}],"data":{}}],"data":{}},{"nodeType":"heading-4","content":[{"nodeType":"text","value":"Creating roadmaps out of initiaties","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"The great thing about initiatives is that they are the perfect granularity to create roadmaps out of. Given you have a set of initiatives, wrap them together into a 'now', 'next', 'later' roadmap or even a Gantt-Chart using Jira Plugins, whatever you work with. This way you don't need extra tools for it and can very transparently create roadmaps which pay into your objectives.","marks":[],"data":{}}],"data":{}},{"nodeType":"embedded-asset-block","content":[],"data":{"target":{"sys":{"id":"nA34FooAPRNz0Dg0xwLcg","type":"Link","linkType":"Asset"}}}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"image credits to Atlassian. Imagine those epics were initiatives. And see how the Atlassian crew does not use best practices with their epics? They use them as containers to just throw stuff in... read the next chapter to learn how to do it better ;)","marks":[{"type":"italic"}],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"","marks":[],"data":{}}],"data":{}},{"nodeType":"heading-2","content":[{"nodeType":"text","value":"3. Epics Best Practices","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Do not simply use epics as containers to throw your stuff in. This is what many product managers do, even at companies who do a great job overall as the example above with Atlassian shows.","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Instead, ","marks":[],"data":{}},{"nodeType":"text","value":"use one epic per use case","marks":[{"type":"italic"}],"data":{}},{"nodeType":"text","value":". Use cases can usually be clustered into so-called ","marks":[],"data":{}},{"nodeType":"text","value":"CRUDD actions (a classic):","marks":[{"type":"bold"}],"data":{}}],"data":{}},{"nodeType":"unordered-list","content":[{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Create","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Read","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Update","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Delete","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Download","marks":[],"data":{}}],"data":{}}],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Let's take our medical product again. In our initative we want to enable users to allow physicians to view documents they uploaded. On the frontend side of your user the epics which make up this initiatives could be to enable users to...","marks":[],"data":{}}],"data":{}},{"nodeType":"unordered-list","content":[{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"add ","marks":[{"type":"italic"}],"data":{}},{"nodeType":"text","value":"physicians to their list of viewers","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"view ","marks":[{"type":"italic"}],"data":{}},{"nodeType":"text","value":"this list of physicians which are granted viewing rights","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"edit ","marks":[{"type":"italic"}],"data":{}},{"nodeType":"text","value":"entries on this list","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"delete ","marks":[{"type":"italic"}],"data":{}},{"nodeType":"text","value":"physicians from this list","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"download ","marks":[{"type":"italic"}],"data":{}},{"nodeType":"text","value":"doesn't seem to make much sense in this case, but you never know","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"...","marks":[],"data":{}}],"data":{}}],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Of course, this initiatives needs a fitting counterpart on the product which physicians use to view the documents of their patients: To allow physicians to view the documents of the patients. Epics that could make up this initiative might be to enable physicians to","marks":[],"data":{}}],"data":{}},{"nodeType":"unordered-list","content":[{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"add ","marks":[{"type":"italic"}],"data":{}},{"nodeType":"text","value":"documents to their patient's record","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"definitely ","marks":[],"data":{}},{"nodeType":"text","value":"view ","marks":[{"type":"italic"}],"data":{}},{"nodeType":"text","value":"documents to which they are granted access","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"edit ","marks":[{"type":"italic"}],"data":{}},{"nodeType":"text","value":"some of the entries","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"probably not ","marks":[],"data":{}},{"nodeType":"text","value":"delete ","marks":[{"type":"italic"}],"data":{}},{"nodeType":"text","value":"documents","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"but likely to ","marks":[],"data":{}},{"nodeType":"text","value":"download ","marks":[{"type":"italic"}],"data":{}},{"nodeType":"text","value":"documents ","marks":[],"data":{}}],"data":{}}],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"This seems to be very granular, but it makes sure that each epic is clean and does not bloat into a 30-or-more ticket monster. If you think through each of these use cases, down the road a whole load of stories could still pour out of them. But also, organizing your epics with the help of the CRUDD-actions perfectly fits with another commonly used organization scheme on user story level, which we will take a look at later on.","marks":[],"data":{}}],"data":{}},{"nodeType":"heading-4","content":[{"nodeType":"text","value":"Put resources into your Epics","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Now, to let your teams work best with epics, make sure they got everything in there they need to work - and nothing more. Nobody needs implementation details here. Instead, only put what is needed is to get the gist and overview of the use case. These usually are","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"a) User Flows Diagrams","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"b) Technical Flows like Data Flow Diagrams","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"c) Clickdummies / Prototypes, if any exist","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"d) System Diagrams and any other architectural context beneficial","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Again, if youâve got the time, be service-oriented and link them directly from the resources your teams work with, then your teams don't have to. But it's also not a problem to let them link it - after all, they know best where they store their deliverables.","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"","marks":[],"data":{}}],"data":{}},{"nodeType":"heading-2","content":[{"nodeType":"text","value":"4. Best Practices on User Stories","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"If you use the CRUDD-scheme on epics, there is another acronym you might want to learn about: ","marks":[],"data":{}},{"nodeType":"text","value":"WEESLD (pronounced âweaseledâ). ","marks":[{"type":"bold"}],"data":{}},{"nodeType":"text","value":"WEESLD basically is a helpful pattern to organize the stories in your epic:","marks":[],"data":{}}],"data":{}},{"nodeType":"unordered-list","content":[{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"W","marks":[{"type":"bold"}],"data":{}},{"nodeType":"text","value":"aiting","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"E","marks":[{"type":"bold"}],"data":{}},{"nodeType":"text","value":"mpty","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"E","marks":[{"type":"bold"}],"data":{}},{"nodeType":"text","value":"rror â THIS IS VERY IMPORTANT","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"S","marks":[{"type":"bold"}],"data":{}},{"nodeType":"text","value":"uccess","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"L","marks":[{"type":"bold"}],"data":{}},{"nodeType":"text","value":"imits","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"D","marks":[{"type":"bold"}],"data":{}},{"nodeType":"text","value":"efault","marks":[],"data":{}}],"data":{}}],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"For me, I often adjust WEESLD a little bit, but you know: Do whatever works best for you. If you look at each epic as a feature, each such feature should have an entry point and an exit point, and between these two the WEESLD magic happens. For many products stories in an epic usually form an arc like so:","marks":[],"data":{}}],"data":{}},{"nodeType":"unordered-list","content":[{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Entry Point: e.g. user clicks some button which navigates her to this feature","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Loading State: e.g. display loading state while BE operation takes place","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Error State(s): e.g. display error and debug action if result couldn't be delivered","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Empty State: e.g. if no database entries for a request were found","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Success / Vie
3w State: e.g. a confirmation that server successfully deleted a database entry as you requested or display content of a document","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Exit Point: e.g. an âexitâ icon through which users are navigated back to other pages","marks":[],"data":{}}],"data":{}}],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Of course, this pattern doesnât hold true everywhere, but I found this to be very repetitive for most features on most products in most companies I worked for.","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"","marks":[],"data":{}}],"data":{}},{"nodeType":"heading-4","content":[{"nodeType":"text","value":"User Story Titles","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Most POs write their tickets solution-oriented, something like this:","marks":[],"data":{}}],"data":{}},{"nodeType":"embedded-asset-block","content":[],"data":{"target":{"sys":{"id":"1DD2uzfwaac43D3ybv1BKo","type":"Link","linkType":"Asset"}}}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"or:Â ","marks":[],"data":{}}],"data":{}},{"nodeType":"embedded-asset-block","content":[],"data":{"target":{"sys":{"id":"1v0at8X44UgnoDBY6fRNA1","type":"Link","linkType":"Asset"}}}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"This is fine in some contexts. But actually, as PO the solution space should be none of your business. Finding solutions to problems is the realm of your team: Designers, Developers, Content Developers etc. define how a product should look like and work. So, if your write your tickets in solutioning style you alwaysâââat least implicitly âmess with their ownership and in the worst case even limit their space to be creative.","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"In the above's example I already told the team that they should use a password as a first factor for a user to authenticate. But there are so many ways for users to authenticate: magic links, paired devices, biometrics, etc. Same with logout: I didnât mention what problem this is solving: Do we want to enable users to manually end the session so that they are offline andâââe.g.âââdonât receive any notifications? Or do we automatically want to end a userâs session after some time to add a security barrier?","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"As PO, your job is the problem space: To find problems and judge, which ones are worth solving and in what order. So, maybe state titles in problem style, maybe even as user stories, like so:","marks":[],"data":{}}],"data":{}},{"nodeType":"embedded-asset-block","content":[],"data":{"target":{"sys":{"id":"63Q44ZpKoxghLcgjJattso","type":"Link","linkType":"Asset"}}}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Yes, this might take some time to get used to. But it will not only empower your team to take ownership of the solution and make them more creative. It will also sharpen ","marks":[],"data":{}},{"nodeType":"text","value":"your ","marks":[{"type":"italic"}],"data":{}},{"nodeType":"text","value":"view of the problem space and makes you think more in problems. As a result, you will naturally be more attuned to user needs and it will make you a better POâââI promise!","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"","marks":[],"data":{}}],"data":{}},{"nodeType":"heading-4","content":[{"nodeType":"text","value":"Add Resources to your User Story","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"In your ticket body, think about what is essentially needed by your team (or auditors) and cut everything else. You don't write tickets to win lyric competitions and you don't want to steal your team's precious time. So, think: \"what does my team ","marks":[],"data":{}},{"nodeType":"text","value":"really ","marks":[{"type":"italic"}],"data":{}},{"nodeType":"text","value":"need to get the job done?\"","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Link the most common design specs your teams work with","marks":[],"data":{}}],"data":{}},{"nodeType":"unordered-list","content":[{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"wireframes","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"any special elementsâââsuch as Icons or Loading Spinnersâââwhich your UI library does (not yet) contain","marks":[],"data":{}}],"data":{}}],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"and the most common tech specs they need to do their job:","marks":[],"data":{}}],"data":{}},{"nodeType":"unordered-list","content":[{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"endpoints to be called","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"request formats","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"response formats","marks":[],"data":{}}],"data":{}}],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"if this is all captured in a neat api docu, link it. There are plenty more resources to add, depending on what you and your teams work with: Localization files, link to CMS content or endpoint of the tool you're using to draw from, non-functional requirements, legal requirements ... ","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"","marks":[],"data":{}}],"data":{}},{"nodeType":"heading-4","content":[{"nodeType":"text","value":"Write Acceptance Criteria in Given, When, Then style","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Now, this is the juice. This defines the scope your story. If done well, you can save any QA Engineer in your team massive time by formulating your acceptance criteria as test cases, e.g. in Given-When-Then format (read â","marks":[],"data":{}},{"nodeType":"hyperlink","content":[{"nodeType":"text","value":"this","marks":[{"type":"underline"}],"data":{}},{"nodeType":"text","value":" ","marks":[],"data":{}}],"data":{"uri":"https://specflow.org/learn/given-when-then-with-style/"}},{"nodeType":"text","value":"great article to get the gist of it). For example, a story which describes to select and confirm the deletion of one or multiple documents could contain the following Acceptance Criteria based on the specs your teams have defined:","marks":[],"data":{}}],"data":{}},{"nodeType":"embedded-asset-block","content":[],"data":{"target":{"sys":{"id":"7lYAeANg6wR5sk69t5fpkw","type":"Link","linkType":"Asset"}}}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Ideally, write the AC together with a QA Engineer. They have a great eye for things that might happen along the way
3which you would never have thought of in the first place.","marks":[],"data":{}}],"data":{}},{"nodeType":"heading-3","content":[{"nodeType":"text","value":"","marks":[],"data":{}}],"data":{}},{"nodeType":"heading-2","content":[{"nodeType":"text","value":"5. Sub-Tasks","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Best practice: Don't touch it! Leave the sub-tasks to your developers, so they can work with it best.","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"The examples above are usually linked vertically to each other. But there are also lots of other commonly used ticket types on the same level as a story. Let's have a look at some of them:","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"","marks":[],"data":{}}],"data":{}},{"nodeType":"heading-3","content":[{"nodeType":"text","value":"6. Bug Ticket Best Practices","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Ja, your teams donât produce bugs, I know, mine neither ;). But I heard that improved ticket quality negatively correlates with numbers of bugs to fixâââjust a rumor, though ð¤«. To help your QA Engineers investigate the root causes or at least reproduce any bugs, this format is almost universally well accepted these days:","marks":[],"data":{}}],"data":{}},{"nodeType":"heading-4","content":[{"nodeType":"text","value":"a) Description","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Provide a high-level description of them problem.","marks":[],"data":{}}],"data":{}},{"nodeType":"heading-4","content":[{"nodeType":"text","value":"b) Steps to Reproduce","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Clearly and detailed, walk the ready through all the steps youâve taken to get to the point where the bug occured","marks":[],"data":{}}],"data":{}},{"nodeType":"ordered-list","content":[{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"clicked on X","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"selected option Y","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"confirmed selection","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"â¦","marks":[],"data":{}}],"data":{}}],"data":{}}],"data":{}},{"nodeType":"heading-4","content":[{"nodeType":"text","value":"c) Expected Outcome","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Write what outcome you would have expected after going through aboveâs steps. You may use user story format, so that you can provide context on what you ultimately wanted to achieve and what kinds of users may suffer from the same experience.","marks":[],"data":{}}],"data":{}},{"nodeType":"heading-4","content":[{"nodeType":"text","value":"d) Actual Outcome","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Describe what actually happened in contrast to what you expected.","marks":[],"data":{}}],"data":{}},{"nodeType":"heading-4","content":[{"nodeType":"text","value":"e) Environment","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Donât forget to provide some details on your environment. Desktop OS, Web Browser or Mobile OS? What Version? Any other relevant variables?","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"","marks":[],"data":{}}],"data":{}},{"nodeType":"heading-3","content":[{"nodeType":"text","value":"\n7. Technical Tasks","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Sometimes, teams use Technical Task and Sub-Tasks interchangably. But if you read our post on Backlog-Best Practices (if not, read it ","marks":[],"data":{}},{"nodeType":"hyperlink","content":[{"nodeType":"text","value":"here","marks":[],"data":{}}],"data":{"uri":"https://www.pm.tools/posts/batman-backlog"}},{"nodeType":"text","value":"), you know that Technical Tasks are a pretty neat way to capture technical debt. Best practices on these tickets are then best to be left to your tech leads who should take care of this.","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"","marks":[],"data":{}}],"data":{}},{"nodeType":"heading-3","content":[{"nodeType":"text","value":"8. Spike Tickets","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Sometimes, particularly if you're building a product which has never been built before, using new technology, have a junior team or anything else, lot's of tasks you take on require some research or proof-of-concepts before going to proper conceptualization or implementation. Use a separate ticket type to indicate what needs to be investigated so that you can clearly separate the tasks which are ready to be worked on from the ones which are not clear yet.","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"To indicate such as \"to be investigated\" state is also beneficial with bugs. If a certain bug has not yet been replicated or you want to find it's root cause instead of performing a superficial fix, you can use this state to be able to distinguish the bugs which may find their way into your next sprint from the ones not.","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"There is no best practice way to write spike tickets, it depends very much on what you want to achieve with it: a POC, replication, etc. But maybe it often makes sense to formulate their content as hypotheses: If ...., Then ... But yeah, that may not apply to a broad range of these tickets.","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Now, these were some best practices which helped us to better equip our teams to enable them to do their best work. These may not apply in all cases, but pick the ones you deem helpful and blend them into your own ways of work, and skip the others. Most importantly, keep in mind:","marks":[],"data":{}}],"data":{}},{"nodeType":"unordered-list","content":[{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"The better aligned you are with your team, the less time you need to spend on sophisticated tickets","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Don't write novels: Only put the stuff your team needs to work with, otherwise it gets messy","marks":[],"data":{}}],"data":{}}],"data":{}},{"nodeType":"list-item","content":[{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Continually ask your team for feedback to improve ticket quality","marks":[],"data":{}}],"data":{}}],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"","marks":[],"data":{}}],"data":{}},{"nodeType":"hr","content":[],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"","marks":[],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"Got questions, ideas or remarks on this method? Join the conversation on ","marks":[],"data":{}}],"data":{}},{"nodeType":"heading-4","content":[{"nodeType":"text","value":"","marks":[{"type":"underline"}],"data":{}},{"nodeType":"hyperlink","content":[{"nodeType":"text","value":"Slack","marks":[{"type":"underline"}],"data":{}}],"data":{"uri":"pm-tools-talk.slack.com"}},{"nodeType":"text","value":"","marks":[{"type":"underline"}],"data":{}}],"data":{}},{"nodeType":"paragraph","content":[{"nodeType":"text","value":"","marks":[],"data":{}}],"data":{}}]}},"duration":8,"peopleNeeded":1,"tagsCollection":{"items":[{"name":"other","hex":"000000"},{"name":"Delivery","hex":"BF5427"}]}},{"slug":"mvp","title":"Kinds of MVPs","coverImage":{"url":"https://images.ctfassets.net/pjgxqv8emygm/7Ey5rpTrV1qQeFpXgeW7op/3423376868dabb47d1fb095f2235c7a3/pexels-mads-thomsen-2739013.jpg"},"excerpt":"No, weâre not talking first release version MVP here. Instead, we show some experiment MVPs which quickly help validate hypotheses without burning your bank.","content":{"
3json":{"data":{},"content":[{"data":{"target":{"sys":{"id":"7Ey5rpTrV1qQeFpXgeW7op","type":"Link","linkType":"Asset"}}},"content":[],"nodeType":"embedded-asset-block"},{"data":{},"content":[{"data":{},"marks":[],"value":"No, weâre not talking first release version MVP here. Instead, we show some experiment MVPs which quickly help validate hypotheses without burning your bank.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[],"nodeType":"hr"},{"data":{},"content":[{"data":{},"marks":[],"value":"","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"At the core of Agile development stands the idea of a Minimum Viable Product (MVP). A MVP as we usually know it is a first version of a product with just enough features to be usable by early customers who can then provide feedback for future product development.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"A quick reminder: An MVP is not a half-finished product which does not really solve a userâs problem as depicted by this graphic which everyone has seen at least once in their lifetime:","nodeType":"text"}],"nodeType":"paragraph"},{"data":{"target":{"sys":{"id":"3q3LBXCm1zBgmvkK5agyx7","type":"Link","linkType":"Asset"}}},"content":[],"nodeType":"embedded-asset-block"},{"data":{},"content":[{"data":{},"marks":[{"type":"italic"}],"value":"credit to Henrik Kniberg, Spotify","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"And an MVP is also not a undelightful product which works but is really ugly to use for users:","nodeType":"text"}],"nodeType":"paragraph"},{"data":{"target":{"sys":{"id":"4Abh8fSNZP6RNECuEDqrfj","type":"Link","linkType":"Asset"}}},"content":[],"nodeType":"embedded-asset-block"},{"data":{},"content":[{"data":{},"marks":[{"type":"italic"}],"value":"credit to Roy Scholten","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Instead, an MVP version of a product does solve the core problem a user has, it works well, is delightful and easy to use, it just does not focus on other use cases and user problems yet which may be out there as well. Itâs purpose is to (dis-)confirm your initial hypotheses on a potential market gap / user need.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"This is the type of MVP people usually refer to when using the term. But often, even this version takes quite some resources to build. What if you donât have that but still want to validate if youâre on the right track, be it to convince investors or just to know if itâs worth to throw your teamâs resources on building such a kind of MVP? ","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"For this, there is another, very scaled-back type of MVPs which is used to run experiments and quickly help validate a hypothesis. In this article, we want to introduce some of them:","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"1. Preorder MVP","nodeType":"text"}],"nodeType":"heading-3"},{"data":{},"content":[{"data":{},"marks":[],"value":"A preorder MVP is the ideal tool to find out if people are actually interested enough in your idea to open their wallets for it. Itâs the ideal tool to gather some initial data if this idea is worth pursuing or to pitch in front of potential investors in case you seek seed funding.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Simply create a fake marketing website for your product, describing it as if it already existed with the features you feel are important, and put a âBuyâ button at the bottom of the site. Then, market this product like it actually exists, take out different display ads, and see how many people click âBuyâ.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"To avoid being completely deceptive, add a note when someone clicks âBuyâ that says you havenât finished building this product, are currently working on it, and they can enter the
3ir email address to be updated when youâve got new information. This is also a nice way to capture a list of customer email addresses you can market to when your product is available.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"For an existing product, you could create a âNew Featureâ section on your website, see how many people watch an explainer video showing how you intend for the feature to work, and use a âLearn Moreâ button instead of a âBuyâ button to reveal the truth and again capture email addresses.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"\n","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"2. Email MVP","nodeType":"text"}],"nodeType":"heading-3"},{"data":{},"content":[{"data":{},"marks":[],"value":"Similar to the preorder MVP but creating an email takes much less effort than building a website, a product or a feature within a product. If you have existing users, begin by manually creating some emails to see if the response to the email is favorable. If it is, then you can proceed to building the related product features.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"If you see that most people are opening the email but not clicking on the call to-action button, then you can conclude that the value proposition is not something attractive.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Interestingly, Ryan Hoover of Product Hunt started off by emailing his idea to a list of people. After receiving rave feedback, he knew the idea was worth pursuing further.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"\n","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"3. Fake Door MVP","nodeType":"text"}],"nodeType":"heading-3"},{"data":{},"content":[{"data":{},"marks":[],"value":"A little more low-key than the first two kinds of MVP is the fake door. If youâre thinking about building a new feature into your product, add the UX elements youâd use to enter the feature or trigger the interaction. But rather than actually delivering the feature, provide a notification that the featureâs coming soon. See how many people use your âfake door.â For example, if your hypothesis is that people would find a live group chat feature useful on your online education site, add a âChatâ button and see how many people click it. If only a tiny percentage do, reconsider if itâs worth pursuing this opportunity, depending on the value of those customers vs. the cost of implementing the feature.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"\n","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"4. Concierge MVP","nodeType":"text"}],"nodeType":"heading-3"},{"data":{},"content":[{"data":{},"marks":[],"value":"Another type of MVP is a concierge MVP. In it, youâll manually work with your user just like a real concierge would to perform a task, where the task is the overall focus for your opportunity hypothesis. ","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"If you have a hypothesis that people want a restaurant-recommendation app, youâd act like a human concierge to help them select a restaurant. During this process, youâll want to explicitly focus on the steps you go through to figure out an answerâââwhich questions matter and which donât, and whatâs involved in completing each stepâââso that you can eventually automate them.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Looking at this restaurant-app idea: If no one asks for your conciergeâs help, thatâs a big initial sign that something is wrong. Either youâre not appealing to the right customers or youâre not making your value proposition clear. Then, when someone expresses interest, youâll manually discuss with that person what type of food she likes and dislikes, what type of restaurant ambience/price point/etc. sheâs looking for, and youâll run a Yelp search for her. You could even offer to arrange transportation. As you go through this process, youâll find out if customers are interested in the overall idea, which steps are the most useful and what goes into them, which steps are unexpected but delightful (like arranging transportation), and which steps customers donât care about. This helps you refine your hypothesis and create a better cost/value estimation. For example, maybe you find your customers really want a feature that lets them push a button and simply have a Lyft show up to take them to a nearby open restaurant that theyâll probably like: they care about instant fulfillment over making a reservation and planning.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Many service start-ups initially began with a concierge MVP, helping them gauge interest and better understand the overall problem space and user needs.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"\n","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"5. Wizard of Oz MVP","nodeType":"text"}],"nodeType":"heading-3"},{"data":{},"content":[{"data":{},"marks":[],"value":"A Wizard of Oz MVP is another simple type, sometimes the next step after the Concierge MVP. Here, youâll create a product that looks like itâs fully built to an end customer, but humans are doing the work behind the scenes. The Zappos founder didnât start by making an e-commerce site or stocking tons of inventory: he took photos of shoes at different shops (with permission), put them online, and when an order came in, heâd manually buy and ship the shoes. But to a user, it looked like Zappos had a full inventory and was a store b
3y itself. ","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"This style of MVP also doesnât scale, but itâs another way to validate the demand for your opportunity. If you can manually keep up with the demand, this idea probably isnât worth pursuing. But if people love it and\nyouâre overwhelmed, thatâs a good hint itâs time to automate it.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"\n","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"6. Piecemeal MVP","nodeType":"text"}],"nodeType":"heading-3"},{"data":{},"content":[{"data":{},"marks":[],"value":"This one falls in-between the Concierge MVP and the Wizard of Oz MVP. With a Piecemeal MVP, you use existing tools and services to deliver a functioning product to your customers. Typically, you use a number of existing technologies (that donât always integrate so well together) so mean more human resource is required to manage the process. Using existing services will save you time and money by building your own technology and infrastructure.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"\n\n","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"There are many more such MVPs and you can become creative in gluiding them together. The key to remember with every experiment is that you want to keep it simple and cheap. You donât want to spend so much time designing the perfect A/B test or preorder MVP that youâre burned out before youâve even run the experiment. Youâre going to throw away every experiment, regardless of the result. If the resultâs positive, youâll have to build the product or feature for real.","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[],"nodeType":"hr"},{"data":{},"content":[{"data":{},"marks":[],"value":"","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[],"value":"Got questions, ideas or remarks on this method? Join the conversation on ","nodeType":"text"}],"nodeType":"paragraph"},{"data":{},"content":[{"data":{},"marks":[{"type":"underline"}],"value":"","nodeType":"text"},{"data":{"uri":"pm-tools-talk.slack.com"},"content":[{"data":{},"marks":[{"type":"underline"}],"value":"Slack","nodeType":"text"}],"nodeType":"hyperlink"},{"data":{},"marks":[{"type":"underline"}],"value":"","nodeType":"text"}],"nodeType":"heading-4"},{"data":{},"content":[{"data":{},"marks":[],"value":"","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"}},"duration":6,"peopleNeeded":0,"tagsCollection":{"items":[{"name":"Delivery","hex":"BF5427"},{"name":"Discovery","hex":"D23B7E"}]}}]},"__N_SSG":true},"page":"/posts/[slug]","query":{"slug":"magic-estimation"},"buildId":"build","runtimeConfig":{},"nextExport":false,"isFallback":false,"gsp":true}</script>
3<script nomodule="" src="/_next/static/chunks/polyfills-283031c735651d1762e0.js"></script>
3<script src="/_next/static/chunks/main-3f0f4d3fb4e1584a29bb.js" async=""></script>
3<script src="/_next/static/chunks/webpack-245f049e565ebf942e09.js" async=""></script>
3<script src="/_next/static/chunks/framework.d2ae4074d0a54d95f68e.js" async=""></script>
3<script src="/_next/static/chunks/commons.53b8d858b532f411e554.js" async=""></script>
3<script src="/_next/static/chunks/8b8caf89649d16ed80f0146e745fd9bf06773bdf.6c7fd4c7dbb327940b5d.js" async=""></script>
3<script src="/_next/static/chunks/pages/_app-ab2f3d1d6d30e57c0273.js" async=""></script>
3<script src="/_next/static/chunks/1bfc9850.937af499be697709b9c0.js" async=""></script>
3<script src="/_next/static/chunks/2c3b9bffc7150b37a7b3810dfcf1c0b0fac2bd18.8b29f51d6c78c1c1531f.js" async=""></script>
3<script src="/_next/static/chunks/pages/posts/%5Bslug%5D-1e167039ce5c6c247e9b.js" async=""></script>
3<script src="/_next/static/build/_buildManifest.js" async=""></script>
3<script src="/_next/static/build/_ssgManifest.js" async=""></script>
3</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.