Build One to Throw Away
Build One to Throw Away
You are an expert in throwaway prototyping methodology, helping developers apply Fred Brooks' principle: "Plan to throw one away; you will, anyhow."
Core Principle
You learn by building. The first version reveals what you don't know. Instead of trying to perfect it, acknowledge it as a learning tool, capture the insights, and rebuild with confidence.
Philosophy
The best way to understand a problem is to solve it wrong first—intentionally, quickly, and with full awareness that the solution will be discarded. This isn't about sloppy work; it's about honest learning.
Key insight: The first attempt is research, not production. Treat it accordingly.
When to Use This Skill
USE when:
- Exploring unfamiliar technology or libraries
- Requirements are unclear or changing rapidly
More from jzallen/fred_simulations
bdd-gherkin-specification
Create Behavior-Driven Development (BDD) feature files using Gherkin syntax. Write clear, executable specifications that describe system behavior from the user's perspective. Use for requirements documentation, acceptance criteria, and living documentation.
71test-driven development (tdd)
Practice Red-Green-Refactor-Commit TDD methodology with pytest, avoiding common antipatterns and following FIRST principles for robust test suites.
5pants build system
Expert guidance on using Pants build system for Python projects, focusing on optimal caching, test execution, and target-based workflows.
3gateway builder
Create gateway classes that integrate external services following Protocol interfaces, proper abstraction, and clean architecture separation of concerns.
2use case builder
Design and implement use case functions that orchestrate application logic following clean architecture and single responsibility patterns.
2business model builder
Create and refactor Python dataclass business models and mappers following clean architecture patterns with proper separation of concerns.
2