More in Agile & Scrum — page 25

Design Sprint: From Idea to Prototype in 5 Days
A Design Sprint fast-forwards you to see customer reactions without building a real product. In one week, your team goes from a big question to a realistic prototype and user feedback.

Jobs to be Done: Sell the Hole, Not the Drill
Jobs to be Done (JTBD) says people don't buy a drill, they buy a hole. It focuses on the customer's underlying goal, not your product. This helps uncover new opportunities, but the footgun is defining the job too narrowly, limiting innovation to your current…

Customer Journey Mapping: Walk in Your Customer's Shoes
A customer journey map is a storyboard of a user's experience, showing every interaction from their perspective. Use it to find pain points in a signup flow or support process. The biggest footgun is mapping an ideal path, not the messy reality.

Lean Canvas: A Startup's Reality Check on a Page
A Lean Canvas is a one-page business plan that forces you to define and test your riskiest assumptions first. Startups use it to validate their core idea before building. The biggest mistake is treating it as a one-time exercise instead of a living document.

Value Proposition Canvas: Map Customer Needs to Product Features
The Value Proposition Canvas maps customer needs to product features to ensure you're building something people want. It connects customer "jobs," "pains," and "gains" to your product's features.
Empathy Mapping: Seeing Through Your User's Eyes
An empathy map is a tool for a team to build a shared picture of a user's mind, not just their actions. It's used in UX design to align on user needs before building. The footgun is treating it as a one-time checklist instead of.
ATDD: Aligning Code with Business Needs Before You Build
Acceptance Test-Driven Development (ATDD) is a communication framework where business, developers, and testers write acceptance tests together *before* coding begins. This ensures everyone understands the requirements.
Contract Testing: Test Interfaces, Not Integrations
Contract testing ensures services work together without slow integration tests. It's a formal agreement where a 'consumer' defines its needs, and a 'provider' proves it can meet them.

Strangler Fig Pattern: Replace Legacy Systems Safely
The Strangler Fig pattern lets you replace a legacy system by gradually growing a new one around it, eventually choking out the old code. It's used for modernizing critical systems where a "big bang" rewrite is too risky, routing traffic feature by feature.
Code Smells: Indicators of Deeper Problems, Not Flaws
A code smell is a surface-level hint, like a long method, that suggests a deeper design problem. It's an indicator, not a definitive flaw. The footgun is blindly "fixing" every smell; a smell is a reason to investigate, not an automatic command to refactor.

The Test Pyramid: Fast Feedback, Stable Code
The Test Pyramid is a strategy for balancing automated tests: write many fast unit tests, fewer integration tests, and very few slow end-to-end tests. It guides CI/CD pipelines to catch failures quickly. The footgun is over-relying on slow E2E tests.
DRY: Don't Repeat Yourself
DRY means every piece of knowledge has one single, authoritative representation in your system. This applies to business logic, config, or docs; a change in one place updates everywhere.
YAGNI: You Ain't Gonna Need It
YAGNI is a principle of radical simplicity: don't build features now just because you *think* you'll need them later. It forces focus on current requirements, preventing wasted effort on speculative work.
Simple Design: The Simplest Thing That Could Possibly Work
Simple Design means building only what's needed now, not what you might need later. In agile projects like Extreme Programming, this keeps code lean for changing requirements.
Trunk-Based Development: One Mainline to Rule Them All
Trunk-Based Development means all developers commit to a single shared branch, `main` or `trunk`. This is common in CI/CD environments for frequent updates.
SOLID Principles: Writing Maintainable Object-Oriented Code
SOLID principles are five design rules for writing maintainable object-oriented code. They guide you toward creating flexible systems that are easy to change. The footgun is treating them as rigid laws, leading to over-engineered and complex solutions.
Refactoring: Cleaning Code Without Breaking It
Refactoring is like renovating a house's internals without changing its outward appearance. It improves code design and readability without altering external behavior, making it easier to maintain or extend.
Test-Driven Development: The Red, Green, Refactor Cycle
Test-Driven Development (TDD) flips the script: you write a failing test *before* the feature code. This 'Red, Green, Refactor' cycle ensures every piece of code is testable. It's common in agile for building robust features.
Actionable Agile Metrics: Predicting 'Done'
Stop guessing 'done' and start forecasting with data. Actionable Agile Metrics use historical flow data—like cycle time and throughput—to answer 'When will it be done?' for customers who need predictability.
Double-Loop Learning: Question the 'Why', Not Just the 'How'
Double-loop learning means questioning the 'why' behind your work, not just fixing the 'how'. Instead of only correcting errors, you challenge the underlying goals. This is crucial in retrospectives when a team realizes their entire approach was flawed.