<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Tongshan</title>
    <description>The latest articles on Forem by Tongshan (@tongshan42).</description>
    <link>https://forem.com/tongshan42</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3938285%2F54ea68bf-a61f-41c8-9e0b-d068498138fc.png</url>
      <title>Forem: Tongshan</title>
      <link>https://forem.com/tongshan42</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/tongshan42"/>
    <language>en</language>
    <item>
      <title>The PM Skill No One Teaches: How to Name Your Decision Before Making It</title>
      <dc:creator>Tongshan</dc:creator>
      <pubDate>Sat, 23 May 2026 14:28:33 +0000</pubDate>
      <link>https://forem.com/tongshan42/the-pm-skill-no-one-teaches-how-to-name-your-decision-before-making-it-gp</link>
      <guid>https://forem.com/tongshan42/the-pm-skill-no-one-teaches-how-to-name-your-decision-before-making-it-gp</guid>
      <description>&lt;p&gt;There's a meeting I've sat in dozens of times. The team has been debating for an hour. Someone finally says "so what are we deciding?" and the room goes quiet — because nobody actually knows.&lt;/p&gt;

&lt;p&gt;This is the most common failure mode in product management, and it's invisible. Teams think they're making decisions when they're actually having discussions. The difference is critical, and fixing it starts with one deceptively simple skill: naming the decision.&lt;/p&gt;

&lt;h2&gt;
  
  
  What "Naming a Decision" Actually Means
&lt;/h2&gt;

&lt;p&gt;Most product discussions orbit around topics, not decisions. "Let's talk about notifications" is a topic. "We're deciding whether to reduce notification frequency for users who haven't opened the app in 7 days — and whether to do it via a global setting or an ML-based individual threshold" is a decision.&lt;/p&gt;

&lt;p&gt;The difference seems pedantic until you realize what topic-based meetings produce: alignment on the problem but no clarity on the next action, endless follow-up meetings, and — worst of all — "decisions" that get relitigated two weeks later because nobody wrote down what was actually decided.&lt;/p&gt;

&lt;p&gt;A properly named decision has three parts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The specific choice being made&lt;/strong&gt; — not a direction or a theme, but the actual fork in the road&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The scope&lt;/strong&gt; — who is affected, what product area, what time frame&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What's off the table&lt;/strong&gt; — what are you NOT deciding right now&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Why This Is So Hard in Practice
&lt;/h2&gt;

&lt;p&gt;I managed a content recommendation team at iQIYI. We had a recurring meeting called "recommendation strategy." It covered everything from algorithm choices to editorial curation to notification timing. Every week we'd generate action items. Every week half of them would evaporate because nobody could remember what we'd actually committed to.&lt;/p&gt;

&lt;p&gt;The turning point came when I forced us to write the decision name at the top of every meeting doc in one sentence. Just one sentence. It took 15 minutes of argument to write that sentence — and that 15 minutes was the most valuable part of the meeting. Because if we couldn't agree on what we were deciding, we had no business spending an hour deciding it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Test for a Well-Named Decision
&lt;/h2&gt;

&lt;p&gt;A good decision name passes this test: if you read it to someone who wasn't in the room, could they tell you what a "yes" looks like vs. a "no"?&lt;/p&gt;

&lt;p&gt;"We're deciding our notification strategy" → fails. Too vague.&lt;/p&gt;

&lt;p&gt;"We're deciding whether to cap daily push notifications at 3 for users with &amp;lt; 30% open rate, starting next sprint" → passes. A yes means implementing the cap. A no means either a different threshold, a different mechanism, or doing nothing.&lt;/p&gt;

&lt;h2&gt;
  
  
  How This Connects to the Rest of the Decision Process
&lt;/h2&gt;

&lt;p&gt;Naming the decision is step 1 of the 4-step PM decision framework I've refined over years of practice:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Name the decision&lt;/strong&gt; — one precise sentence&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Define success criteria&lt;/strong&gt; — what does a good outcome look like, measured how, by when?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Find the killer assumption&lt;/strong&gt; — the one thing that, if wrong, makes this decision irrelevant&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decide and set a review date&lt;/strong&gt; — commit, then schedule when you'll revisit&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can't do steps 2–4 without step 1. If the decision isn't named, you can't define success criteria (success for &lt;em&gt;what&lt;/em&gt;, exactly?). You can't find the killer assumption (assumption underlying &lt;em&gt;which choice&lt;/em&gt;?). You definitely can't set a review date.&lt;/p&gt;

&lt;p&gt;The whole framework only works if the foundation is solid — and the foundation is a clean decision name.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Template Worth Stealing
&lt;/h2&gt;

