slide1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
DEV429 Visual Studio 2005 Team Foundation Server Developing custom process templates, work item types and policies PowerPoint Presentation
Download Presentation
DEV429 Visual Studio 2005 Team Foundation Server Developing custom process templates, work item types and policies

Loading in 2 Seconds...

play fullscreen
1 / 49

DEV429 Visual Studio 2005 Team Foundation Server Developing custom process templates, work item types and policies - PowerPoint PPT Presentation


  • 263 Views
  • Uploaded on

DEV429 Visual Studio 2005 Team Foundation Server Developing custom process templates, work item types and policies. Kevin Kelly kkelly@microsoft.com Program Manager Visual Studio Team Foundation Server Microsoft Corporation. Agenda. Team Foundation Architecture

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'DEV429 Visual Studio 2005 Team Foundation Server Developing custom process templates, work item types and policies' - terrica


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide2

DEV429Visual Studio 2005 Team Foundation ServerDeveloping custom process templates, work item types and policies

Kevin Kelly kkelly@microsoft.com

Program Manager

Visual Studio Team Foundation Server

Microsoft Corporation

agenda
Agenda
  • Team Foundation Architecture
  • Customization vs Extensibility
  • Customizing Process Templates
  • Customizing Work Item Types
  • Extending Team Foundation Server
visual studio team system
Visual Studio Team System

Visual Studio Team Suite

SoftwareArchitects

SoftwareDevelopers

SoftwareTesters

VisualStudioTeamExplorer

VisualStudioIndustryPartners

Application Modeling

Code Analysis

Performance Testing

Infrastructure and Deployment Modeling

Performance Tuning

Manual Testing

Test Case Management

Security Analysis

Unit Testing

Code Coverage

MSF Process and Guidance

Class Modeling

Visio and UML Modeling

Visual Studio Professional Edition

Load Test Agent

Visual Studio Team Foundation Server

Change Management

Reporting

Integration Services

Work Item Tracking

Project Site

Project Management

architecture

Version Control

Proxy

Build Machine

Report Client

App Tier

Standby

Server

http/https

.Net remoting

Mssql/tcp

Database

Cluster

Architecture

Team Foundation Client Tier

Win 2000 (>=SP4)

Win XP (>=SP2)

Win 2003 Server (>=SP1)

.Net FX 2.0

Microsoft Office 11 – SP1

MDAC 9.0

Internet Explorer 6.0 – SP1

Visual Studio 2005 Team Explorer

Win XP (>=SP2)

Win 2003 Server (>=SP1)

.Net FX 2.0

Team Foundation App Tier

  • Win 2003 Server
  • ASP.Net / IIS 6.0

MDAC

Team Foundation Data Tier

  • Win 2003 Server
  • SQL Server 2005
architecture6

Team Foundation Client Tier

Version Control

Proxy

Build Machine

Visual Studio Packages

MS Project

Plug-In

Internet Explorer

MS Excel

Plug-In

SQL RS

Proxies

WSS

Proxies

Team Foundation Object Model

VSTF

Clients of VSTF

VSTF Adjuncts

Report Client

Custom reporting

tools

SQL

Reporting

Services

Windows

SharePoint

Services

Work Item

Tracking

Service

Version

Control

Service

Team

Build

Service

Core

Services

Adapters

MS Excel

SQL

Reporting

Services

Windows

SharePoint

Services

Work Items

Version

Control

Team Build Data

Core

Data

Warehouse

Team Foundation Data Tier

Architecture

Version

Control

Proxy

Service

Build

Process

Team Foundation App Tier

Team Foundation App Tier

agenda7
Agenda
  • Team Foundation Architecture
  • Customization vs. Extensibility
  • Process Template Overview
  • Customizing Process Templates
  • Customizing Work Item Types
  • Extending Team Foundation Server
customization vs extensibility
Customization Vs. Extensibility
  • Customization:
    • What? Project process
    • Who? Project management
    • Why? Tune to the way your team works
    • How? XML definition files
  • Extensibility:
    • What? Tooling
    • Who? IT and ISVs
    • Why? Fill feature niches, integrate with other systems
    • How? Write code
customization points
Process Template

Modify, build, or buy

Work Item Types

Modify or build

Checkin Policy

Modify or build

Reporting

Modify, build, or connect different report builders!

Project Portal

Modify Sharepoint template, extend library folder structure, change or add doc templates

Customization Points
agenda10
Agenda
  • Team Foundation Architecture
  • Customization vs Extensibility
  • Customizing Process Templates
  • Customizing Work Item Types
  • Extending Team Foundation Server
