Time to start a new project ... what do you do? Maybe check out previous projects from subversion (or insert your code control system here) and take what you need?
Reusing code this way is troublesome. It's an easy thing to do, but there are problems - first, you'll need to properly extract out what is needed and configure it. Second, make sure that any 3rd party components are up to date with current releases. Third remove any elements that are unneeded overhead from the existing project. And fourth - test it to make sure the base platform is working correctly.
Our basic .NET platform is a good example - we utilize several 3rd party components - nHibernate, Spring.NET, Lucene, etc., etc., etc. Some elements (for example Spring.NET) have pieces that reach out and interact with other libraries (like nHibernate).
Using Snippet Garden, we've started the practice of creating project templates.
We start by building a minimal project, including all the external libs, configuration files, and some sample code - add in a little documentation for the configuration and test instructions, zip it, and upload to our Snippet Garden site. By using these empty sample projects, with all of the related plumbing, my development team can start quicker, and don't have to worry about updating or testing the base platform.
We've also found that the templates are easier to maintain this way - when a new release of a component comes out, update, test, and upload it back into the system. These project templates don't just jump start projects, we use them to teach development team members how these frameworks work. With Snippet Garden's role based user accounts, I can make sure only senior developers can update the templates, and within a single snippet, we can upload several versions of the template for different purposes, or include "snips" of alternate configuration options for the developer to choose from.
Using Snippet Garden's tagging feature, all templates are tagged with - well "Template" so they're easy to find. Other developers are encouraged (strongly) to use the templates, and add comments that document any problems that might incur when using the template. Capturing these experiences is essential so that future users avoid any pitfalls experienced by other team members.
So, how does your development team do it?