www.it-ebooks.info
www.it-ebooks.info
PROFESSIONAL
APPLICATION LIFECYCLE MANAGEMENT
WITH VISUAL STUDIO® 2013
INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix
CHAPTER 1
Introduction to Application Lifecycle Management
with Visual Studio 2013 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
▸ PART I
TEAM FOUNDATION SERVER
CHAPTER 2
Introduction to Team Foundation Server . . . . . . . . . . . . . . . . . . . . . 11
CHAPTER 3
Using Centralized Team Foundation Version Control . . . . . . . . . . . 37
CHAPTER 4
Distributed Version Control with Git and
Team Foundation Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
CHAPTER 5
Team Foundation Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
CHAPTER 6
Release Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
CHAPTER 7
Common Team Foundation Server Customizations . . . . . . . . . . . . 153
▸ PART II
BUILDING THE RIGHT SOFTWARE
CHAPTER 8
Introduction to Building the Right Software. . . . . . . . . . . . . . . . . . 167
CHAPTER 9
Storyboarding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
CHAPTER 10
Capturing Stakeholder Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . 193
▸ PART III
PROJECT MANAGEMENT
CHAPTER 11
Introduction to Project Management . . . . . . . . . . . . . . . . . . . . . . . 203
CHAPTER 12
Agile Planning and Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
CHAPTER 13
Using Reports, Portals, and Dashboards . . . . . . . . . . . . . . . . . . . . 257
Continues
www.it-ebooks.info
ffi rs.indd 03/04/2014 Page i
▸ PART IV ARCHITECTURE
CHAPTER 14
Introduction to Software Architecture . . . . . . . . . . . . . . . . . . . . . . 277
CHAPTER 15
Top-Down Design with Use Case, Activity, Sequence,
Component, and Class Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . 289
CHAPTER 16
Analyzing Applications Using Architecture Explorer,
Dependency Graphs, and Code Maps . . . . . . . . . . . . . . . . . . . . . . 317
CHAPTER 17
Using Layer Diagrams to Model and
Enforce Application Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 343
▸ PART V
SOFTWARE DEVELOPMENT
CHAPTER 18
Introduction to Software Development . . . . . . . . . . . . . . . . . . . . . 357
CHAPTER 19
Unit Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
CHAPTER 20
Code Analysis, Code Metrics, Code Clone Analysis,
and CodeLens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
CHAPTER 21
Profiling and Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
CHAPTER 22
Debugging with IntelliTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
▸ PART VI TESTING
CHAPTER 23
Introduction to Software Testing . . . . . . . . . . . . . . . . . . . . . . . . . . 489
CHAPTER 24
Manual Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
CHAPTER 25
Coded User Interface Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
CHAPTER 26
Web Performance and Load Testing . . . . . . . . . . . . . . . . . . . . . . . . 563
CHAPTER 27
Lab Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
www.it-ebooks.info
ffi rs.indd 03/04/2014 Page ii
PROFESSIONAL
Application Lifecycle Management
with Visual Studio® 2013
www.it-ebooks.info
ffi rs.indd 03/04/2014 Page iii
www.it-ebooks.info
PROFESSIONAL
Application Lifecycle Management
with Visual Studio® 2013
Mickey Gousset
Martin Hinshelwood
Brian A. Randell
Brian Keller
Martin Woodward
www.it-ebooks.info
ffi rs.indd 03/04/2014 Page v
Professional Application Lifecycle Management with Visual Studio® 2013
Published by
John Wiley & Sons, Inc.
10475 Crosspoint Boulevard
Indianapolis, IN 46256
www.wiley.com
Copyright © 2014 by John Wiley & Sons, Inc., Indianapolis, Indiana
Published simultaneously in Canada
ISBN: 978-1-118-83658-3
ISBN: 978-1-118-83636-1 (ebk)
ISBN: 978-1-118-83659-0 (ebk)
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means,
electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108
of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization
through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers,
MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the
Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201)
748-6008, or online at />Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with
respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties, including
without limitation warranties of fitness for a particular purpose. No warranty may be created or extended by sales or
promotional materials. The advice and strategies contained herein may not be suitable for every situation. This work is
sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional services. If professional assistance is required, the services of a competent professional person should be sought. Neither the
publisher nor the author shall be liable for damages arising herefrom. The fact that an organization or Web site is referred
to in this work as a citation and/or a potential source of further information does not mean that the author or the
publisher endorses the information the organization or Web site may provide or recommendations it may make. Further,
readers should be aware that Internet Web sites listed in this work may have changed or disappeared between when this
work was written and when it is read.
For general information on our other products and services please contact our Customer Care Department within the
United States at (877) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002.
Wiley publishes in a variety of print and electronic formats and by print-on-demand. Some material included with standard
print versions of this book may not be included in e-books or in print-on-demand. If this book refers to media such as a CD
or DVD that is not included in the version you purchased, you may download this material at http://booksupport
.wiley.com. For more information about Wiley products, visit www.wiley.com.
Library of Congress Control Number: 2013958303
Trademarks: Wiley, Wrox, the Wrox logo, Programmer to Programmer, and related trade dress are trademarks or registered
trademarks of John Wiley & Sons, Inc. and/or its affi liates, in the United States and other countries, and may not be used
without written permission. Visual Studio is a registered trademark of Microsoft Corporation. All other trademarks are the
property of their respective owners. John Wiley & Sons, Inc., is not associated with any product or vendor mentioned in
this book.
www.it-ebooks.info
ffi rs.indd 03/04/2014 Page vi
To Amye, Emma, and Meg, the girls in my life.
I love you!
—Mickey Gousset
To Evangelina and Kaiden. Without whom I would be
lost at this time of great change.
—Martin Hinshelwood
To Juliane, Brent, and Nicole. I love you.
—Brian Randell
www.it-ebooks.info
ffi rs.indd 03/04/2014 Page vii
www.it-ebooks.info
ffi rs.indd 03/04/2014 Page viii
ABOUT THE AUTHORS
MICKEY GOUSSET is a Principal Consultant for Infront Consulting Group, a consult-
ing company focused on the Microsoft System Center family of products. He is one
of the original Microsoft Application Lifecycle Management MVPs, and co-author of
several books about ALM, including Professional Team Foundation Server (Wrox,
2006), Professional Application Lifecycle Management with Visual Studio 2010
(Wrox, 2010), and Professional Application Lifecycle Management with Visual Studio 2012 (Wrox,
2012). Gousset runs ALM Rocks! (www.almrocks.com), where he writes about Visual Studio, TFS,
and ALM in general. He speaks around the world on ALM and System Center topics. When not
writing or working with computers, Mickey enjoys a range of hobbies, from playing on Xbox Live
(Gamer Tag: HereBDragons) to participating in local community theatre. But nothing beats his
favorite pastime: spending time with Amye, Emma, Meg, and their four dogs, two cats, and one fish.
MARTIN HINSHELWOOD is the Principal Consultant for naked ALM Consulting, a
technical and management consultancy based in Scotland that focuses on Visual
Studio ALM, TFS, and Scrum. He has been a Visual Studio ALM MVP for six years
running and was even ALM MVP of the Year in 2011. As well as working with the
Visual Studio ALM Rangers and being an ALM Ranger Champion in 2011, Martin
participates in the lean-agile community. Martin has been a Professional Scrum Trainer with
Scrum.org since early 2010. He regularly teaches Scrum courses around the world and works as an
Engagement Manager for Agility Path. Somehow he also fi nds time to maintain his blog
( and a YouTube Channel, and even speaks at many events around
the world ( In his spare time Martin can be found on excursions with his favourite people (Evangelina and Kaiden) and occasionally on Xbox
( />BRIAN RANDELL is a Partner with MCW Technologies LLC. For more than 20 years
he has been building software solutions. He educates teams on Microsoft technologies via writing and training—both in-person and on demand. He speaks regularly
at shows small and large including Microsoft’s TechEd and PDC in the United States,
Europe, Africa, Australia, and New Zealand. He’s also a consultant for companies
small and large, worldwide, including Fortune 100 companies like Microsoft. Brian is a passionate
software craftsman who still enjoys coding as he helps teams to improve their processes from idea
to shipping, and to production management and monitoring. As a long time virtualization junkie,
Brian’s an expert in Hyper-V and Lab Management. In addition, he’s become obsessed over the last
few years with natural user interfaces and how to create compelling user experiences regardless of
platform. In early 2010, he toured the world hitting most of the continents (sadly no penguins were
trained) prepping Microsoft employees and Microsoft partners for the Microsoft Visual Studio 2010
launch. In 2012, he and his team built some of the fi rst training content and demos for Microsoft
using Visual Studio 2012, Team Foundation Server 2012, and Windows 8. For the 2013 release, he
continued building new ALM content for use worldwide by Microsoft and its partners. He’s been a
www.it-ebooks.info
ffi rs.indd 03/04/2014 Page ix
Microsoft MVP in developer related technologies for more than 10 years and is currently a Visual
Studio ALM MVP. When not working, Brian enjoys spending time with his wife and two children
who enjoy making him look bad on the Xbox One (with and without Kinect).
BRIAN KELLER is a Director for Microsoft, specializing in Visual Studio and application lifecycle management. He has been with Microsoft since 2002 and has presented
at conferences around the world, including TechEd, PDC, and Build. Outside of work
he enjoys spending time with his lovely wife Elisa and their awesome son Paxton.
MARTIN WOODWARD is a Senior Program Manager on the Team Foundation Server
team at Microsoft. Previously, Woodward was also Team System Most Valuable
Professional (MVP) of the year. Not only does he bring unique insight into the inner
workings of Team Foundation Server, he brings a cross-platform perspective that he is
always happy to share through his writings, on his blog at www. woodwardweb.com, or
when speaking at events internationally. Martin also co-authored Professional Application Lifecycle
Management with Visual Studio 2010 (Wrox, 2010), Professional Team Foundation Server 2010
(Wrox, 2011), Professional Application Lifecycle Management with Visual Studio 2012 (Wrox,
2012), and Professional Team Foundation Server 2012 (Wrox, 2013).
www.it-ebooks.info
ffi rs.indd 03/04/2014 Page x
CREDITS
EXECUTIVE EDITOR
BUSINESS MANAGER
Robert Elliott
Amy Knies
PROJECT EDITOR
VICE PRESIDENT AND EXECUTIVE
GROUP PUBLISHER
Tom Dinse
Richard Swadley
TECHNICAL EDITOR
Michael Fourie
ASSOCIATE PUBLISHER
Jim Minatel
TECHNICAL PROOFREADER
Anthony Borton
PROJECT COORDINATOR, COVER
Todd Klemme
PRODUCTION EDITOR
Daniel Scribner
PROOFREADER
Sarah Kaikini, Word One
COPY EDITOR
Kezia Endsley
INDEXER
Johnna van Hoose Dinse
MANAGER OF CONTENT DEVELOPMENT
AND ASSEMBLY
COVER DESIGNER
Mary Beth Wakefield
Wiley
DIRECTOR OF COMMUNIT Y MARKETING
COVER IMAGE
David Mayhew
©iStockphoto.com/IS_ImageSource
MARKETING MANAGER
Ashley Zurcher
www.it-ebooks.info
ffi rs.indd 03/04/2014 Page xi
www.it-ebooks.info
ffi rs.indd 03/04/2014 Page xii
ACKNOWLEDGMENTS
I’M FORTUNATE TO BE SURROUNDED by ALM MVPs who make my life much easier. Brian Randell
and Martin Hinshelwood, thank you for taking this journey with me. You both have created some
amazing content in this book, and it is much better for it. And we are even closer friends because
of it. Mike Fourie, I just don’t know what to say. You are the most amazing technical editor I have
had. You have the ability to point out all the things I missed, without making me look bad. And
your depth of knowledge is astounding. Anthony Borton, thank you for all your help and assistance
with the book. To our editors Bob Elliot and especially Tom Dinse, thank you so much for keeping
us on track and schedule, and working with us when “stuff” happens. Tom, you are an amazing editor that I would write a book with anytime. And fi nally, to Amye, Emma (14), and Meg (10), thank
you for putting up with my schedule and my late hours in getting this project completed. I could not
have done it without your love and support.
—Mickey Gousset
WITH THE MANY CHANGES IN THE LAST SIX MONTHS I don’t know where to start or why I agreed to
write a book of all things. I want to thank my parents Anne and John for helping me settle back into
Scotland (it was quite a shock after three years in Seattle), without you guys I would not have been
able to start my own business. My wonderful kids Evangelina (6) and Kaiden (4) for their patience
and distraction from the world around us, you make it all worth it. Finally I want to thank Mickey
Gousset and Brian Randell for putting up with my newbie questions and issues, and Mike Fourie for
taking it easy with the technical editing.
—Martin Hinshelwood
FIRST, TO MY DEAR FRIEND MICKEY for asking me to join him. We keep fi nding new ways to have
fun. To Mr. Hinsh, I’ve enjoyed getting to know you better and look forward to many more friendly
exchanges; exchanges only friends have. Mr. Keller, I still think fondly about fi rst working with
you when you were a Product Manager and the fun we had on your fi rst tour of duty outside the
Unites States speaking. Congratulations on being a husband and father, it suites you. And to Mr.
Woodward, what can I say mate? I only wish Ballycastle were up the road for me too. That said,
every visit we have is warm and wonderful no matter what part of the globe we’re at. All four of you
made this book better and I thank you for having me on the journey. Thank you to everyone at Wrox
especially Bob Elliot, Tom Dinse, and Kezia Endsley. Your editorial guidance and continued pokes
as well as catching all the little things, got this book done in fine shape. Thank you. To our technical editor Mike Fourie, you continue to amaze me with your work ethic and I know the book is 100
www.it-ebooks.info
ffi rs.indd 03/04/2014 Page xiii
times better due to your keen eye. And I can’t leave out my dear Aussie friend Anthony Borton, who
took on the job of “one more read” before we published to make sure we didn’t write something stupid. Thank you. Of course, any errors are those of myself and my co-authors. Throw stones our way.
Beyond those who were directly involved in the project, I have a few people I must mention who
have influenced my writing and general geekiness. To my business partner Ken Getz—you’ve done
more for me than you’ll ever know. I’m a better human because of you. Thank you. To Dave and
Barbara Brady who gave me my fi rst “computer” job. You gave me more than a job. You put me on
the path to a career I love. Thank you. To Ian Griffiths, you’re an inspiration to work with but a
better friend to break bread with—I look forward to more fun in the future. To Matt Nunn, from
our fi rst fun in Australia to the wonderful solutions we’ve built, it’s been great working on the “art
of the possible.” To Jon Flanders, I know at your wedding you said you still didn't like me. That's
OK. I'll take what I can get. And to Mr. Brian Harry. It started with Visual SourceSafe. You wrote
that automation interface one summer and I was lucky to work with you. Your work ethic inspires
as does your dedication to customer and craft. Thank you for always being there.
To my fi rst set of co-authors on my fi rst published book: Dr. Joe Hummel, Justin Gehtland, Jason
Masterman, and Ted Pattison. Gents, there are times in your life that you wonder what you were
thinking. That book hurt, but everything has a purpose. I said never again but I did and the lessons
learned helped. Beyond that book however, all of our teaching together, the Guerilla events, and all
the other “fun” continues to warm my heart with great memories when I think of each of you.
All the things I know about Visual Studio and TFS come from hard work and having a cadre of
wonderful people to answer questions. This includes two special groups to me: Microsoft employees in DevDiv and the Microsoft ALM MVPs. Over the years countless e-mails, IM conversations,
and phone calls have been exchanged as well as many wonderful face-to-face conversations (even
the ones that were loud). Thank you. I can’t thank you all individually, but I do want to highlight
a few in particular from Microsoft working on ALM and TFS, including Doug Seven, David Starr,
Larry Guger, Grant Holliday, William Bartholomew, Rob Caron, Chuck Sterling, Chris Patterson,
Peter Provost, Buck Hodges, Aaron Bjork, Justin Marks, Jamie Cool, Jeff Behler, Ed Holloway, Ed
Blankenship, Ewald Hofman, Matthew Mitrik, Philip Kelley, Chad Boles, Sean McBreen, Tracy
Trewin, Will Smythe, Ravi Shanker, Vijay Machiraju, and Subrahmanyam Veera Mandavilli. To my
fellow MVPs, you’re all wonderful, I’m lucky to have you as peers and thank all of you for your help
but in particular want to call out Jeff Levinson, Neno Loje, Richard Hundhausen, Adam Cogan,
Ben Day, David V. Corbin, Ognjen Bajic, Thomas Schissler, Jesse Houwing, Dylan Smith, Richard
Banks, and Jason Stangroome. Anyone not mentioned directly and forgotten, I’m sorry.
Finally, I need to thank my dear, lovely wife. You are my best friend. Even though you told me not
to write the book, you supported me when I did. Our house is a home because of you and I am a
lucky man to fi nd you here every time I come home from a trip. I see you in the eyes of our children
and that brings more joy than I would have ever imagined over twenty years ago when we fi rst met.
—Brian Randell
www.it-ebooks.info
ffi rs.indd 03/04/2014 Page xiv
CONTENTS
INTRODUCTION
xxix
CHAPTER 1: INTRODUCTION TO APPLICATION LIFECYCLE
MANAGEMENT WITH VISUAL STUDIO 2013
Application Lifecycle Management
Visual Studio 2013 Product Lineup
Application Lifecycle Management Challenges
Enter Visual Studio 2013
Application Lifecycle Management in Action
1
2
3
4
5
6
Requirements
System Design and Modeling
Code Generation
Testing
Feedback
Operations
Putting It into Context
6
7
7
7
8
8
8
Summary
8
PART I: TEAM FOUNDATION SERVER
CHAPTER 2: INTRODUCTION TO TEAM FOUNDATION SERVER
11
What Is Team Foundation Server?
Acquiring Team Foundation Server
12
13
Hosted Team Foundation Server
On-Premises Installation
13
15
Team Foundation Server Core Concepts
Team Foundation Server
Team Project Collection
Team Project
Teams
Process Templates
Work Item Tracking
Version Control
Team Build
15
16
16
17
20
21
22
23
25
www.it-ebooks.info
ftoc.indd 03/05/2014 Page xv
CONTENTS
Accessing Team Foundation Server
Accessing Team Foundation Server from Visual Studio
Accessing Team Foundation Server Through a Web Browser
Using Team Foundation Server in Microsoft Excel
Using Team Foundation Server in Microsoft Project
Command-Line Tools for Team Foundation Server
Accessing Team Foundation Server from Eclipse
Windows Explorer Integration with Team Foundation Server
Access to Team Foundation Server via Other Third-Party Integrations
What’s New in Team Foundation Server 2013
Version Control
Web Access
Agile Portfolio Management
Release Management
The Cloud
Adopting Team Foundation Server
Summary
CHAPTER 3: USING CENTRALIZED TEAM FOUNDATION
VERSION CONTROL
Team Foundation Version Control and
Visual SourceSafe (VSS) 2005
Setting Up Version Control
Using Source Control Explorer
Setting Up Your Workspace
Getting Existing Code
Sharing Projects in Version Control
Check-In Pending Changes
Checking In an Item
Creating and Administering Check-In Policies
Viewing History
Labeling Files
Shelving
27
29
30
31
31
31
32
32
33
33
33
33
34
34
34
36
37
39
40
41
42
43
45
48
50
54
57
58
59
Workspaces
Server Workspaces
Local Workspaces
61
64
65
Command-Line Tools
Branching and Merging
66
67
Branching Demystified
Common Branching Strategies
Summary
67
70
75
xvi
www.it-ebooks.info
ftoc.indd 03/05/2014 Page xvi
26
CONTENTS
CHAPTER 4: DISTRIBUTED VERSION CONTROL
WITH GIT AND TEAM FOUNDATION SERVER
Fundamentals of Distributed Version Control
with Git
Getting Started with the Visual Studio Tools for Git
Clone
Commit
Push, Pull, and Fetch
77
78
79
80
83
86
Merging Changes with Git and Visual Studio
Branch Creation
88
88
Summary
91
CHAPTER 5: TEAM FOUNDATION BUILD
Team Foundation Build
What’s New in Team Foundation Build 2013
Support for Git-based Repositories
Simplified Building and Testing of Windows Store Apps
MSTest Support Removed
Enhanced Hosted Build Services
Build Output Changes
Simplified Process Template
Built-in Support for Calling Scripts
Team Foundation Build Architecture
Working with Builds
Team Explorer
Build Explorer
Build Details View
Creating a Build Definition
Queuing a Build
Build Notifications
93
94
95
96
97
99
99
99
100
100
100
101
102
102
103
104
114
116
Team Build Process
118
Default Template Process
Build Process Parameters
119
119
Summary
125
CHAPTER 6: RELEASE MANAGEMENT
What Is Release Management?
Continuous Software Delivery
Defining a Release Pipeline
127
127
129
132
xvii
www.it-ebooks.info
ftoc.indd 03/05/2014 Page xvii
CONTENTS
Configuring for First Use
Introduction to Actions
Introduction to Release Paths
Creating Release Templates
Creating Releases
Approvals
Summary
133
135
137
142
148
149
151
CHAPTER 7: COMMON TEAM FOUNDATION SERVER
CUSTOMIZATIONS
Object Models
153
154
Client Object Model
Server Object Model
Build Process Object Model
Simple Object Model Example
Java SDK for TFS
Customizing Team Foundation Build
Creating Custom Build Process Templates
Creating Custom Build Workflow Activities
Customizing Team Foundation Version Control
Custom Check-in Policies
155
155
155
155
157
157
157
159
160
160
Team Foundation Server Event Service
Customizing Work Item Tracking
161
162
Modifying Work Item Type Definitions
Creating Custom Work Item Controls
162
163
Summary
163
PART II: BUILDING THE RIGHT SOFTWARE
CHAPTER 8: INTRODUCTION TO BUILDING THE RIGHT SOFTWARE 167
Stakeholders
Storyboarding
Capturing Stakeholder Feedback
Work Item Only View
Third-Party Requirements Management Solutions
TeamCompanion
TeamSpec
inteGREAT
173
174
174
Summary
176
xviii
www.it-ebooks.info
ftoc.indd 03/05/2014 Page xviii
169
170
171
172
173
CONTENTS
CHAPTER 9: STORYBOARDING
177
Why Storyboarding?
PowerPoint Storyboarding
177
179
Storyboard Shapes
Layouts
Screenshots
My Shapes
Animations
Hyperlinks
Storyboard Links
180
181
182
185
187
188
189
Summary
190
CHAPTER 10: CAPTURING STAKEHOLDER FEEDBACK
193
Requesting Feedback
Providing Feedback
194
195
Voluntary Feedback
199
Summary
199
PART III: PROJECT MANAGEMENT
CHAPTER 11: INTRODUCTION TO PROJECT MANAGEMENT
Project Management Enhancements in
Team Foundation Server 2013
Rich Work Item Relationships
Agile Planning Tools
Test Case Management
Feedback Management
Enhanced Reporting
SharePoint Server Dashboards
Work Items
203
204
204
205
207
207
208
208
209
Work Item Types
Areas and Iterations
209
211
Process Templates
214
MSF for Agile Software Development
MSF for CMMI Process Improvement
Visual Studio Scrum
Third-party Process Templates
Custom Process Templates
215
217
221
222
223
xix
www.it-ebooks.info
ftoc.indd 03/05/2014 Page xix
CONTENTS
Managing Work Items
223
Using Visual Studio
Using Microsoft Excel
Using Microsoft Project
Using Team Web Access
223
228
230
230
Project Server Integration
Summary
231
232
CHAPTER 12: AGILE PLANNING AND TRACKING
Defining a Team
Managing Portfolio Backlogs
Maintaining Product Backlogs
Planning Iterations
Tracking Work
Customization Options
Summary
CHAPTER 13: USING REPORTS, PORTALS, AND DASHBOARDS
Team Foundation Server Reporting
Working with Team Foundation Server Reports
Tools to Create Reports
Working with Microsoft Excel Reports
Working with RDL Reports
Summary
233
234
240
244
248
251
253
255
257
258
260
261
262
273
274
PART IV: ARCHITECTURE
CHAPTER 14: INTRODUCTION TO SOFTWARE ARCHITECTURE
Designing Visually
Microsoft’s Modeling Strategy
Understanding Model-Driven Development
Understanding Domain-Specific Languages
The “Code Understanding” Experience
The Architecture Tools in Visual Studio Ultimate 2013
Use Case Diagrams
Activity Diagrams
Sequence Diagrams
Component Diagrams
Class Diagrams
277
279
279
280
281
281
282
283
283
284
284
xx
www.it-ebooks.info
ftoc.indd 03/05/2014 Page xx
277
CONTENTS
Layer Diagrams
Architecture Explorer
286
286
What’s New with Architecture Tools in
Visual Studio Ultimate 2013
287
Code Maps
Visual Studio Visualization and Modeling SDK
287
288
Summary
288
CHAPTER 15: TOP-DOWN DESIGN WITH USE CASE, ACTIVITY,
SEQUENCE, COMPONENT, AND CLASS DIAGRAMS
Use Case Diagrams
289
290
Creating a Use Case Diagram
Use Case Diagram Toolbox
290
294
Activity Diagrams
295
Creating an Activity Diagram
Activity Diagram Toolbox
Adding an Activity Diagram to a Use Case Diagram
295
298
300
Sequence Diagrams
300
Creating a Sequence Diagram
Sequence Diagram Toolbox
300
303
Component Diagrams
304
Creating a Component Diagram
Component Diagram Toolbox
304
308
Class Diagrams
310
Creating a Class Diagram
Class Diagram Toolbox
Generating Code from a UML Class Diagram
311
312
314
Summary
315
CHAPTER 16: ANALYZING APPLICATIONS USING ARCHITECTURE
EXPLORER, DEPENDENCY GRAPHS, AND CODE MAPS
Understanding the Code Base
Architecture Explorer Basics
Understanding the Architecture Explorer Window
Architecture Explorer Options
Navigating Through Architecture Explorer
Exploring Options for Namespaces
Exploring Options for Classes
Exploring Options for Members
317
318
319
320
320
321
323
325
326
xxi
www.it-ebooks.info
ftoc.indd 03/05/2014 Page xxi
CONTENTS
Dependency Graphs
328
Creating the First Dependency Graph
Creating a Dependency Graph Without Architecture Explorer
Navigating Through Your Dependency Graph
Dependency Graph Legend
Dependency Graph Toolbar
The Code Index
Code Maps
Summary
328
329
331
334
335
336
337
341
CHAPTER 17: USING LAYER DIAGRAMS TO MODEL
AND ENFORCE APPLICATION ARCHITECTURE
Creating a Layer Diagram
Defining Layers on a Layer Diagram
Creating a Layer for a Single Artifact
Adding Multiple Objects to a Layer Diagram
The Layer Explorer
Defining Dependencies
Validating the Layer Diagram
Layer Diagrams and the Build Process
Summary
343
344
345
347
347
347
349
351
353
354
PART V: SOFTWARE DEVELOPMENT
CHAPTER 18: INTRODUCTION TO
SOFTWARE DEVELOPMENT
What’s New for Developers in Visual Studio 2013
Unit Testing
Code Analysis
CodeLens
Profiler
Advanced Debugging with IntelliTrace
Lightweight Code Commenting
My Work
358
358
359
359
359
360
361
362
Suspend and Resume
Code Review
363
364
Summary
367
xxii
www.it-ebooks.info
ftoc.indd 03/05/2014 Page xxii
357
CONTENTS
CHAPTER 19: UNIT TESTING
369
Unit Testing Concepts
370
Benefits of Unit Testing
Writing Effective Unit Tests
Third-Party Tools
370
371
372
Visual Studio Unit Testing
372
Creating Your First Unit Test
Managing and Running Unit Tests
Debugging Unit Tests
Programming with the Unit Test Framework
Initialization and Cleanup of Unit Tests
Using the Assert Methods
Using the CollectionAssert class
Using the StringAssert Class
Expecting Exceptions
Defining Custom Unit Test Properties
TestContext Class
Introduction to Microsoft Fakes
Choosing Between Stubs and Shims
Using Stubs
Using Shims
Using Test Adapters
Summary
373
376
377
377
377
380
383
385
386
386
387
387
388
389
391
393
394
CHAPTER 20: CODE ANALYSIS, CODE METRICS,
CODE CLONE ANALYSIS, AND CODELENS
The Need for Analysis Tools
What’s New for Code Analysis in Visual Studio 2013
Using Code Analysis
397
398
398
399
Built-in Code Analysis Rules
Code Analysis Rule Sets
Enabling Code Analysis
Executing Code Analysis
Working with Rule Violations
Using the Command-Line Analysis Tool
FxCopCmd Options
FxCopCmd Project Files
Build Process Code Analysis Integration
400
401
402
404
407
410
410
413
414
xxiii
www.it-ebooks.info
ftoc.indd 03/05/2014 Page xxiii