Professional Team Foundation Server 2013 - Steven St. Jean - E-Book

Professional Team Foundation Server 2013 E-Book

Steven St. Jean

0,0
38,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

Team Foundation Server is now for everyone! Team Foundation Server is an integral part of Microsoft's Application Lifecycle Management suite for managing and delivering software projects. The 2013 update has opened up TFS for everyone by expanding capabilities to support iOS, MacOS, Android, and Java development. Professional Team Foundation Server 2013 covers the latest updates for Agile Project Management, Test-Case Management, Release Management, and shows new users the TFS workflow for managing and delivering products. The authors leverage their positions as MVP Microsoft insiders to guide you step-by-step through all things TFS, as well as help prepare you for the Team Foundation Server Certification Exam. * Provides a broad overview of Team Foundation Server for developers, software project managers, testers, business analysts, and others wanting to learn how to use TFS * Gives TFS administrators the tools they need to efficiently monitor and manage the TFS environment * Covers core TFS functions including project management, work item tracking, version control, test case management, build automation, reporting * Explains extensibility options and how to write extensions for TFS * Helps certification candidates prepare for the Microsoft Team Foundation Server 2013 certification exam Professional Team Foundation Server 2013 is the ultimate guide to mastering this invaluable developer's tool.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 1251

Veröffentlichungsjahr: 2014

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Table of Contents

Cover

Part I: Getting Started

Chapter 1: Introducing Visual Studio Online and Team Foundation Server 2013

What is Team Foundation Server?

What is Visual Studio Online?

What's New in Team Foundation Server 2013?

Acquisition Options

Summary

Chapter 2: Planning a Deployment

Identifying and Addressing Software Engineering Pain

Adopting Team Foundation Server

Migration Strategies

Structuring Team Project Collections and Team Projects

Preparation for a Team Foundation Server Environment

Summary

Chapter 3: Installation and Configuration

What You'll Need

Installing Team Foundation Server

Installation Types

Configuring Team Foundation Server

Creating Your First Team Project

Configuring Friendly DNS Names

Summary

Chapter 4: Connecting to Team Foundation Server

Team Foundation Server Architecture

Addressing Team Foundation Server

Introducing Team Foundation Server Security and Roles

Team Explorer

Alternate Ways to Connect to Team Foundation Server

Summary

Part II: Version Control

Chapter 5: Overview of Version Control

What Is Version Control?

Centralized Versus Decentralized Version Control

Summary

Chapter 6: Using Centralized Team Foundation Version Control

Getting Started with Team Foundation Server Version Control

Learning What's New in Team Foundation Server 2013 Version Control

Team Foundation Server Version Control Concepts

Using Source Control Explorer

Keeping on Task with My Work

Managing Code Reviews

Team Foundation Server Version Control in Eclipse

Team Foundation Version Control Power Tools and Third-Party Utilities

Version Control Security and Permissions

Switching Version Control to Team Foundation Server

Summary

Chapter 7: Distributed Version Control with Git and Team Foundation Server

Distributed Version Control Concepts

Microsoft Visual Studio Integration

Using Git Command-Line Tools

Summary

Chapter 8: Version Control in Heterogeneous Teams

What Are Heterogeneous Teams?

Working Together Seamlessly

Xcode Development

Eclipse Development

Working with the Cross-Platform Command-Line Client

Summary

Chapter 9: Migration from Legacy Version Control Systems

Migration Versus Upgrade

Migrating History or Latest Version

Migrating from Visual SourceSafe

Team Foundation Server Integration Platform

Popular Third-Party Migration Tools

Summary

Chapter 10: Branching and Merging

Differences Between TFVC and Git When Branching and Merging

Branching Demystified

Common Branching Strategies

Implementing Branching Strategies in Centralized Version Control

Implementing Branching Strategies in Git

Summary

Chapter 11: Common Version Control Scenarios

Setting Up the Folder Structure for Your Branches

Third-Party Source Code and Dependencies

Internal Shared Libraries

Managing Artifacts Using Team Foundation Server

Summary

Part III: Project Management

Chapter 12: Introducing Work Item Tracking

Project Management Enhancements in Team Foundation Server 2013

Work Items

Process Templates

Managing Work Items

Project Server Integration

Summary

Chapter 13: Customizing Process Templates

Wrox.com Code Downloads for this Chapter

Anatomy of a Process Template

Using the Process Template Editor

Deploying Updates to Process Templates

Customizing Agile Tools

Common Work Item Type Customizations

Introducing Custom Work Item Controls

Summary

Chapter 14: Managing Teams and Agile Planning Tools

Defining a Team

Maintaining Product Backlogs

Planning Iterations

Tracking Work

Customization Options

Team Rooms

Stakeholder Feedback

Summary

Chapter 15: Reporting and SharePoint Dashboards

What's New in Team Foundation Server 2013?

Team Foundation Server Data Warehouse

SharePoint Integration

Creating Reports

Advanced Customization

Summary

Chapter 16: Project Server Integration

Overview

Initial Configuration

Summary

Part IV: Team Foundation Build

Chapter 17: Overview of Build Automation

What's New in Build Automation

Let's Build Something

What Is Build Automation?

Using Build Automation Servers

Adopting Build Automation

Summary

Chapter 18: Using Team Foundation Build

Introduction to Team Foundation Build

Team Foundation Build Architecture

Setting Up the Team Foundation Build Service

Working with Builds

Understanding the Build Process

Summary

Chapter 19: Customizing the Build Process

Wrox.com Code Downloads for This Chapter

Running Custom Build Scripts during Your Build

Customizing the Build Process to Stamp the Version Number into Your Assemblies

Available Custom Build Workflow Activities

Integrating Custom Activities into the Build Process Template

Summary

Chapter 20: Release Management

Getting Started with Release Management for Visual Studio 2013

Configuration

Release Templates and Components

Releasing Your Application

Summary

Part V: Administration

