If you attended Cloudforce in San Jose last year, read the Free Force.com Edition series I wrote in support of the event, or read some of my previous blogs, you may have already had some experience with Change Sets during their beta release (and know I think they are a big deal!). I'm excited to announce that Change Sets are now Generally Available (GA) in Spring 11.
So, what are Change Sets? A Change Set is a collection of, or customizations to, a set of components such as apps, objects, code, reports or email templates. You can think of a Change Set as being similar to a package with an important difference: Change Sets can only be used to send customizations between related environments or organizations. These related environments may be Sandboxes, or perhaps Production orgs for example. If you have primarily developed within a Developer Org (DE), working with a Sandbox may be something new. I highly encourage you to sign up for FFE org to get some experience with Sandboxes and Application Management(AM). (Change Sets require Sandboxes and are therefore only available in Enterprise, Unlimited, or Free Edition)
At the core, Change Sets facilitate deployment between environments. In order for Change Sets to be sent from one organization to another, a Deployment Connection is required. Deployment Connections work hand-in-hand with Change Sets to authorize which environments can send and receive changes.
At first glance the need to explicitly authorize a Deployment Connection may seem overkill—why do I need to add another step if I want to move code between environments? The answer is that authorization of Deployment Connections can help enforce best practices relating to code promotion paths. Here's an example, from the FFE article I wrote previously where, using Deployment Connections, I can authorize Change Sets between Development and Test to allows an iterative build-test process with only tested code (code coming from the Test Sandbox) being authorized to push to Production.
For many developers, they work exclusively in a DE (Developer Edition) org and, as a result, often do not touch on Application Management (AM), or perhaps even software development lifecycles (SDLC). With the GA of Change Sets, I highly encourage every developer to look at how developing on Force.com, and in the cloud, provides many opportunities to enhance their current AM and SDLC practices. A great place to start is to check out the Spring 11 Release page which has a link to the Release notes, and the Preview webinar signup page. In addition, you may want to check out the Force.com Development Lifecycle Guide which has a lot of great information of AM and SLDC.