&lt;p&gt;When I'm facilitating a product decision, I start with this fill-in-the-blank:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"We are deciding [specific action or choice] for [affected users/product area] in order to [goal], by [deadline]. This does NOT include [out-of-scope item]."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Example: &lt;em&gt;"We are deciding whether to replace the rule-based recommendation fallback with an ML model for cold-start users (&amp;lt; 5 plays) in order to improve D7 retention, by end of Q2. This does NOT include changes to the primary recommendation algorithm."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That sentence takes 10 minutes to write and saves hours of misaligned meetings.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Downstream Effect
&lt;/h2&gt;

&lt;p&gt;When you name decisions well, something else happens: accountability becomes natural. When everyone knows what was decided, and it's written down, "I thought we decided differently" stops being a conversation-stopper. The record is the record.&lt;/p&gt;

&lt;p&gt;This sounds obvious. It isn't practiced. Most teams I've worked with or coached have never written a single-sentence decision name for a major product call. They've written PRDs, specs, meeting notes — but not the one sentence that captures what choice was actually made.&lt;/p&gt;

&lt;p&gt;If you want to go deeper on decision-naming and the full 4-step framework, I've put it all into a practical handbook: &lt;a href="https://dcljoyful.gumroad.com/l/toPM" rel="noopener noreferrer"&gt;A 4-Step System for Analyzing Any Product Problem&lt;/a&gt; — it covers how to move from a named decision through to a confident choice, even under uncertainty.&lt;/p&gt;

&lt;p&gt;Start with the name. Everything else follows.&lt;/p&gt;

</description>
      <category>productmanagement</category>
      <category>agile</category>
      <category>career</category>
    </item>
    <item>
      <title>Why Your Product Roadmap Keeps Getting Derailed (And the 4-Step Fix That Stops It)</title>
      <dc:creator>Tongshan</dc:creator>
      <pubDate>Sat, 23 May 2026 14:12:25 +0000</pubDate>
      <link>https://forem.com/tongshan42/why-your-product-roadmap-keeps-getting-derailed-and-the-4-step-fix-that-stops-it-32n6</link>
      <guid>https://forem.com/tongshan42/why-your-product-roadmap-keeps-getting-derailed-and-the-4-step-fix-that-stops-it-32n6</guid>
      <description>&lt;p&gt;Every PM I know has experienced this: you ship the feature, it doesn't move the metric, and six weeks later you're in a retrospective trying to explain what went wrong.&lt;/p&gt;

&lt;p&gt;The instinct is to blame execution. Wrong priorities. Engineers who missed requirements. A design that didn't land. But most of the time, the roadmap derailed before a single line of code was written.&lt;/p&gt;

&lt;p&gt;Here's what actually causes it — and the framework that stops it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Real Problem: Undocumented Assumptions
&lt;/h2&gt;

&lt;p&gt;When a product decision gets made, it carries invisible weight: a set of assumptions that everyone on the team believes to be true but nobody has written down.&lt;/p&gt;

&lt;p&gt;"Users will adopt the new workflow."&lt;br&gt;
"The integration will hold at scale."&lt;br&gt;
"Our primary competitor won't ship this first."&lt;/p&gt;

&lt;p&gt;These assumptions aren't wrong to make. Every product decision requires them. The mistake is treating them as facts instead of bets.&lt;/p&gt;

&lt;p&gt;When one of those hidden assumptions turns out to be false — and it often does — the roadmap collapses. The feature ships but doesn't convert. The metric doesn't move. The business case evaporates.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 4-Step Fix
&lt;/h2&gt;

&lt;p&gt;I developed this framework after years of product work at iQIYI, watching decisions fail not because they were bad ideas, but because nobody forced the team to get explicit before committing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Name the decision&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Write down exactly what decision you're making. Not "we're working on the checkout flow" — that's a project, not a decision. A decision sounds like: "We are investing 6 weeks of engineering to redesign the guest checkout flow in order to improve checkout conversion by 15%."&lt;/p&gt;

&lt;p&gt;Specificity forces clarity. When you can't name the decision precisely, you don't understand it yet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Define success criteria&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before you build, write down what good looks like. Not in qualitative terms — in measurable ones. "Checkout conversion rate increases from 62% to 71% within 30 days of launch." That's a success criterion. "Users will like the new flow" is not.&lt;/p&gt;

&lt;p&gt;This step is uncomfortable because it creates accountability. That's the point.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Find the killer assumption&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ask: "What single belief, if wrong, would cause this project to fail — even if we execute perfectly?"&lt;/p&gt;

