Getting the Most Mileage out of Team System: The Developer’s Perspective
Ok, you’ve heard all the Microsoft claims about Visual Studio Team System/Team Foundation Server, its features and benefits, and what it’ll do for you: blah, blah, blah. The question is: as a Developer, what do you need to know about Team System to be more productive? Visual Studio Team System is out there and it’s got a ton of features. It’s supposed to be great for developers but where do you start? What do you really need to know? More importantly, what do you need to know to make you as a developer be more productive?
Bottom line: Team System is all about you writing high-quality code. When you write quality code, you catch problems early and you try to make sure that those problems never come back.
In this tutorial, Ben will show explore how Visual Studio Team System and Team Foundation Server help you to write quality code.
We’ll start with unit testing: What is unit testing? What is Test-Driven Development? What are all different test types? How do you design for testability? What are good tests vs. poorly designed tests? What’s a “mock” object? How do you test user interface functionality? What’s code coverage? Why would you want to use code profiling on your unit tests? What’s the best way to unit test your stored procedures?
Next, we’ll talk about managing your code with Team Foundation Server source control: How do you ensure that your code base is clean? How do you keep people from breaking the build? What’s “continuous integration”? How to use check-in policies to avoid source control anarchy? Why use Static Code Analysis? How do you use branching and merging to manage multiple versions of an application? What’s a shelveset – and why does it take care of the “hit-by-a-bus factor”?
Then we’ll cover how Visual Studio Team System helps you manage your database code: How can you manage databases with Team Foundation Server source control? How do you manage new versions of the database schema? What’s the best way to get test data? Why is “Rename Refactoring” better than CTRL-H (Find & Replace)?
Finally, we’ll discuss the Team Foundation Server build system: What’s a Team Build? What’s MSBuild? What’s a build script? How do “desktop builds” fit in?
When we’re done, you’ll have learned the Developer-centric features in Team System that leverage unit testing, source control, and Team Builds to be highly productive and develop high-quality software.