Chapter 21: Introduction to Team Foundation Server Administration

Administrative Roles

Logical Architecture

Built-In Administration Tools

Operational Intelligence Hub

Other Administration Tools

Summary

Chapter 22: Scalability and High Availability

An Evolving Architecture

Limiting Factors

Principles

Solutions

Summary

Chapter 23: Disaster Recovery

Business Continuity and Recovery Goals

Defining Responsibilities

Backing Up Team Foundation Server

Creating a Backup Plan

Summary

Chapter 24: Security and Privileges

Security When Using Visual Studio Online

Users

Groups

Permissions

Security Management

Tools

Summary

Chapter 25: Monitoring Server Health and Performance

System Health

SQL Server

Team Foundation Server

Tools

Summary

Chapter 26: Testing and Lab Management

What's New in Software Testing?

Software Testing

Testing Architecture

Microsoft Test Manager

Test Automation

Visual Studio Lab Management

Summary

Chapter 27: Upgrading Team Foundation Server

Overview

Upgrading Prerequisites

Using the Configuration Utility

Upgrading Legacy Team Projects

Summary

Chapter 28: Working with Geographically Distributed Teams

Identifying the Challenges

Solutions

Build Servers

Team Foundation Server Proxy

Mirroring with the Team Foundation Server Integration Tools

Working Offline

Other Considerations

Summary

Chapter 29: Extending Team Foundation Server

Wrox.com Code Downloads for This Chapter

Extensibility Points

.NET Client Object Model

SOAP Event Subscriptions

Server Object Model

Visual Studio Extensibility

Other Resources

Summary

Introduction

Whom This Book Is For

What This Book Covers

How This Book Is Structured

What You Need to Use This Book

Further Learning

Continuous Product Updates and Release Schedule

Conventions

Source Code

Errata

p2p.wrox.com

Title Page

Copyright

Dedication

About the Authors

About the Contributor

About the Technical Editor

Credits

Acknowledgments

End User License Agreement

Pages

xxxix

xl

xli

xlii

xliii

xliv

xlv

xlvi

xlvii

xlviii

3

4

5

6

7

8

9

10

11

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

271

272

273

274

275

276

277

278

279

280

281

282

283

284

285

286

287

288

289

290

291

292

293

294

295

296

297

298

299

300

303

304

305

306

307

308

309

310

311

312

313

314

315

316

317

318

319

320

321

322

323

324

325

326

327

328

329

330

331

332

333

334

335

336

337

338

339

340

341

342

343

344

345

346

347

348

349

350

351

352

353

354

355

356

357

358

359

360

361

362

363

364

365

366

367

368

369

370

371

372

373

374

375

376

377

378

379

380

381

382

383

384

385

386

387

388

389

390

391

392

393

394

395

396

397

398

399

400

401

402

403

404

405

406

407

408

409

410

411

412

413

414

415

416

417

418

419

420

421

422

423

424

425

426

427

428

429

430

431

432

433

434

435

436

437

438

439

440

441

442

443

447

448

449

450

451

452

453

454

455

456

457

458

459

460

461

462

463

464

465

466

467

468

469

470

471

472

473

474

475

476

477

478

479

480

481

482

483

484

485

486

487

488

489

490

491

492

493

494

495

496

497

498

499

500

501

502

503

504

505

506

507

508

509

510

511

512

513

514

515

516

517

518

519

520

521

522

523

524

525

526

527

528

529

530

531

532

533

534

535

536

537

538

539

540

541

542

543

544

545

546

547

548

549

550

551

552

553

554

555

557

558

559

560

561

562

563

564

565

566

567

568

569

570

571

572

573

574

575

576

577

578

579

580

581

582

583

584

587

588

589

590

591

592

593

594

595

596

597

598

599

600

601

602

603

604

605

606

607

608

609

610

611

612

613

614

615

616

617

618

619

620

621

622

623

624

625

626

627

628

629

630

631

632

633

634

635

636

637

638

639

640

641

642

643

644

645

646

647

649

650

651

652

653

654

655

656

657

658

659

660

661

662

663

664

665

666

667

668

669

670

671

673

674

675

676

677

678

679

680

681

682

683

684

685

686

687

688

689

690

691

692

693

694

695

696

697

698

699

700

701

702

703

704

705

706

707

708

709

710

711

712

713

714

715

716

717

718

719

720

721

722

723

724

725

726

727

728

729

730

731

732

733

734

735

736

737

738

739

740

741

742

743

744

745

746

747

748

749

750

751

752

753

754

755

757

758

759

760

761

762

763

764

765

766

767

768

769

770

771

772

773

775

776

777

778

779

780

781

782

783

784

785

786

787

788

789

790

791

792

793

794

795

796

797

798

799

800

801

802

803

804

805

806

807

808

809

810

811

812

813

814

815

816

817

818

819

820

821

822

823

824

Guide

Table of Contents

List of Illustrations

Figure 2.1

Figure 2.2

Figure 2.3

Figure 2.4

Figure 3.1

Figure 3.2

Figure 3.3

Figure 3.4

Figure 3.5

Figure 3.6

Figure 3.7

Figure 3.8

Figure 3.9

Figure 3.10

Figure 4.1

Figure 4.2

Figure 4.3

Figure 4.4

Figure 4.5

Figure 4.6

Figure 4.7

Figure 4.8

Figure 4.9

Figure 4.10

Figure 4.11

Figure 4.12

Figure 4.13

Figure 6.1

Figure 6.2

Figure 6.3

Figure 6.4

Figure 6.5

Figure 6.6

Figure 6.7

Figure 6.8

Figure 6.9

Figure 6.10

Figure 6.11

Figure 6.12

Figure 6.13

Figure 6.14

Figure 6.15

Figure 6.16

Figure 6.17

Figure 6.18

Figure 6.19

Figure 6.20

Figure 6.21

Figure 6.22

Figure 6.23

Figure 6.24

Figure 6.25

Figure 6.26