&lt;p&gt;For the guest checkout example, the killer assumption might be: "Our current checkout drop-off is primarily caused by friction in the form — not by price sensitivity or trust concerns." If that's wrong, redesigning the form is a waste.&lt;/p&gt;

&lt;p&gt;Once you name the killer assumption, ask: "What's the cheapest way to test it before committing?" A landing page. A user interview. Five sessions of usability testing. The answer is almost always cheaper and faster than the full build.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Decide and set a review date&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Make the call: go, no-go, or "test first." Then write down a review date — a specific day when you'll revisit the decision with fresh data.&lt;/p&gt;

&lt;p&gt;Without a review date, decisions calcify. The market shifts. The assumption becomes false. The team keeps executing anyway because no one scheduled the moment to ask "is this still right?"&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Looks Like in Practice
&lt;/h2&gt;

&lt;p&gt;At iQIYI, we were evaluating whether to add a push notification feature to increase content discovery. The team was excited. The data showed engagement correlated with notification delivery.&lt;/p&gt;

&lt;p&gt;Before committing to a 3-month build, we ran the 4-step process:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Decision&lt;/strong&gt;: Build a personalized push notification system to increase D7 retention by 12%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Success criteria&lt;/strong&gt;: D7 retention improves from 34% to 38% within 60 days of rollout&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Killer assumption&lt;/strong&gt;: Users who don't engage with content recommendations aren't doing so because they forget the app — they're doing so because the recommendations aren't relevant&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test first&lt;/strong&gt;: Run a 2-week manual notification test with a small cohort using curated content from the editorial team&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The test revealed the actual problem: recommendation relevance, not notification timing. We pivoted the roadmap before spending 3 months on the wrong solution.&lt;/p&gt;

&lt;p&gt;That's the framework working.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Pattern That Actually Causes Roadmap Derailment
&lt;/h2&gt;

&lt;p&gt;Roadmaps don't derail because PMs are bad at prioritization. They derail because:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Decisions get made in meetings, not documents&lt;/li&gt;
&lt;li&gt;Assumptions stay implicit instead of getting named&lt;/li&gt;
&lt;li&gt;Success criteria are vague enough to be unfalsifiable&lt;/li&gt;
&lt;li&gt;Nobody schedules the moment to ask "should we still be doing this?"&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The 4-step framework is a forcing function. It doesn't make you smarter. It makes your thinking visible — which is the only way to catch the errors before they cost you a quarter.&lt;/p&gt;




&lt;p&gt;If you want the full structured framework in a format you can use immediately, I built a decision handbook for exactly this: &lt;a href="https://dcljoyful.gumroad.com/l/toPM" rel="noopener noreferrer"&gt;A 4-Step System for Analyzing Any Product Problem&lt;/a&gt;. It's the same process I use, written for PMs who need to make better decisions under uncertainty — not in theory, but in the middle of a real sprint.&lt;/p&gt;

</description>
      <category>productmanagement</category>
      <category>startup</category>
      <category>career</category>
    </item>
    <item>
      <title>The Killer Assumption Test: How to Spot Doomed Product Decisions Before You Ship</title>
      <dc:creator>Tongshan</dc:creator>
      <pubDate>Sat, 23 May 2026 13:52:57 +0000</pubDate>
      <link>https://forem.com/tongshan42/the-killer-assumption-test-how-to-spot-doomed-product-decisions-before-you-ship-3e7l</link>
      <guid>https://forem.com/tongshan42/the-killer-assumption-test-how-to-spot-doomed-product-decisions-before-you-ship-3e7l</guid>
      <description>&lt;p&gt;Every product decision rests on at least one assumption that, if wrong, makes the entire effort pointless. I call this the "killer assumption."&lt;/p&gt;

&lt;p&gt;Most PMs don't name it. They build, ship, and then explain why the metric didn't move.&lt;/p&gt;

&lt;p&gt;Here's how to find the killer assumption before it finds you.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is a Killer Assumption?
&lt;/h2&gt;

&lt;p&gt;A killer assumption is the single belief that has to be true for your product decision to be correct. Not all the assumptions — the one that matters most.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You're building a notification feature to increase re-engagement. The killer assumption: "Users are disengaging because they forget about the product, not because they lost interest in it."&lt;/li&gt;
&lt;li&gt;You're redesigning onboarding to improve activation. The killer assumption: "Users who drop off during onboarding are doing so because the flow is confusing, not because the product doesn't match what they expected."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Notice how in both cases, if the killer assumption is wrong, the entire effort is wasted — regardless of how well you execute.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why PMs Don't Surface It
&lt;/h2&gt;

