Team Foundation Server
WHAT’S IN THIS CHAPTER?
- Managing project tasks
- Visualizing source code repository changes
- Creating build configurations
- Reporting progress
Software projects are notoriously complex; few are delivered successfully on time, within budget, and up to the wanted quality levels. As software projects increase and require larger teams, the processes involved to manage them are more complicated, and not just for the manager, but also for the developers, the testers, the architects, and the customer. Over time there have been many approaches to solving software project management problems, including quality models such as CMMI, methodologies such as RUP, or Agile Practices, Scrum, and Continuous Integration. Clearly a tool that helps support all the pieces necessary to ensure more successful software projects is (or should be) on the wish list of every development manager.
The most basic requirement for a software project, even for the smallest one-person project, is to have a source control repository. For bigger projects, more sophisticated features are needed, such as labeling, shelving, branching, and merging. Project activities need to be created, prioritized, assigned, and tracked, and at the end of the day (or better yet even before every change is checked in to your repository) you need to ensure that everything builds and all tests pass. To make this process smoother and improve team communication, a way to report to project managers or peer developers ...