We sometimes get the question from our new partners how they'd go about setting
up their ADAM development environment. This is the setup we find most effective.
The most obvious choice is for a developer to setup an entire ADAM environment on
his individual laptops. This includes the ADAM components and
an ADAM database. These workstations should be running:
- Microsoft Windows XP/Vista/Server 2003/Server 2008
- Microsoft SQL Server 2005/2008
- Microsoft Visual Studio 2003/2005/2008

As always, every approach has its pros and cons:
Pro:
- Easy to setup.
- Each developer has its own ADAM database and can work independently from each
other.
- Works well for small projects and individual developers.
Con:
- Hard to collaborate on projects with multiple developers.
- Hard to keep the ADAM databases in sync during the development track: each developer
has his own 'version of the truth'.
A slightly different approach is to put the ADAM database on a separate server and
let all workstations connect to the same database (i.e. let every ADAM registration
on each workstation point to the same SQL Server database). This server doesn't
need to have the ADAM components, as it is only used as a database server in this
scenario. However, installing the components could turn your server in a testing
environment that can be used to verify the work done by the individual
team members:

Pro:
- Single version of the ADAM database
- Easier to collaborate for multiple developers
Con:
- Changes on ADAM records/classifications/files that are made by one developer can
impact another developer (certainly for bigger features).
- Difficulties to take the development work with you, e.g. to the customer or home.
This setup can be optimized by having a centralized server that can be used by the
developers if they're in the office or connected through VPN. Together with
this centralized database, each developer will restore a backup copy of the database
whenever they go offline or want to work on an individual feature:

This setup proves to be the most effective in most cases. It is what we recommend
to all our partners that need to get their ADAM development going.
As your ADAM work starts to grow, you'll hopefully be serving multiple customers
or projects. In that case, you can extend the setup above by adding multiple databases
(and corresponding ADAM registrations) on the same server/workstation:

Finally, in more advanced test or development environments you could choose to install
different versions of ADAM to run side-by-side on the same server. For more info
on how to setup your server/workstation, please review the ADAM Installation and
Configuration Guide: "Side-by-side installation attention points".