The document discusses branching in Team Foundation Server (TFS) 2010. It introduces branching as a way to create parallel universes from a main code base for purposes of isolation. Common branching patterns like release, quality, and feature branching are described. Release branching allows separate development of concurrent releases while quality branching promotes changes through branches. Feature branching keeps each major feature in its own branch. The document stresses discipline in branching, integrating changes between branches, and avoiding complex branching structures. It also addresses challenges of branching for agile development and sharing code between branches.