3 days
Training Overview
This three-day, instructor-led course provides students with the knowledge and skills
to effectively use the Application Lifecycle Management (ALM) tools found in Visual
Studio and on-premises Team Foundation Server to plan, track, design, develop, test,
and deliver business value in the form of working software. The course demonstrates to
developers, testers, product owners, project managers, architects, testers, and release
managers the value of the various ALM features and capabilities found in throughout Visual
Studio.
*Note: This course can be delivered using the Scrum, Agile, or CMMI process template.
Audience
This course is intended for current software development professionals who are involved in building
applications with Visual Studio. Regardless of the student’s role, he or she will be able to learn and
get hands-on experience with all of the pertinent ALM features of Visual Studio.
Prerequisites
Before attending this course, a student should have experience working on a software development
team and be familiar with that team’s ALM processes, practices, and tools. Additionally, students
should:
- Have familiarity with their development process
- Have familiarity with distributed application design
- Be able to read and understand C# .NET code (all source code will be provided)
- Have used Visual Studio (any modern version)
- Be able to read and understand requirements
- Understand the Microsoft Windows operating system and security basics
At Course Completion
At course completion, attendees will have had exposure to:
- Visual Studio’s ALM tools and capabilities
- TFS components and architecture
- Using the TFS Administration Console
- Planning and creating team project collections
- Planning and creating team projects
- Process templates and their purpose
- Using the respective process template
- Managing and securing a team project
- Creating and querying work items
- Understanding and using work item hierarchies
- Using Agile tools to plan and track work
- Manage a product backlog using Team Web Access
- Manage a Sprint Backlog using Team Web Access
- Using UML to model and describe a system
- Using layer diagrams and sequence diagrams
- Using Architecture Explorer to explore code
- Obtaining stakeholder feedback
- Collaborating using a Team Room
- Creating storyboards in PowerPoint
- Conducting and tracking a code review
- Understanding and using version control
- Writing and executing .NET unit tests
- Integrating 3rd party unit testing tools (i.e. NUnit)
- Using code analysis and code metrics
- Using code clone analysis to find duplicate code
- Using IntelliTrace to troubleshoot and diagnose
- Using Performance Profiler
- Test case management using Test Manager (MTM)
- Planning, creating, and executing manual/UI tests
- Planning and running manual tests from the web
- Using coded UI tests to automate UI testing
- Testing web applications
- Putting tests under load
- Understanding and using Team Foundation Build
- Configuring build controllers and agents
- Automating the building and testing of a project
Course Outline
This module introduces Visual Studio ALM, including an overview of the various editions and components.
Lessons
- Challenges facing development teams
- ALM overview
- ALM support in Visual Studio
- TFS overview
- Features and capabilities by edition and role
Hands-On
- Explore the Fabrikam Fiber website
- Connect to Fabrikam Fiber team project
- Explore Team Web Access
- Explore project portal (optional)
- Explore project reports (optional)
This module introduces team projects and the tasks required to plan, create and configure them.
Lessons
- The Project Administrator role
- Team project collections
- Team projects
- Creating a team project
- Configuring and managing a team project
Hands-On
- Create a team project collection
- Create a team project
- Configure security and permissions
- Configure Fabrikam Fiber team
- Setup areas and iterations
This module shows how Visual Studio uses process templates to enact a variety of processes. Students will learn how to create, query, and manage work items in various ways.
Lessons
- Software development methodologies
- Agile vs. formal processes
- Process templates
- Work item types
- Work item categories
- Work item links and hierarchie
- Creating and managing work items
- The Agile tools in Team Web Access
Hands-On
- Create and manage work items in Web Access
- Create and manage work items in Team Explorer
- Create and manage work items in Microsoft Excel
This module introduces Team Foundation Version Control and its benefits. Students will learn how to setup workspaces and perform the various version control operations.
Lessons
- TFS Version Control overview
- Visual Studio integration
- Types of workspaces
- Source Control Explorer
- Get, check-out, check-in, label
- Managing and resolving conflicts
- Branching and merging overview
- Git Integration
Hands-On
- Create a workspace
- Setup version control structure
- Place a solution under version control
- Get, check-out, and check-in files
- View history and compare files
- Detect and resolve conflicts
- Shelve and unshelve code
- Branch and merge code
This module introduces the various architecture tools found in the Ultimate edition of Visual Studio. Students will learn how to explore existing code and use various models and diagrams.
Lessons
- Architect activities
- Directed Graph Modeling Language
- Exploring existing code
- Architecture Explorer
- UML models and diagrams
- Sequence diagrams
- Layer diagrams
Hands-On
- Use Architecture Explorer to explore existing architecture
- Create and use DGML documents
- Generate a dependency graph
- Generate a sequence diagram
- Create a UML model and diagrams
- Create a layer diagram and use it for architecture validation
This module focuses on the tools and techniques that a high-performance team should use and practice when collaborating.
Lessons
- Using the My Work window
- Suspending and resuming work
- Shelving and unshelving changes
- Creating storyboards in PowerPoint
- Reviewing code in Visual Studio
- Providing feedback using the client
- Using a Team Room
Hands-On
- Suspend and resume work
- Create a storyboard using PowerPoint
- Request and conduct a code review
- Collaborate using a team room
- Request and provide feedback
This module introduces the tools that help improve code quality, such as unit tests, code analysis, code metrics, code clone analysis, application profiling, and IntelliTrace.
Lessons
- Programming vs. testing activities
- Unit testing and code coverage
- Test-Driven Development overview
- Code analysis and code metrics
- Code clone analysis
- Application profiling
- IntelliTrace
- CodeLens
Hands-On
- Create, run, and refactor C# unit tests
- Create a data-driven C# unit test
- Collect and analyze code coverage
- Run code analysis
- Calculate code metrics
- Profile, analyze, and improve a poorly-performing application
This module introduces the various testing tools and practices that can be used to help ensure that applications meet their requirements and are free of defects.
Lessons
- Types of tests
- Web performance tests
- Load tests
- Microsoft Test Manager (MTM)
- Test plans, test suites, and test cases
- Manual tests
- Web-based test case management
- Coded UI tests
- Exploratory tests
Hands-On
- Record and run a web performance test
- Put a web performance test under load
- Use MTM to create a test plan and suite
- Map requirements to tests
- Create and run a manual test case
- Record and playback a manual test
- Record desktop video during a test
- Manage and run tests from the web
- Create a coded UI test from an action recording
This module introduces the architecture and usage of Team Foundation Build. Students will learn how to define builds, queue them manually or based on a trigger and review the finished builds.
Lessons
- Team Foundation Build
- The build process
- Build definitions and templates
- View, manage and queue builds
- Build reports
- Automating Team Foundation Build
- Continuous Integration (CI)
Hands-On
- Configure Team Foundation Build
- Create a build definition
- Queue a build from Team Explorer
- Queue a build from Team Web Access
- Set the quality of a completed build
Course Designer
This course was designed by Richard Hundhausen, a Visual Studio ALM MVP,
Microsoft Regional Director, and an experienced software developer and trainer.
For more information about his company, or to see other courses that they
offer, visit www.accentient.com.