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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

• <strong>Team</strong> <strong>Foundation</strong> <strong>Server</strong> can scale to ~500 projects by using the MSF Agile process<br />

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

own process template or customize an existing process template, keep in mind that<br />

the work item schema has the largest impact on server scalability. A complex schema<br />

will result in a server capable of supporting fewer projects.<br />

• You will have to carry over all the areas from the original project; and perhaps also<br />

change the permissions in source control.<br />

Additional Resources<br />

• For more information about 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 />

Grant Only Required Permissions on Project Assets<br />

When creating team projects, review the default security groups created by the process<br />

and, if necessary, create security groups <strong>with</strong> appropriate permissions. You then assign<br />

the project members to appropriate groups to ensure that each member gets only the<br />

permissions he or she requires on project assets.<br />

Additional Resources<br />

• For more information about granting permissions, see “How To – Manage Projects in<br />

<strong>Visual</strong> <strong>Studio</strong> <strong>Team</strong> <strong>Foundation</strong> <strong>Server</strong>” in this guide.<br />

Structure Your Source Tree to Support Branching<br />

When creating your source tree structure, make sure that it supports branching. Keep<br />

separate folders for source and for other project assets, so that if isolation development is<br />

required in the future, you can simply branch the source folder. Also make sure that you<br />

maintain separate folders for each component <strong>with</strong>in the source folder, so that partial<br />

branching can be performed if required.<br />

Segregate other entities such as shared code, unit tests, library dependencies, and so on<br />

by using folders so that they can be excluded or included during branching as required.<br />

The following is an example of a source tree structure that supports branching:<br />

• Main – Container for all assets you need to ship the product<br />

o Source – Container for everything you need in order to build<br />

• Code – Container for source code<br />

• Shared Code – Container for source code that is shared from other<br />

projects<br />

• Unit Tests – Container for unit tests<br />

• Lib – Container for binary dependencies<br />

o Docs – Container for documentation that will ship <strong>with</strong> the product<br />

o Installer – Container for installer source code and binaries<br />

o Builds – Container for <strong>Team</strong> Build scripts<br />

o Tests – Container for test team test cases

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

Saved successfully!

Ooh no, something went wrong!