Ship it
Ship It! A practical guide to successful software projects by Jared Richardson and William Gwaltney Jr.
Choose your habits
Stay in the sandbox (develop in isolation from other developers)
If you need it, check it in
Script builds on day one
Any machine can be a build machine
Build continuously
Test continuously
Avoid collective memory loss (use issue tracking, wiki)
Exercise your product - automate your tests
Use a common, flexible test harness
Use the best tools for the job
Use open formats to integrate tools
Keep critical path technologies familiar
Work to The List
Let a tech lead
Use daily meetings for frequent course corrections
It’s okay to say “later”
Always review all code
The goal is software, not compliance
Architect as a group
If production uses it, you should too
Solve the hardest problems first
An encapsulated architecture is a scalable architecture
You can steer a boat unless its moving
Don’t change legacy code until you can test it
Use test driven refactoring to clean up untestable code
Mock client tests do the most with the least
Continuously test changing code
It has to work for everyone
Integrate often, and build and test continuously
Deliver live demos early and often
Publicize what you’re doing and why
Face time builds teamwork
Only fix what needs fixing
Disruptive “best practices” aren’t
Innovate from the bottom up
Show, don’t just tell
Cultivate management buy-in
Test where the bugs are
The list is a living document. Change is life
It is’s not on The List, it’s not part of the project
Always give feedback first.