“The editor will be an extension of your hand; the keys will sing as they slice their way through text and thought.”
“...maintaining good regression tests is the key to refactoring with confidence.”
“Providing a comfortable transition through familiar metaphors is one way to help get buy-in.”
“Names are deeply meaningful to your brain, and misleading names add chaos to your code.”
“If you work closely with your users, sharing their expectations and communicating what you're doing, then there will be few surprises when the project gets delivered. This is a BAD THING. Try to surprise your users. Not scare them, mind you, but /delight/ them.”
“There is a simple marketing trick that helps teams communicate as one: generate a brand. When you start a project, come up with a name for it, ideally something off-the-wall. (In the past, we've named projects after things such as killer parrots that prey on sheep, optical illusions, and mythical cities.) ...Use your team's name liberally when talking with people. It sounds silly, but it gives your team an identity to build on, and the world something memorable to associate with your work.”
“Documenting the reasons behind requirements will give your team invaluable information when making daily implementation decisions.”