process templates
Process Templates
  • Process Templates
    • Project process blueprint
    • Package of tool settings and templates
  • Two included with Team Foundation Server
    • MSF for Agile Software Development
    • MSF for CMMI® Process Improvement
  • Modify ours, handcraft your own, or buy
process template customizable components
Process TemplateCustomizable components
  • Work items
    • Work Item Types (such as Defect, Requirement, Issue, Task, etc)
    • Queries
    • Work Item Instances/starter tasks
  • Windows SharePoint Services
    • Process guidance
    • WSS Site Template
    • WSS Library & Folder Structure
    • Document templates and all files stored on the Project Portal
  • Reports and their folder structure
  • Default groups and their permissions
  • Classifications: Areas and Iterations
  • Source Control Settings
anatomy of a process template

XML

XML

XML

XML

XML

XML

RDL

Anatomy of a Process Template

Template Definition

ProcessTemplate.xml

Reports

Reports.xml

Process Group References

BugTrends.rdl

Work Items

WorkItems.xml

Process Template

Bug.xml

CustomWIType.xml

Version Control

VersionControl.xml

team project creation
Team Project Creation

PCW Plugins

Methodology Template

Team Project

Project Creation Wizard

User Input

process template editor

Process Template Editor

Community Tool

Author: Joel Semeniuk and team at

Imaginets Resources

process template editor16
Process Template Editor
  • http://www.imaginets.com/Default.aspx?tabid=133
agenda17
Agenda
  • Team Foundation Architecture
  • Customization vs Extensibility
  • Customizing Process Templates
  • Customizing Work Item Types
  • Extending Team Foundation Server
work item type definition
Work Item Type Definition

<WITD application="my editor" version="1.0">

<WORKITEMTYPE name="Custom Code Defect">

<FIELDS>

<FIELD name="Severity" refname="Custom.Severity" type="Integer">

<HELPTEXT>How severe the code defect is</HELPTEXT>

<REQUIRED />

</FIELD>

</FIELDS>

<WORKFLOW>

<STATES>

<STATE value="Active" />

</STATES>

<TRANSITIONS>

<TRANSITION from="" to="Active">

<REASONS>

<DEFAULTREASON value="New" />

</REASONS>

</TRANSITION>

</TRANSITIONS>

</WORKFLOW>

<FORM>

<Layout>

<Control Type="FieldControl" FieldName="Custom.Severity" Label="Severity" LabelPosition="Left" />

</Layout>

</FORM>

</WORKITEMTYPE>

</WITD>

  • Name
  • Fields
    • Field Rules
  • Work Flow
    • States
    • Transitions
    • Field Rules
  • Form
work item type fields
Work Item Type Fields
  • Field reference names
    • Use in your tooling
    • Server scope
    • Follow domain name convention
      • Microsoft.TeamFoundationServer.WorkItemTracking.Foobar
    • ‘System.’ reserved
  • Field friendly names
    • Use in your queries
    • Server scope
    • Can be renamed, Title->Issue for example
  • Field labels
    • Appear on WI forms
    • Localizable
customizing work item types
Customizing Work Item Types

Work Item Type

XML

Notepad

Visual

Studio

c:\ witexport

c:\ witimport /v

c:\ witimport

WIT

XSD

Work Item Object Model

Export

Validate

Import

Work Item

Store

agenda22
Agenda
  • Team Foundation Architecture
  • Customization vs Extensibility
  • Customizing Process Templates
  • Customizing Work Item Types
  • Extending Team Foundation Server
team foundation extensibility

Visual Studio

Your Artifacts

Changeset / Source File

Work Item

Build

Your Service

Version Control Service

Work Item Tracking Svc

Team Build Service

Warehouse Adapter

Warehouse Adapter

Warehouse Adapter

Warehouse Adapter

TF Facts

Your Facts

Team Foundation Extensibility

Client

Your

.NET App

Your VSIP Package

Your PCW plug in

Your TE Node

Your Checkin Policy

Team Foundation OM

Work Item OM

Version Control OM

Registration Svc Proxy

Linking Service Proxy

Security Service Proxy

Policy Framework

Eventing Service Proxy

Common Controls

Classification Svc Proxy

Application Tier

Registration Service

Linking Service

Eventing Service

Security Service

Classification Service

TF Data

TF Facts

Your Data

Data Tier

Reporting

Warehouse

extension points
Core services

Add a new tool with new artifact types, link types, database, WS’s

Link to other tools’ artifacts

Raise, subscribe to events

Integrate into Team Explorer

Extend the Project Creation Wizard

Work Item Tracking

Write against OM

Respond to events

Link to Work Items

Integrate with WI Picker

Integrate with WI Form

Support for custom controls in SP1

