Reducing mass
Making things manageable
Lowering cost of change
Staying out of debt

Small has big advantages

- customer is closer to you

Need the right people for a small team

Act your size!

- there are advantages to being small so tout those and don't pretend to be big
→ less formality, mass, fear
→ more flexibility, change, freedom

Embrace constraints

Build half a product, not a half-ass product

- you can always add to it later

Build less software

Encourage human solutions

- give people enough to solve their problems their own way, then get out of the way
- e.g. Ta-da to-do lists

Get real, start with the UI

- not the functional spec

- people don't know what they need 'til they see it

Fixed cost, fixed time, fixed scope → pick 2

Don't just write stuff, produce stuff then test it
- similar to extreme programming

Make most decisions "just in time"

- like car manufacturing

Examples:
Scalability - scale when you need to
Admin interfaces - build at the end

E.g. BaseCamp billing page not built until product was released, deadline was when free trials expired

"do what you need to do when you need to do it"

Make decisions when you have real information

Work on the next most important thing
- don't get too far into the future

Celebrate small victories

iterate ↔ celebrate

It's OK to be wrong

Builders support it :: chefs become waiters

- do your own tech support

Publicity amplifiers

Conclusion