Figure 6.27

Figure 6.28

Figure 6.29

Figure 6.30

Figure 6.31

Figure 6.32

Figure 6.33

Figure 6.34

Figure 6.35

Figure 6.36

Figure 6.37

Figure 6.38

Figure 7.1

Figure 7.2

Figure 7.3

Figure 7.4

Figure 7.5

Figure 7.6

Figure 7.7

Figure 7.8

Figure 7.9

Figure 7.10

Figure 7.11

Figure 7.12

Figure 7.13

Figure 7.14

Figure 7.15

Figure 7.16

Figure 7.17

Figure 7.18

Figure 7.19

Figure 7.20

Figure 7.21

Figure 7.22

Figure 7.23

Figure 7.24

Figure 7.25

Figure 7.26

Figure 7.27

Figure 7.28

Figure 7.29

Figure 7.30

Figure 7.31

Figure 7.32

Figure 7.33

Figure 7.34

Figure 7.35

Figure 7.36

Figure 7.37

Figure 7.38

Figure 8.1

Figure 8.2

Figure 8.3

Figure 8.4

Figure 8.5

Figure 8.6

Figure 8.7

Figure 8.8

Figure 8.9

Figure 8.10

Figure 8.11

Figure 8.12

Figure 8.13

Figure 8.14

Figure 8.15

Figure 8.16

Figure 8.17

Figure 8.18

Figure 8.19

Figure 8.20

Figure 8.21

Figure 8.22

Figure 8.23

Figure 8.24

Figure 8.25

Figure 8.26

Figure 8.27

Figure 8.28

Figure 8.29

Figure 8.30

Figure 8.31

Figure 8.32

Figure 8.33

Figure 8.34

Figure 8.35

Figure 9.1

Figure 9.2

Figure 9.3

Figure 9.4

Figure 9.5

Figure 9.6

Figure 9.7

Figure 9.8

Figure 9.9

Figure 10.1

Figure 10.2

Figure 10.3

Figure 10.4

Figure 10.5

Figure 10.6

Figure 10.7

Figure 10.8

Figure 10.9

Figure 10.10

Figure 10.11

Figure 10.12

Figure 10.13

Figure 10.14

Figure 10.15

Figure 10.16

Figure 10.17

Figure 10.18

Figure 10.19

Figure 10.20

Figure 10.21

Figure 10.22

Figure 10.23

Figure 10.24

Figure 10.25

Figure 10.26

Figure 10.27

Figure 10.28

Figure 10.29

Figure 10.30

Figure 10.31

Figure 10.32

Figure 10.33

Figure 10.34

Figure 10.35

Figure 10.36

Figure 10.37

Figure 10.38

Figure 10.39

Figure 10.40

Figure 10.41

Figure 10.42

Figure 10.43

Figure 10.44

Figure 10.45

Figure 10.46

Figure 10.47

Figure 10.48

Figure 11.1

Figure 11.2

Figure 11.3

Figure 11.4

Figure 11.5

Figure 11.6

Figure 11.7

Figure 11.8

Figure 11.9

Figure 11.10

Figure 11.11

Figure 11.12

Figure 11.13

Figure 11.14

Figure 12.1

Figure 12.2

Figure 12.3

Figure 12.4

Figure 12.5

Figure 12.6

Figure 12.7

Figure 12.8

Figure 12.9

Figure 12.10

Figure 12.11

Figure 13.1

Figure 13.2

Figure 13.3

Figure 13.4

Figure 13.5

Figure 13.6

Figure 13.7

Figure 13.8

Figure 13.9

Figure 13.10

Figure 13.11

Figure 13.12

Figure 13.13

Figure 13.14

Figure 13.15

Figure 13.16

Figure 13.17

Figure 13.18

Figure 13.19

Figure 13.20

Figure 13.21

Figure 14.1

Figure 14.2

Figure 14.3

Figure 14.4

Figure 14.5

Figure 14.6

Figure 14.7

Figure 14.8

Figure 14.9

Figure 14.10

Figure 14.11

Figure 14.12

Figure 14.13

Figure 14.14

Figure 14.15

Figure 14.16

Figure 14.17

Figure 14.18

Figure 14.19

Figure 14.20

Figure 14.21

Figure 15.1

Figure 15.2

Figure 15.3

Figure 15.4

Figure 15.5

Figure 15.6

Figure 15.7

Figure 15.8

Figure 15.9

Figure 15.10

Figure 15.11

Figure 15.12

Figure 15.13

Figure 15.14

Figure 15.15

Figure 15.16

Figure 15.17

Figure 15.18

Figure 15.19

Figure 15.20

Figure 15.21

Figure 15.22

Figure 16.1

Figure 16.2

Figure 16.3

Figure 16.4

Figure 18.1

Figure 18.2

Figure 18.3

Figure 18.4

Figure 18.5

Figure 18.6

Figure 18.7

Figure 18.8

Figure 18.9

Figure 18.10

Figure 18.11

Figure 18.12

Figure 18.13

Figure 18.14

Figure 18.15

Figure 18.16

Figure 18.17

Figure 18.18

Figure 18.19

Figure 18.20

Figure 18.21

Figure 18.22

Figure 18.23

Figure 18.24

Figure 18.25

Figure 18.26

Figure 18.27

Figure 18.28

Figure 18.29

Figure 18.30

Figure 18.31

Figure 18.32

Figure 18.33

Figure 18.34

Figure 18.35

Figure 18.36

Figure 18.37

Figure 19.1

Figure 19.2

Figure 19.3

Figure 19.4

Figure 19.5

Figure 19.6

Figure 19.7

Figure 19.8

Figure 19.9

Figure 19.10

Figure 19.11

Figure 19.12

Figure 19.13

Figure 19.14

Figure 19.15

Figure 19.16

Figure 19.17

Figure 19.18

Figure 19.19

Figure 19.20

Figure 19.21

Figure 19.22

Figure 19.23

Figure 19.24