Source Control

Write against OM

Add new file type support

Participate in integrated check-in

Define new policy

Respond to events

Reporting

Extend warehouse with your own data

Build

Add new Build tasks

Create a checkin validation system

Extension Points
raven and vsts integration
RAVEN and VSTS Integration
  • RAVEN Professional
  • Why integrate with VSTS?
  • Snippets of our integration
raven professional
RAVEN Professional
  • Failure to define, communicate and validate business requirements is the root cause of most software project disasters – Gartner, Standish
  • RAVEN - Requirements Authoring and Validation Environment
  • Automatically creates UML diagrams from plain English
  • Creates more precise and correct requirements
  • Automatically generates MS Word specifications
  • Visit our booth at TechEd
  • See more at www.ravenflow.com
why integrate with vsts
Why Integrate with VSTS?
  • RAVEN supports authoring and validation of requirements
  • VSTS’s Work Item Tracking System supports linking requirements to development activities
    • e.g. test cases, design, development tasks
  • TFS sends automatic notification to requirements authors
    • Allows all team members to view requirements
    • Keeps requirements authoring in the correct environment
  • Integration provides Requirements Authoring, Validation and Traceability
requirements to tfs

Create new

Generate

Use Case Requirements

Work Items

or updates

Activity Requirements

Requirements to TFS

RAVEN Professional

MS VSTS

  • Author requirements in RAVEN
  • Export use cases and activities as requirements work items
    • Requirements in VSTS are linked
  • TFS updated with new use cases and activities work items
  • Work Item Tracking ensures development stays in sync

Use Cases

Activity Diagrams

Notifications

requirements traceability child to parent
Requirements Traceability: Child to Parent

Requirements Traceability: Parent to Child

Traceability to Test Cases

ravenflow integration
RavenFlow Integration
  • Defined new work item attributes
  • Defined new controls for accessing new attributes
  • Defined new tabs for grouping existing and new attributes
  • Authenticating user account
  • Creating new work items
slide38

XML Customizations for RAVEN-specific

Requirement work item attributes

<?xml version="1.0" encoding="utf-8"?>

<witd:WITD application="Work item type editor" version="1.0" xmlns:witd="http://schemas.microsoft.com/

VisualStudio/2005/workitemtracking/typedef">

<WORKITEMTYPE name="Requirement">

<DESCRIPTION>Includes information to track the requirement through the MSF for CMMI Process

Improvement life cycle</DESCRIPTION>

<FIELDS>

<FIELD name="RAVENState" refname="RAVEN.State" type="String">

<HELPTEXT>The state of this requirement</HELPTEXT>

<REQUIRED />

<DEFAULT from="value" value="1 - Proposed" />

<ALLOWEDVALUES expanditems="true">

<LISTITEM value="1 - Proposed" />

<LISTITEM value="2 - Validated" />

<LISTITEM value="3 - Tested" />

<LISTITEM value="4 - Obsolete" />

</ALLOWEDVALUES>

</FIELD>

New field RAVEN.State, with allowed values and default value defined

slide39

Grouping of controls for Assigned To, State, Priority, and Test Case Attributes

<Group Label="Status">

<Column PercentWidth="50">

<Control Type="FieldControl" FieldName="System.AssignedTo" Label="Assigned to:"

LabelPosition="Left" />

<Control Type="FieldControl" FieldName="RAVEN.State" Label="State:" LabelPosition="Left" />

<Control Type="FieldControl" FieldName="RAVEN.Priority" Label="Priority:" LabelPosition="Left" />

<Control Type="FieldControl" FieldName="RAVEN.TestCase" Label="Test Case:"

LabelPosition="Left" />

</Column>

</Group>

slide40

Grouping of tabs containing textual information for requirement

<TabGroup>

<Tab Label="Text">

<Control Type="HtmlFieldControl" FieldName="System.Description"

Label="Description:" LabelPosition="Top“ Dock="Fill" />

</Tab>

<Tab Label="Attachments">

<Control Type="AttachmentsControl" />

</Tab>

<Tab Label="Comments">

<Control Type="HtmlFieldControl" FieldName="RAVEN.Comments"

Label="Comments" LabelPosition="Top" Dock="Fill" />

</Tab>

</TabGroup>

</Layout>

</FORM>

</WORKITEMTYPE>

</witd:WITD>

slide41

Authenticating user account with TFS

private static System.Net.NetworkCredential teamFoundationCredential;

public static TeamFoundationServer connectToTeamFoundationServer()

