Application Lifecycle Management with Team Foundation Server
Comparing traditional and Agile methodologies
- Waterfall
- CMMI
- Scrum
- XP
- Benefiting from value-driven development
- Scheduling releases, iterations and Sprints
- Achieving XP best practices with TFS
Introducing Team Foundation Server
Surveying TFS features
- Team collaboration
- Process templates
- Version control
- Automated builds
- Integrated tests
Evaluating TFS editions
- Choosing Team Foundation Server vs. TFS Express
- Exploiting Visual Studio Online
Administering Team Foundation Server and Visual Studio Online
Installing TFS
- Planning a TFS installation
- Creating collections with the administrative console
- Managing project security and group membership with the Web control panel
Securing TFS projects
- Assigning permissions to security groups
- Adding users to teams and projects
- Restricting user rights
- Configuring user alerts
Creating projects for TFS and Visual Studio Online
- Comparing the built-in Scrum, CMMI and Agile process templates
- Specifying source control
- Customizing process templates
Managing Work with Team Foundation Server
Mapping TFS and Agile process terms
- Defining epics and user stories as TFS work items
- Inputting features and backlog items
- Estimating and prioritizing work items
- Breaking backlog items into tasks
Organizing backlogs
- Scheduling start and end dates for releases and Sprints
- Assigning backlog items to iterations and team members
- Recording work remaining and status
- Monitoring team progress
Maintaining Source Code with Version Control
Collaborating on code with Team Foundation Version Control (TFVC) and Git
- Selecting centralized vs. distributed version control
- Synchronizing local repositories with the master repository
- Viewing project history with changesets
Connecting to TFS from Visual Studio Team Explorer
- Checking out and checking in source code
- Merging changesets from multiple developers
- Branching for release management and maintenance
- Resolving multi-user conflicts
- Adding existing code to TFS source control
Integrating version control with client applications
- Plugging TFVC into Windows Explorer
- Linking TFS to Eclipse and Xcode
- Executing TFS commands in the console
Achieving Continuous Integration
Creating, running and automating builds
- Defining and scheduling builds
- Managing releases and deployments
- Controlling build output
Crafting quality software through continuous testing
- Integrating unit testing into builds
- Leveraging Visual Studio code analysis and testing tools
- Creating TFS test scripts for manual testing
- Documenting and tracking bugs
Scheduling and Monitoring Team Progress
Managing backlogs and querying TFS content
- Assigning work to iterations
- Querying and defining iteration backlogs
- Visualizing work-in-progress with Kanban boards
- Monitoring progress with burndown charts