Figure 19.25

Figure 19.26

Figure 19.27

Figure 19.28

Figure 19.29

Figure 19.30

Figure 19.31

Figure 19.32

Figure 19.33

Figure 19.34

Figure 19.35

Figure 19.36

Figure 19.37

Figure 20.1

Figure 20.2

Figure 20.3

Figure 20.4

Figure 20.5

Figure 20.6

Figure 20.7

Figure 20.8

Figure 20.9

Figure 20.10

Figure 20.11

Figure 20.12

Figure 20.13

Figure 20.14

Figure 20.15

Figure 20.16

Figure 20.17

Figure 20.18

Figure 20.19

Figure 20.20

Figure 20.21

Figure 21.1

Figure 21.2

Figure 21.3

Figure 21.4

Figure 21.5

Figure 21.6

Figure 21.7

Figure 21.8

Figure 21.9

Figure 21.10

Figure 21.11

Figure 21.12

Figure 21.13

Figure 21.14

Figure 21.15

Figure 21.16

Figure 21.17

Figure 21.18

Figure 21.19

Figure 21.20

Figure 21.21

Figure 21.22

Figure 21.23

Figure 21.24

Figure 21.25

Figure 21.26

Figure 21.27

Figure 21.28

Figure 21.29

Figure 21.30

Figure 21.31

Figure 21.32

Figure 21.33

Figure 23.1

Figure 23.2

Figure 23.3

Figure 23.4

Figure 23.5

Figure 23.6

Figure 23.7

Figure 23.8

Figure 23.9

Figure 23.10

Figure 23.11

Figure 23.12

Figure 23.13

Figure 23.14

Figure 23.15

Figure 23.16

Figure 24.1

Figure 25.1

Figure 25.2

Figure 25.3

Figure 25.4

Figure 25.5

Figure 25.6

Figure 26.1

Figure 26.2

Figure 26.3

Figure 26.4

Figure 26.5

Figure 26.6

Figure 26.7

Figure 26.8

Figure 26.9

Figure 26.10

Figure 26.11

Figure 27.1

Figure 27.2

Figure 27.3

Figure 27.4

Figure 27.5

Figure 27.6

Figure 28.1

Figure 28.2

Figure 29.1

Figure 29.2

Figure 29.3

List of Tables

Table 2.1

Table 2.2

Table 2.3

Table 2.4

Table 2.5

Table 2.6

Table 2.7

Table 2.8

Table 2.9

Table 2.10

Table 2.11

Table 2.12

Table 3.1

Table 5.1

Table 5.3

Table 5.4

Table 6.1

Table 7.1

Table 7.2

Table 7.3

Table 12.1

Table 13.1

Table 13.2

Table 13.3

Table 13.4

Table 13.5

Table 13.6

Table 13.7

Table 13.8

Table 15.1

Table 15.2

Table 16.1

Table 19.1

Table 19.2

Table 19.3

Table 19.4

Table 19.5

Table 19.6

Table 19.7

Table 20.1

Table 20.2

Table 20.3

Table 20.4

Table 20.5

Table 21.1

Table 21.2

Table 21.3

Table 21.4

Table 21.5

Table 22.1

Table 22.2

Table 22.3

Table 22.4

Table 23.1

Table 24.1

Table 24.2

Table 24.3

Table 24.4

Table 24.5

Table 24.6

Table 24.7

Table 24.8

Table 24.9

Table 24.10

Table 24.11

Table 24.12

Table 24.13

Table 25.1

Table 25.2

Table 25.3

Table 25.4

Table 25.5

Table 26.1

Table 28.1

Table 28.2

Table 29.1

Table 29.2

Table 29.3

Table 29.4

Table 29.5

Table 29.6

Part I

Getting Started

CHAPTER 1:

Introducing Visual Studio Online and Team Foundation Server 2013

CHAPTER 2:

Planning a Deployment

CHAPTER 3:

Installation and Confi guration

CHAPTER 4:

Connecting to Team Foundation Server

Chapter 1Introducing Visual Studio Online and Team Foundation Server 2013

What's in this chapter?

Getting to know Team Foundation Server 2013

Understanding what's new in Team Foundation Server 2013

Acquiring Team Foundation Server 2013

This chapter introduces you to Microsoft Visual Studio Team Foundation Server 2013. Here you learn what it is for, the key concepts needed when using it, and how to acquire it.

For those users already familiar with Team Foundation Server, the discussion in this chapter highlights areas that are new or have changed substantially. However, because understanding the legacy of a technology is always helpful, this chapter also includes some of the history of the Team Foundation Server product, which will help explain how it became what it is today.

This chapter also discusses the improved release model, including the ability to have Microsoft manage hosting, frequent upgrades, and backups by leveraging Visual Studio Online (formerly Team Foundation Service). Later chapters go into more depth with an examination of the architecture of the Team Foundation Server product.

What is Team Foundation Server?

Developing software is difficult—a fact repeatedly proven by how many projects run overtime or over budget, or fail completely. An essential factor in the success of any software development team is how well the members of the team communicate with one another, as well as with the people who wanted the software developed in the first place.

Team Foundation Server provides the core collaboration functionality for your software development teams in a very tightly integrated product. The functionality provided by Team Foundation Server includes the following:

Project management

Work item tracking (WIT)

Version control

Test case management

Build automation

Reporting

Release management

Lab and environment management

Feedback management

Chat and team communication tools

Each of these topics is explored extensively in this book

Team Foundation Server is a separate server product designed specifically for software engineering teams with developers, testers, architects, project managers, business analysts, and anyone else contributing to software development releases and projects. Logically, Team Foundation Server is made up of the following two tiers, which can be physically deployed across one or many machines:

Application tier

—The

application tier

primarily consists of a set of web services with which the client machines communicate by using a highly optimized, web service-based protocol. It also includes a rich web access site to interact with a server without having to install a client such as Visual Studio.

Data tier

—The

data tier