&lt;p&gt;There are a few reasons this happens:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Assumption naming feels like admitting uncertainty.&lt;/strong&gt; Teams want to project confidence in their roadmap. Saying "here's the one thing we're betting on" feels like weakness. It's actually the opposite — it's intellectual honesty that enables faster learning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. The assumption is buried in the framing.&lt;/strong&gt; When a PM writes "users need better search," the killer assumption ("search is what's blocking user success") is hidden inside the solution statement. If you never separate problem from assumption from solution, you never see it clearly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Everyone already agrees on it.&lt;/strong&gt; The most dangerous assumptions are the ones that feel obviously true to the whole team. Consensus doesn't validate assumptions. It just means nobody challenged them.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 3-Question Test
&lt;/h2&gt;

&lt;p&gt;Before committing to any significant product decision, answer these:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q1: What would have to be true for this to work?&lt;/strong&gt;&lt;br&gt;
Write down everything. Then circle the one that, if false, would invalidate all the others.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q2: How confident are we in that assumption, and why?&lt;/strong&gt;&lt;br&gt;
Not "pretty confident" — name the specific evidence. If you can't, name what evidence you'd need.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q3: What's the cheapest way to test it before we build?&lt;/strong&gt;&lt;br&gt;
A customer interview, a landing page, a prototype, a manual experiment. The answer almost always exists. The question is whether the team is willing to slow down enough to run it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 4-Step Framework
&lt;/h2&gt;

&lt;p&gt;This is one piece of a broader decision-making process I use with PM teams:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Name the decision&lt;/strong&gt; (not the feature, the actual decision being made)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Define success criteria upfront&lt;/strong&gt; ("We'll know this worked if X moves from A to B by date")&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Find the killer assumption&lt;/strong&gt; (the one thing that has to be true)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Set a review date&lt;/strong&gt; (when will you revisit, and under what trigger conditions)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The killer assumption step is where most teams short-circuit. They move from step 1 directly to step 4, skipping the thing that would tell them whether step 1 was even the right question.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Real Pattern I've Seen
&lt;/h2&gt;

&lt;p&gt;At iQIYI, we had a team convinced that improving content discovery would increase weekly active usage. The killer assumption was: "Users who are inactive aren't finding content they want."&lt;/p&gt;

&lt;p&gt;Running a 2-week test on a sample segment showed the actual pattern: users were finding content fine — they were just finishing their shows and not receiving a compelling "next series" recommendation at the right moment. Completely different problem. Completely different solution.&lt;/p&gt;

&lt;p&gt;The original discovery feature would have taken a quarter to build. The recommendation timing fix took two weeks.&lt;/p&gt;

&lt;p&gt;Naming the killer assumption before building saved about 10 weeks of engineering time.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Discipline
&lt;/h2&gt;

&lt;p&gt;The skill isn't finding the assumption — it's getting comfortable naming it out loud before you build, and being willing to run a cheap test before you commit.&lt;/p&gt;

&lt;p&gt;Teams that do this ship less and learn more. That's not a bad trade.&lt;/p&gt;




&lt;p&gt;If you want the full framework with templates for running this process on your team, I put it in a short handbook: &lt;a href="https://dcljoyful.gumroad.com/l/toPM" rel="noopener noreferrer"&gt;A 4-Step System for Analyzing Any Product Problem&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productmanagement</category>
      <category>career</category>
      <category>startup</category>
    </item>
    <item>
      <title>Your PM Retrospectives Are Lying to You</title>
      <dc:creator>Tongshan</dc:creator>
      <pubDate>Sat, 23 May 2026 13:41:07 +0000</pubDate>
      <link>https://forem.com/tongshan42/your-pm-retrospectives-are-lying-to-you-26h7</link>
      <guid>https://forem.com/tongshan42/your-pm-retrospectives-are-lying-to-you-26h7</guid>
      <description>&lt;p&gt;Every quarter, product teams hold retrospectives. Someone asks "what went well?" and "what didn't?" The team lists bullet points. Someone writes "we should communicate better." Everyone nods. Nothing changes.&lt;/p&gt;

&lt;p&gt;The problem isn't the retro format. It's that you never defined what success looked like before the work started — so you can't actually evaluate anything now.&lt;/p&gt;

&lt;p&gt;I've run product teams at iQIYI, NIO, and Alibaba. The retrospectives that mattered had one thing in common: a pre-written success criterion that existed before any work began. Every other retro was theater.&lt;/p&gt;

