At the DjangoConf 2008 edition, James Bennett presents a talk on how to build reusable applications. He proposes 4 simple principles to achieve this goal:
* Do one thing, and do it well.
* Don’t be afraid of multiple apps.
* Write for flexibility.
* Build to distribute.