Overview This is a 15-day live facilitator-led or virtual workshop is designed to prompt your entire team to work efficiently with Microsoft s Application Lifecycle Management solution based around Visual Studio 2015 and Team Foundation Server 2015. The Workshop is componentbased and divided into different topics on each of the days to help you gain a complete understanding of the features and capabilities of Visual Studio 2015 and Team Foundation Server 2015. This ultimate goal is for individuals or complete development teams to learn how to use Visual Studio 2015 and Team Foundation Server 2015 for Agile, extreme software development. This workshop covers project management, Agile development, test management strategies, and TFS administration. Working on a real extreme programming project will help you to understand and experience the core fundamentals of Agile software development. Concepts such self-organized teams, adaptive planning, cross-functional teams and collaboration, evolutionary design, eliminating waste, etc. will become clear. This workshop includes hands-on labs to reinforce practical skills to ensure that you are ready to use the tools on your return to your workplace. Workshop Objectives Core components of this workshop will provide attendees with the ability to: Describe the full feature-set of Microsoft s Application Lifecycle Management suite Create team projects and team project collections as appropriate for your environment Understand how work item tracking can be used across the entire team Create custom work item queries and alerts Use a variety of client tools to interact with team members and TFS Use the Best Practices Analyzer to validate your TFS deployment Configure SMTP support and customize email alerts Manage your TFS instance including backup and restore strategies Configure standard role-based security for team projects Use the version control system to maintain source code as well as branch and merge code Improve code using the Code Review workflow in My Work Enhance team collaboration using Team Rooms Create automated builds and automate the execution of unit tests Use the Agile planning tools to create portfolio backlogs to help manage large projects Manage work in teams including sprints and backlogs Create test plans, test suites and test cases Perform a variety of testing using the testing tools in Microsoft Test Manager Raise information rich bugs and verify them once resolved Use the new Web-based Test Case Management interface Perform exploratory testing Who Should Attend? This event is designed for all team members looking to effectively use the team-oriented features provided by Microsoft Visual Studio 2015 and Team Foundation Server 2015. This includes developers, testers, project managers and business analysts. Phone 877-697-2434 fax 877-697-2434 www.thesagegrp.com
Prerequisites Attendees should be familiar with Visual Studio and the basic use of Team Foundation Server. AGILE SEGMENT Section 1: Understanding Agile What is Agile? Why Agile? Agile Manifesto Agile Principles Agile Methodologies Agile Benefits Section 2: Forming the Agile Team Team Roles and Responsibilities Process Expectations Self-Organization Self-Organizing Teams (where flexibility exists) Communication (inside and out) Team Exercise: Teams engage in a fun exercise that reinforces the importance of, and power behind, self-organizing teams. As with sports teams, individual roles are important, but even more important is the need to work toward a common goal. At times that means blurring the lines of traditional roles. Great teams will not define themselves by their individual roles. Section 3: The Agile Coach Role of the Agile PM or Coach Agile Project Management Tips for Working with Agile Teams Communication Section 4: Agile Planning Project Planning Product Vision Five Levels of Planning in Agile Vision Roadmap Release Iteration Daily Importance of Product Vision Creating and Communicating Vision Team Exercise: Writing a vision statement can be highly relevant if teams have not been operating with this level of planning. If teams are already operating with a clear vision, it is an opportunity to revisit. Each team is expected to have an actual vision statement for their product that would be a solid foundation upon which to build. The product vision is then posted in a visible place for the team to reference throughout the remainder of the exercises. Section 5: Focus on the Customer Customer Involvement User Roles Creating and Using Personas Constraints Team Exercise: Each team is tasked with identifying key customer roles, giving them a name, and describing key attributes about the customer. These customer personas are presented to other teams and good idea sharing takes place. Section 6: Creating the Product Backlog The Product Backlog User Stories INVEST Model (Bill Wake, 2003) Acceptance Criteria Foundational Stories Team Exercise: Each team conducts a brainstorming session for creating a product backlog in the form of user stories. Each team presents some of its user stories and the instructor leads discussion about where teams hit the mark and where there exists areas for improvement. (Since an instructor will not have all of the ideas, this is a great opportunity for team dynamics). After some feedback and sharing, each team takes a second pass at creating user stories. Section 7: Prioritizing the Product Backlog Prioritization Themes Decision Matrix Kano Analysis Preventing Fire Alarms Continuous Prioritization Team Exercise: Teams are tasked with assigning a priority to their user stories at the appropriate level of detail.
Section 8: Estimating Relative vs. Actual Estimating Introduction to Story Points Using Story Points Planning Poker (Grenning 2002) Team Exercise: Teams are tasked with assigning story point estimates to extend a few iterations into the future. The method for determining the story point estimates will be Planning Poker. Teams are given enough time to begin to see some consistency in their team and triangulate relative sizing of their stories. Teams are then asked to estimate their team s velocity. Section 9: Release Planning Velocity What Is a Release? Schedule-based vs. Feature-based Planning Building the Release Plan Communication Team Exercise: Teams are tasked with building a release plan by incorporating priority, story point estimates, team velocity and customer/product owner input to assign stories to iterations for the desired release. Section 10: Building Cadence Getting to the Details Building Trust Best Practices Section 11: Iteration Planning and Execution Capacity Engaging the Team Planning the Iteration Executing the Iteration Daily Scrum/Stand-Up Scrum of Scrums Iteration Review Demonstrating Working Software Team Exercise: Teams are tasked with discussing the details of the stories that, based on the estimated team velocity, may be completed in the first iteration. As the details are discussed, tasks are identified to achieve the desired result. Teams discover that at times user stories need to be split into multiple stories and re-estimated. Next, with all of the tasks identified, teams assign actual time estimates to the tasks identified. Finally, the team revisits the sizing of the iteration to determine if they have the appropriate time and resources to meet their commitment. Led by the instructor, the larger group discusses the pitfalls of committing more than can be delivered and the importance of making and meeting commitments for both the team and the customer. One of the keys to success in Agile is a regular cadence of commitment and delivery for both customer and developer teams. Iteration Execution Collaboration - Value Individuals and Interactions Communication Daily Standup (Scrum) Taskboards Cadence Team Exercise: Taskboards are an invaluable communication tool during each iteration. Each team is tasked with coming up with their taskboard to communicate clearly their commitments for the iteration and progress against those commitments. This usually proves to be a very creative and engaging exercise. Teams present their taskboards to the larger group, generating further good idea sharing among the larger team. At their task boards, each team then can hold a daily standup with one person on the team responsible for ensuring the integrity of the meeting and other team members playing out assigned behavioral roles. With the larger group, the critical role of an effective daily scrum is discussed. Finally, the entire group can share perspectives on the definition of done and the importance of determining that as a team. The instructor then shares his or her perspective from experience on an iterative approach to the definition of done. Team approach is reinforced...start as a team, finish as a team. Section 12: Measuring and Communicating Progress Taskboards Story/Task cards Metrics Burndown Charts Agile Tools Attendee discussion: The instructor leads a discussion on the effectiveness of the measurements appropriate for your company. Further discussion is held regarding the measurement and communication tools that are needed/ expected at your company. Section 13: Retrospectives Elements of the Retrospective Facilitating Retrospectives Tips for Effective Retrospectives Team Exercise: Teams hold a retrospective on their experience during the workshop, specifically on what they learned during the exercises with their team. Each team is then tasked with identifying what things they plan to incorporate into their next iteration.
Section 14: Adopting Agile Project Management Agile Process Overview Overcoming Resistance and Getting Started Agile Calendar of Events Challenges to Adoption Team Roadmap Exercise Bringing it All Together Process Overview Transparency Cadence Team Roadmap Team Exercise: Teams establish a roadmap for adopting the most useful principles and practices learned during the workshop. The larger group discusses how this team roadmap will be maintained as part of ongoing retrospectives. The instructor shares insights into how teams have successfully adopted Agile principles and practices as well as pitfalls to avoid. Most teams find this to be the most useful exercise of the workshop as they apply what they have learned to their situation. Visual Studio 2015 and Team Foundation Server Segment Section 14: Introducing Microsoft Visual Studio 2015 and Team Foundation Server 2015 A Look at the Visual Studio 2015 Product Family Introducing Microsoft Test Professional 2015 The Role of Team Foundation Server Section 16: Organizing Work with Team Projects Understanding Team Projects and Team Project Collections Creating Team Projects Section 17: Managing Work Using Work Items Introduction to Work Items Creating Work Items Linking Work Items to Provide Traceability Creating and Using Custom Work Item Queries
Section 18: Integrating the Team Using Different Clients Using Team Explorer Using Microsoft Excel to Create and Manage Work Items Using Microsoft Project Integrate with Work Items Team Web Access Third Party Clients Section 19: Putting the Project Portal to Best Use Using the Project Portal Storing Project Documents in the Document Library Linking Documents to Work Items Section 20: Overview of TFS Administration Overview of TFS Administration Tasks Understanding TFS Topologies Pre-requisites for Installing TFS Section 21: Migrating to TFS Overview of Migration Options Upgrading from Previous Versions of TFS Migrating from Visual SourceSafe Migrating Content to Hosted TFS Section 22: Managing TFS instances Using the TFS Administration Console TFS Server Health Monitoring Options for External Client Access TFS Backup and Restore Strategies Section 23: Creating and Managing Team Projects Creating Team Projects Understanding Team Project Collections Deleting Team Projects Section 24: Managing Security and Permissions Overview of TFS Security Configuring Security Using Groups Understanding and Configuring Teams Fine-grain Security Options Troubleshooting Security Section 25: Managing Process Templates Understanding Project Templates & Basics of Template Customization Adding New Fields to Work Item Types Adding New Queries and Reports Updating an Upgraded Team Project Section 26: Initiating a New Project Organizing Projects in TFS Understanding Process Templates Creating a new Team Project Setting Team Project Properties Section 27: Gathering Requirements Overview of Work Items Examining Requirement Types in TFS Creating Portfolio Backlogs Storing Requirements in TFS Traceability Between Work Items Section 28: Using Storyboards Overview of Storyboarding Capabilities Creating a Storyboard to Illustrate a Requirement Linking a Storyboard to a Work Item Section 29: Getting Our Product Backlog Started Creating Backlog Items Prioritizing the Backlog Estimating Items on the Backlog Techniques for Improving Estimations Grooming the Backlog Section 30: Planning and Running a Sprint Understanding Team Capacity Selecting Items for the Sprint Backlog
Understanding Build Workflow Monitoring Builds Section 37: A Lap Around the Testing Tools in Visual Studio 2015 A Look at the Visual Studio Product Family Introducing Microsoft Test Manager 2015 The Role of Team Foundation Server 2015 Section 38: Creating Our First Test Plan Using Microsoft Test Manager Creating Test Suites Mapping Requirements to Tests Mapping Our Effort to Specific Builds Creating and Managing Test Cases Creating Reusable Shared Steps Configuring Test Settings Including Data Collectors Forecasting Using Team Capacity Tracking Progress Using the Taskboard Using Burndown Charts to Track Progress Section 31: Effective Use of TFS Version Control Creating Source Control Folder Structures Setting Team Project-wide Source Control Settings Setting Up and Managing Workspaces Changing Sets and Shelving Backward Compatibility Using the MSSCCI Provider Section 32: Branching and Merging Defining a Branching Strategy Learning to Branch Branch Visualization and Tracking Changes Merging and Resolving Conflicts Custom Differencing Tools Section 33: Unit Testing & Code Quality Tools Unit Testing in Visual Studio 2015 Visual Studio Test Explorer Code Metrics Code Clone Analysis Section 34: Code Reviews Requesting a Code Review Responding to a Request for Code Review Providing Code Review Feedback Section 35: Team Collaboration Using Team Rooms Introducing Team Rooms Team Room Communication Managing Team Room Users Managing Team Room Events Section 36: Overview of Team Build Understanding Build Infrastructure MSBuild vs.team Build Creating Build Definitions Section 39: Executing Test Cases Assigning a Test Case to a Tester Navigating the Microsoft Test Runner Recording Reliable Action Recordings Test Case Fast Forward Section 40: Raising and Verifying Bugs Raising a Bug from the Microsoft Test Runner Viewing Bug States Verifying a Bug Fix Section 41: Web-based Test Management A Lap Around Browser-based Test Management and Execution Creating Test Plans Using a Browser Switching to MTM from the Web Client Configuring Views Using the Web-based Test Runner Bulk Editing in the Grid View
Section 42: Exploratory Testing with MTM What is Exploratory Testing? Exploratory Testing in Microsoft Test Manager Creating Bugs and Test Cases from Exploratory Tests Agile Project Management Segment Section 43: The Reality of Agile Projects Taking an Agile View Tolerating Ambiguity and Uncertainty Understanding Where Traditional Practices Fall Short Workshop Exercise: In this exercise, the project team is examined against today s environment, and participants consider the impact that knowledge work has had on the development industry. Views from Drucker and select studies from leading industry whitepapers are discussed to help you gain an understanding of working with development teams in complex environments. Section 44: Managing Constraints Strategically Leveraging Constraints Managing Tradeoffs to Enhance Quality Managing Risk Managing Budget, Vendors and Contracts Workshop Exercise: In this exercise, participants investigate project uncertainty and discuss specific techniques to not only mitigate risk but to leverage it! We look at different ways to view constraints and tradeoffs to share them with the stakeholder. Additionally, we review different approaches the Agile project manager can take to mitigate risk when dealing with budget, vendors and contracts. Section 45: Understanding Agile Team Performance and Metrics Measuring Team Performance Team Productivity Metrics Determining the Health of the Project Workshop Exercise: The case studies and discussion exercises in this section help the Agile project manager recognize the difference between diagnostic and performance metrics and methods to utilize metrics in an Agile framework. Participants discuss how understanding these types of metrics, applied to the individual, team and project, help the Agile project manager guide both the team and the project in the daily work environment. Section 46: Establishing and Empowering Teams Establishing Effective Teams Working with Project and Team Charters and Working Agreements Creating an Empowered Team Servant Leadership and Building Trust Developing Team Members and Managing Resources Workshop Exercise: The exercises in this section provide participants with an overall view of establishing empowered teams quickly based on the organization of roles. Exercises are designed to create an understanding of team dynamics. In addition, case studies are used to examine the differences between Agile teams and traditional teams. We discuss a set of Agile project management tools that teams can use as they work towards becoming a high performing team. Additional exercises in this section cover trust, the three steps of rebuilding trust, conflict, conflict resolution and procedures by which the Agile project manager can help the team develop trust and resolve conflict as it arises. A final, interactive exercise for this section challenges the participants to put all of these tools and topics in place and work as a team to meet the exercise objective. Section 47: Maximizing Value and Agile Planning & Estimating Gaining an Understanding of Adaptive Planning Learning How to Leverage your Plan to Deliver Quality and Value Learning How Much to Invest Up Front Understanding Progressive
Elaboration Learning Continuous Planning, Collaboration and Transparency of Estimation Reviewing Estimating and Estimation Techniques for an Agile Team Iteration and Release Planning Estimation Workshop Exercise: In these sections, the exercises help the Agile project manager focus on the delivery of value and achieving customer/stakeholder satisfaction. We discuss theory and show the use of feedback loops in the value cycle and discuss as a group how techniques like trimming the tail can be used to assist the team and stakeholder. A highly interactive team exercise is used to teach participants the concepts of continual planning and re-estimation and the how and why of making these plans visible to the organization. Section 48: Communication and Collaboration Creating Stakeholder Engagement Building Community Establishing Fluid Communication Planning Creating Open Information and Visible Communications Workshop Exercise: The objective of the exercises in this section is to understand the importance of creating stakeholder involvement in our projects. As a live case study, teams create an Agile communication plan and then, as a group, discuss the options for communication and collaboration through which an Agile project manager can create transparency and help create team success. extreme Programming Segment Section 49: Test Driven Development Introduction to TDD Test First Vs Test Last TDD Rhythm: Red, Green, Refactor Crucial Design Principles TDD and Design Avatars of TDD Section 50: Refactoring and Evolutionary Design Purpose of Refactoring Common Code Smells Refactoring Patterns Using Automated Refactoring Section 51: Continuous Integration Why CI? Principles, Strategies, and Techniques Setting up a CI Server Automated Testing Applying CI to Large Projects Section 52: Pair Programming Learning to Pair Need for Pairing Pairing Infrastructure Pairing Styles Section 53: User Stories The Big Picture Interaction Design with Low Fidelity Prototyping Capturing Nonfunctional Requirements as Stories Working with User Proxies Conducting a Story-writing Workshop Planning with User Stories Section 54: Planning Game (Project Automation) Setting Up an Automated Build Creating Automated Unit, Acceptance and UI Tests Setting up a Continuous Integration (CI) Process Setting up Coding Standards and Adding Code Coverage or Test Coverage Setting up an Integrated Project Dashboard Setting up a Build Promotion Process and Team Wiki Section 55: Collective Code Ownership Informative Workspace and Information Radiators Stand-up Meetings and Dev Hurdles Project Retrospectives Phone 877-697-2434 fax 877-697-2434 www.thesagegrp.com C8: Agile