utilizes SQL Server to house the databases that contain the database logic for the Team Foundation Server application, the data for your Team Foundation Server instance, as well as the data for your Team Project Collection. The data stored in the data warehouse database and Analysis Services cube are used by Team Foundation Server's reporting functionality. All the data stored in Team Foundation Server is stored in the SQL Server databases, thus making the system easy to back up.

Team Foundation Server was designed with extensibility in mind. It can integrate with a comprehensive .NET Application Programming Interface (API). It also has a set of events that allow it to integrate with outside tools as first-class citizens. The same .NET programming model and event system are used by Microsoft to construct Team Foundation Server, as well as the client integrations into Visual Studio.

Team Foundation Server has plenty of competitors, including other enterprise Application Lifecycle Management (ALM) systems and purpose-specific products (such as source control systems). The main benefit of having all the different systems available in one product is that Team Foundation Server fully integrates the different systems. This allows for true innovation in the development tools space, as you will notice with several of the new tools available in this latest release. Instead of worrying about integrating the separate systems yourself, you can take advantage of the work that Microsoft has done for you. Jason Zander, currently Corporate Vice President of development for Windows Azure, makes this particular point well in a blog post originally about Team Foundation Server 2010. You can find the blog post at http://aka.ms/IntegratedALMSolution.

When you compare enterprise ALM products currently on the market, you will discover that Team Foundation Server was designed to be easily customized and extended. Team Foundation Server ensures that developers using any development platform can participate and easily use Team Foundation Server, including Visual Studio, Eclipse-based development, Xcode, and many more.

What is Visual Studio Online?

Installing and configuring Team Foundation Server has traditionally meant a significant investment in time and infrastructure. In addition to the initial setup, maintenance of an on-premises Team Foundation Server instance required ongoing effort.

In October 2012, a hosted Team Foundation Server was released to the general public under the name Team Foundation Service. This hosted service meant that a team could make use of many of the features of Team Foundation Service without the significant investment in infrastructure and maintenance. Since its initial release, the product has been continuously extended and improved.

In November 2013, Team Foundation Service was rolled into a new product called Visual Studio Online, which incorporates a number of developer services, including most of the features of an on-premises Team Foundation Server installation as well as Visual Studio, collaboration tools, load testing and build services, a diagnostic service called Application Insights, and even an online code editor.

Visual Studio Online is free for teams up to five users, and is also available on a per-user per-month subscription basis. A number of plans are available that include various features. These features include access to a hosted Team Foundation Server with unlimited Team Projects and basic project planning tools, and either the Visual Studio Express or Visual Studio Professional IDE. The plans also include a certain amount of cloud build and load testing time.

What's New in Team Foundation Server 2013?

If you have used legacy versions of Team Foundation Server, you may be curious about what is new in the latest release. As this book demonstrates, it is a big release with considerable new functionality and improvements across the board. While many of these features are explained throughout this book, if you have used a previous version of Team Foundation Server, the features described in the following sections will be new to you. Some of the client-side topics are covered in more detail in the companion book to this volume, Professional Application Lifecycle Management with Visual Studio 2013 by Mickey Gousset, Martin Hinshelwood, Brian A. Randell, Brian Keller, and Martin Woodward (Wiley, 2014).

Version Control

One major change with this release was the addition of an alternative, distributed source control option within Team Foundation Server. While this was seen as a surprising move by many, it was really just addressing a common complaint many organizations had with source control in Team Foundation Server.

There are many powerful project management features provided by Team Foundation Server, but the primary reason for adopting a system like Team Foundation Server will always be source control. Developers have increasingly been moving to distributed version control products, such as Git or Mercurial, and the limitations of the centralized source control system provided by Team Foundation Server was a common reason cited by organizations choosing to use an alternative product. While support for disconnected workspaces was provided with the addition of Local Workspaces in the 2012 release of Team Foundation Server, team members were still limited to a single server-side repository for a workspace.

By adopting Git as a first-class version control alternative, Microsoft has added true distributed version control to the product. Developers can keep a full local repository, which allows them to work with multiple branches and commit locally before pushing their changes to the server.

We want to note two important points with respect to the distributed version control offering in Team Foundation Server. First, the Git implementation is a standard implementation of Git rather than one that has been specifically written for Team Foundation Server. This means you can work with a Git repository in Team Foundation Server in exactly the same way as you would with any other implementation. Second, despite the history of Team Foundation Server, both version control options are considered equals and are supported fully. The project management functions in Team Foundation Server are still available and code changes can still be linked to work items. Distributed version control is covered in detail in Chapter 7.

Team Collaboration

Team Foundation Server 2012 introduced a built-in set of experiences for requesting, responding, and managing code reviews. It uses the powerful work item tracking experiences behind the scenes as well as some specialized user experiences to help you discuss changes. This was a powerful way of formalizing collaboration between team members.

A new feature has been included in Team Foundation Server 2013 that allows team members to make comments directly against code, right from Team Web Access. You can make comments on an entire file, specific lines of code, or even a complete changeset, and just like code reviews, you can have threaded discussions. This provides a great way for team members to collaborate, directly against the code itself, without having to manage the complete code review process.

A new Team Room has also been added to Team Web Access in the 2013 release. This feature not only allows developers to chat in real time, but it notifies them of relevant events such as build completions and code changes.

Web Access

Team Web Access was completely redesigned in Team Foundation Server 2012 to provide an even better experience for those without any of the traditional clients available. It is friendly to modern browsers, including mobile browsers, and works well with both desktop and tablet devices.

Microsoft has further updated and improved Team Web Access in Team Foundation Server 2013. The agile management tools have also been improved and now have support for tags, backlog and board improvements, updated process templates, and support for Agile Portfolio Management. Some new features have been implemented for Team Web Access as well, including a new Test Hub, Team Rooms for live chat, and work item charts.

Agile Product Management

