By Fatskills Exam Guides Team — the exam nerds behind 28,500+ quizzes and 2.1M practice questions across 500+ global exams.
For engineers, PMs, and cert-takers who need to ship real work—not just pass tests.
You’re leading a team building a new AI-powered fraud detection system for a fintech startup. The CEO wants a fixed budget, fixed timeline, and fixed scope—classic Waterfall. But the data science team warns: "We won’t know if the model works until we test it with real transactions." Meanwhile, the compliance team drops a last-minute regulation change that invalidates half your assumptions.
This is the core tension: - Predictive (Waterfall) control assumes you can plan everything upfront. Works great for bridges, skyscrapers, or NASA missions—where requirements are stable and risks are known. - Empirical control (Scrum’s foundation) assumes uncertainty is inevitable. You inspect and adapt as you go, using real feedback to steer.
Why this matters in production: - If you treat a software product like a construction project, you’ll either: - Over-engineer (wasting months on features no one uses), or - Miss the market (shipping a "perfect" product 6 months too late). - Scrum’s empirical approach lets you validate assumptions early, pivot fast, and deliver value incrementally—even when the CEO demands a "fixed plan."
Real-world scenario: You inherit a legacy monolith that’s been in "maintenance mode" for 3 years. The business wants a new mobile app that integrates with it. Do you: - A) Spend 6 months writing a 200-page spec, then build it all at once (Predictive)? - B) Ship a minimal API endpoint in 2 weeks, let users test it, and iterate (Empirical)?
If you picked B, you’re thinking like a Scrum team. If you picked A, you’re about to waste $500K.
Scenario: You’re building a new feature for a SaaS product—a "smart inbox" that auto-categorizes emails. The CEO wants it in 3 months, but the team is unsure if the AI model will work.
"We believe that users will save 2+ hours/week if we auto-categorize emails into 'Action Required,' 'Read Later,' and 'Archive.'" Success metric: 70% of users keep the feature enabled after 2 weeks.
Code snippet (Python + FastAPI for the mockup):
from fastapi import FastAPI, HTTPException app = FastAPI() # Mock "AI" categorization (just a hardcoded rule) def categorize_email(email_subject: str) -> str: if "amazon" in email_subject.lower(): return "Read Later" elif "invoice" in email_subject.lower(): return "Action Required" else: return "Archive" @app.get("/categorize") def get_categorized_emails(): # In reality, this would fetch from a DB mock_emails = [ {"subject": "Your Amazon order #12345", "from": "[email protected]"}, {"subject": "Invoice #6789", "from": "[email protected]"}, ] return { "emails": [ {"subject": email["subject"], "category": categorize_email(email["subject"])} for email in mock_emails ] }
Verification: - Deploy to staging. - Check analytics: Did users click the button? - If <30% engage, pivot (e.g., "Maybe users don’t want auto-categorization").
Example feedback: - "I don’t trust the AI—let me override categories." - "I need a 'Follow Up' category for emails I can’t reply to now."
Action: - Update the backlog (e.g., add "Manual override" and "Follow Up" stories). - Reprioritize (e.g., "Manual override" is now P1).
Key difference from Waterfall: - You’re validating assumptions at every step—not waiting until the end to find out if the AI works.
Example (AWS CLI for cost-efficient scaling):
# Start with a minimal ECS task (1 vCPU, 2GB RAM) aws ecs register-task-definition \ --family smart-inbox \ --network-mode awsvpc \ --cpu "1024" \ --memory "2048" \ --requires-compatibilities FARGATE \ --execution-role-arn arn:aws:iam::123456789012:role/ecsTaskExecutionRole # Later, scale up based on real metrics aws ecs update-service \ --cluster smart-inbox-cluster \ --service smart-inbox-service \ --desired-count 4 # Scale to 4 tasks after Sprint 2
Example (GitHub Actions for CI/CD):
name: Smart Inbox CI/CD on: [push] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - run: pip install -r requirements.txt - run: pytest # Run unit tests - run: black . # Auto-format code deploy: needs: test runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - run: aws ecs update-service --cluster smart-inbox-cluster --service smart-inbox-service --force-new-deployment
Example (Prometheus + Grafana for monitoring):
# prometheus.yml scrape_configs: - job_name: "smart-inbox" static_configs: - targets: ["localhost:8000"] # Your FastAPI app
Trap: "Predictive" (wrong—Waterfall needs stable requirements).
"What are the three pillars of empirical process control?"
Trap: "Planning, Execution, Delivery" (that’s Waterfall).
"A team is building a medical device. Should they use Scrum or Waterfall?"
Trap: "Scrum" (wrong—lives are at stake).
"What’s the purpose of a Sprint Review?"
Challenge: You’re the Scrum Master for a team building a new mobile banking app. The CEO insists on a fixed scope and timeline (6 months). The devs say, "We won’t know if the biometric login works until we test it with real users."
Your task: - Propose a way to validate the biometric login in Sprint 1 (without building the full app). - Write a 3-line hypothesis for this experiment.
Solution:1. Build a "fake door" test: - Create a static prototype (e.g., Figma mockup) with a "Login with Face ID" button. - Track how many users click the button (even if it doesn’t work yet).2. Hypothesis:
"We believe that 80% of users will prefer biometric login over passwords. We’ll know this is true when 80% of test users click the 'Face ID' button in our prototype."
Why it works: - Validates demand before investing in development. - Fits in 1 Sprint (no over-engineering). - Provides data to push back on the CEO’s fixed plan.
Join 4M+ learners. Unlock unlimited quizzes, wrong-answer tracking, flashcards + reminders, study guides, and 1-on-1 challenges.