26.04.2015 Views

Team Development with Visual Studio Team Foundation Server

Team Development with Visual Studio Team Foundation Server

Team Development with Visual Studio Team Foundation Server

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Additional Resources<br />

• For more information on using team projects, see “When to use <strong>Team</strong> Projects” at<br />

http://blogs.msdn.com/ericlee/archive/2006/08/09/when-to-use-team-projects.aspx<br />

Create One <strong>Team</strong> Project per Version if You Want to Start Fresh With<br />

Each Application Version<br />

If you want each release to start fresh <strong>with</strong>out carrying forward work items and other TFS<br />

assets, consider using one project per release. When you use a new project for each<br />

release, you can modify work item schemas, workflow, check-in policies, and other<br />

assets <strong>with</strong>out impacting the old release. This can be especially useful if the old release<br />

will be maintained by a separate team such as a sustained engineering team who may<br />

have a different process and workflow than your main development team.<br />

When using one project per release, keep the following in mind:<br />

• Although it is very easy to move the source code from one project to another, it is<br />

difficult to move work items and other TFS assets from one project to another. Work<br />

items can only be copied one at a time to another project; if you want to copy sets of<br />

work items, you will need to write your own utility.<br />

• If you have hundreds of applications and releases, each in its own project, you will<br />

run up against TFS performance and scale limits.<br />

• Choose a structure you can live <strong>with</strong> in the long term because restructuring existing<br />

team projects is difficult.<br />

• Source can be easily shared among team projects:<br />

o Branch source from one project to another.<br />

o Map source from another project into your workspace.<br />

• <strong>Team</strong> <strong>Foundation</strong> <strong>Server</strong> can scale to ~500 projects by using the Microsoft Solution<br />

Framework (MSF) for Agile Software <strong>Development</strong> (MSF Agile) process template or<br />

to 250 projects by using the MSF CMMI process template. If you create your own<br />

process, or customize an existing process, keep in mind that the work item schema<br />

has the greatest impact on server scalability. A complex schema will result in a server<br />

capable of supporting fewer projects.<br />

Additional Resources<br />

• For more information on using team projects, see “When to use <strong>Team</strong> Projects” at<br />

http://blogs.msdn.com/ericlee/archive/2006/08/09/when-to-use-team-projects.aspx<br />

Use Branching to Share Code and Binaries that Require Integration<br />

Testing<br />

Managing shared code or binaries involves two steps:<br />

1. Determine a location in which to store the dependency.<br />

2. Branch the dependency into your project.<br />

1. Determine a location in which to store the dependency.<br />

Options for storing:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!