Additional new experiences added to Team Web Access are agile project management and product planning. The new Agile Planning tools are specifically designed for users practicing Agile development, but can actually be beneficial for those using any process.

The primary changes introduced in this release include Agile Portfolio Management and a set of improved process templates for managing projects.

The great thing about these changes is that they allow you to roll-up requirements so management can see just the level of detail they are interested in. Each team can have its own set of backlog items that contribute to a shared “feature” backlog.

Release Management

Release Management for Visual Studio 2013 is a powerful tool for automating the deployment pipeline for developed applications. Formerly known as InRelease, Microsoft acquired the product from a Canadian company called InCycle in June 2013.

The Release Management tool allows teams to deploy applications to multiple server environments and has strong integration with Team Foundation Service. Complex release workflows can be defined with a visual interface. Importantly, teams can define the promotion path of a single build through multiple environments and enforce a process of approval and promotion.

Note

Release Management for Visual Studio 2013 is discussed in more detail in Chapter 20.

Acquisition Options

Microsoft has also greatly improved how you may acquire Team Foundation Server. Several options are available to you, as discussed in the following sections.

Licensing can be somewhat confusing, but Team Foundation Server licensing follows the licensing pattern of other Microsoft server products. There is a server license. Additionally, with some notable exceptions, each user that connects to the server should have a Client Access License (CAL) for Team Foundation Server.

Note

For more information about those potential exceptions, or questions about what you will need to purchase, you can seek help from a Microsoft Partner with the ALM Competency or your local Microsoft Developer Tools Specialist, or you can refer to the End-User License Agreement (EULA). A licensing white paper dedicated to Visual Studio, MSDN, and Team Foundation Server is also available athttp://aka.ms/VisualStudioLicensing.

Visual Studio Online

By far, the easiest way to get started with adopting Team Foundation Server is through a new hosted option available directly from Microsoft called Visual Studio Online (formerly Team Foundation Service). It shares a majority of the same code base as the same Team Foundation Server product used on-premises but modified to be hosted from Windows Azure for multiple tenants. It is available at http://tfs.visualstudio.com.

The best part of using Visual Studio Online is that your team need not worry about backups, high availability, upgrades, or other potentially time-consuming administration and maintenance tasks. Another nice thing is that Visual Studio Online customers will receive frequent updates that even include new features before on-premises customers.

Note

Brian Harry, Product Unit Manager for Team Foundation Server, announced that the internal product teams improved their engineering process so well over the past two to three years that they are able to quickly provide more frequent updates. Starting with Team Foundation Server 2012, the product team has provided frequent updates that include the typical performance and bug fixes but also brand new features. The frequency of updates since this announcement has been significantly faster than in the past, with four post-RTM releases to Team Foundation Server 2012 and one Team Foundation Server 2013 release in the past 12 months.

Team Foundation Service customers have seen updates made more frequently than the on-premises edition. Brian mentioned that his teams are able to deploy hotfixes daily, but full-featured updates have thus far been released every three weeks (with a small number of exceptions), which lines up with the internal sprint schedule. You can learn more about this topic from Brian Harry's blog post athttp://aka.ms/TFSReleaseCadence.

One thing to take away from this discussion is to make sure that your team always uses the latest update of Team Foundation Server if you choose to install it on-premises.

Teams using Visual Studio Online are able to leverage an elastic set of standard build servers. This elastic build service provides standard build machines available and clean for each of your builds. Teams can even integrate their elastic builds with their Windows Azure accounts to provide continuous deployment to instances of their applications or sites hosted in Windows Azure. Teams can also take advantage of on-premises build servers connected to Visual Studio Online.

Microsoft released the Team Foundation Service as a free trial in late 2012 and rolled it into the commercial Visual Studio Online service in November 2013. They announced that the full feature set will be provided to teams of up to five at no cost. Additionally, MSDN subscribers will be able to leverage Visual Studio Online as an additional benefit to their MSDN subscription.

Visual Studio Online is offered under a subscription model. The Basic plan is free for five users, and subsequent users can be added on a per-user, per-month basis. In addition to the Basic plan, two other user plans are available with differing capabilities and inclusions.

To date, Visual Studio does not have full parity with the on-premises product. For example, the lab management, reporting, and process template customization capabilities are features not currently available. As Visual Studio Online evolves over time, there will be greater, if not full, parity with the on-premises edition.

In the meantime, for teams that would like the full set of features but still have someone else manage their Team Foundation Server instance, options are available through several third-party hosting companies.

Express

Small software engineering teams can leverage an Express version of Team Foundation Server 2013 that is available and free for up to five developers. Team Foundation Server Express is available at http://aka.ms/TFS2013Express. The Express edition includes, but is not limited to, the following core developer features:

Version control

Work item tracking

Build automation

This is a perfect start for small teams that want an on-premises Team Foundation Server instance without any additional costs. If your team grows beyond five, you can always buy CALs for users six and beyond. The Express instance can even be upgraded at any time to take advantage of the full set of features without losing any data.

Trial

One of the easiest ways to acquire Team Foundation Server is on a 90-day trial basis. You can download the full version of Team Foundation Server and try out all of the features without having to purchase a full copy. The DVD ISO image for the trial edition is available at http://aka.ms/TFS2013Downloads.

If you install the trial edition of Team Foundation Server, you can easily apply a product key to activate the trial edition. You could even move the team project collection from the trial server to a different server instance once your team has decided to fully adopt Team Foundation Server.

Alternatively, if you need a 30-day extension, you can perform one extension using the Team Foundation Server Administration Console once you're near the end of the trial period. You can find out more information about extending the trial by visiting http://aka.ms/ExtendTFSTrial.

If you would rather have a virtual machine that is ready to use (including all of the software necessary to demo and evaluate Visual Studio 2013 and Team Foundation Server 2013), you can download the all-up Visual Studio 2013 virtual machine image. The virtual machine has a time limit that starts from the day that you first start the machine. You can always download a fresh copy of the machine to begin your demo experience over.

