Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Tejasvi KumarDeveloper Technology SpecialistMicrosoft India
Individuals carrying the burden
People in different roles working for a shared purpose
Project Manager
Developers
Sponsor
Tester
UserExperience
Architect
Team-Based Development
Team Collaboration Chaos
Meetings
IM
Status Reports
PhoneCalls
Text Messaging
TrackingSystem
Assets
SRC
OBJ
EXE
DATADOCHTMLGIFContentMPEG}
Code Unit Test I.T S.T RELEASE
Dev Dev ITM STM
Rejected
Draft Review Approved
Author Reviewer
Raised CCB AssignWork In Progress
Verify Closed
ReleaseManager
PRB Team Lead Developer QA Engineer
QA Engineer
Change Request
Rejected HOLD
}
Development Lifecycle Scenarios…
And, a typical Change Request Process
Useful set of tools, but they don’t talk to each other…
Integrated Toolset!!! Does it help?
What we've been hearing….
Have no visibility into work status
Cannot quantify quality
Cannot meet deadlines
Cannot release multiple fixes
Do not know what went into a release
Do not know what’s been tested
Missing features in products
Developers fix same bug
Team Foundation Server
Tester
Developer
Architect
ProjectManager
BusinessAnalyst
Designer Database Professional
Unified Project Server
Team Foundation ServerFacilitates team collaboration
Work Item Management & progress monitoring
Bugs
Development Tasks
Issues
…
Source control
Team Build
Process Guidance
Real-time Reporting
Team Portal Team Foundation Server
Business
Analyst Project
Manager
Dev
Team
Test
Operations
ChangeRequests
Use Case
Non FunctionalRequirements
Bugs
Tasks
ProductionErrors
Example Workflow
“Work Items are the units of communication within the development team”
Manage Team Workflow
Work item tracking throughout the lifecycleEnables traceability
Work Item templates are defined by the Process Template
Support for multiple work item typesScenario, Requirement, Task, Bug, more
Fully customizable
Use Familiar Tools
Team members can use tools they already know, including…
Managing Team Workflow
Integrate Work Frequently
Full featured version control and build systemCheck-in Policies
Shelving
Promotion Modeling
Labeling
Scheduled Builds
Continuous Integration
Promotion Modeling
Branches of varying quality
foo.cs
bar.cs
$/…/Dev
$/…/Test
$/…/Prod
18
18
foo.cs
bar.cs 13
13
foo.cs
bar.cs 9
9
10
12
15
14
16
15
20
19
22
21
25
25
17
17
23
23
26
26
24
24
27
27
Distributed DevelopmentSource Control Proxy
SOAP Messages
File Uploads
Source Control Proxy PerformanceRedmond to Raleigh
Content No Proxy With Proxy
35 MB, 1824 Files 00:05:20 00:00:32
80 MB, 8 Files 00:14:07 00:00:25
* Raleigh office has 3Mbps of bandwidth shared by ~70 employees.
Check-in Under the HoodIDE
Checkin
Validate
Policies1
Checkin Policy
Engine
Un
it T
esti
ng
WI
Asso
cia
tio
n
Sta
tic A
na
lysis
Cu
sto
m P
olicy
Commit
Changes
2
V1V5V4
V5
V2V3
Change Set 727012Change Set 727012
Change Set 727012Change Set 727012
Change Set 727011Change Set 727012
WorkItem 33231
Update
Work Items3
Events Raised for
3rd party sync purposes
Artifact
Link
Check E-mail
Notification
4
Workspace
Integration Infrastructure
Version Control
Work Item
Tracking
Efficient File Storage
9 11
12 15
17 17“The Deltafier”
File Cache
File Store
Do
wn
load
Han
dle
r
Up
load
Han
dle
r
Compression + Delta Storage ≈ 70% Space Savings!
Get foo.bmp;12
9 12 15 12
Commitfoo.bmp bar.vb
Version Control in Eclipse on Linux
Integrate Work Frequently
Drive Predictability
Integrated process templates help deliver predictable results
MSF for Agile Teams
MSF for CMMI Process Improvement
Fully customizable
Process Development Model
Process users author the Process Template as experience is gained
ProcessTemplate
Guidance in all forms
Pass to next projectsReuse it ourselves
Create with experience
Guru helps generalize
Stiffening
Process gets less malleable as time goes on
Guidance in all forms
Pass to next projectsReuse it ourselves
Create with experience
Review,triage
Project 1 Project 2 Project n…
Mature factory
Well-developed process can be passed around
Process template
Coaching
From development
Process Enacted By Tooling
A Unified Team Server
Comprehensive business intelligence reporting
Test rates(pass, inconclusive, fail) shown in bars
Code coverage
code churn
and active bugs
Process and Reporting
Around the rumour mill....
“Isn’t TFS just the new version of Visual SourceSafe (VSS)?”
“We already use Visual SourceSafe (VSS) for source control, can’t we keep using it?”
“My developers have written our applications with Visual Studio in the past without the need for a server. Would it
really help us?”
Team Foundation ServerList of things to do
Team Foundation ServerList of things to do
Guidance on what to do
Team Foundation ServerList of things to do
Guidance on what to do
Status reports
Team Foundation ServerList of things to do
Guidance on what to do
Status reports
Planning-MS Project-MS Excel
Team Foundation ServerList of things to do
Guidance on what to do
Status reports
Planning-MS Project-MS Excel
Source control
Team Foundation ServerList of things to do
Guidance on what to do
Status reports
Planning-MS Project-MS Excel Source control
Team builds
Team Foundation ServerList of things to do
Guidance on what to do
Status reports
Planning-MS Project-MS Excel Source control
Team builds
Rules
Team Foundation ServerList of things to do
Guidance on what to do
Status reports
Planning-MS Project-MS Excel Source control
Team builds
Rules
Lets hear them speak….
Related Content
Lap Around VSTS 2010 – Amit Chatterjee
Best Practices for Team based Software Development – Prashanth G and Ravi Joshi
Introduction to VSTS 2008 Test – Neelesh Kamkolkar
Technology Tent – VSTT & Lab Management
Track Resources
TFS Guide:http://www.codeplex.com/TFSGuide
VSTS/ TFS 2008 VPC Download:http://www.microsoft.com/downloads/details.aspx?FamilyID=c7a809d8-8c9f-439f-8147-948bc6957812&displaylang=en
Blogs:http://blogs.msdn.com/bharry/
MSDN:http://www.microsoft.com/vstudio/teamsystem
© 2009 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.