

Ripeness for Refactoring - michaelfeathers
https://michaelfeathers.silvrback.com/ripeness-for-refactoring

======
Jeff_Dickey
Two of my guiding principles for development are mottoes I heard repeatedly
from emergency medicine professionals:

1\. "Don't just do something, stand there!" Are you _sure enough_ that the
first "obvious" response is going to do significantly less harm than good? If
not, wait a second, think, and try again;

2\. "If you don't write it down, it _never happened_." At least not the way
you (think you) remember it, and what you _do_ remember is lacking a detail
that will turn out to be critically important. Having information that you
trust, available at need in usable form, leads to _dramatically_ better
decisions out to several sigma from the mean.

"There's never time to do it right, but always time to do it over." I'm
currently employed in one of the most pathological examples of this that I've
come across in a 35-year career. Development using agile processes is a game-
changer, but it's the worst of all worlds when the most essential things that
_make_ for agile development — like pairing, or small iterations — are cast
aside because "we don't have time for that".