Note

You can find the latest version of the virtual machine available athttp://aka.ms/vs13almvm.

Volume Licensing

Microsoft has plenty of options for volume licensing, including Enterprise, Select, Open Value, and Open License Agreements, that will help your company significantly reduce the overall cost of acquiring an on-premises edition of Team Foundation Server. Different options are available based on your company size and engineering team size. This option is by far the most popular choice for companies looking to acquire Team Foundation Server, MSDN subscriptions, and Visual Studio licenses.

If your company acquired an earlier version of Team Foundation Server through a volume licensing program, and also purchased Software Assurance (SA), you may be entitled to a license for Team Foundation Server 2013 without additional cost, if the SA was still active on the date that Team Foundation Server 2013 was released.

Note

For more information about volume licensing, discuss your options with your Microsoft internal volume licensing administrator, your local Microsoft Developer Tools Specialist, or a Microsoft Partner with ALM Competency. You can find out more information from the Visual Studio Licensing white paper available at http://aka.ms/VisualStudioLicensing.

MSDN Subscriptions

Beginning with the Visual Studio 2010 release, a full production-use license of Team Foundation Server 2013 is included with each license of Visual Studio that includes an MSDN subscription. Those MSDN subscribers also receive a Team Foundation Server 2013 CAL available for production use.

This now enables developers, testers, architects, and others with an active MSDN subscription to take advantage of Team Foundation Server without additional licensing costs.

Note

For more information about MSDN subscriptions and for links to download Team Foundation Server 2013, visit the MSDN Subscriber Downloads website at http://msdn.microsoft.com/subscriptions.

Microsoft Partner Network

Companies that are members of the Microsoft Partner Network and have achieved certain competencies can be entitled to development and test-use licenses of several of the products included with an MSDN subscription, including Team Foundation Server 2013.

Note

For more information about the requirements and benefits available for Microsoft Partners, visithttp://partner.microsoft.com.

Retail

If you are not able to use any of the other acquisition methods, you can always acquire Team Foundation Server 2013 through retail channels, including the online Microsoft Store. You can purchase the product directly from Microsoft online at http://aka.ms/TFS2013Retail. It is also available from many other popular retail sites.

One of the nice benefits of purchasing a server license using the retail channel is that you also receive a CAL exclusion for up to five named users. This benefit is available only from licenses purchased through the retail channel, and it is not included with other acquisition avenues discussed in this chapter.

Summary

As you learned in this chapter, Team Foundation Server is a product with lots of features and functionality. This chapter introduced the types of features available, including those new to the latest release. Additionally, you learned about the different acquisition methods for getting the software for Team Foundation Server.

The next few chapters will familiarize you with planning a Team Foundation Server deployment and installing a brand-new server. You will also learn about the different methods available for connecting to your new server. Chapter 2 begins that discussion with an examination of deploying Team Foundation Server.

Chapter 2Planning a Deployment

What's in this chapter?

Organizing a plan for adoption

Setting up timelines for adoption

Structuring team projects and team project collections

Hardware and software requirements

Before installing or configuring Team Foundation Server, it is helpful to lay out a plan and to identify the areas that need some preparation work to ensure a successful adoption. This chapter discusses methods for gaining consensus in your organization for the adoption. You will learn about some potential adoption timelines and strategies to ensure a smooth transition for your teams from legacy systems to Team Foundation Server 2013. Finally, the discussion walks you through some of the immediate preparation steps for gathering what you will need before you start the installation and configuration of your new Team Foundation Server environment.

In Chapter 1, you read about the high-level features available in Team Foundation Server 2013, including new features for this release. Now it's time to convince your boss and team that it would be worthwhile to adopt Team Foundation Server 2013. The following sections examine some of the ways you can prepare for your proposal to your team.

Identifying and Addressing Software Engineering Pain

One key to selling the idea of an Application Lifecycle Management (ALM) solution is to identify the pain points that your organization and teams are experiencing, and to address those pain points with possible solutions. You may find that some of the common problems people are seeking solutions for are the same problems that plague your organization.

This section identifies some common problems that plague many development organizations, and it provides some helpful discussion about how Team Foundation Server and the ALM family of Visual Studio 2013 products attempt to address those pain points. You may have additional pain points that you would like to solve, and it is always good to flesh those out to ensure that you are identifying and solving them as part of your adoption of Team Foundation Server.

This book covers many of the ALM topics because Team Foundation Server is a part of the Visual Studio ALM family of products. You can find out more information about all of the different ALM tools available across the Visual Studio family in the companion book Professional Application Lifecycle Management with Visual Studio 2013 available at http://www.wiley.com/WileyCDA/WileyTitle/productCd-1118836588.html.

Transparency of the Release or Project

Does your team have difficulty understanding any of the following questions during the release cycle?

Are we on track to release at the end of the month?

How much implementation has been accomplished on the requirements in this release?

How are our testers doing in authoring and executing their test cases?

What changed in last night's build?

Why did this set of files change in this recent check-in? Was it used to implement a requirement or fix a bug?

Which requirements are getting good test coverage versus requirements that are largely untested?

Is the company investing in the right areas of our products based on feedback from stakeholders?

How do you balance the capacity of team members against the priority of work you want to accomplish?

How much work is your team capable of delivering for a given iteration?

How can you be sure the release in production matches the release that was in a test environment?

Teams that have a problem getting visibility into their release process often want to start by finding a tool that will gather all of the data necessary to easily answer some of these questions. Team Foundation Server is one of the best products available for transparency because it allows you to store all of the different artifacts from the beginning to the end of the software development life cycle. Not only does it provide a way to capture that information, but it also allows you to make informed decisions using rich links between those artifacts and systems. Team Foundation Server provides rich information by exposing the end-to-end relationships that exist across artifacts.

Collaboration across Different Teams and Roles

