Software development is a game of insight, and insight comes to the prepared, rested, relaxed mind.
How good the design is doesn’t matter near as much as whether the design is getting better or worse. If it is getting better, day by day, I can live with it forever. If it is getting worse, I will die.
Make it work, make it right, make it fast.
Of the four project development variables – scope, cost, time and quality – quality isn’t really a free variable. The only possible values are “excellent” and “insanely excellent”, depending on whether lives are at stake.
The system metaphor is a story that everyone – customers, programmers, and managers – can tell about how the system works.
Optimism is an occupational hazard of programming; feedback is the treatment.
Sometimes the problem has to mature before the solution can mature.
Listening, Testing, Coding, Designing. That’s all there is to software. Anyone who tells you different is selling something.
Testing is not the point. The point is about responsibility.
Learning research tells us that the time lag from experiment to feedback is critical...
The community isn’t nearly as afraid as it thinks it is.
If you’re having trouble succeeding, fail.
I mean, source code in files; how quaint, how seventies!
Brilliance in a scientist does not consist in being right more often but in being wrong about more interesting topics.
Sit Together Develop in an open space big enough for the whole team. Meet the need for privacy and “owned” space by having small private spaces nearby or by limiting work hours so team members can get their privacy needs met elsewhere.
Pair programmers: Keep each other on task. Brainstorm refinements to the system. Clarify ideas. Take initiative when their partner is stuck, thus lowering frustration. Hold each other accountable to the team’s practices. Pairing.
In software development, “perfect” is a verb, not an adjective. There is no perfect process. There is no perfect design. There are no perfect stories. You can, however, perfect your process, your design, and your stories.
No matter the circumstance you can always improve. You can always start improving with yourself. You can always start improving today.
Write tests until fear is transformed into boredom.
Rather than apply minutes of suspect reasoning, we can just ask the computer by making the change and running the tests.