&lt;h2&gt;
  
  
  The retrospective trap
&lt;/h2&gt;

&lt;p&gt;When you define success &lt;em&gt;after&lt;/em&gt; seeing the results, you unconsciously fit the definition to the outcome. If engagement went up 5%, that was the goal. If it went down 5%, you pivot to "we learned a lot." The retro becomes a narrative exercise, not a learning exercise.&lt;/p&gt;

&lt;p&gt;Real learning requires a pre-mortem question: &lt;em&gt;"What would we need to see to know this worked?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That question, answered before the sprint starts, is the only thing that makes a retrospective honest.&lt;/p&gt;

&lt;h2&gt;
  
  
  The four questions that fix retrospectives
&lt;/h2&gt;

&lt;p&gt;Before any significant initiative, write answers to these four questions:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. What is the decision we're making?&lt;/strong&gt;&lt;br&gt;
Not "build feature X." The actual decision: "Are we betting on engagement-led growth over acquisition-led growth this quarter?" Name it. A decision that can't be stated in one sentence is a decision you haven't made yet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. What does success look like — exactly, in advance?&lt;/strong&gt;&lt;br&gt;
One sentence. Measurable. Time-bound. Not "improve retention" but "increase D30 retention from 22% to 28% by July 15." If you can't write this before you start, you're not ready to start.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. What's the killer assumption?&lt;/strong&gt;&lt;br&gt;
Every initiative rests on one belief that, if wrong, invalidates the whole effort. Find it. Name it. Write it down. "We're assuming that power users are churning because of the onboarding flow, not the core product." If that's wrong, no amount of onboarding optimization saves you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. When is the assumption review date?&lt;/strong&gt;&lt;br&gt;
Not the ship date — the date you'll check whether the assumption held. Six weeks post-launch, you open the document and ask: did the metric move? Did the assumption prove correct? This is the only retrospective question that matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  What honest retrospectives look like
&lt;/h2&gt;

&lt;p&gt;With pre-written criteria, your retro becomes a one-page debrief:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Did the metric hit the target? (Yes/No, with data)&lt;/li&gt;
&lt;li&gt;Did the killer assumption hold? (Yes/No, with evidence)&lt;/li&gt;
&lt;li&gt;What does this tell us about the next decision?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's it. No "communication" bullet points. No vague learnings. Just a clear verdict on whether the bet you made was right, and what you now know that you didn't before.&lt;/p&gt;

&lt;p&gt;The teams that compound the fastest aren't the ones that ship fastest. They're the ones that learn fastest — and learning requires knowing what you were trying to prove before you tried to prove it.&lt;/p&gt;

&lt;p&gt;I built a complete 4-step decision framework around this: &lt;a href="https://dcljoyful.gumroad.com/l/toPM" rel="noopener noreferrer"&gt;https://dcljoyful.gumroad.com/l/toPM&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>career</category>
      <category>product</category>
      <category>agile</category>
    </item>
    <item>
      <title>Stop Running Sprints on the Wrong Problem: A PM's Checklist Before Building Anything</title>
      <dc:creator>Tongshan</dc:creator>
      <pubDate>Sat, 23 May 2026 13:23:15 +0000</pubDate>
      <link>https://forem.com/tongshan42/stop-running-sprints-on-the-wrong-problem-a-pms-checklist-before-building-anything-32gm</link>
      <guid>https://forem.com/tongshan42/stop-running-sprints-on-the-wrong-problem-a-pms-checklist-before-building-anything-32gm</guid>
      <description>&lt;p&gt;Every sprint review I've attended at a product-led company has at least one moment where someone asks: "Wait, why did we build this again?"&lt;/p&gt;

&lt;p&gt;The feature ships. The metrics don't move. Retrospectives identify "scope creep" or "unclear requirements." But the actual root cause is almost always the same: the team built something before the decision was clear.&lt;/p&gt;

&lt;p&gt;After 10+ years in product across iQIYI, NIO, Alibaba, and consulting for startups, I've developed a 4-question checklist I run through before any sprint begins. It's prevented more wasted cycles than any process tool I've ever used.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 4-Question Pre-Sprint Checklist
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Can you name the actual decision in one sentence?
&lt;/h3&gt;

&lt;p&gt;Not the feature. The decision.&lt;/p&gt;

&lt;p&gt;"Should we add social sharing or focus on improving the onboarding flow first?" is a decision.&lt;/p&gt;

&lt;p&gt;"Build social sharing" is a task.&lt;/p&gt;