{

if (TeamFoundationServerName == null)

{

MessageBox.Show("The name of the Team Foundation server has not been specified. Please contact your administrator for

assistance.", "Team Foundation Server Not Configured", MessageBoxButtons.OK, MessageBoxIcon.Error);

return null;

}

string server = "http://" + TeamFoundationServerName + ":" + TeamFoundationServerPort;

try

{

if (teamFoundationCredential == null)

{

GenericLoginForm loginForm = new GenericLoginForm("Log on to Team System", "Please enter your login information for Team

System:", "User name:", "Password:", "OK");

loginForm.ShowDialog();

if (loginForm.DialogResult != DialogResult.OK)

{

return null;

}

String userName = loginForm.Username;

String password = loginForm.Password;

teamFoundationCredential = new System.Net.NetworkCredential(userName, password);

}

TeamFoundationServer tfs = new TeamFoundationServer(server, teamFoundationCredential);

tfs.EnsureAuthenticated();

return tfs;

}

catch (Exception e)

{

MessageBox.Show("The following error occurred while connecting to the Team Foundation server:\n\n" + e.Message, "Unable to

Connect to Team Foundation Server", MessageBoxButtons.OK, MessageBoxIcon.Error);

teamFoundationCredential = null;

return null;

}

}

slide42

Creating a Requirement work item through

the WITS API

private WorkItem createWorkItem(WorkItemType wit, String title, String description, String packagePath,

String subType,WorkItem parent)

{

WorkItem workItem = new WorkItem(wit);

workItem.Title = title;

workItem.Description = description;

if (parent != null)

{

RelatedLink link = new RelatedLink(parent.Id);

link.Comment = "Scenario-to-Step link";

workItem.Links.Add(link);

}

workItem.Save();

return workItem;

}

WorkItemTypeCollection workItemTypes = project.WorkItemTypes;

WorkItemType wit;

wit = workItemTypes["Scenario"];

topWorkItem = createWorkItem(wit, parent.Title, parent.Description, parent.PackagePath, "Scenario", null);

WorkItem childWorkItem = createWorkItem(wit, child.Title, child.Description, child.PackagePath, "Scenario

Step", topWorkItem);

tips traps and workarounds
Tips, Traps, and Workarounds
  • Nested work items not supported
    • Use links
    • Parent links to all children, all children back to parent
  • Team System / Team Foundation credentials
    • TFS and VSTS project permissions and groups
    • Active Directory user accounts
    • Network access to TFS server in security policy
  • Team Foundation Server cannot run on domain server
    • Need separate servers
    • Running TFS on a virtual server works but is slow
    • Limitation was not present in beta versions and was not clearly noted until last step of TFS Release Candidate install
  • Documentation for how to change work item contents (witexport/witimport and XML) difficult to find
    • Documentation (when located) and experimentation were sufficient
summary
Summary
  • ISV’s are extending Team Foundation Server
    • RavenFlow
    • MindJet
    • TeamPlain
  • TFS offers powerful customization capabilities to support your software development lifecycle.
  • Community tools available, making simple things easy
  • Extensive extensibility capabilities exist for further SDLC support as well as integration with other systems
learning more at teched
Learning More At TechEd

Wednesday, June 14

  • 3:45-5:00 Delving into Visual Studio 2005 Team Edition for Software Developers (Repeat Session)109 AB, Breakout DEV307R, Brian Randell
  • 5:30-6:45 Visual Studio 2005 Team Foundation Server: Using Metrics to Manage and Troubleshoot Your Projects153 ABC, Breakout DEV233, Sam Guckenheimer

Thursday, June 15

  • 9:45-11:00 Visual Studio 2005 Team Foundation Server: Step-by-Step Migration and Adoption Planning104 ABC, Breakout DEV237, Mark Michaelis & Eric Lee
  • 1:00-2:15 Visual Studio 2005 Team System and Microsoft Solution Framework: Implementing an Agile or CMMI Process156 ABC, Breakout DEV439, Randy Miller
  • 1:00-2:15 An Inside Look At an Exciting New Addition to Visual Studio Team System (Part 3)160 ABC, Breakout DAT433, Gert Drapers

Friday, June 16

  • 9:00-10:15 Using Team Foundation Server to Write and Test Code204 AB, Instructor-led Lab DEV282, Telmo Sampaio
  • 10:30-11:45 Team Foundation Server in the Enterprise Birds of a Feather BOF40, Michael Ruminer
work item and process template customization
Work Item and Process Template Customization
  • Team Foundation product documentation at http://msdn2.microsoft.com
  • Go to http://lab.msdn.microsoft.com/search/
  • Search on
    • "Getting Started with Team Foundation" and
    • "Team Foundation Administrators"
  • Included in the Visual Studio SDK: http://msdn.microsoft.com/vstudio/extend/
slide49

© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.