Managing Projects with VS2010images.quicklearn.com/tfs/pm.pdf · Managing Projects with Visual...
Transcript of Managing Projects with VS2010images.quicklearn.com/tfs/pm.pdf · Managing Projects with Visual...
Managing Projects with Visual Studio 2010 Student Manual
Enhancing all aspects of Application Lifecycle Management
Copyright Notice
©2012 Enhance ALM Pty Ltd. All rights reserved.
No part of this material may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording, for any purpose without express written permission of Enhance ALM Pty Ltd.
Trademarks
All trademarks referenced are the property of their respective owners
Disclaimer
While Enhance ALM takes great care to ensure the accuracy and quality of these materials, all material is provided without any warranty whatsoever, including, but not limited to, the implied warranties of merchantability or fitness for a particular purpose.
Managing Projects with Visual Studio 2010 Module 0 - Introduction
© 2012 Enhance ALM Pty Ltd Page 3
1 ©2012 Enhance ALM Pty Ltd
Managing Projects withVisual Studio 201 0Module 0 - Introduction
Welcome
Welcome to Enhance ALM’s Managing Projects with Visual Studio 2010 course.
For information about our other courses, be sure to visit www.enhancealm.com.au
Module 0 – Introduction Managing Projects with Visual Studio 2010
Page 4 © 2012 Enhance ALM Pty Ltd
4 ©2012 Enhance ALM Pty Ltd
Your Instructor
Nick HauensteinMicrosoft Certified ProfessionalConnected Technology AdvisorApache [email protected]
About your Trainer
Your trainer, Nick Hauenstein, is a trainer based in Kirkland, Washington. He is a popular trainer
with specialist skills in BizTalk, SharePoint, Visual Studio and Team Foundation Server.
Managing Projects with Visual Studio 2010 Module 0 - Introduction
© 2012 Enhance ALM Pty Ltd Page 5
5 ©2012 Enhance ALM Pty Ltd
Introductions
• Name• Company• Job Title/function• Job responsibility• Project management experience• Visual Studio ALM experience (Have you used TFS?)• Your expectations for the course• Your favourite hobby/interest
Introductions
To help get to know who is on the course, we need to know a little about you. Your trainer will
ask each attendee to outline their project management experience as well as their expectations
for the course.
It might also help to get to know you if you share your favourite weekend activity
Module 0 – Introduction Managing Projects with Visual Studio 2010
Page 6 © 2012 Enhance ALM Pty Ltd
6 ©2012 Enhance ALM Pty Ltd
Facilities• Class hours• Restrooms• Meals• Phones
Please MUTE your phones when you are not speaking.
It makes it easier for everyone the hear the instructor and any questions that might be
asked.
Facilities
Your trainer will run you through a few details about the training facilities etc.
Managing Projects with Visual Studio 2010 Module 0 - Introduction
© 2012 Enhance ALM Pty Ltd Page 7
7 ©2012 Enhance ALM Pty Ltd
About This Course
• Audience• Course Prerequisites• Course Objectives• What this course is and is not
A course on Project Management practices and theory A practical look at using VS2010 & TFS 2010 to help you
manage projects
About this course Audience: The primary audience for this course is Project Managers, Business Analysts and team leaders who actively participate in software development projects. Prerequisites: Students who attend this training should have:
• Experience and familiarity with process methodologies such as Microsoft Solutions Framework (MSF).
• Experience in coordinating or managing projects using Visual Studio tools or comparable third party products.
Course Objectives: After completing this course, students will be able to:
• Initiate a new Team Project in TFS 2010 • Enter requirements including test cases and acceptance criteria into TFS • Break their product backlog into suitably sized sprints • Track project risks and quality measures • Configure alerts and notifications for team members • Create adhoc reports using Microsoft Excel
Module 0 – Introduction Managing Projects with Visual Studio 2010
Page 8 © 2012 Enhance ALM Pty Ltd
8 ©2012 Enhance ALM Pty Ltd
Course OutlineModule 1 Introducing TFS 2010
Module 2 Initiating a New Team Project
Module 3 Managing Requirements using Work Items
Module 4 Effective Estimation
Module 5 Planning work using Backlogs and Sprints
Module 6 Managing Risks
Module 7 Avoiding Technical Debt and Keeping Quality in Focus
Module 8 Keeping the Communication pathways open
Module 9 Creating and customising reports
Course Outline
The following modules will be covered during the Mastering Testing with Visual Studio 2010 course
• Module 1: Introducing Microsoft Visual Studio 2010
• Module 2: Initiating a New Project
• Module 3: Managing Requirements using Work Items
• Module 4: Effective Estimation
• Module 5: Planning work using Backlogs and Sprints
• Module 6: Managing Risks
• Module 7: Avoiding Technical Debt and Keeping Quality in Focus
• Module 8: Keeping the Communication Pathways Open
• Module 9: Creating and Customising Reports
Managing Projects with Visual Studio 2010 Module 0 - Introduction
© 2012 Enhance ALM Pty Ltd Page 9
9 ©2012 Enhance ALM Pty Ltd
Links in Courseware
• Courseware shows links in the following formathttp://ealm.info/xy or http://ealm.info/alias
• Similar to bit.ly or tinyurl.com• These abbreviated links are provided to simplify
entering what are sometimes very long URLs to resources
• If you have any problems please email [email protected]
Links in the courseware.
Often hyperlinks to resources can be quite long and contain long strings of characters. To make it easier for you to access resources on the Internet we have created a small web utility similar to tinyurl or Bit.ly so you can enter a much shorter URL.
For example. When you enter a URL in the abbreviated format such as http://ealm.info/AB this will automatically redirect you to the Enhance ALM Blog.
Should you have any difficulties using the abbreviated hyperlinks, please email [email protected]
Module 0 – Introduction Managing Projects with Visual Studio 2010
Page 10 © 2012 Enhance ALM Pty Ltd
10 ©2012 Enhance ALM Pty Ltd
?
ANY QUESTIONS?
Any Questions?
If you have any questions before we get stuck into the course, now’s the time to ask them.
Managing Projects with Visual Studio 2010 Module 0 - Introduction
© 2012 Enhance ALM Pty Ltd Page 11
NOTES
Module 1 – Introducing Microsoft Visual Studio 2010 Managing Projects with Visual Studio 2010
Page 12 © 2012 Enhance ALM Pty Ltd
1 ©2012 Enhance ALM Pty Ltd
Managing Projects withVisual Studio 201 0Module 1 - Introducing Microsoft Visual Studio 2010
Introduction
This module has been included to ensure all students are familiar with the many parts of the
Visual Studio 2010 product suite.
Managing Projects with Visual Studio 2010 Module 1 – Introducing Microsoft Visual Studio 2010
© 2012 Enhance ALM Pty Ltd Page 13
2 ©2012 Enhance ALM Pty Ltd
Module Objectives
At the end of this module you will be able to;• List some of the key new features in Visual Studio 2010• Understand the Visual Studio 2010 ALM environment• Understand the key difference between each of the main Visual
Studio product versions and know which features are in which version
• Understand your new licensing entitlements for certain products that have changed from previous versions
Module Objectives
At the end of this module you will be able to;
• List some of the key new features in Visual Studio 2010 • Understand the Visual Studio 2010 ALM environment • Understand the key difference between each of the main Visual Studio product versions
and know which features are in which version • Understand your new licensing entitlements for certain products that have changed from
previous versions
Module 1 – Introducing Microsoft Visual Studio 2010 Managing Projects with Visual Studio 2010
Page 14 © 2012 Enhance ALM Pty Ltd
3 ©2012 Enhance ALM Pty Ltd
Agenda
• What’s new in Visual Studio 2010?• Visual Studio 2010 product suite• Visual Studio Client SKUs• Software for Development and Production use as
part of your MSDN Subscription
Agenda
This agenda for this module is as follows.
• What’s new in Visual Studio 2010
• Visual Studio 2010 product suite
• Project Workflow
• Software features by Product version
Managing Projects with Visual Studio 2010 Module 1 – Introducing Microsoft Visual Studio 2010
© 2012 Enhance ALM Pty Ltd Page 15
4 ©2012 Enhance ALM Pty Ltd
Visual Studio 2010Agile Project
Planning End to End Traceability
Stunning New Reports
1-click Custom Excel reports
SharePoint Dashboards
Branch Visualization
Distributed Build
Team Build Windows Workflow
Integration
Test Management
Test Execution
Manual Test Runner
Test Impact Analysis
Coded UI Test Historical
DebuggingGated
Checkin
Activity Diagram
Modeling Projects
Logical Class Diagram
Architectural Explorer
Sequence Diagram
Component Diagram
Use Case Diagram
Layer Diagram
Scalability ++
TFS Administration
w/MMC Database Edition merged
into DevelopmentTest Lab Management
UML support
Team Collections
UI Prototyping
Simplified installation
Custom link types
Thread Contention Profiling
Sequentialload test model
CLR 4.0 supportSharePoint
toolsTFS 64-bit support
Build notification agent
Tier interaction profiling
Visually track changes
Data collectors
Virtual user visualisation
TFS Farms
Team Build Templates
What’s new in Visual Studio 2010
This slide has been created to show you just how many new and improved features exist in the
Visual Studio 2010 release. Visual Studio 2010 (codenamed Rosario) was developed in parallel
with Visual Studio 2008 (codenamed Orcas) following the release of 2005. It is important to
realise that the 2010 release represents over five years work from the 2005 release, not just two
years work form the 2008 release.
Module 1 – Introducing Microsoft Visual Studio 2010 Managing Projects with Visual Studio 2010
Page 16 © 2012 Enhance ALM Pty Ltd
Visual Studio 2010
The Visual Studio 2010 ecosystem includes many different products and capabilities. Your
instructor will walk you through each of these as they appear on this animated slide.
Managing Projects with Visual Studio 2010 Module 1 – Introducing Microsoft Visual Studio 2010
© 2012 Enhance ALM Pty Ltd Page 17
Visual Studio 2010 – Delivering business value
An integrated ALM suite like Visual Studio 2010 offers a number of significant benefits to an
organisation. Example of the benefits offered include:
• Collaborate and Communicate
• Drive Predictability
• Manage Team Workflow
• Use Familiar Tools
• Ensure Quality Early and Often
• Integrate Work Frequently
• Make Real-Time Decisions
Module 1 – Introducing Microsoft Visual Studio 2010 Managing Projects with Visual Studio 2010
Page 18 © 2012 Enhance ALM Pty Ltd
7 ©2012 Enhance ALM Pty Ltd
BusinessAnalyst Project
Manager
Dev Team
Test
Operations
ChangeRequests
Use Case
Non FunctionalRequirements
Bugs
Tasks
ProductionErrors
Example workflow
Example Workflow
The development of modern applications involves input and coordination of an increasing
number of roles in a team. Keeping communication lines open while keeping track of all project
artefacts is critical to project success.
Managing Projects with Visual Studio 2010 Module 1 – Introducing Microsoft Visual Studio 2010
© 2012 Enhance ALM Pty Ltd Page 19
8 ©2012 Enhance ALM Pty Ltd
Managing Workflow
• Work Item templates are defined by the Process Template
• Support for multiple work item types– User Story, Task, Bug, Test Case and more
• Customizable
Managing Workflow
All project activity is tracked using the Work Item Tracking capability in Team Foundation Server
(TFS). Examples of Work Items include User Stories, Tasks, Bugs and Test Cases.
A Process Template in TFS defines much of the Workflow for work items in a project including:
• The Work Item Type (Eg. Task)
• The fields in the work item (Eg. Assigned to, description and priority)
• The default field values and a definition of what can be stored in the field
• The states that a work item can exist in (Eg. Active, Resolved and Closed)
• Rules determining valid transitions between states. (Eg. A bug Must move from Active to
Resolved before it can be closed)
Using Process Template customisation you can configure many of these values to better suit
your specific development practises.
Module 1 – Introducing Microsoft Visual Studio 2010 Managing Projects with Visual Studio 2010
Page 20 © 2012 Enhance ALM Pty Ltd
9 ©2012 Enhance ALM Pty Ltd
Managing Workflow (cont’d)
• Project Managers can manage work items with familiar tools
SharePoint Project Portal
Team Web Access
Managing Workflow – Familiar Tools
Two of the most popular tools used today for Project Management are Microsoft Project and
Microsoft Excel. TFS allows you to continue using these client side tools to manage your projects
while storing the content in the TFS database rather than the office document.
To enable the integration between the Microsoft Office products you simply need to install
Team Explorer on your machine and you should see a new “Team” menu appear in Project and
Excel.
In addition to these two client side tools, you can also access TFS through a SharePoint portal or
through the Team Web Access we application as well as a number of third party tools such as
TeamCompanion.
Managing Projects with Visual Studio 2010 Module 1 – Introducing Microsoft Visual Studio 2010
© 2012 Enhance ALM Pty Ltd Page 21
10 ©2012 Enhance ALM Pty Ltd
Team Explorer Everywhere 2010
• Components– Team Foundation Server plug-in for Eclipse– Cross-platform command-line client for TFS– Visual Studio Team Explorer 2010
• Previous versions were known as Teamprise
Visual Studio Team Explorer Everywhere 2010
In early November 2009, Microsoft acquired the Teamprise-related assets of SourceGear LLC, which enable developers using the Eclipse IDE or operating on multiple operating systems, including Unix, Linux and Mac OS X, to build applications with Microsoft Visual Studio Team Foundation Server.
The Teamprise product has been enhanced for the Visual Studio 2010 release and is now named Visual Studio Team Explorer Everywhere 2010.
Team Explorer Everywhere 2010 comprises the following components:
• Team Foundation Server plug-in for Eclipse • Cross-platform command-line client for TFS • Visual Studio Team Explorer 2010
Module 1 – Introducing Microsoft Visual Studio 2010 Managing Projects with Visual Studio 2010
Page 22 © 2012 Enhance ALM Pty Ltd
11 ©2012 Enhance ALM Pty Ltd
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
Microsoft Test Manager
Visual Studio features per SKU
Visual Studio 2010 Versions
The three main versions of Visual Studio 2010 are Professional, Premium and Ultimate. In a team
environment most developers will have Visual Studio 2010 Premium or Ultimate.
Visual Studio 2010 Professional Visual Studio 2010 Professional represents the basic level for professional software developers.
Visual Studio 2010 Premium This version adds Database development features.
Visual Studio 2010 Ultimate This is the top level version of Visual Studio 2010.
Managing Projects with Visual Studio 2010 Module 1 – Introducing Microsoft Visual Studio 2010
© 2012 Enhance ALM Pty Ltd Page 23
12 ©2012 Enhance ALM Pty Ltd
Visual Studio Test Professional
ProfessionalMicrosoft Test Manager
Visual Studio Test Professional 2010
Microsoft® Visual Studio® 2010 Test Professional is a specialized toolset for quality assurance
teams that helps simplify test planning and execution. Test Professional works in conjunction
with Visual Studio software for developers, enabling effective collaboration between developers
and testers throughout the application development lifecycle.
Module 1 – Introducing Microsoft Visual Studio 2010 Managing Projects with Visual Studio 2010
Page 24 © 2012 Enhance ALM Pty Ltd
13 ©2012 Enhance ALM Pty Ltd
• Team Foundation Server– Version control– Work item tracking– Build automation– Team portal– Test case management– Team Explorer 2010
• Testing– Unit testing
• Development Platform– Windows development– Web development– Office/SharePoint dev– Cloud development
• Debugging/Diagnostics– Breakpoint
enhancements– New WPF visualiser– 64-bit support for mixed
mode debugging
Visual Studio 2010 Professional with MSDN Subscription
Microsoft has included Team Foundation Server with 1 Client Access license with all three Visual
Studio 2010 SKUs.
Managing Projects with Visual Studio 2010 Module 1 – Introducing Microsoft Visual Studio 2010
© 2012 Enhance ALM Pty Ltd Page 25
14 ©2012 Enhance ALM Pty Ltd
• Testing– Code Coverage– Test Impact Analysis– Coded UI Tests
• Database Development– DB deployment– DB change management– DB unit testing– DB test data generation
• Debugging/Diagnostics– Static code analysis– Code metrics– Profiling
• Architecture & modelling– UML Layer diagram
viewer
All features of Visual Studio 2010 Professional with MSDN PLUS
Visual Studio 2010 Premium with MSDN Subscription
The Premium version of Visual Studio 2010.
Module 1 – Introducing Microsoft Visual Studio 2010 Managing Projects with Visual Studio 2010
Page 26 © 2012 Enhance ALM Pty Ltd
15 ©2012 Enhance ALM Pty Ltd
• Testing– Web performance
testing– Load testing
• Architecture & modeling– Architecture explorer– UML 2.0 compliant
diagrams(Activity, Use case, Sequence, Class, Component)
– Layer diagram and dependency validation
• Debugging/Diagnostics– IntelliTrace
• Lab Management– Test and Lab Manager– Virtual environment
setup & tear down– Test Case Management– Manual Test Execution– Manual Test Record &
Playback– Lab Management
Configuration
All features of Visual Studio 2010 Premium with MSDN PLUS
Visual Studio 2010 Ultimate with MSDN Subscription
The Ultimate version of Visual Studio 2010.
Managing Projects with Visual Studio 2010 Module 1 – Introducing Microsoft Visual Studio 2010
© 2012 Enhance ALM Pty Ltd Page 27
16 ©2012 Enhance ALM Pty Ltd
MSDN Software Entitlements
• Software for Development and Test• Software for Production use
MSDN Software Entitlement
In this section we’ll quickly look at a change to MSDN licensing that occurred with the VS2010 release.
Module 1 – Introducing Microsoft Visual Studio 2010 Managing Projects with Visual Studio 2010
Page 28 © 2012 Enhance ALM Pty Ltd
17 ©2012 Enhance ALM Pty Ltd
Software entitlements (1)
Professional Premium Ultimate
Windows® Azure™
Windows®, Windows Server®
Microsoft SQL Server®
Toolkits, Software Development Kits, Driver Development Kits
Microsoft Office
Microsoft Dynamics®
All other Servers
Windows® Embedded
The following software is licensed for DEVELOPMENT AND TEST use as part of MSDN entitlement
Software entitlement for Development and Testing
As part of your MSDN subscription, you are entitled to use the software listed above for
Development and Testing purposes.
Managing Projects with Visual Studio 2010 Module 1 – Introducing Microsoft Visual Studio 2010
© 2012 Enhance ALM Pty Ltd Page 29
18 ©2012 Enhance ALM Pty Ltd
Software entitlements (2)
Professional Premium Ultimate
Microsoft Expression Studio 3
Microsoft Office Professional Plus 2010
Visio® Premium 2010
Project Professional 2010
The following software is licensed for PRODUCTIONuse as part of MSDN entitlement
Software Entitlement for Production use
As part of your MSDN subscription, you are entitled to use the software listed above for
Production purposes.
Module 1 – Introducing Microsoft Visual Studio 2010 Managing Projects with Visual Studio 2010
Page 30 © 2012 Enhance ALM Pty Ltd
19 ©2012 Enhance ALM Pty Ltd
?
ANY QUESTIONS?
Any Questions?
Now is a great time to ask any questions you have not asked already during this module.
Managing Projects with Visual Studio 2010 Module 1 – Introducing Microsoft Visual Studio 2010
© 2012 Enhance ALM Pty Ltd Page 31
NOTES
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 32 © 2012 Enhance ALM Pty Ltd
1 ©2012 Enhance ALM Pty Ltd
Managing Projects withVisual Studio 201 0Module 2 - Initiating a new project
Introduction
This module has been included to familiarise students with the knowledge required to create
new Team Projects in Team Foundation Server. The module discusses the structure of a Team
Project and then walks you through the project creation wizard explaining the key decisions
you’ll need to make on each screen in the wizard.
Managing Projects with Visual Studio 2010 Module 2 – Initiating a New Project
© 2012 Enhance ALM Pty Ltd Page 33
2 ©2012 Enhance ALM Pty Ltd
Agenda
• Organising Projects in TFS– Team Projects– Team Project Collections
• Process Templates• Walkthrough – Creating a new Team Project• Process Guidance• What’s next• Configuring Security• Lab – Creating a new Team Project
Agenda
This module is divided into five main sections followed by a lab to reinforce the knowledge
gained in this module.
1. Organising Projects in TFS
- Team Projects
- Team Project Collections
2. Process Templates
3. Walkthrough – Creating a new Team Project
4. Process Guidance
5. What’s next
6. Lab – Creating a new Team Project
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 34 © 2012 Enhance ALM Pty Ltd
4 ©2011 Enhance ALM Pty Ltd
ORGANISING PROJECTS IN TFS
More than just a VS SolutionVisual Studio Solutions and ProjectsTeam ProjectsTeam Project CollectionsNaming a Team Project
Organising Projects in TFS
In the next section we’ll look at the following;
• More than just a VS Solution
• Visual Studio Solutions and Projects
• Team Projects
• Team Project Collections
• Naming a Team Project
Managing Projects with Visual Studio 2010 Module 2 – Initiating a New Project
© 2012 Enhance ALM Pty Ltd Page 35
5 ©2011 Enhance ALM Pty Ltd
More than just a VS Solution
• TFS adds “containers” called Team Projects and Team Project Collections that contain Visual Studio solutions and projects.
• Organising and structuring your projects is important in allowing team members to easily find the work or information they are looking for.
More than just a Visual Studio Solution
A Team Project in TFS has the following characteristics:
- It is a collection of work items relating to the deliverables of this specific Team Project.
- A Team Project has a Project Portal created with it. This Project Portal, created in
SharePoint, provides a rich web-based interface through which you can work with work
items, view reports and utilize document libraries to store project documentation.
- A Team Project has a set of Reports created in a SQL Reporting Services folder where
reports can be customised and additional reports added.
- Build definitions are stored at the Team Project level. It is common for a Team Project to
contain a number of build definitions.
- Each Team Project has a top level source control folder created to store source code
relating to that project inside it. Eg. $\MyTeamProject
- Security can be configured at the Team Project level. This is a common approach.
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 36 © 2012 Enhance ALM Pty Ltd
6 ©2011 Enhance ALM Pty Ltd
Visual Studio Solutions and Projects
• Visual Studio Solutions may contain one or more Visual Studio Projects
Visual Studio Solution
Visual Studio Solutions and Projects
For over ten years, developers using Microsoft Visual Studio have been familiar with the concept of having Solutions that contain one or more Visual Studio Projects.
The introduction of Team Foundation Server does not change this fundamental structure but rather, builds on it through the addition of Team projects and Team Project Collections which we’re about to examine.
Managing Projects with Visual Studio 2010 Module 2 – Initiating a New Project
© 2012 Enhance ALM Pty Ltd Page 37
7 ©2011 Enhance ALM Pty Ltd
Team Projects
• Team Projects in TFS can containone or more Visual Studio Solutions
Team Project
Visual Studio Solution #1 Visual Studio Solution #2
Team Projects
A Team Project is a new “container” that has been introduced through the addition of a Team
Foundation Server to a development team. A Team Project may contain one or more Visual
Studio Solutions which may contain one or more Visual Studio Projects.
Team Projects are a collection of work items, reports, source control and more.
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 38 © 2012 Enhance ALM Pty Ltd
8 ©2011 Enhance ALM Pty Ltd
Team Project Collection
Team Project Collections
• Team Project Collections can contain one or more Team Projects
Team Project #1
Visual Studio Solution #1 Visual Studio Solution #2
Team Project #2
Visual Studio Solution #3 Visual Studio Solution #4
DB
Team Project Collections
Team Project Collections group Team Projects and are stored as a single database on the TFS
Data Tier server. Team Project Collections (TPCs) can be backed up and restored independently
and you can also move a TPC between TFS servers.
Managing Projects with Visual Studio 2010 Module 2 – Initiating a New Project
© 2012 Enhance ALM Pty Ltd Page 39
8 ©2012 Enhance ALM Pty Ltd
Project Structure in TFS
Visual Studio
Projects
Visual Studio
Solutions
Team projects
Team Project
Collections
Sydney
Retail
POS
C# Web Project
C# DB Project
Inventory VB.NET Winforms
Purchasing Market Watch
ASP.NET Project
Project Structure in TFS
Developers will already be familiar with the knowledge that Visual Studio Solutions can contain
one or more Visual Studio Projects. TFS add two more “containers” above these to allow you to
better group larger units of work.
Team Project Collections can contain one or more Team Projects. Team Projects can contain one or more Visual Studio Projects.
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 40 © 2012 Enhance ALM Pty Ltd
9 ©2011 Enhance ALM Pty Ltd
Naming a Team Project
• Use a clear and logical name your team members can relate to.
• Avoid product code names• Avoid version numbers• Limited to 64 unicode characters or less• Can’t use / : \ ~ & % ; @ ' " ? < > | # $ * } { , + = [ ]
You CANNOT rename a team project!
Naming a Team Project
There are a number of restrictions on names you can use for Team Projects. First and foremost,
you should know that you CANNOT rename team projects. The name you assign to the Team
project when it is created is the name that will remain with it.
For more information about naming restrictions, refer to the MSDN library article at
http://ealm.info/AS
Managing Projects with Visual Studio 2010 Module 2 – Initiating a New Project
© 2012 Enhance ALM Pty Ltd Page 41
14 ©2011 Enhance ALM Pty Ltd
CONNECTING TO A TFS SERVER
URL ConstructionConnecting using Team ExplorerConnection Dialogs
Connecting to a TFS Server
In this next section we’ll focus on how you connect to your TFS server and walkthrough connecting from Team Explorer.
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 42 © 2012 Enhance ALM Pty Ltd
15 ©2011 Enhance ALM Pty Ltd
URL Construction
• Team Explorer - required information
URL Construction
To connect to your corporate Team Foundation Server from Team Explorer, you will need to
know the following information.
Protocol Has your server been configured to use HTTP (default) or HTTPS (SSL based encrypted connection)
Server Name The server name which you can resolve to the appropriate IP address. This may be the short name (Eg. CorpTFS) or a Fully Qualified Domain Name (FQDN).
TCP/IP Port You will need to know the port number on which the TFS server is listening for connection. This is commonly 8080 (default) or 443 if you are using HTTPS.
Virtual Directory
In 2010, all TFS services are located in a Virtual Directory. By default this is usually “tfs”
Managing Projects with Visual Studio 2010 Module 2 – Initiating a New Project
© 2012 Enhance ALM Pty Ltd Page 43
16 ©2011 Enhance ALM Pty Ltd
Connecting using Team Explorer
• Start Team Explorer on clientStart Menu | All programs | Microsoft Visual Studio 2010 | Microsoft Visual Studio 2010
• Choose menu item or Team Explorer toolbar
Connecting using Team Explorer
When you install Team Explorer 2010, either as a standalone product or as part of Visual Studio, it appears in the Start Menu in a program folder named “Microsoft Visual Studio 2010”. To start Team Explorer, you should click on the Microsoft Visual Studio 2010” menu item inside this folder to start Team Explorer.
Once Team Explorer is visible in the Visual Studio Shell, you can choose to connect to TFS using either of the following two ways:
1. Select “Connect to Team Foundation Server…” in the Team drop down menu 2. Select the third button inside the Team Explorer toolbox.
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 44 © 2012 Enhance ALM Pty Ltd
17 ©2011 Enhance ALM Pty Ltd
Connection Dialogs
Connection Dialogs
1. In the “Connect to Team Project” dialog box, click the Servers button on the right. 2. In the “Add/remove Team Foundation Server” dialog box, click the Add button on the
right 3. Enter the name of the TFS Server and optionally the Path (Virtual directory), the Port
Number and the protocol if the default values are incorrect. 4. Click on OK to connect to your Team Foundation Server
Managing Projects with Visual Studio 2010 Module 2 – Initiating a New Project
© 2012 Enhance ALM Pty Ltd Page 45
14 ©2012 Enhance ALM Pty Ltd
PROCESS TEMPLATE OVERVIEW
What is a Process TemplateThe importance of choosing the right templateAvailable Templates• MSF Agile v5.0• MSF CMMI v5.0• Microsoft Scrum v1.0Template Architecture
Process Template Overview
In this section we’ll look at the following:
• What is a Process Template • The importance of choosing the right template • Available Templates • MSF Agile v5.0 • MSF CMMI v5.0 • Microsoft Scrum v1.0 • Template Architecture
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 46 © 2012 Enhance ALM Pty Ltd
11 ©2011 Enhance ALM Pty Ltd
What is a Process Template?
• The template TFS uses when creating new Team Projects
• Defines key aspects of a team project such as work item types, queries and reports
• You can choose a process template during the project creation wizard
• While some aspects of the process can be changed after a project has been created, you can’t simply change from one process template to another after the project has been created
What is a Process Template?
A Process Template is specified when you start the Project Creation Wizard and determines a number of significant characteristics of your new projects including;
• Work item types (Eg. User Story or Requirement or Product Backlog Item) • Initial work item instances • Work Item Queries • Reports • SharePoint Document libraries and their contents • Default security groups • Default Areas and Iteration names • Source Control settings
Once a Team project has been created, the Process Template no longer has any bearing on the Team Project. It is only used during Team project creation.
Managing Projects with Visual Studio 2010 Module 2 – Initiating a New Project
© 2012 Enhance ALM Pty Ltd Page 47
16 ©2012 Enhance ALM Pty Ltd
The importance of choosing the right template• Your selection of a process template should reflect
how your team works.• It is not easy to change from one process template
to a different one after the project has been created.• An incorrect choice can cause great friction and
dissatisfaction across a team.• One size does not fit all. Expect to want or need to
make some customisations to the template.
The importance of choosing the right template
Selection of the Process Template is an important choice during the creation of a new Team
Project. This is largely because it is not possible to easily change from one Process Template to a
different one once a Team Project has been created and information stored in the Team Project.
NOTE: Once a team project has been created you can make some changes to the team project.
Eg. You can add additional fields to work item types or modify transition between work item
states.
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 48 © 2012 Enhance ALM Pty Ltd
17 ©2012 Enhance ALM Pty Ltd
Available templates
• There are two out-of-the-box templates– MSF for Agile Software Development– MSF for CMMI Process Improvement
• The two OOTB templates are based on a different MSF process with a different philosophical approach to software development.
• On 19th July 2010, Microsoft announced a freely available Scrum template called Microsoft Visual Studio Scrum 1.0
Available templates
When you install the RTM version of Team Foundation Server, the following two process
templates are automatically installed.
• MSF for Agile Software Development
• MSF for CMMI Process Improvement
You can download a third template, the “Microsoft Visual Studio Scrum 1.0” from the Visual
Studio Gallery and install it. To download the Scrum template, visit http://ealm.info/AH
Managing Projects with Visual Studio 2010 Module 2 – Initiating a New Project
© 2012 Enhance ALM Pty Ltd Page 49
18 ©2012 Enhance ALM Pty Ltd
MSF for Agile Software Development
• Best suited for teams that;– Develop software in short iterative cycles– Have open communication between team members– Respond and adapt to change readily– Do frequent deployment of their software– Practice Scrum, XP, FDD or any other Agile methodology
MSF for Agile Software Development
The MSF for Agile Software Development template is best suited for teams that;
• Develop software in short iterative cycles
• Have open communication between team members
• Respond and adapt to change readily
• Do frequent deployment of their software
• Practice Scrum, XP, FDD or any other Agile methodology
You can read the Process Guidance for this template online at http://EALM.INFO/AGILE5
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 50 © 2012 Enhance ALM Pty Ltd
19 ©2012 Enhance ALM Pty Ltd
MSF for CMMI Process Improvement
• Capability Maturity Model Integration (CMMI)• Best suited for teams that;
– Develop in a more traditional waterfall manner– Require a strong process driven workflow– Are geared towards larger projects that are broken into
phases and groups– Are focused on gaining CMMI Level 3 appraisal
MSF for CMMI Process Improvement
CMMI was originally developed by the Carnegie Mellon Software Engineering Institute to assess
defence, aerospace, and government contractors in a regulated environment.
The MSF for CMMI Process Improvement template is best suited for teams that;
• Develop in a more traditional waterfall manner
• Require a strong process driven workflow
• Are geared towards larger projects that are broken into phases and groups
• Are focused on gaining CMMI Level 3 appraisal
You can read the Process Guidance for this template online at http://EALM.INFO/CMMI5
Managing Projects with Visual Studio 2010 Module 2 – Initiating a New Project
© 2012 Enhance ALM Pty Ltd Page 51
20 ©2012 Enhance ALM Pty Ltd
Microsoft Visual Studio Scrum 1.0
• Best suited for teams that;– Have had Scrum training– Use Scrum terminology– Conduct Scrum ceremonies (Reviews, retrospectives)– Use and maintain Product and Sprint Backlogs
Microsoft Visual Studio Scrum 1.0
The Microsoft Visual Studio Scrum 1.0 template is best suited for teams that;
• Have had Scrum training
• Use Scrum terminology
• Conduct Scrum ceremonies (Reviews, retrospectives)
• Use and maintain Product and Sprint Backlogs
You can read the Process Guidance for this template online at http://EALM.INFO/SCRUM1
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 52 © 2012 Enhance ALM Pty Ltd
21 ©2012 Enhance ALM Pty Ltd
Template Architecture
• Process Template Composition
• New Team Project Wizard– used by project leads to create a new team project
• XML Process definition files– a set of tasks that must run to correctly configure a new
team project for the process.
BuildClassificationsGroup and PermissionsLabReports
Test ManagementVersion ControlWindows SharePoint ServicesWorkItem Tracking
Template Architecture
Process Templates are a collection of XML and content files. To get a better understanding of
the inner workings of a Process Template, you can download the Process Template files to your
local computer and examine them.
The download the MSF for Agile Software Development process template, follow these steps:
1. Open Visual Studio 2010 and connect to your TFS Server
2. Select Process Template Manager… from Team | Team Project Collection Settings
3. Select the Process Template you wish to download and click the Download button
4. Choose a folder to download the template to and click Select Folder
5. Open the folder you selected in Windows Explorer and navigate through the various XML
files and content folders.
Managing Projects with Visual Studio 2010 Module 2 – Initiating a New Project
© 2012 Enhance ALM Pty Ltd Page 53
22 ©2012 Enhance ALM Pty Ltd
CREATING A NEW TEAM PROJECT
New Team Project Creation FormWalkthrough of Project Creation Wizard (PCW)Process GuidanceExercise – Exploring the Process Guidance
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 54 © 2012 Enhance ALM Pty Ltd
23 ©2012 Enhance ALM Pty Ltd
New Team Project Request form• Reduce mistakes by
providing a form to prompt for required data.
Managing Projects with Visual Studio 2010 Module 2 – Initiating a New Project
© 2012 Enhance ALM Pty Ltd Page 55
24 ©2012 Enhance ALM Pty Ltd
WALKTHROUGHCreating a new Team Project using the Project Creation Wizard
Walkthrough
Your instructor will walk you through the New Team Project Wizard and highlight the various
choices available on each screen in the wizard.
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 56 © 2012 Enhance ALM Pty Ltd
20 ©2011 Enhance ALM Pty Ltd
Start New Team Project Wizard
• Use Team Explorer to create new Team Projects
21 ©2011 Enhance ALM Pty Ltd
Project name and description
Managing Projects with Visual Studio 2010 Module 2 – Initiating a New Project
© 2012 Enhance ALM Pty Ltd Page 57
22 ©2011 Enhance ALM Pty Ltd
Select Process Template
23 ©2011 Enhance ALM Pty Ltd
Choose SharePoint site location
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 58 © 2012 Enhance ALM Pty Ltd
24 ©2011 Enhance ALM Pty Ltd
Choose Source Control settings
25 ©2011 Enhance ALM Pty Ltd
Confirm settings
Managing Projects with Visual Studio 2010 Module 2 – Initiating a New Project
© 2012 Enhance ALM Pty Ltd Page 59
26 ©2011 Enhance ALM Pty Ltd
Team Project Created
Walkthrough complete
Your new Team Project has now been created.
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 60 © 2012 Enhance ALM Pty Ltd
27 ©2011 Enhance ALM Pty Ltd
Process Guidance
Process Guidance
At the completion of the New Team Project Wizard you are given the opportunity to view the
Process Guidance that corresponds to the Process Template you selected in the wizard.
The Process Guidance is a website that provides detailed information about the process you
have selected including information about the various work item types, the fields available in
each work item type and much more.
It is well worth your time to go through the Process Guidance to get an understanding how to
best use the features of your new Team Project.
You can view the Process Guidance for the three Microsoft Process Templates at any time on the
Internet using the following links.
http://EALM.INFO/AGILE5 http://EALM.INFO/CMMI5 http://EALM.INFO/SCRUM1
Managing Projects with Visual Studio 2010 Module 2 – Initiating a New Project
© 2012 Enhance ALM Pty Ltd Page 61
28 ©2011 Enhance ALM Pty Ltd
EXERCISE
Spend 5-10 minutes exploring the online Process Guidance for one of the following processes.
http://ealm.info/agile5http://ealm.info/cmmi5http://ealm.info/scrum1
NOTE: This exercise requires Internet access
Exercise
1. Choose one of the following URLs corresponding to the three process templates
provided by Microsoft.
• http://ealm.info/agile5
• http://ealm.info/cmmi5
• http://ealm.info/scrum1
2. Enter the URL into a browser to be taken to the location in the MSDN library where the
process guidance is located.
3. Spend 5-10 minutes exploring the online Process Guidance.
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 62 © 2012 Enhance ALM Pty Ltd
34 ©2012 Enhance ALM Pty Ltd
WHAT’S NEXT?
Configuring Team Project PropertiesConfigure Security GroupsConfirm Source Control settingsConfigure initial source foldersSpecify desired Check-in PoliciesConfigure initial Areas and IterationsConfigure initial Projects Alerts
For now we’ll just have a quick look at Security
What’s Next?
Once your Team project has been created, there are a number of steps that still need to be completed. One of the most important steps is to configure security for your new Team Project. The next section will examine configuring security.
Managing Projects with Visual Studio 2010 Module 2 – Initiating a New Project
© 2012 Enhance ALM Pty Ltd Page 63
30 ©2011 Enhance ALM Pty Ltd
CONFIGURING SECURITY
Security in three placesA common security problemEffective role based security
Configuring Security
In this next section we’ll look at configuring the default role-based security in TFS. We’ll examine security in a very general sense and not dive into fine grain security in this course.
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 64 © 2012 Enhance ALM Pty Ltd
31 ©2011 Enhance ALM Pty Ltd
Security in 3 places
TEAMFOUNDATION
SERVER
SHAREPOINTPRODUCTS
SQLREPORTINGSERVICES
Security in 3 places
One of the initial misunderstandings people have with TFS is the thought that it is a single product. In reality TFS relies heavily on other Microsoft products to provide its functionality. As a result of this, security must be configured not only in TFS but in SharePoint and SQL Reporting Services.
Managing Projects with Visual Studio 2010 Module 2 – Initiating a New Project
© 2012 Enhance ALM Pty Ltd Page 65
32 ©2011 Enhance ALM Pty Ltd
A common security problem
TFS Permissions
SQL Permissions
SharePoint Permissions
A common security problem
One of the most common problems involving security occurs when permissions for a user are only configured in TFS and not in SharePoint and SQL Reporting Services.
As you can see in the screenshot in the slide above, there are little red crosses next to the Documents and Reports nodes. This is a sure indicator that security has only been set in TFS and not the other two locations.
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 66 © 2012 Enhance ALM Pty Ltd
33 ©2011 Enhance ALM Pty Ltd
Effective role based security
1. Create a new team project Eg. “Payroll”2. Create four groups in active directory
– Domain\Payroll_administrators– Domain\Payroll_contributors– Domain\Payroll_readers– Domain\Payroll_builders
3. Add appropriate members to each group4. Use TFS Administration Tool* to configure groups
in TFS, SQL & SharePoint(*Download from http://ealm.info/AR)
Effective role based security
The most effective security is role based security where team members are grouped based on their access requirements to the Team project. Integration with Active Directory allows us to centralise security configuration and ensure that ongoing security is easily managed using standard practises.
One suggested method of configuring security is to create four Active Directory group based on the four default permissions in a Team project. To assist in identifying these in AD, prefix each group name with the name of the specific Team project.
Add appropriate users to each AD group.
Now that the group are configured, use a free tool from CodePlex to assign these groups to Team Foundation Server, SQL Reporting Services and SharePoint.
Managing Projects with Visual Studio 2010 Module 2 – Initiating a New Project
© 2012 Enhance ALM Pty Ltd Page 67
34 ©2011 Enhance ALM Pty Ltd
DEMONSTRATIONThe TFS Administration Tool
Demonstration
In this demonstration, your trainer will show you a great freeware tool called the TFS Administration Tool. You will see that it makes the process of adding groups to the three products very easy.
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 68 © 2012 Enhance ALM Pty Ltd
35 ©2011 Enhance ALM Pty Ltd
DELETING TEAM PROJECTS
How to Delete a Team ProjectDeletion using TFS Admin ConsoleDeletion using the Command-line tool
Deleting Team Projects
Deleting Team projects is not a common requirement for a person working with TFS. If, for whatever reason you need to do this, there are two alternative methods.
Managing Projects with Visual Studio 2010 Module 2 – Initiating a New Project
© 2012 Enhance ALM Pty Ltd Page 69
36 ©2011 Enhance ALM Pty Ltd
How to delete a Team Project
• Two alternative ways: TFS Administration Console or the Command Line
• Each uses different approaches and what is deleted is different
• You must be a member of the Team Foundation Administrators group or have explicit permissions
How to delete a Team Projects
Deleting Team projects is not a common requirement for a person working with TFS. If, for whatever reason, you find you do need to delete a Team Project, you can select one of two methods to achieve this.
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 70 © 2012 Enhance ALM Pty Ltd
37 ©2011 Enhance ALM Pty Ltd
Deletion using TFS Admin Console
Deletion using TFS Admin Console
The easiest way to delete a Team Project is to use the TFS Administration Console on the TFS Server.
1. Start the TFS Administration Console 2. Select the Team Project Collections node from the menu tree 3. Select the Team Project that contains the Team Project you wish to delete 4. From the list of Team Projects in the selected Team Project Collection, click on the Team
Project you wish to delete and then click the Delete link as highlighted in the slide above.
Managing Projects with Visual Studio 2010 Module 2 – Initiating a New Project
© 2012 Enhance ALM Pty Ltd Page 71
38 ©2011 Enhance ALM Pty Ltd
Deletion using Command-line toolTeam Foundation Delete Project ToolCopyright (c) Microsoft Corporation. All rights reserved.
TfsDeleteProject [/q] [/force] [/excludewss] /collection:<url> <team project name>
Deletes the Team Project from Team Foundation. To use this command, you must be a member of either the Team Foundation Server Administrators group or a member of the Project Administrators group for the project you are deleting. Use this command with caution because after deleting the team project it cannot be recovered.
[/q] - Do not prompt for confirmation.[/force] - Continue even if some data cannot be deleted.[/excludewss] - Exclude the project's SharePoint site when deleting the project. This option will leave site intact so that it remains for other projects that may be using it./collection:<url> - The url for a Team Project Collection.<team project name> - The name of the project. Use quotes if there are spaces in the name.
TFSDeleteProject /collection:http://tfsserver:8080/tfs/defaultcollection “My Project”
Deletion using Command-line tool
Deleting a Team project using the command prompt is different from deleting from the TFS Administration Console. For specific details and more information, visit http://ealm.info/AQ
Module 2 – Initiating a New Project Managing Projects with Visual Studio 2010
Page 72 © 2012 Enhance ALM Pty Ltd
39 ©2011 Enhance ALM Pty Ltd
HANDS ON LAB
This Lab comprises the following exercises:1. Reviewing Team Foundation Server Status 2. Creating and verifying a new Team Project
20 Minutes
40 ©2011 Enhance ALM Pty Ltd
?
ANY QUESTIONS?
Managing Projects with Visual Studio 2010 Module 2 LAB – Creating a new Team Project
© 2012 Enhance ALM Pty Ltd Page 73
Overview In this lab you will use a number of tools to review TFS information and then create a new Team Project.
System Requirements In order to complete this lab you will need the Visual Studio 2010 RTM virtual machine provided by Microsoft.
Exercises This Hands-On Lab comprises the following exercises:
1. Reviewing Team Foundation Server Status
2. Creating and verifying a new Team Project
Estimated time to complete this lab: 25 minutes.
Module 2 LAB – Creating a new Team Project Managing Projects with Visual Studio 2010
Page 74 © 2012 Enhance ALM Pty Ltd
Exercise 1: Reviewing Team Foundation Server Status In this exercise students will review the server settings and status that exist for Team Foundation Server.
• Review application tier settings. • Review data tier settings. • Review Reporting Services Settings. • Review SharePoint Web applications. • Review Team Foundation Server Logs.
Task Detailed Steps Logging onto the lab virtual machine
1. Start the lab Virtual Machine if it is not already started 2. Log in as Michael Affronti if you have not already done so. The
password is P2ssw0rd Open Team Foundation Server Administration Console and review application tier settings.
1. Click Start | All Programs | Microsoft Team Foundation Server 2010.
2. Click Team Foundation Administration Console.
3. Under the name of your TFS server, click Application Tier.
4. What is the service account under which the application tier is running? ______________________________________________________
5. What is the name of the application pool and Web site? ______________________________________________________
6. What authentication mechanism is being used by the application tier? ______________________________________________________
7. Click Change URLs. What is the notification (public) URL? What is the server URL? Why might these be different? Click Cancel. ______________________________________________________ ______________________________________________________ ______________________________________________________
8. What is the full URL for Team System Web Access? ______________________________________________________
9. Is alerting turned on? ______________________________________________________
Managing Projects with Visual Studio 2010 Module 2 LAB – Creating a new Team Project
© 2012 Enhance ALM Pty Ltd Page 75
Task Detailed Steps Create a new team project collection.
1. In the Team Foundation Administration Console, under the name of your TFS server, click Team Project Collections.
2. Click Create Collection.
3. Name the new project collection HRAppsCollection.
4. Accept defaults for the other options by clicking Next five times.
5. Click Verify.
6. If you Readiness Checks all pass, click Create.
Note: It may take up to ten minutes before you can move to the next step.
7. Click Complete.
8. Click Close.
9. Select the HRAppsCollection in the list then click Stop Collection. The collection must be stopped in order to rename it.
10. Enter “Stopping collection to rename it” as the reason and click Stop.
11. Click Edit Settings and then rename the project collection to HRProjectCollection and click Save.
12. Click Start Collection to bring the renamed project collection back online. Notice the URL for the Team Project Collection has been changed.
Module 2 LAB – Creating a new Team Project Managing Projects with Visual Studio 2010
Page 76 © 2012 Enhance ALM Pty Ltd
Task Detailed Steps Review data tier settings. 1. Review the settings under Data Tier Summary. You can find this when
you select the Application Tier node.
2. What is the name of the SQL Server?
______________________________________________________
3. Is TFS using a named instance?
______________________________________________________
Review Reporting Services settings.
1. Review the settings under Report Services Summary.
2. What are the URLs for report manager and report server?
______________________________________________________
3. Under which account are they running?
______________________________________________________
Review SharePoint settings.
1. Click the SharePoint Web Applications node.
2. What SharePoint Web applications have been added?
______________________________________________________
3. What service accounts are specified to support the team project portals?
______________________________________________________
4. Click the Extensions for SharePoint products node. How does the information here map to the SharePoint Web applications noted above?
______________________________________________________
______________________________________________________
View the Team Foundation Server logs.
1. Click the Logs node.
2. Open some of the logs and review them. If you encountered trouble with the installation or configuration of Team Foundation Server, would these logs be helpful in resolving the issue?
______________________________________________________
Close the Team Foundation Administration Console
1. Close the Team Foundation Administration Console
Managing Projects with Visual Studio 2010 Module 2 LAB – Creating a new Team Project
© 2012 Enhance ALM Pty Ltd Page 77
Exercise 2: Creating and verifying a new Team Project In this exercise, students will create a new team project, and verify that it has been created successfully.
• Create a new team project. • Verify team project creation.
Task Detailed Steps Logging onto the lab virtual machine
1. Start the lab Virtual Machine if it is not already started 2. Log in as Michael Affronti if you have not already done so. The
password is P2ssw0rd Create a new Team Project for the new project collection.
1. Click Start | All Programs | Microsoft Visual Studio 2010.
2. Click Team | Connect to Team Foundation Server.
3. In the Connect to Team Project dialog, select the HRProjectCollection and click Connect.
4. In Team Explorer, right click the server and click New Team Project.
5. Name the team project MYTeamProject and click Next
6. Select the MSF for Agile Development v5.0 process template to create the project. Click Next.
7. Keep the default to create a new SharePoint site for this project and click Next.
8. Keep the default to create a new source control folder and click Next.
9. Review the settings and click Finish.
10. The status of the project creation will be shown on the Team Project Creation Status page as each step is completed. (The team project creation could take up to five minutes due to running on a virtual machine.)
11. On the Team Project Created page, clear the Launch the process guidance for more information about running the team project check box and click Close.
Module 2 LAB – Creating a new Team Project Managing Projects with Visual Studio 2010
Page 78 © 2012 Enhance ALM Pty Ltd
Task Detailed Steps Verify team project creation.
1. Find the newly created team project in Team Explorer.
2. Expand the Documents and Reports folders and ensure that there are items listed under them.
3. Right click the team project and click Show Project Portal to view the Project Dashboard.
4. Close the Browser. 5. In the Work Items folder, expand the Team Queries node to see the
queries that are preconfigured for you. Open Team Foundation Server Administration Console and verify the new team project belongs to the proper project collection.
1. If you closed The Team Foundation Administration Console:
a. Click Start | All Programs | Microsoft Team Foundation Server 2010.
b. Click Team Foundation Administration Console.
2. Under Team Foundation, click Application Tier.
3. Under Application Tier, click Team Project Collections.
4. Select the HRProjectCollection Team Project Collection.
5. Click the Team Projects tab and verify that the MYTeamProject team project belongs to the HRProjectCollection.
Module 3 – Managing Requirements using Work Items Managing Projects with Visual Studio 2010
Page 52 © 2012 Enhance ALM Pty Ltd
1 ©2012 Enhance ALM Pty Ltd
Managing Projects withVisual Studio 201 0Module 3 – Managing Requirements using Work Items
2 ©2011 Enhance ALM Pty Ltd
Module Objectives
• At the end of this module you will be able to;– Describe the purpose and benefit of Work Items– Understand the different Work Items type– Create Work Items using a variety of tools– Link Work Items to enhance traceability– Use and create Work Item Queries– Create alerts in TFS using the TFS Alerts Explorer Power Tool
Managing Projects with Visual Studio 2010 Module 3 – Managing Requirements using Work Items
© 2012 Enhance ALM Pty Ltd Page 53
3 ©2012 Enhance ALM Pty Ltd
Agenda
• Requirements• Understanding Work Items• Work Items by Process Template• Creating Work Items• Linking Work Items• Querying Work Items• TFS Alerts
4 ©2011 Enhance ALM Pty Ltd
UNDERSTANDING WORK ITEMS
What are Work Items?Work Item PropertiesWork Item FieldsWork Item States and Transitions
Module 3 – Managing Requirements using Work Items Managing Projects with Visual Studio 2010
Page 54 © 2012 Enhance ALM Pty Ltd
5 ©2011 Enhance ALM Pty Ltd
What are Work Items
• Work Items are assignments we want to track such as Tasks, Bugs, User Stories
• Work items are created via Team Explorer, Excel, Project, the Project Portal or Team Web Access
• Work Items are searchable• Work Items can be linked to other Work Items or to
external resources
6 ©2011 Enhance ALM Pty Ltd
Work Item Properties
• Work Item Types have:– Fields
• The various pieces of data stored in that Work Item– States
• Indicate status of the Work ItemEg. New, Active, Resolved, Closed
– Transitions• Define allowable paths between states in a Work Item
Eg. - New to Active, Active to Resolved, Resolved To Closed
Managing Projects with Visual Studio 2010 Module 3 – Managing Requirements using Work Items
© 2012 Enhance ALM Pty Ltd Page 55
7 ©2011 Enhance ALM Pty Ltd
Work Item Fields
• Fields in a User Story Work Item
8 ©2011 Enhance ALM Pty Ltd
Work Item States and Transitions
• States and Transitions for a User Story Work Item
Module 3 – Managing Requirements using Work Items Managing Projects with Visual Studio 2010
Page 56 © 2012 Enhance ALM Pty Ltd
9 ©2011 Enhance ALM Pty Ltd
WORK ITEM TYPES BY PROCESS
Work Item Types (Agile)Work Item Types (CMMI)Work Item Types (SCRUM)
10 ©2011 Enhance ALM Pty Ltd
Work Item Types (Agile)Name Purpose
Bug A bug communicates that a potential problem exists in the code that your team is developing.
Issue A team can use the issue work item to track an event or situation that might block work or is blocking work on the product.
Shared Steps Your team can use shared steps to streamline definition and maintenance of manual test cases
Task A task communicates the need to do some work
Test Case A team uses test cases to define both manual and automated tests that can be run and managed by using Microsoft Test Manager.
User Story A user story communicates functionality that is of value to the end user of the product or system.
Managing Projects with Visual Studio 2010 Module 3 – Managing Requirements using Work Items
© 2012 Enhance ALM Pty Ltd Page 57
11 ©2011 Enhance ALM Pty Ltd
Work Item Types (CMMI)Name Purpose
Bug A bug communicates that a potential problem exists in the code that your team is developing.
Change Request A team can use the change request work item to track a proposed change to some part of the product.
Issue A team can use the issue work item to track an event or situation that might block work or is blocking work on the product.
Requirement A requirement communicates functionality that is of value to the customer of the product or system.
Review A team can use the review work item to document the results of a design or code review.
Risk Risk work items document a possible event or condition that can have a negative outcome on the project in the future.
Shared Steps Your team can use shared steps to streamline definition and maintenance of manual test cases
Task A task communicates the need to do some work
Test Case A team uses test cases to define both manual and automated tests that can be run and managed by using Microsoft Test Manager.
12 ©2011 Enhance ALM Pty Ltd
Work Item Types (SCRUM)Name Purpose
Bug A bug communicates that a potential problem exists in the code that your team is developing.
Impediment Allows you to identify and track problems that prevent the team from completing tasks efficiently.
Product Backlog Item
Product Backlog Items are the requirements of the product.
Shared Steps Your team can use shared steps to streamline definition and maintenance of manual test cases.
Sprint Captures the goal, the start and end dates, and the retrospective results for each sprint in a project.
Task A task communicates the need to do some work.
Test Case A team uses test cases to define both manual and automated tests that can be run and managed by using Microsoft Test Manager.
Module 3 – Managing Requirements using Work Items Managing Projects with Visual Studio 2010
Page 58 © 2012 Enhance ALM Pty Ltd
13 ©2011 Enhance ALM Pty Ltd
CREATING WORK ITEMS
Creating Work Items using Team ExplorerDemonstrationCreating Work Items using Microsoft ExcelDemonstrationUsing Microsoft Project
14 ©2011 Enhance ALM Pty Ltd
Creating Work Items in Team Explorer• Work Items are often created using Team Explorer• Expand the Team Project you wish to create your
new Work Items in• Right-click on the Work Items node and select New
Work Item
Managing Projects with Visual Studio 2010 Module 3 – Managing Requirements using Work Items
© 2012 Enhance ALM Pty Ltd Page 59
15 ©2011 Enhance ALM Pty Ltd
DEMONSTRATIONCreating a Quick Work Item in Visual Studio
16 ©2011 Enhance ALM Pty Ltd
Creating Items in Excel• Work items can be
created and edited via Microsoft Excel
• Provides a more familiar UI to Managers and end users unfamiliar with Visual Studio
Module 3 – Managing Requirements using Work Items Managing Projects with Visual Studio 2010
Page 60 © 2012 Enhance ALM Pty Ltd
17 ©2011 Enhance ALM Pty Ltd
DEMONSTRATIONCreating a Work Item using Microsoft Excel
18 ©2011 Enhance ALM Pty Ltd
Using Project
• Provides a familiar UI for managers to work with • Items can be individually marked for synchronization• Project fields are mapped as part of the Project
Template to individual Work Item fields
Managing Projects with Visual Studio 2010 Module 3 – Managing Requirements using Work Items
© 2012 Enhance ALM Pty Ltd Page 61
19 ©2011 Enhance ALM Pty Ltd
TRACEABILITY THROUGH LINKING WORK ITEMS
Linking Work itemsDifferent types of linksAdding a link to a Work ItemDemonstration – Linking Work Items
20 ©2011 Enhance ALM Pty Ltd
Linking Work Items
User Story
TaskTask
TasksChangeset
Changesets
ChangesetBugs
ChangesetTest Cases
Module 3 – Managing Requirements using Work Items Managing Projects with Visual Studio 2010
Page 62 © 2012 Enhance ALM Pty Ltd
21 ©2011 Enhance ALM Pty Ltd
Different types of Links• Affected By• Affects• Changeset• Child• Hyperlink• Parent• Predecessor• Related
• Result Attachment• Shared Steps• Successor• Test Case• Test Result• Tested By• Tests• Versioned Item
22 ©2011 Enhance ALM Pty Ltd
Adding a Link to a Work Item
Managing Projects with Visual Studio 2010 Module 3 – Managing Requirements using Work Items
© 2012 Enhance ALM Pty Ltd Page 63
23 ©2011 Enhance ALM Pty Ltd
DEMONSTRATIONLinking Work Items
24 ©2011 Enhance ALM Pty Ltd
FINDING WORK ITEMS
Querying Work itemsBuilt-in QueriesQuery TypesQuery ToolbarDemonstrationExercise
Module 3 – Managing Requirements using Work Items Managing Projects with Visual Studio 2010
Page 64 © 2012 Enhance ALM Pty Ltd
25 ©2011 Enhance ALM Pty Ltd
Querying Work Items
• Team Explorer comes with pre-built queries for retrieving work items
• You can edit and create your own queries• Query filters includes variables such as:
– @project– @Me– @Date
• Queries a can span across projects
26 ©2011 Enhance ALM Pty Ltd
Built-in Queries
Managing Projects with Visual Studio 2010 Module 3 – Managing Requirements using Work Items
© 2012 Enhance ALM Pty Ltd Page 65
27 ©2011 Enhance ALM Pty Ltd
Query Types
• There are three types of queries in TFS 2010– Flat List of Work Items
• Default query style, identical to TFS 2005/2008– Tree of Work Items
• Displays work items in a hierarchical view– Work Items and Direct Links
• Find WI’s by the links types they have
28 ©2011 Enhance ALM Pty Ltd
Query Toolbar
← Saves changes to changed work items
← Refreshes the query results
← Cancels/Stops a query
← Prints query results
← Adds a new linked work item
← Links to an existing item
← Opens the currently selected work item
Module 3 – Managing Requirements using Work Items Managing Projects with Visual Studio 2010
Page 66 © 2012 Enhance ALM Pty Ltd
29 ©2011 Enhance ALM Pty Ltd
Query Toolbar
← Expand/Collapse All
← Promote / Demote current work item(s)
← Column Options
← Edit the current query
← Creates a report in Microsoft Excel
← Open query result in Microsoft Excel or
send results in email using Microsoft
Outlook
30 ©2011 Enhance ALM Pty Ltd
DEMONSTRATIONCreating a Work Item Query
Managing Projects with Visual Studio 2010 Module 3 – Managing Requirements using Work Items
© 2012 Enhance ALM Pty Ltd Page 67
31 ©2011 Enhance ALM Pty Ltd
EXERCISECreating and editing Work Items
Exercise
Create the following queries in the TailSpin Toys team project.
NOTE: Not all queries will return data in TailSpin Toys.
Name: High Priority Bugs in the past week for Michael or April Criteria: Return all Bug work items that have been assigned to either Michael or April
that have been activated in the past 7 days and have a priority of either 1 or 2 Location: My Queries
Name: My User Stories and linked test cases Criteria: Return a tree of work items that shows all user stories assigned to the user
that is running the query and all linked test cases. Location: Team Queries
Name: Requirements with linked bugs Criteria: Return only those User Stories that have Bugs linked to them. Location: Team Queries
Module 3 – Managing Requirements using Work Items Managing Projects with Visual Studio 2010
Page 68 © 2012 Enhance ALM Pty Ltd
32 ©2011 Enhance ALM Pty Ltd
ALERTS IN TFS
What are Alerts?Two Alert ChoicesCreating a new AlertDemonstrationExercise
33 ©2011 Enhance ALM Pty Ltd
What are Alerts?
• Alerts are generally emails that you can chose to receive when certain events occur.
• Some common Alerts you may like to subscribe to include– A Work item was assigned to me– My Work Items changed– Check-In to a specific folder with a policy override– All builds requested by me– Failed Builds
Managing Projects with Visual Studio 2010 Module 3 – Managing Requirements using Work Items
© 2012 Enhance ALM Pty Ltd Page 69
34 ©2011 Enhance ALM Pty Ltd
Two Alerts Choices?• Project Alerts
– Built-in– VERY limited (5 alerts)
• Alerts Explorer– Part of TFS Power Tools– Excellent
35 ©2011 Enhance ALM Pty Ltd
Creating a new alert
Module 3 – Managing Requirements using Work Items Managing Projects with Visual Studio 2010
Page 70 © 2012 Enhance ALM Pty Ltd
36 ©2011 Enhance ALM Pty Ltd
DEMONSTRATIONCreating Custom Alerts using the Alerts Explorer
Managing Projects with Visual Studio 2010 Module 3 – Managing Requirements using Work Items
© 2012 Enhance ALM Pty Ltd Page 71
37 ©2011 Enhance ALM Pty Ltd
EXERCISECreating an Alert using the Alerts Explorer
Exercise
Using the TFS Alerts Explorer, create the following Alert
1. Email [email protected] when a Bug work item assigned to Michael Affronti and either Severity 1 or Priority 1.
Module 3 – Managing Requirements using Work Items Managing Projects with Visual Studio 2010
Page 72 © 2012 Enhance ALM Pty Ltd
39 ©2011 Enhance ALM Pty Ltd
?
ANY QUESTIONS?
Any Questions Now’s the time to ask any questions you have not had an opportunity to ask during the module.
Managing Projects with Visual Studio 2010 Module 4 – Effective Estimation
© 2012 Enhance ALM Pty Ltd Page 73
1 ©2012 Enhance ALM Pty Ltd
Managing Projects withVisual Studio 201 0Module 4 – Effective Estimation
2 ©2012 Enhance ALM Pty Ltd
Agenda
• Group Discussion• Who does Estimation?• Units of measure• Poker Planning
Module 4 – Effective Estimation Managing Projects with Visual Studio 2010
Page 74 © 2012 Enhance ALM Pty Ltd
3 ©2012 Enhance ALM Pty Ltd
Group Discussion
What are the issues faced due to poor estimation?
4 ©2012 Enhance ALM Pty Ltd
Who does Estimating?
• Who should estimate tasks?• Who is accountable for estimates?• The Team must estimate the level of effort it will take
to implement each item in the Product Backlog– Estimation should be done collaboratively
Managing Projects with Visual Studio 2010 Module 4 – Effective Estimation
© 2012 Enhance ALM Pty Ltd Page 75
5 ©2012 Enhance ALM Pty Ltd
Units of Measure
• Story Points– A unit of measure for expressing the overall size of a PBI– Their sole purpose is to allow tradeoffs among other user
stories in the product backlog– Points are relative and do not translate into precise hours– Only Sprint tasks are estimated in hours
Product Backlog Items = Story PointsSprint Tasks = Hours
6 ©2012 Enhance ALM Pty Ltd
Velocity
• The velocity of a team equals the number of story points achieved to the definition of Done in a sprint
• Eg. A team of 7 who delivered 140 story points in a 4 week sprint has:– Velocity of 140– An average of 1 story point per team member per day
• Don’t try to compare velocity across different teams.
Module 4 – Effective Estimation Managing Projects with Visual Studio 2010
Page 76 © 2012 Enhance ALM Pty Ltd
7 ©2012 Enhance ALM Pty Ltd
Group Activity
PokerPlanning
8 ©2012 Enhance ALM Pty Ltd
Group Activity
• As a group decide on how many story points the following Product Backlog Item is.
Wash the exterior of a family car and
vacuum the inside.
Story points = ___
Managing Projects with Visual Studio 2010 Module 4 – Effective Estimation
© 2012 Enhance ALM Pty Ltd Page 77
9 ©2012 Enhance ALM Pty Ltd
Group Activity
• Using Poker Planning, provide estimates for the following;
Rotate the tires on the car
including the spare in the
boot.
Story points = ___
Build a 1 metre high mailbox using cement
and bricks
Story points = ___
10 ©2012 Enhance ALM Pty Ltd
Group Activity
• Using Poker Planning, provide estimates for the following;
Replace car battery
Story points = ___
Repaint drivers car door
Story points = ___
Module 4 – Effective Estimation Managing Projects with Visual Studio 2010
Page 78 © 2012 Enhance ALM Pty Ltd
11 ©2012 Enhance ALM Pty Ltd
?
ANY QUESTIONS?
Managing Projects with Visual Studio 2010 Module 5 – Planning work using Backlogs and Sprints
© 2012 Enhance ALM Pty Ltd Page 79
1 ©2012 Enhance ALM Pty Ltd
Managing Projects withVisual Studio 201 0Module 5 – Planning work using Backlogs and Sprints
2 ©2012 Enhance ALM Pty Ltd
Agenda
• The Product Backlog• The Sprint Backlog• Work Item Queries• Discussion
Module 5 – Planning work using Backlogs and Sprints Managing Projects with Visual Studio 2010
Page 80 © 2012 Enhance ALM Pty Ltd
3 ©2012 Enhance ALM Pty Ltd
The Product Backlog
• Prioritized list of product/project requirements• Expressed in business language• Ideally expressed such that each item has value to
the user or customers of the product• Anyone can contribute items for the backlog• One person (the Product Owner) is responsible for
prioritization and making sure requirements are well formed
4 ©2012 Enhance ALM Pty Ltd
The Sprint Backlog
• The Sprint Backlog is a list of Tasks that defines a Team's work for a Sprint– Tasks are related to the user stories selected for the Sprint– Tasks emerge during Sprint planning– Tasks continue to emerge during the Sprint
• The tasks are what the Team has defined as being required to turn committed Product Backlog items into system functionality
• The ideal task size is no more than one day– Tasks are estimated as a team
Managing Projects with Visual Studio 2010 Module 5 – Planning work using Backlogs and Sprints
© 2012 Enhance ALM Pty Ltd Page 81
5 ©2012 Enhance ALM Pty Ltd
Work Item Queries
• The Scrum template creates a folder to contain the Current Sprint
• Queries need to be manually updated
6 ©2012 Enhance ALM Pty Ltd
Group Discussion
How does/might Scrum work in your organisation?
Module 5 – Planning work using Backlogs and Sprints Managing Projects with Visual Studio 2010
Page 82 © 2012 Enhance ALM Pty Ltd
7 ©2012 Enhance ALM Pty Ltd
?
ANY QUESTIONS?
Managing Projects with Visual Studio 2010 Module 6 – Managing Risks
© 2012 Enhance ALM Pty Ltd Page 83
1 ©2012 Enhance ALM Pty Ltd
Managing Projects withVisual Studio 201 0Module 6 – Managing Risks
2 ©2012 Enhance ALM Pty Ltd
Agenda
• How do you track project risks today?• Risks in MSF Agile• Risks in CMMI• Tracking Risks in Scrum
Module 6 – Managing Risk Managing Projects with Visual Studio 2010
Page 84 © 2012 Enhance ALM Pty Ltd
3 ©2012 Enhance ALM Pty Ltd
Group Discussion
How do you track project risks today?
4 ©2012 Enhance ALM Pty Ltd
Risks in MSF Agile
• No specific Risk work item type.
Managing Projects with Visual Studio 2010 Module 6 – Managing Risks
© 2012 Enhance ALM Pty Ltd Page 85
5 ©2012 Enhance ALM Pty Ltd
Risk Work Items in CMMI
6 ©2012 Enhance ALM Pty Ltd
Risk Work Items in CMMI
Module 6 – Managing Risk Managing Projects with Visual Studio 2010
Page 86 © 2012 Enhance ALM Pty Ltd
7 ©2012 Enhance ALM Pty Ltd
Tracking Risks in Scrum
• There is no Risk work item type in the Microsoft Scrum v1.0 process template.
• Options– Add risks as Product Backlog Items– Create a Risk work item type
8 ©2012 Enhance ALM Pty Ltd
?
ANY QUESTIONS?
Managing Projects with Visual Studio 2010 Module 7 – Keeping Quality in Focus
© 2012 Enhance ALM Pty Ltd Page 87
1 ©2012 Enhance ALM Pty Ltd
Managing Projects withVisual Studio 201 0Module 7 – Avoiding Technical Debt & Keeping Quality in Focus
2 ©2012 Enhance ALM Pty Ltd
Agenda
• Group Discussion• What is Technical Debt?• Contributing factors• Avoiding Technical Debt• Conclusion
Module 7 – Keeping Quality in Focus Managing Projects with Visual Studio 2010
Page 88 © 2012 Enhance ALM Pty Ltd
3 ©2012 Enhance ALM Pty Ltd
Group Discussion
How do you monitor Quality on your projects today?
4 ©2012 Enhance ALM Pty Ltd
What is Technical Debt
• The most frequently quoted definition comes from Ward Cunningham
“Technical Debt includes those internal things that you choose not to do now, but which will impede future development if left undone. This includes deferred refactoring.Technical Debt doesn’t include deferred functionality, except possibly in edge cases where delivered functionality is “good enough” for the customer, but doesn’t satisfy some standard (e.g., a UI element that isn’t fully compliant with some UI standard).”
Managing Projects with Visual Studio 2010 Module 7 – Keeping Quality in Focus
© 2012 Enhance ALM Pty Ltd Page 89
5 ©2012 Enhance ALM Pty Ltd
Steve McConnell - Online
Here’s a summary of the kinds of technical debt:1. Unintentional Debt. Debt incurred unintentionally
due to low quality work2. Intentional Debt. Debt incurred intentionally
A. Short-Term Debt. Short-term debt, usually incurred reactively, for tactical reasons
i. Focused Short-Term Debt. Individually identifiable shortcuts (like a car loan)
ii. Unfocused Short-Term Debt. Numerous tiny shortcuts (like credit card debt)
B. Long-Term Debt. Long-term debt, usually incurred proactively, for strategic reasons
6 ©2012 Enhance ALM Pty Ltd
A silent problem
• Teams that don’t measure their productivity can’t measure future lost productivity due to technical debt
• When technical debt can’t be measured, it can be easily ignored by management and stakeholders
Module 7 – Keeping Quality in Focus Managing Projects with Visual Studio 2010
Page 90 © 2012 Enhance ALM Pty Ltd
7 ©2012 Enhance ALM Pty Ltd
Contributing Factors
• Deadlines– Unreasonable expectations– Unreasonable commitments– Poor estimation practices– Change of team membership– Scope creep– “Just get it done” attitude
8 ©2012 Enhance ALM Pty Ltd
Contributing Factors
• Duplication– Copy and paste programming– The “Google” programmer– Inexperienced team members– Continuing a poor design/architecture
Managing Projects with Visual Studio 2010 Module 7 – Keeping Quality in Focus
© 2012 Enhance ALM Pty Ltd Page 91
9 ©2012 Enhance ALM Pty Ltd
Contributing Factors
• Get it right the first time– Leads to over-planning and over-design– Soon becomes the opposite of Agile– Creation of “might need” or ”could want” code
• In reality we know we never get it right the first time.• Solution? Develop maintainable code that can be
easily changed and tested
10 ©2012 Enhance ALM Pty Ltd
Contributing Factors
• Deadlines
• Duplication
• Get it right the first time
POORPLANNING
Module 7 – Keeping Quality in Focus Managing Projects with Visual Studio 2010
Page 92 © 2012 Enhance ALM Pty Ltd
11 ©2012 Enhance ALM Pty Ltd
Combating Technical Debt
• As more technical debt is identified, it is important to make a continual effort to pay it back.
• If technical debt is not managed effectively, the costs for maintaining software will increase at a rate that will eventually outrun the value it delivers to customers.
12 ©2012 Enhance ALM Pty Ltd
No matter what, the cost of addressing
technical debt increases with time.
Managing Projects with Visual Studio 2010 Module 7 – Keeping Quality in Focus
© 2012 Enhance ALM Pty Ltd Page 93
13 ©2012 Enhance ALM Pty Ltd
The best way to combat Technical
Debt is to avoid it in the first place.
14 ©2012 Enhance ALM Pty Ltd
Avoiding Technical Debt
• Debt can accumulate in many different areas• It requires a multifaceted approach to avoiding it.
Module 7 – Keeping Quality in Focus Managing Projects with Visual Studio 2010
Page 94 © 2012 Enhance ALM Pty Ltd
15 ©2012 Enhance ALM Pty Ltd
Avoiding Technical Debt
• Always include Acceptance Criteria in your User Stories
• Create ALL appropriate test case work items and link to the user story
• If testing is “postponed” we still see a record of the incomplete testing
TESTING
16 ©2012 Enhance ALM Pty Ltd
Avoiding Technical DebtTESTING
Managing Projects with Visual Studio 2010 Module 7 – Keeping Quality in Focus
© 2012 Enhance ALM Pty Ltd Page 95
17 ©2012 Enhance ALM Pty Ltd
Avoiding Technical DebtTESTING
18 ©2012 Enhance ALM Pty Ltd
Avoiding Technical Debt
• Discuss with stakeholders and management to put this on the agenda or on the radar
• Add Technical Debt to the Product Backlog• Ensure it is not always sorted to the bottom• Monitor time spent on backlog
VISIBILITY
Module 7 – Keeping Quality in Focus Managing Projects with Visual Studio 2010
Page 96 © 2012 Enhance ALM Pty Ltd
19 ©2012 Enhance ALM Pty Ltd
Avoiding Technical Debt
Static code analysis – Find duplication• Code Coverage• Pair programming• Code reviews
SOURCE CODE
20 ©2012 Enhance ALM Pty Ltd
Avoiding Technical Debt
• Code Metrics– Maintainability Index 0-9, 10-19, 20-100– Cyclomatic Complexity – Depth of Inheritance– Class Coupling– Lines of Code (based on lines of IL)
• Can be calculated for entire solution to project
SOURCE CODE
Managing Projects with Visual Studio 2010 Module 7 – Keeping Quality in Focus
© 2012 Enhance ALM Pty Ltd Page 97
21 ©2012 Enhance ALM Pty Ltd
Avoiding Technical Debt
• Code MetricsSOURCE CODE
22 ©2012 Enhance ALM Pty Ltd
CASE STUDYImpeding business agility due to Technical Debt – An extreme example
Module 7 – Keeping Quality in Focus Managing Projects with Visual Studio 2010
Page 98 © 2012 Enhance ALM Pty Ltd
23 ©2012 Enhance ALM Pty Ltd
In conclusion
• Short term technical debt is not always bad. Think of it like a business overdraft
• Identify and avoid a culture of always putting things off to meet short term goals
• Utilise tools like Microsoft Team Foundation Server to help identify accumulation of debt
24 ©2012 Enhance ALM Pty Ltd
?
ANY QUESTIONS?
Managing Projects with Visual Studio 2010 Module 9 – Creating and Customising Reports
© 2012 Enhance ALM Pty Ltd Page 99
1 ©2012 Enhance ALM Pty Ltd
Managing Projects withVisual Studio 201 0Module 8 – Keeping the Communication Pathways Open
2 ©2012 Enhance ALM Pty Ltd
Agenda
• Overview of TFS clients• Team Foundation Explorer• Microsoft Excel• Microsoft Project• Microsoft Word• Web based clients• Windows Shell• 3rd Party clients
Module 9 – Creating and Customising Reports Managing Projects with Visual Studio 2010
Page 100 © 2012 Enhance ALM Pty Ltd
3 ©2012 Enhance ALM Pty Ltd
Team Foundation Explorer
• PROS– Integrated into Visual Studio IDE– Richest client interface– Extensible (add your own nodes etc)
• CONS– Installation includes several prerequisite installs– Creates Start menu item “Microsoft Visual Studio 2010”
4 ©2012 Enhance ALM Pty Ltd
Microsoft Excel
• PROS– The most popular project management tool today– Little training required (Many Excel users already)– Best tool for editing multiple work items– Creation of Work Item libraries
• CONS– Linking and Attachments on individual WIs only– Requires .NET Programmability support installed
Managing Projects with Visual Studio 2010 Module 9 – Creating and Customising Reports
© 2012 Enhance ALM Pty Ltd Page 101
5 ©2012 Enhance ALM Pty Ltd
Microsoft Project
• PROS– Scheduling (GANTT chart)– Well used tool familiar to most PMs today
• CONS– Integration is not smooth– Requires a few workarounds– Added cost for Project licences
6 ©2012 Enhance ALM Pty Ltd
Microsoft Word
• PROS– Editing documents
in document libraries• CONS
– Nothing OOTB– Third party offerings;
• TeamWord 1.0• TfsWord - Word Extensions for Team Foundation Server
Module 9 – Creating and Customising Reports Managing Projects with Visual Studio 2010
Page 102 © 2012 Enhance ALM Pty Ltd
7 ©2012 Enhance ALM Pty Ltd
Web: Project Portal
• PROS– OOTB functionality– My Dashboard and Project Dashboards provide a useful mix
of information– Provides access to Team Wiki and other SharePoint
functionality• CONS
– Requires SharePoint– Some dashboards require SharePoint Enterprise Edition
8 ©2012 Enhance ALM Pty Ltd
Web: Team Web Access
• PROS– Free for all users with TFS CAL– Fully featured web interface– Bulk edit of work items– Direct WI creation from URL template
• CONS– Not easily customisable– Doesn’t scale well
Managing Projects with Visual Studio 2010 Module 9 – Creating and Customising Reports
© 2012 Enhance ALM Pty Ltd Page 103
9 ©2012 Enhance ALM Pty Ltd
Web: Work Item Web Access
• PROS– Allows users to create, view and edit their OWN work items
with a CAL– Convenient web interface
• CONS– Limited view can lead to duplicate bug reports– Increased Bug triage overhead
10 ©2012 Enhance ALM Pty Ltd
Windows Shell
• PROS– Access TFS directly from Windows Explorer– No need to open Visual Studio just to check out files
• CONS– ?
• More Information– Download the TFS Power Tools 2010
Module 9 – Creating and Customising Reports Managing Projects with Visual Studio 2010
Page 104 © 2012 Enhance ALM Pty Ltd
11 ©2012 Enhance ALM Pty Ltd
Team Explorer Everywhere 2010
• Components– Team Foundation Server plug-in for Eclipse– Cross-platform command-line client for TFS– Visual Studio Team Explorer 2010
• Previous versions were known as Teamprise
12 ©2012 Enhance ALM Pty Ltd
THIRD PARTY CLIENTS
TeamSpecTeamPulseTeam Companion
Managing Projects with Visual Studio 2010 Module 9 – Creating and Customising Reports
© 2012 Enhance ALM Pty Ltd Page 105
13 ©2012 Enhance ALM Pty Ltd
TeamSpec• TeamSpec enables the Business Analyst, Project
Managers, and Executive Management to contribute to the Application Lifecycle.
• The development team continues to work against Tasks and code changesets, which can be rolled up to higher level project artifacts which are also represented as Work Items in TFS.
• TeamSpec allows team members to– Create structured documents out of project artefacts (Eg.
Change Requests, Scenarios, Tasks) using TeamSpec Skins.– Using existing documents, content can be pushed into Team
Foundation Server which can then be used to manage software projects.
• Getting Started With Team Spec Video (17:49)
14 ©2012 Enhance ALM Pty Ltd
TeamPulse
• TeamPulse helps you expressively define project requirements and make sure everyone on the team has a real understanding about what needs to be done and why.
• Watch TeamPulse Video (6:20)
Module 9 – Creating and Customising Reports Managing Projects with Visual Studio 2010
Page 106 © 2012 Enhance ALM Pty Ltd
15 ©2012 Enhance ALM Pty Ltd
TeamCompanion
• TeamCompanion is an Outlook AddIn (Plugin) and a first class Team Foundation Server (TFS) client. In addition to the standard TFS client features, TeamCompanion leverages Outlook features providing unique capabilities that lead to better collaboration and communication among all project stakeholders.
• Watch TeamCompanion Videos (Multiple videos -Time varies)
16 ©2012 Enhance ALM Pty Ltd
?
ANY QUESTIONS?
Managing Projects with Visual Studio 2010 Module 9 – Creating and Customising Reports
© 2012 Enhance ALM Pty Ltd Page 107
1 ©2012 Enhance ALM Pty Ltd
Managing Projects withVisual Studio 201 0Module 9 – Creating and Customising Reports
2 ©2012 Enhance ALM Pty Ltd
Agenda
• Overview of Reports in TFS• Accessing Reports• Key reports for your team• Creating an ad-hoc report using Excel
Module 9 – Creating and Customising Reports Managing Projects with Visual Studio 2010
Page 108 © 2012 Enhance ALM Pty Ltd
3 ©2012 Enhance ALM Pty Ltd
Overview of Reports in TFS
• Reporting is one of the key values offered by Team Foundation Server
• Accurate and timely reporting helps keep a project on track
• Reports can and should be viewed by all team members, not just Project Managers and stakeholders
4 ©2012 Enhance ALM Pty Ltd
Reporting Architecture
Designed forReporting
Designed forTransactions
OLTP Databases
TFSWarehouse OLAP Cube
Managing Projects with Visual Studio 2010 Module 9 – Creating and Customising Reports
© 2012 Enhance ALM Pty Ltd Page 109
5 ©2012 Enhance ALM Pty Ltd
Data refresh
• Warehouse Updates– 2008 – every 3600 seconds– 2010 – specific events kick off update
• Cube Updates– Full update every 24 hours at 2am– Incremental update every 2 hours
6 ©2012 Enhance ALM Pty Ltd
Technology Choice
All three of the following technologies can access data stored in the TFS Cube.• Microsoft Excel
– Quick and easy reports• Report Builder
– Almost as easy as Excel• Business Intelligence Development Studio (BIDS)
– More complex but backed by the full capability of SQL Reporting Services.
Module 9 – Creating and Customising Reports Managing Projects with Visual Studio 2010
Page 110 © 2012 Enhance ALM Pty Ltd
7 ©2012 Enhance ALM Pty Ltd
Accessing Reports
Using Team Explorer– Excel Reports– SQL Reports
8 ©2012 Enhance ALM Pty Ltd
Accessing Reports
Via Project Portal
Via Team Web Access
Managing Projects with Visual Studio 2010 Module 9 – Creating and Customising Reports
© 2012 Enhance ALM Pty Ltd Page 111
9 ©2012 Enhance ALM Pty Ltd
Key reports for your team
• Build Quality Indicators Report• Build Success Over Time• Bug Status Report• Burndown and Burn Rate Report (CMMI)• Remaining Work Report
10 ©2012 Enhance ALM Pty Ltd
Build Quality Indicators Report
Module 9 – Creating and Customising Reports Managing Projects with Visual Studio 2010
Page 112 © 2012 Enhance ALM Pty Ltd
11 ©2012 Enhance ALM Pty Ltd
Build Success over Time
12 ©2012 Enhance ALM Pty Ltd
Bug Status Report
Managing Projects with Visual Studio 2010 Module 9 – Creating and Customising Reports
© 2012 Enhance ALM Pty Ltd Page 113
13 ©2012 Enhance ALM Pty Ltd
Burndown and Burn Rate Report
14 ©2012 Enhance ALM Pty Ltd
Remaining Work Report
By Hours By Work Items
Module 9 – Creating and Customising Reports Managing Projects with Visual Studio 2010
Page 114 © 2012 Enhance ALM Pty Ltd
15 ©2012 Enhance ALM Pty Ltd
Creating an ad-hoc reporting in Excel
From the data warehouse
From the OLAP Cube
16 ©2012 Enhance ALM Pty Ltd
Creating an ad-hoc reporting in Excel
Managing Projects with Visual Studio 2010 Module 9 – Creating and Customising Reports
© 2012 Enhance ALM Pty Ltd Page 115
17 ©2012 Enhance ALM Pty Ltd
Creating an ad-hoc reporting in Excel
18 ©2012 Enhance ALM Pty Ltd
WALKTHROUGH
Your instructor will walk you through creating a new Excel Pivot Table/Chart report
Module 9 – Creating and Customising Reports Managing Projects with Visual Studio 2010
Page 116 © 2012 Enhance ALM Pty Ltd
19 ©2012 Enhance ALM Pty Ltd
?
ANY QUESTIONS?