&lt;p&gt;If your sprint goal is phrased as a task, stop. You've skipped the decision layer. Naming the decision forces you to articulate the trade-off and why you're making it now.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. What does success look like — and when?
&lt;/h3&gt;

&lt;p&gt;Write this down before the sprint starts, not after.&lt;/p&gt;

&lt;p&gt;"DAU increases by 8% within 30 days of launch" is success criteria.&lt;/p&gt;

&lt;p&gt;"Users like the new feature" is not.&lt;/p&gt;

&lt;p&gt;Without a pre-committed success definition, teams unconsciously move the goalposts after launch. You can't learn from a result you haven't defined in advance.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. What is the one assumption that could kill this?
&lt;/h3&gt;

&lt;p&gt;Every sprint is a bet. Every bet has one load-bearing assumption — if it's wrong, the whole thing collapses.&lt;/p&gt;

&lt;p&gt;For a retention feature: "Users who churn in week 2 are churning because of missing feature X."&lt;/p&gt;

&lt;p&gt;If that assumption is untested, you're spending sprint capacity on a hypothesis, not a validated problem. Name it explicitly, and state what evidence you have (or plan to get).&lt;/p&gt;

&lt;h3&gt;
  
  
  4. What's the review date?
&lt;/h3&gt;

&lt;p&gt;When will you know if the decision was right? Set the date before you ship.&lt;/p&gt;

