Developing applications on the Force.com platform is easy, straightforward, and highly productive. A developer can define application components, such as custom objects and fields, workflow rules, Visualforce pages, and Apex classes and triggers, using the point-and-click tools of the Web interface. Simple changes can be implemented and deployed immediately without affecting other users in the production organization. More complex features can be left in development status until they have been fully tested, and then deployed to everyone in the production organization.
But how do those same development practices work when building a large-scale enterprise application in collaboration with several other developers? When developing complex applications with highly customized logic and user interfaces, configuring on-the-fly in a single environment no longer makes sense. Such applications take time to develop, and require more formal practices to ensure they work as intended and meet users' needs.
There’s also a lot of middle ground. Your project might not seem all that large, and perhaps you’re doing the development by yourself along with day-to-day administration tasks. You can still benefit from using a sandbox as a development environment—a place where you can develop customizations and code without affecting end users. More traditional project-based development opens up new possibilities for Force.com development, but also requires new processes for development, migration, and synchronization.
Whether you are an architect, administrator, developer, or manager, this guide prepares you to undertake the development and release of applications on the Force.com platform. It starts with the most basic scenario, using a developer sandbox and change sets. Later chapters address other development environments, tools, and processes for more complex enterprise scenarios.