Open this lesson in your favourite AI. It'll walk you through the why, explain the demo, and quiz you on the try-it list.
Every team has more growth ideas than engineering capacity. ICE (Impact, Confidence, Ease) is the lightweight triage model that stops the loudest person in the room from deciding what ships next. A scored backlog forces you to make your assumptions explicit and compare them honestly.
Score three candidate experiments with ICE and rank them.
Use these three in order. Each builds on the one before.
In one paragraph, explain ICE scoring like I'm new to it.
Walk me through how ICE scoring actually works step by step — how each dimension is measured and how they combine into a final rank.
Given a team that always rates impact high but ships slow, how would you adjust the ICE model to surface that bias and correct for it?
type Experiment = { name: string; impact: number; confidence: number; ease: number };
function iceScore(e: Experiment) {
return { ...e, score: (e.impact * e.confidence * e.ease) / 100 };
}
const experiments: Experiment[] = [
{ name: "Homepage headline A/B", impact: 8, confidence: 7, ease: 9 },
{ name: "Onboarding email drip", impact: 9, confidence: 5, ease: 5 },
{ name: "In-app tooltip sequence", impact: 6, confidence: 8, ease: 7 },
];
const ranked = experiments.map(iceScore).sort((a, b) => b.score - a.score);
ranked.forEach(e => console.log(e.name, "→", e.score.toFixed(1)));
// Homepage headline A/B → 5.0
// In-app tooltip sequence → 3.4
// Onboarding email drip → 2.3