&lt;p&gt;This is the most skipped step and the most valuable. A pre-set review date does two things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It reduces the emotional cost of committing (because you're not committing forever, just until the review)&lt;/li&gt;
&lt;li&gt;It creates a forcing function to actually measure results rather than moving on&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why This Works
&lt;/h2&gt;

&lt;p&gt;Most PM frameworks focus on prioritization — deciding what to build from a list. This checklist focuses on decision quality — making sure the list item you picked actually has a clear problem statement, testable hypothesis, and success definition attached to it.&lt;/p&gt;

&lt;p&gt;Teams that skip this end up with full sprints and empty metrics.&lt;/p&gt;

&lt;p&gt;Teams that use it ship less and learn more.&lt;/p&gt;




&lt;p&gt;I formalized this into a full decision framework for product managers: &lt;a href="https://dcljoyful.gumroad.com/l/toPM" rel="noopener noreferrer"&gt;The PM Decision Framework Handbook&lt;/a&gt; — a 4-step system for making faster, better product decisions with stakeholder alignment built in.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>product</category>
      <category>career</category>
      <category>agile</category>
    </item>
    <item>
      <title>The One Question That Exposes Bad Product Decisions Before You Make Them</title>
      <dc:creator>Tongshan</dc:creator>
      <pubDate>Fri, 22 May 2026 07:13:26 +0000</pubDate>
      <link>https://forem.com/tongshan42/the-one-question-that-exposes-bad-product-decisions-before-you-make-them-3gc6</link>
      <guid>https://forem.com/tongshan42/the-one-question-that-exposes-bad-product-decisions-before-you-make-them-3gc6</guid>
      <description>&lt;p&gt;Most bad product decisions aren't made at the end of a decision process.&lt;/p&gt;

&lt;p&gt;They're made at the beginning — when the team agrees on a direction without asking the one question that would have exposed the flaw.&lt;/p&gt;

&lt;p&gt;That question is: &lt;strong&gt;"If this one thing turns out to be false, does the whole decision fall apart?"&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What a Killer Assumption Looks Like
&lt;/h2&gt;

&lt;p&gt;Every product decision rests on assumptions. Some are safe (users have smartphones). Others are fragile — and if they break, the entire decision breaks with them.&lt;/p&gt;

&lt;p&gt;The fragile one is your killer assumption.&lt;/p&gt;

&lt;p&gt;Example: You decide to build a social sharing feature. The killer assumption might be: "Users want to share this publicly." If users are actually private about this, the whole feature collapses. Not just underperforms — collapses.&lt;/p&gt;

&lt;p&gt;Most teams don't name this assumption. They argue about execution when the real debate should be about whether the foundation is solid.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Question to Ask
&lt;/h2&gt;

&lt;p&gt;Before committing to any significant product decision, ask your team:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What is the single assumption that, if wrong, makes this entire decision wrong?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Force the group to name it. Write it down. Make it visible.&lt;/p&gt;

&lt;p&gt;This one step separates teams that learn fast from teams that ship confidently and fail expensively.&lt;/p&gt;




&lt;h2&gt;
  
  
  What to Do With It
&lt;/h2&gt;

&lt;p&gt;Once you've named the killer assumption, you have two options:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Option 1: Test it.&lt;/strong&gt; Is there a cheap, fast way to validate or invalidate this assumption before you fully commit? A survey, a prototype, a quick interview, an A/B test?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Option 2: Acknowledge it explicitly.&lt;/strong&gt; If you can't test it in time, at least document it. Write: "We are proceeding with the assumption that X is true. If we discover X is false by [date], we revisit this decision."&lt;/p&gt;

&lt;p&gt;This is not weakness. This is how senior PMs operate.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Teams Skip This
&lt;/h2&gt;

&lt;p&gt;Naming a killer assumption feels like doubt. Teams worry it will slow things down, create political tension, or make them look uncertain.&lt;/p&gt;

&lt;p&gt;But the alternative is worse: you ship, you discover the assumption was wrong, and now you're explaining to stakeholders why the project failed on something that was knowable in advance.&lt;/p&gt;

&lt;p&gt;The teams that name assumptions don't slow down. They speed up — because they stop wasting cycles on the wrong things.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Framework Behind the Question
&lt;/h2&gt;

&lt;p&gt;This question is Step 3 from a 4-step PM decision framework I've been using for years:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Name the actual decision (not the symptom)&lt;/li&gt;
&lt;li&gt;Define success criteria before looking at options&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Find the killer assumption&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Decide, document your reasoning, and set a review date&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If this resonates, I've put the full framework — with templates, worked examples, and decision logs — into a handbook: &lt;a href="https://dcljoyful.gumroad.com/l/toPM" rel="noopener noreferrer"&gt;The PM Decision Framework&lt;/a&gt; ($19.90).&lt;/p&gt;

&lt;p&gt;It's for PMs who want to make fewer regrettable decisions and build a traceable record of how they think.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>product</category>
      <category>career</category>
      <category>programming</category>
    </item>
    <item>
      <title>4 Steps Every PM Should Follow Before Shipping Anything</title>
      <dc:creator>Tongshan</dc:creator>
      <pubDate>Tue, 19 May 2026 02:16:34 +0000</pubDate>
      <link>https://forem.com/tongshan42/4-steps-every-pm-should-follow-before-shipping-anything-37b8</link>
      <guid>https://forem.com/tongshan42/4-steps-every-pm-should-follow-before-shipping-anything-37b8</guid>
      <description>&lt;p&gt;Most PMs I've worked with are smart, well-intentioned, and still consistently ship the wrong things. Not because they're lazy — but because their decision-making process has gaps that don't show up until after launch.&lt;/p&gt;

&lt;p&gt;After years as a PM at iQIYI (one of China's largest streaming platforms), I distilled our internal review process into 4 steps. I now run every feature decision through this before anything reaches engineering.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Find the Real Need
&lt;/h2&gt;

&lt;p&gt;Users tell you what they want. What they &lt;em&gt;need&lt;/em&gt; is usually different.&lt;/p&gt;

&lt;p&gt;When someone asks for a "filter" feature, dig deeper. What pain are they actually experiencing? What does their workflow look like without this? The real need is usually one level below the stated request.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Practice:&lt;/strong&gt; For every request, ask "what problem goes away if we build this?" If you can't answer it in one sentence, you don't know the need yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Evaluate the Full Solution Space
&lt;/h2&gt;

&lt;p&gt;Once the real need is clear, list &lt;em&gt;every&lt;/em&gt; possible solution — not just the obvious one. Aim for at least 5-7 options.&lt;/p&gt;

&lt;p&gt;This is where most teams fail: they jump to the first reasonable solution and start debating execution instead of exploring alternatives. The best option is often not the most obvious one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Practice:&lt;/strong&gt; Set a timer for 10 minutes and brainstorm solutions without filtering. Include silly ones. Include ones that are "not your job." Then evaluate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Map the Full User Flow
&lt;/h2&gt;

&lt;p&gt;Pick your best solution and draw every step a user takes — from problem awareness to resolution.&lt;/p&gt;

&lt;p&gt;Don't just map the happy path. Explicitly map:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What happens when users get confused&lt;/li&gt;
&lt;li&gt;What the error states look like&lt;/li&gt;
&lt;li&gt;What support sees when things go wrong&lt;/li&gt;
&lt;li&gt;What email/notification gets triggered&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I've killed more than a few features at this step when the full flow revealed hidden complexity we weren't prepared to handle.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Enumerate All UI States
&lt;/h2&gt;

&lt;p&gt;Every screen has multiple states. Name them all before design starts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Empty state&lt;/li&gt;
&lt;li&gt;Loading state
&lt;/li&gt;
&lt;li&gt;Error state&lt;/li&gt;
&lt;li&gt;Partial data state&lt;/li&gt;
&lt;li&gt;Success state&lt;/li&gt;
&lt;li&gt;Edge case states&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the most skipped step. And it's why so many products feel rough — not because the core interaction is bad, but because no one thought about the empty state.&lt;/p&gt;




&lt;p&gt;This framework doesn't tell you &lt;em&gt;what&lt;/em&gt; to build. It makes sure that whatever you build is the right thing, built right.&lt;/p&gt;

&lt;p&gt;I've written this up in more depth — with templates and worked examples — in a short PM handbook: &lt;a href="https://dcljoyful.gumroad.com/l/toPM" rel="noopener noreferrer"&gt;https://dcljoyful.gumroad.com/l/toPM&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What steps does your team take before shipping? I'd love to hear what works.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>career</category>
    </item>
    <item>
      <title>The 4-Step PM Framework I Used for 12 Years at iQiyi, NIO, Alibaba &amp; Horizon Robotics</title>
      <dc:creator>Tongshan</dc:creator>
      <pubDate>Mon, 18 May 2026 14:08:47 +0000</pubDate>
      <link>https://forem.com/tongshan42/the-4-step-pm-framework-i-used-for-12-years-at-iqiyi-nio-alibaba-horizon-robotics-2k5b</link>
      <guid>https://forem.com/tongshan42/the-4-step-pm-framework-i-used-for-12-years-at-iqiyi-nio-alibaba-horizon-robotics-2k5b</guid>
      <description>&lt;p&gt;After 12 years shipping products at iQiyi, NIO, Alibaba, and Horizon Robotics — I kept running the same mental checklist on every new requirement. I finally wrote it down.&lt;/p&gt;

&lt;p&gt;Here's the 4-step framework:&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Understand the Real Need (Behind the Stated One)
&lt;/h2&gt;

&lt;p&gt;Most requirements arrive wrapped in a solution. Someone says "add a filter" when what they actually need is "find relevant items faster." Your job is to peel back the surface request and uncover the actual user need.&lt;/p&gt;

&lt;p&gt;A useful test: &lt;strong&gt;Pareto improvement&lt;/strong&gt;. Does this change make something better without making anything worse? If your understanding of the need forces a painful tradeoff, you probably haven't found the real need yet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example from ride-hailing:&lt;/strong&gt; Drivers said they wanted "to get paid more." The real need was &lt;em&gt;income certainty&lt;/em&gt; — predictable earnings, not just higher ones. That single insight explains the entire auto-debit payment flow design.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Evaluate the Solution Space
&lt;/h2&gt;

&lt;p&gt;Once you understand the real need, resist building the first solution that comes to mind. Ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What are the alternative approaches?&lt;/li&gt;
&lt;li&gt;What's the simplest version that addresses the core need?&lt;/li&gt;
&lt;li&gt;What constraints (tech, legal, time) narrow the space?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;PMs who skip this step consistently over-engineer. The best solution is often the one that removes friction, not adds features.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Draw the Flow
&lt;/h2&gt;

&lt;p&gt;Before touching any spec doc, draw the user flow. End-to-end. Every decision point, every handoff, every edge case branch.&lt;/p&gt;

&lt;p&gt;This is where most requirements fall apart — not in the happy path, but in the branches nobody thought through. A visual flow forces you to confront those gaps early, when changes are cheap.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Enumerate Every UI State
&lt;/h2&gt;

&lt;p&gt;For every screen in the flow, explicitly define all possible states:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Normal&lt;/strong&gt; — the intended state&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Loading&lt;/strong&gt; — while data is being fetched&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Empty&lt;/strong&gt; — when there's no data yet&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Error&lt;/strong&gt; — when something goes wrong&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you can't describe the Error state for a given screen, the feature isn't ready to spec. Most production bugs come from unhandled states that "nobody thought would happen."&lt;/p&gt;




&lt;h2&gt;
  
  
  Using This in Practice
&lt;/h2&gt;

&lt;p&gt;I've applied this framework across wildly different contexts — streaming platforms, electric vehicles, logistics, autonomous driving. The specifics change; the checklist doesn't.&lt;/p&gt;

&lt;p&gt;If you want the full breakdown with worked examples, decision templates, and real requirement patterns from these industries — I put everything into a 16-page handbook:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://dcljoyful.gumroad.com/l/toPM" rel="noopener noreferrer"&gt;The 4-Step PM Framework Handbook&lt;/a&gt; — $19.90, instant download&lt;/p&gt;

&lt;p&gt;It's the checklist I wish I'd had on day one.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>career</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
