Appearance
Development Methods
Structured approaches to changing software where you're never more than one step from a working system. Each method follows the same principle: small steps, verify between each, ability to roll back.
Topics
- Phased Migrations: Change stateful systems (databases, secrets, certificates) through reversible phases that maintain compatibility at every deploy. Use when a single-step change risks downtime or data corruption.
- Refactoring: Restructure code in small verified steps — establish a verification mechanism, make one change, verify, commit or revert. Use when changing architecture, moving code, or replacing patterns.
- Test-Driven Development: Write one failing test, implement to pass, repeat. Use when building new features or fixing bugs where tests can define done.
- Diagnose Root Cause: Hypothesis-driven debugging — form hypotheses, add targeted logging, analyze evidence, confirm. Use when tracking down bugs without guessing at fixes.
- Code vs Scripts vs Docs: Route each piece of information to the medium whose execution guarantees match the need — rules & behaviors in code (enforced), repeated operations in scripts (one-command invocable), rationale in docs (read). Use when deciding where something belongs, or when auditing a project for misaligned content.
See also
- Screenshot Diff Testing: Visual verification mechanism used during refactoring.
- JavaScript Testing: Test runner used in test-driven development.