There are running notes on Bob Martin's talk (Clean Code)... it was great and the room was packed. There were literally people sitting in the floor for this one.
----
We always get more done at the beginning of a project because the code hasn't gotten messy yet... so how do we 1) keep our code from getting messy? Or 2) clean it up when we realize it gotten messy?
When a project is late, what does management do? Add developers... who tend to do what? Make more mess!
Write your tests first, or you probably won't. When you change your code, add a test. When you create new code, Test First.
The open/close principle... a program should be open to extension but closed to modification. This is powerful.
In school, when we're learning to write, we're taught to write a first draft, then a second draft, etc. Then we try to write code and do it perfectly the first time. An