+ All Categories
Home > Documents > TFS 2012 - Ker-Soft

TFS 2012 - Ker-Soft

Date post: 03-Feb-2022
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
64
For Internal Use Only | © evosoft GmbH TFS 2012 Team Foundation Server 2012
Transcript

For Internal Use Only | © evosoft GmbH

TFS 2012

Team Foundation Server 2012

For Internal Use Only | © evosoft GmbH

Agenda

• Overview• Version Control System• Build Automation• Work Item Tracking• Other Improvements• Upgrade

For Internal Use Only | © evosoft GmbH

• Application Lifecycle Management• Application Lifecycle Management (ALM) is a continuous process

of managing the life of an application through governance, development and maintenance.

• Product Lifecycle Management• PLM is the process of managing the entire lifecycle of a product

from its conception, through design and manufacture, to service and disposal.

• Siemens PLM product (http://www.plm.automation.siemens.com)• Dassault Systèmes (www.3ds.com)

Definitions

Overview

For Internal Use Only | © evosoft GmbH

• Waterfall model• Classic V-Model

Application Lifecycle Management

Overview

For Internal Use Only | © evosoft GmbH

• Incremental development

Overview

Application Lifecycle Management (cont.)

For Internal Use Only | © evosoft GmbH

Application LifeCycle Management (cont.)

• SCRUM

• 1.Indentify overall scope (product backlog)• 2.Do some sizing as a team• 3.Break scope down into chunks driven by risk and value• 4.Take chunk and work on it as a team• 5.Discuss status daily• 6.Deliver a chunk of working software

Overview

For Internal Use Only | © evosoft GmbH

Team Foundation Server 2012

Overview

For Internal Use Only | © evosoft GmbH

Team Foundation Server At a Glance

Process Focused

Process

Templates

SharePoint

Customizable

Version Control

Integrated

Check-in

Check-in

Policies

Shelving

Work Item Tracking

Manage work

Bugs, Tasks,

Requirements,

Stories, Risks,

etc.

Very Extensible

Build Automation

Continuous

Integration

Scheduled

Ad Hoc

Reporting

Decision

Support

Track Project

Progress

Te

am

Fo

un

da

tio

n S

erv

er

Overview

For Internal Use Only | © evosoft GmbH

Architecture

Data Tier

DataWarehouse

VersionControlWork Items Team Build

SQL Server

Windows SharePoint Services Web Services

Application Tier

SQL Reporting Services

Client Interface

VisualStudio

Team ExplorerMS Project

MS Excel

TFS SDK

Command Line

BuildEnvironment

BuildProcess

Version ControlProxy

VersionControlProxy

Service

Overview

Client

For Internal Use Only | © evosoft GmbH

Team Foundation Server DeploymentDev Team (Local)

Dev Team (Remote)Business User

TCP/IPHTTP / S

Windows Server 2008 R2 SP1SQL Server 2008 R2 SP1IIS 7.0

Team Foundation Server

Build Server

Version Control Proxy (Remote)Active Directory

Overview

For Internal Use Only | © evosoft GmbH

Agenda

• Overview• Version Control System• Build Automation• Work Item Tracking• Other Improvements• Upgrade

For Internal Use Only | © evosoft GmbH

Version Control

• Provides• A place to store the source code, images, build scripts, and so on, that are

needed to build your software project.• The capability to track the history of changes to those files, and to view the

state of the file at various points in the software lifecycle.• Mechanisms and tooling to make it easy to work in parallel with a team of

software developers on the same project.

• Common Version Control Products• Visual SourceSafe• Apache Subversion• Distributed Version Control Systems (Git, Mercurial etc.)• Rational Clear Case• Team Foundation Server

Version Control System

For Internal Use Only | © evosoft GmbH

What’s new with TFS 2012?

• Suspend work• Server vs. Local workspaces• Conduct code reviews• Compare files and Resolve conflicts• Branching&Merging: Baseless merge

Version Control System

For Internal Use Only | © evosoft GmbH

Suspend work

• Up to TFS 2010 only Shelvesets• Set aside pending changes without check in

• Optionally revert to unmodified files• Restore shelved changes by “unshelving”• Unshelve other user’s changes

• Power of task branching with less overhead

• NEW: MERGE ON UNSHELVE• Unshelve is now a merge as well• Pending changes mustn’t be undone anymore

Scenarios

Developer

Switch Tasks

BackupWork-In-Progress

CheckpointWork-In-Progress

Share Work-In-Progress

Perform Code Review

Version Control System

For Internal Use Only | © evosoft GmbH

Suspend work (cont.)

• Available in Visual Studio Premium or Ultimate• This action saves your work to Team Foundation Serv er

• Changes to code • Tests• Other files• Important cues

Version Control

For Internal Use Only | © evosoft GmbH

Server vs. Local Workspaces

• Server workspaces• Map Server to Local• Per User, Per Workstation• Changes in Workspace create “Pending Changes”• Also Used for Builds

Version Control System

For Internal Use Only | © evosoft GmbH

Server vs. Local Workspaces (cont.)

• Local workspaces• Major goal

• easily work offline • Use add, rename, detele, undo operations

• Default is local workspace in TFS 2012• Modify-Merge-Commit style

version control (the Subversion style)• Local workspace is the „master”• Not yet Distrbuted Version Control System

(but it is definetly the future)• Similiar to TFS proxy

Version Control System

For Internal Use Only | © evosoft GmbH

Server vs. Local Workspaces (cont.)

• Server workspace is better choice• Performance degreases as the number of items in a local

workspace increases.• A workspace that contains a very large number of files requires

definitiv more space on hard disk (since a kind of cache is locally available)

• Old clients, like VS 2010 / 2008 / 2005 etc. are also used• The „Enable get latest on check-out” option is in server workspace

available.

• Pending changes of team members who use local works paces are not visible to other team members in Source Control Explorer.

Version Control System

For Internal Use Only | © evosoft GmbH

Code reviews

• Up to now• No support in Visual Studio• Productive projects have established their own code review

processes and implemented their own code review tools (VS add-on or separated web application) for peer- and walkthrough reviews.

• Necessity for large software products• Audits• FDA regulations

• Now available with Visual Studio 2012 Premium or Ul timate

Version Control System

For Internal Use Only | © evosoft GmbH

Code reviews (cont.)

• Code Review Requests• For changesets retrospectively• For pending changes „on-the-fly”• Supports more reviewers• Process

• Developer creates a request• Reviewer accepts it• Reviewer executes the review• Sends feedbacks

Version Control System

For Internal Use Only | © evosoft GmbH

Code reviews (cont.)

• Code Review Response• Reviewer can’t be the same as the developer requesting a review

• At least these review responses are going to be automatically rejected

• Rich UI support for executing reviews• Comments• Code changes as well

Version Control System

For Internal Use Only | © evosoft GmbH

Code reviews (cont.)

• Request and Response are Work Item Types• Accessable from Work Item Queries

Version Control System

For Internal Use Only | © evosoft GmbH

Code reviews (cont.)

• Declarable as Check-in Policy• Through „Work Item Query Policy”• Shared team query for requests which have been closed at least

by one response with closed status <> Declined

Version Control System

For Internal Use Only | © evosoft GmbH

Compare files and Resolve conflicts

• Up to now• Relative simple editor for compare• Same editor was used to resolve merge conflicts • Productive projects bought 3rdparty file compare tools, like KDiff3

or Beyond Compare• But compare and merge tool should have been the same,

otherwise diverse merge conflicts were reported

Version Control System

For Internal Use Only | © evosoft GmbH

Compare files and Resolve conflicts (cont.)

• Diff editor

Version Control System

For Internal Use Only | © evosoft GmbH

Compare files and Resolve conflicts (cont.)

• Resolve conflicts• Annotate is now available• AutoResolve can be separately defined for file types• Heuristics are much better

• although auto merge feature was already enhanced in TFS 2010• Now comparable with Git behavior („gold standard”)

Version Control System

For Internal Use Only | © evosoft GmbH

Compare files and Resolve conflicts (cont.)

• Merge Tool

Version Control System

For Internal Use Only | © evosoft GmbH

Branching & Merging

• Branch• A branch is a copy of a set of files in a different part of the repository.• This allows two or more teams of people to work on the same project at

the same time, checking in changes as they go, but without interfering with the other teams

• TFS creates only a record pointing to branching files � creating a branch is very fast

• „Path space” branching

• Merge• Between two branches• Join-up your code (Synch)• Cherry Picking changesets (include or omit) � NOT RECOMMENDED!• Ability to show changes that have not been merged

Version Control System

For Internal Use Only | © evosoft GmbH

Branching & Merging (cont.)

• Possible Branch Relationships in TFS• Parent-Child-Sibling• Forward Integration / Reverse Integration• Baseless Merge � WAS NOT RECOMMENDED!

Version Control System

For Internal Use Only | © evosoft GmbH

Branching & Merging (cont.)

• Real-world example• Industrial product• 25-30 projects; ~1000 developers• Source

• >1 GB (only c# files considered)• ~30 Mio LOC

• Branches• 1 main• 30 integration, inc. RTM-branches• >100 development

• Branching model• Kind of feature branching with project-specific scopes• Microsoft recommandation: 4-level hierarchy

Version Control System

For Internal Use Only | © evosoft GmbH

Branching & Merging (cont.)

• Real-world branch structure• Based on severity the bugs are corrected on different branches.• The more critical an issue is the more close to production branch it

shall be corrected

Version Control System

For Internal Use Only | © evosoft GmbH

Branching & Merging (cont.)

• Baseless merge via UI• Not only the whole branch, but cherry-picking merges• Version control item history is preserved• Helpful:

• Moving changesets easily• Isolate risk using branches

Version Control System

For Internal Use Only | © evosoft GmbH

Agenda

• Overview• Version Control System• Build Automation• Work Item Tracking• Other Improvements• Upgrade

For Internal Use Only | © evosoft GmbH

Build Automation Overview

• Build Automation• Build automation is the process of streamlining your build process so that

it is possible to assemble your application into a usable product with a simple, single action

• It includes• Compiling source code into binaries• Packaging binaries into installable modules such as MSI files, XAP

files, JAR files, DMG images, and so on• Running tests• Creating documentation• Deploying results ready for use

Team Foundation Build

For Internal Use Only | © evosoft GmbH

Build Automation Overview

• Build Scripting Languages• Make• Apache Ant („Another Neat Tool”) from Sun Microsystems• Apache Maven – Open Source project management and build

automation tool• Nant (.NET Ant)• MSBuild

• Build Automation Servers for periodically build run s• CruiseControl• CruiseControl .NET• Hudson• Team Foundation Server

Team Foundation Build

For Internal Use Only | © evosoft GmbH

Team Foundation Build

• Logical Architecture• The web services used by the controller and agent are using

Windows Communication Foundation (WCF-Services)

Team Foundation Build

For Internal Use Only | © evosoft GmbH

Team Foundation Build

• Build Definition (Parameters of Build Process Templ ate)• Process Section in Visual Studio 2012

Team Foundation Build

For Internal Use Only | © evosoft GmbH

Team Foundation Build

• Build Triggers• Manual• Continuous Integration

• monitors every check - in affecting the build files and causes a new build to be queued

• Helps to determine „Who broke the build? ”

• Rolling Builds• Similiar to CI• Group together several check–ins and queues a new build

Team Foundation Build

For Internal Use Only | © evosoft GmbH

Team Foundation Build

• Build Triggers• Gated Check – in

• was introduced in TFS 2010• Check-in is firstly converted into Shelveset• Shelveset is merged together with the current version on build-

controller• Shelveset is only accepted if build is successful• Then shelveset is converted back to changeset and files are being

checked-in.

Team Foundation Build

For Internal Use Only | © evosoft GmbH

Team Foundation Build

• Build Triggers• Gated Check – in (cont.)

• Schedule• Daily• Nightly• Weekly

Team Foundation Build

For Internal Use Only | © evosoft GmbH

Team Foundation Build

• Build Triggers• Batched Gated Check – in

• Required if CIs are taken very often place• If build times are too long

• E.g. one of our productive projects build time is 4 hours• Although incremental builds can speed up build time, but not as effective

as required

Team Foundation Build

For Internal Use Only | © evosoft GmbH

Team Foundation Build

• Build Triggers• Batched Gated Check – in

• Workflow• A build starts with all the batched build requests (merged up together).

For example, let's say there are three build requests in the batch.• If the build succeeds , all three requests are checked into Team

Foundation Version Control.• If the build fails , all three build requests are returned to the build queue;

but this time they will each be built individually.• Each build request will execute individually , allowing the build process to

isolate which request(s) caused the earlier build failure• Those requests that succeed in building will be checked in, while those

that fail will be rejected.

• AutoMerge improvements were necessary

Team Foundation Build

For Internal Use Only | © evosoft GmbH

Team Foundation Build

• Build definitions in Team Explorer

Team Foundation Build

For Internal Use Only | © evosoft GmbH

Agenda

• Overview• Version Control System• Build Automation• Work Item Tracking• Other Improvements• Upgrade

For Internal Use Only | © evosoft GmbH

What’s new with TFS 2012?

• SCRUM process template out-of-box• Plan, track and manage work visually• Feedbacks• Storyboards• Portfolio management: Microsoft Project and Project Server

Work Item Tracking

For Internal Use Only | © evosoft GmbH

SCRUM process template

• In TFS 2010 as extra template could be downloaded (from MSDN)• Available Work Items in SCRUM Process Template v2.0.

• Bug• Code review types• Feedback types• Impediment• ProductBacklogItem• SharedStep• Task• TestCase

Work Item Tracking

For Internal Use Only | © evosoft GmbH

Plan, Track and manage work visually

• Enormous improvements in TFS Web Access• Motivation: Urban Turtle add-in for TFS 2010 web access• Two extra tabs „Planning board” and „Task board” for SCRUM

Work Item Tracking

For Internal Use Only | © evosoft GmbH

Plan, Track and manage work visually (cont.)

• Product backlog and sprint planning are available i n Web Access

Work Item Tracking

„Add Panel” for Requirements or Bugs

Drag&Drop for changing priority

For Internal Use Only | © evosoft GmbH

Plan, Track and manage work visually (cont.)

• Balance capacity• Days Off

Work Item Tracking

Capacity planning in TFS 2010 was Excel-based

For Internal Use Only | © evosoft GmbH

Plan, Track and manage work visually (cont.)

• Daily stands-up with task boards• Kanban or other whiteboards are not necessary any more

Work Item Tracking

Real-time editable

For Internal Use Only | © evosoft GmbH

Plan, Track and manage work visually (cont.)

• Real-time Burndown calculation

Work Item Tracking

For Internal Use Only | © evosoft GmbH

Feedbacks

• Used to collect feedbacks from appropriate stakehol ders• The same mimic as in Code reviews (request and responses)• Request formular can be filled out in TFS Web Access

Work Item Tracking

For Internal Use Only | © evosoft GmbH

Feedbacks (cont.)

• For Responses• Microsoft Feedback Client (for free) for recording rich and

actionable data• Similiar to Microsoft Test Manager (running tests)

Work Item Tracking

For Internal Use Only | © evosoft GmbH

Storyboards

• Highlights for requirement engineering• For developers to better understand user stories• Find easily the feature specifications

Work Item Tracking

For Internal Use Only | © evosoft GmbH

Portfolio Management

• Microsoft Project Server supported versions• 2007 SP3• 2010 SP1• 2013

Work Item Tracking

For Internal Use Only | © evosoft GmbH

Agenda

• Overview• Version Control System• Build Automation• Work Item Tracking• Other Improvements• Upgrade

For Internal Use Only | © evosoft GmbH

Team Project Administration

• Several settings are propagated to TFS Web Access• Iterations and Areas

Other improvements

Current- , Past- and Future sprints are calculated from these values

For Internal Use Only | © evosoft GmbH

Team Project Administration (cont.)

• Several settings are propagated to TFS Web Access• Security

Other improvements

For Internal Use Only | © evosoft GmbH

Team Project Administration (cont.)

• Several settings are propagated to TFS Web Access• Project Alerts • In prior version a TFS power tools must be installed

Other improvements

For Internal Use Only | © evosoft GmbH

Team Foundation Service

• Predecessor was the codeplex• https://tfs.visualstudio.com/en-us/ is now out of preview• Up to 5 users is free (WIT, Version Control, Builds )

Other improvements

For Internal Use Only | © evosoft GmbH

Agenda

• Overview• Version Control System• Build Automation• Work Item Tracking• Other Improvements• Upgrade

For Internal Use Only | © evosoft GmbH

Upgrade

• Upgrade and access scenarios• SQL Server 2012 is not mandatory

• Any SQL Server 2008 editions can be used with TFS 2012

• Forward and reverse compatibility• From VS 2010 a TFS 2012 instance is accessable• VS 2012 can also connect to TFS 2010 server

Upgrade

For Internal Use Only | © evosoft GmbH

Questions

Team Foundation Server 2012

For Internal Use Only | © evosoft GmbH

Thank you for your attention!

Team Foundation Server 2012

József VadkertiExpertSenior Architect

evosoft Hungary Kft.Kaposvár u. 14-18.H-1117 Budapest

Tel: +36 1 381-6866

[email protected]


Recommended