
Tidy First?

Decoupling can be an intellectual stretch (you don’t know how to do it). Decoupling can be a time/money stretch (you could do it, but you can’t afford to take that time just now). Decoupling can be a relationship stretch (the team has taken as much change as it can handle right now).
Kent Beck • Tidy First?
“Refactoring” took fatal damage when folks started using it to refer to long pauses in feature development. They even eliminated the “that don’t change behavior” clause, so “refactoring” could easily break the system. Let’s see: no new features, possible damage, and nothing to show for it at the end. No thank you.
Kent Beck • Tidy First?
We start with just enough design to get the feedback cycles going: Features What do users want? Design How can programmers best be supported to deliver those features?
Kent Beck • Tidy First?
Software design is a powerful tool to ease pain in the world—if it is used well. Used badly, it becomes just another instrument of oppression, and a drag on the effectiveness of software development.
Kent Beck • Tidy First?
When I’ve read other descriptions of software design, I’ve found them to be missing the critical elements of “how much?” and “when?”