This document discusses customizing and extending Plone 3 using buildout, eggs, GenericSetup profiles, and testing. Key points include: 1) Using buildout to manage dependencies and custom packages, including developing packages locally. 2) Creating a "policy product" that installs all customizations and dependencies in one step. 3) Customizing Plone through GenericSetup profiles using XML configuration files and custom import steps. 4) Writing tests to ensure customizations are properly installed and configured. 5) Customizing visual components like skins, views, and resources using layers and browser resources. Thorough testing and source control are emphasized.