Some teams have difficulty providing information and communicating across different functional groups. Testers may not feel that they have enough information about bugs returned to them as rejected, and developers may feel that they don't have enough information about the requirements they are supposed to implement or the bugs they are supposed to fix. Stakeholders and business users may not feel that they have an easy way to provide feedback about the applications they interact with so that the software development teams will be able to act appropriately.

If your team is experiencing some of these problems, you may benefit from being able to easily see information and notes about the different artifacts in the software process stored in Team Foundation Server.

Automated Compilation, Testing, Packaging, and Deployment

Teams may end up spending a lot of time at the end of release cycles completing manual steps to compile, package, and deploy their applications. They may be performing these actions on a developer machine, and manually copying to staging and production environments.

These manual steps are often error-prone and can result in unforeseen issues and failed deployments. By taking advantage of the automated build system in Team Foundation Server, your team can reduce the complexity of this process and turn it into a repeatable end-to-end solution that occurs at regular intervals or is triggered by changes introduced by your developers.

Additionally, you can leverage the automated build system to introduce a “gauntlet” of checks that each check-in may go through to verify the quality of those changes by using the gated check-in feature in the Team Foundation Build system. This can help your team reduce entropy by preventing defects from ever being introduced to the version control repository.

Note

The new Release Management for Visual Studio 2013 product allows teams to define, configure, and automate deployments to multiple target environments. This tool can reduce risk and ensure repeatable deployments that support your organization's release pipeline and approval process.

See Chapter 20 for more information about Release Management for Visual Studio 2013.

Managing Test Plans

The testing or quality assurance departments may be organizing their test cases using Word or Excel documents, which can make it hard to organize your catalog of test cases. Additionally, tracking the execution progress of each test case may be extremely difficult; thus, it becomes difficult to gauge the progress of testing in your release.

Team Foundation Server allows you to manage your collection of test cases; it also allows you to manage the progress of test execution during the release cycle. This includes the ability to track tests across multiple configurations that your product or application needs to support.

Parallel Development

Development teams have notoriously experienced difficulty in managing changes across multiple lines of development that can occur concurrently. By supporting the previous release, while stabilizing the next release, and then also performing early work on a feature release, you can end up having trouble keeping each of those parallel lines of development organized. Integrating changes made between those releases is especially time-consuming and error-prone, especially if developers are manually applying fixes to each of those code lines.

Testers are often curious about how bug fixes and changes have been included in a particular release. And they might often need to figure out if fixes have been applied to other releases of the application.

The Team Foundation Version Control system in Team Foundation Server provides excellent branching and merging tools for easily managing parallel development, including the ability to track changes across branches. This helps you to easily see which branches have changes integrated into them as well as how and when those changes got there.

Note

The new Distributed Version Control system gives developers more freedom to work on multiple parallel development tasks at once. Using Git, developers can work on multiple branches within local repositories before confidently committing changes to the server.

See Chapter 7 for more information about Distributed Version Control with Git.

Adopting Team Foundation Server

The maximal value from Team Foundation Server is realized when it is used in a team. Therefore, ensuring a successful Team Foundation Server adoption requires alignment with many people in your organization. The following sections should help you avoid some common pitfalls and provide you with some suggestions on where to start with what may seem like a large and daunting product.

Adoption Timeline

In general, splitting up the adoption by team/application has proven to be a successful approach. Some of the effort may end up being the same for most teams, and lessons you learn from earlier transitions will help you become more successful in the following transitions. Table 2.1 presents a sample adoption timeline.

Table 2.1Sample Adoption Timeline

Activity

Estimated Time

Planning for deploying Team Foundation Server

One week

Identifying the process to adopt and process template customizations

Two to four days

Designing the branching and merging strategy

One day

Customizing the process template (dependent on the level of customization of the process identified)

One to four weeks

Table 2.2 discusses the additional adoption steps for each team or application.

Table 2.2 Sample Adoption Timeline for Each Team

Activity

Estimated Time

Developing a custom migration tool (needed only if not using one commercially or freely available)

Two to four weeks

Testing the migration

One to two weeks

Initial training sessions for teams (occurs one week before transition)

Half a day for each team member

Migrating source code

One to two days

Migrating work items

One to two days

Follow-up training sessions for teams (occurs one week after transition)

Half a day for each team member

Phased Approach

Another approach that works well is adopting each piece of Team Foundation Server separately in different phases of a larger deployment project. This allows you to plan each phase, execute that adoption, and then train the teams on the new features and processes available in that particular phase.

Some find that teams are better able to absorb training for the new features when they are exposed to them incrementally. You may have a higher success rate by splitting up the adoption project, and then focusing your time and attention on making each part succeed. However, you'll eventually find some teams very eager to adopt future phases, so be sure you don't keep them waiting too long!

When introducing any new tooling into a large organization, it is important that you address the key pain points first. Many companies will identify traceability of work through the development life cycle, and this is often an area that is poorly addressed by existing tooling. For others, the version control system being used may be out-of-date (unsupported) and performing poorly. It is, therefore, usually the version control or work item tracking components that people begin using when adopting Team Foundation Server.

Luckily, Team Foundation Server is flexible enough that you can still get value from the product when using only one or two components of the system. Once you have adopted both version control and work item tracking, the next area to tackle to gain the most benefit is likely to be Team Foundation Build. By automating your build system and increasing the frequency of integration, you reduce the amount of unknown pain that always occurs when integrating components together to form a product. The key is to gradually remove the unknown and unpredictable elements from the software delivery process, and to always look for wasted effort that can be cut out. Using the new Release Management helps your team deploy the same build across multiple environments, no matter how complex the configuration.

Automating the builds not only means that the build and packaging process becomes less error-prone, but it also means that the feedback loop of requirement traceability is completed. You are now able to track work from the time that it is captured, all the way through to a change to the source code of the product, and into the build that contains those changes.

At this point, you may identify the need to document your test cases and track their execution throughout the release. With the traceability between test cases and requirements, you'll be able to better identify the requirements in your product that are covered appropriately by your testers.