xxix CHAPTER 1 Introduction to Application Lifecycle Management with Visual Studio 2013.. He is one consult-of the original Microsconsult-oft Application Lifecycle Management MVPs, and
Trang 3WITH 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
Trang 4Component, 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 Profi ling 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
Trang 5with Visual Studio ® 2013
Trang 7with Visual Studio ® 2013
Mickey Gousset Martin Hinshelwood Brian A Randell Brian Keller Martin Woodward
Trang 8Indianapolis, IN 46256
www.wiley.com
Copyright © 2014 by John Wiley & Sons, Inc., Indianapolis, Indiana
Published simultaneously in Canada
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 specifi cally disclaim all warranties, including without limitation warranties of fi tness 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 ser- vices 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.
Trang 9To 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
Trang 11MICKEY GOUSSET is a Principal Consultant for Infront Consulting Group, a ing company focused on the Microsoft System Center family of products He is one
consult-of the original Microsconsult-oft Application Lifecycle Management MVPs, and co-author consult-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 fi sh
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
(http://nkdalm.net/MrHinshBlog) and a YouTube Channel, and even speaks at many events around the world (http://nkdalm.net/MrHinshEvents.) In his spare time Martin can be found on excur-sions with his favourite people (Evangelina and Kaiden) and occasionally on Xbox
(http://nkdalm.net/MrHinshOnXbox)
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 gies via writing and training—both in-person and on demand He speaks regularly
technolo-at shows small and large including Microsoft’s TechEd and PDC in the United Sttechnolo-ates, 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
Trang 12tion 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).
Trang 13Mary Beth Wakefi eld
DIRECTOR OF COMMUNIT Y MARKETING
Trang 15I’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 tor 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
edi-—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 fi ne shape Thank you To our
Trang 16techni-have infl uenced 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 Griffi ths, 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 employ-ees 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
Trang 17INTRODUCTION xxix
CHAPTER 1: INTRODUCTION TO APPLICATION LIFECYCLE
PART I: TEAM FOUNDATION SERVER
Trang 18Accessing Team Foundation Server 26Accessing Team Foundation Server from Visual Studio 27Accessing Team Foundation Server Through a Web Browser 29Using Team Foundation Server in Microsoft Excel 30Using Team Foundation Server in Microsoft Project 31Command-Line Tools for Team Foundation Server 31Accessing Team Foundation Server from Eclipse 31Windows Explorer Integration with Team Foundation Server 32Access to Team Foundation Server via Other Third-Party Integrations 32
Trang 19CHAPTER 4: DISTRIBUTED VERSION CONTROL
Fundamentals of Distributed Version Control
Getting Started with the Visual Studio Tools for Git 79
Clone 80
Commit 83
Summary 91
Simplifi ed Building and Testing of Windows Store Apps 97
Summary 125
Trang 20Confi guring for First Use 133
Approvals 149Summary 151
CHAPTER 7: COMMON TEAM FOUNDATION SERVER
CUSTOMIZATIONS 153
Creating Custom Build Workfl ow Activities 159
Summary 163
PART II: BUILDING THE RIGHT SOFTWARE
CHAPTER 8: INTRODUCTION TO BUILDING THE RIGHT SOFTWARE 167
Stakeholders 169 Storyboarding 170
TeamCompanion 173TeamSpec 174inteGREAT 174Summary 176
Trang 21PART III: PROJECT MANAGEMENT
Project Management Enhancements in
Trang 22Managing Work Items 223
Summary 232
Summary 255
Summary 274
PART IV: ARCHITECTURE
The Architecture Tools in Visual Studio Ultimate 2013 281
Trang 23Layer Diagrams 286
What’s New with Architecture Tools in
Visual Studio Visualization and Modeling SDK 288
Summary 288
CHAPTER 15: TOP-DOWN DESIGN WITH USE CASE, ACTIVITY,
Adding an Activity Diagram to a Use Case Diagram 300
Generating Code from a UML Class Diagram 314
Summary 315
CHAPTER 16: ANALYZING APPLICATIONS USING ARCHITECTURE
Understanding the Architecture Explorer Window 320
Navigating Through Architecture Explorer 321
Trang 24Dependency Graphs 328
Creating a Dependency Graph Without Architecture Explorer 329Navigating Through Your Dependency Graph 331
Summary 341
CHAPTER 17: USING LAYER DIAGRAMS TO MODEL
Adding Multiple Objects to a Layer Diagram 347
Summary 367
Trang 25CHAPTER 19: UNIT TESTING 369
Initialization and Cleanup of Unit Tests 377
Summary 394
CHAPTER 20: CODE ANALYSIS, CODE METRICS,
What’s New for Code Analysis in Visual Studio 2013 398
Trang 26Creating Code Analysis Rules 414
Reviewing the Code Clone Analysis Results 418
Excluding Items from Code Clone Analysis 419
Summary 423
What’s New in Profi ling with Visual Studio 2013 427
Confi guring a NET Memory Allocation Session 446Confi guring a Concurrency Profi ling Session 446
Reading and Interpreting Session Reports 450
Trang 27Collecting Detailed Information 472
Installing the IntelliTrace Standalone Collector 481
Confi guring IntelliTrace PowerShell Commandlets 482
Summary 484
PART VI: TESTING
Supported Technologies for Action Recordings 529
Trang 28CHAPTER 25: CODED USER INTERFACE TESTING 537
Creating Coded UI Tests Using the Coded UI Test Builder 542
Web Performance Tests versus Coded UI Tests 564
Confi guring Web Performance Test Run Settings 569
Viewing and Interpreting Load Test Results 598
Trang 29Confi guring Agents 603
Cloud-Based Load Testing with Visual Studio Online 603
Summary 607
Agents 611
Summary 631
INDEX 633
Trang 31OVER THE LAST 15 YEARS, Microsoft’s software development tooling has matured to address not only the needs of the lone programmer, but the needs of an entire software development team This includes business analysts, project managers, architects, testers, programmers, managers, stakehold-ers, and even operations personnel who deploy and maintain applications This book was written to help teams understand and adopt these tools with the end goal of making them more cohesive and productive, and ultimately to produce higher-quality software on time and on budget.
Whether you already own Visual Studio 2013, or are considering purchasing it, this book will help you evaluate and adopt the right tools for your project This book considers all of the roles that make up a modern software development project The tools and technologies that are relevant to each role are examined in detail, including walk-throughs, which will help you learn and apply each tool within your team
WHO THIS BOOK IS FOR
This book primarily targets teams of professionals in the fi eld of commercial or enterprise software development — in other words, intermediate to advanced users You are likely to fi nd this book use-ful if you are any of the following:
➤ A developer, tester, or architect who wants to learn how the Visual Studio 2013 family of products can help you perform your job
➤ A project manager who must manage a software development project
This book is not designed for the absolute beginner The focus is on practical application of the tools, code samples, and hands-on scenarios The book’s organization makes it easy to use as
a step-by-step guide and as a reference for modeling, designing, testing, and coordinating enterprise solutions at every level
Visual Studio 2013 is designed for software teams of all sizes So, whether you have a team of 5
or 2,000 members, this book includes useful information for you related to Visual Studio 2013 and application lifecycle management Unlike most Wrox books, this book targets all roles in the software development organization — architects, developers, testers, project leads, and manage-ment — not just developers
Trang 32WHAT THIS BOOK COVERS
This book includes a complete overview of the application lifecycle management capabilities of Visual Studio 2013 The book is divided into six main parts, based around the different aspects
of application lifecycle management:
➤ Part I: Team Foundation Server
➤ Part II: Building the Right Software
➤ Part III: Project Management
➤ Part IV: Architecture
➤ Part V: Software Development
➤ Part VI: Testing
Part I: Team Foundation Server
Because Team Foundation Server is at the heart of Microsoft’s application lifecycle management solution, this book starts with an examination of its capabilities It discusses the architecture of Team Foundation Server 2013, and then delves into the version control system and some best prac-tices surrounding branching and merging using Team Foundation Server There is an in-depth look
at the automated build process — Team Foundation Build — followed by a detailed look at how release management works in Team Foundation Server Finally, you are presented with some exam-ples of common customizations you can make to Team Foundation Server
Part II: Building the Right Software
Microsoft’s application lifecycle management offerings in Visual Studio 2013 have expanded to recognize the role that stakeholders play in the software development process Stakeholders could
be future end users of an application, the decision makers who are authorizing payment for an cation, lawyers who need to approve applications for regulatory requirements, or any number of people external to the development team who have a vested interest in the outcome of a particular development project In this section of the book, you fi nd out about new tools available to engage with stakeholders early and often throughout the development process These tools can lead to higher-quality software that is more likely to meet expectations and deliver continuous value while minimizing the amount of rework required
appli-Part III: Project Management
This section of the book deals with the project and process management functionality of Visual Studio 2013 and Team Foundation Server 2013 This section examines the process templates that ship with the product, and it covers the web-based agile planning and tracking capabilities Part III also discusses the reports that ship with Team Foundation Server Whether you are practicing
a lightweight development methodology such as Scrum, or a more formal, rigorous development
Trang 33process, you will discover that Team Foundation Server will provide you with the tooling you need
to manage your projects
Part IV: Architecture
This section of the book examines the tools available in Visual Studio 2013 for defi ning and lyzing application architecture After a brief introduction to architecture concepts, the discussion dives into all the new UML tools available, including use case diagrams, activity diagrams, sequence diagrams, class diagrams, and component diagrams You then learn about the Architecture Explorer and how you can use it to understand the architecture of your application Finally, this section wraps up with a discussion of layer diagrams
ana-Part V: Software Development
This section of the book covers topics of most interest to a software developer using Visual Studio
2013 The topics selected for this section of the book pertain most to building either complex applications or working with teams For example, the section explains how unit testing, static code analysis, profi ling, code coverage, and code clone analysis features are ways to improve your appli-cation’s overall quality and maintainability Part V also discusses the built-in code review capability and how you can use it to collaborate with other developers You fi nd out how the ability to suspend and resume work in progress makes it easier to deal with interruptions Finally, this section pro-vides in-depth coverage of debugging applications with IntelliTrace, including a new way of using IntelliTrace for debugging applications in a production environment
Part VI: Testing
Visual Studio 2013 has numerous tools available for testers to use The examination starts with a look at the manual testing functionality available in Microsoft Test Manager, as well as the ability
to automate user interface tests with coded user interface tests Web performance testing and load testing enable you to create tests that can help you ensure that users of your website will experience the best possible performance, even under heavy load You’ll learn about the new cloud-based load testing features The section concludes with a look at the improved lab management capabilities of Visual Studio 2013, which enable you to make use of physical or virtual environments that you can use to automate build-deploy-test workfl ows
TEAM FOUNDATION SERVER ADMINISTRATORS
If you are the person on your team who is responsible for administering your Team Foundation Server
deployment, you should consider purchasing this book as well as its sister book — Professional Team
Foundation Server 2013 by Steven St Jean, Damian Brady, Ed Blankenship, Martin Woodward, and
Grant Holliday (Wrox, 2014 ISBN 978-1-118-83634-7) — which dives deeper into setup, confi ration, and administration of Team Foundation Server 2013 You fi nd out more about the possible deployment topologies you can choose from, how to make changes to process templates, advanced secu-
Trang 34To help you get the most from the text and keep track of what’s happening, we’ve used a number of conventions throughout the book
WARNING Boxes like this one hold important, not-to-be forgotten information
that is directly relevant to the surrounding text.
NOTE Notes, tips, hints, and tricks are offset and placed in italics like this.
SIDEBAR
Asides to the current discussion are offset like this
As for styles in the text:
➤ We italicize new terms and important words when we introduce them.
➤ We show keyboard strokes like this: Ctrl+A
➤ We show fi le names, URLs, and code within the text like so: persistence.properties
➤ We present code in two different ways:
We use a monofont type with no highlighting for most code examples.
We use boldface to emphasize code that is particularly important in the present context.
SOURCE CODE
As you work through the examples in this book, you may choose either to type in all the code manually, or to use the source code fi les that accompany the book All the source code used in this book is available for download at www.wrox.com/go/proalm3ed You can also search for the book
at www.wrox.com When you’re at the site, simply locate the book’s title (either by using the Search box, or by using one of the title lists) and click the Download Code link on the book’s detail page to obtain all the source code for the book
Trang 35NOTE Because many books have similar titles, you may fi nd it easiest to search
by ISBN; this book’s ISBN is 978-1-118-83658-3.
Alternatively, you can go to the main Wrox code download page at www.wrox.com/dynamic/books/download.aspx to see the code available for this book and all other Wrox books After you download the code, just decompress it with your favorite compression tool
ERRATA
We make every effort to ensure that there are no errors in the text or in the code However, no one
is perfect, and mistakes do occur If you fi nd an error in one of our books, such as a spelling mistake
or a faulty piece of code, we would be very grateful for your feedback By sending in errata, you may save another reader hours of frustration, and you will be helping us provide even higher quality information
To fi nd the errata page for this book, go to www.wrox.com and locate the title using the Search box
or one of the title lists Then, on the book details page, click the Book Errata link On this page, you can view all errata that has been submitted for this book and posted by Wrox editors
NOTE A complete book list including links to errata is also available at
www.wrox.com/misc-pages/booklist.shtml.
If you don’t spot “your” error on the Book Errata page, go to www.wrox.com/contact
/techsupport.shtml and complete the form to alert us to the error you have found We’ll check the information and, if appropriate, post a message to the book’s errata page and fi x the problem
in subsequent editions of the book
P2P.WROX.COM
For author and peer discussion, join the P2P forums at http://p2p.wrox.com The forums are a web-based system for you to post messages relating to Wrox books and related technologies, and to interact with other readers and technology users The forums offer a subscription feature to email you topics of your choosing when new posts are made to the forums Wrox authors, editors, other industry experts, and your fellow readers are present on these forums
Trang 36At http://p2p.wrox.com, you can fi nd several forums that will help you not only as you read the book, but also as you develop your own applications To join the forums, just follow these steps:
1. Go to http://p2p.wrox.com and click the Register link
2. Read the terms of use and click Agree
3. Complete the required information to join, as well as any optional information you want to provide, and click Submit
4. You will receive an email message with information describing how to verify your account and complete the joining process
You can read messages in the forums without joining P2P, but in order to post your own messages, you must join
After you join, you can post new messages and respond to messages other users post You can read messages at any time on the web If you would like to have new messages from a particular forum emailed to you, click the Subscribe to this Forum icon by the forum name in the forum listing.For more information about how to use the Wrox P2P, be sure to read the P2P FAQs for answers to questions about how the forum software works, as well as many common questions specifi c to P2P and Wrox books To read the FAQs, click the FAQ link on any P2P page
Trang 37Introduction to Application
Lifecycle Management with
Visual Studio 2013
WHAT’S IN THIS CHAPTER?
➤ Defi ning application lifecycle management
➤ Learning about the Visual Studio 2013 product family
➤ Seeing ALM in action using Visual Studio Ultimate 2013
In June of 1999, Microsoft started to re-evaluate how Visual Studio was being used as part
of the software development process Microsoft was continuing to serve the needs of an individual programmer through the highly productive “code-focused rapid-application-devel-opment” features of Visual Studio, but wasn’t doing much to help programmers work together
as a team And what about software architects—how should they be working with the gramming team? And what about testers and project managers?
pro-Many teams had begun to set up their own solutions using a mixture of third-party, in-house, and vendor-provided tools to address such challenges as version control, bug tracking, and team communications But this mishmash of tools can be tricky to set up and maintain, and even more diffi cult to integrate and report across Microsoft sought to address this challenge
by providing an integrated set of tools designed to address the needs of the entire software development team Thus, Visual Studio Team System was born, and was fi rst released with the Visual Studio 2005 product line
At the heart of Team System, Team Foundation Server was created to provide a hub for all
members of the development team to collaborate Team Foundation Server is uniquely tioned from its predecessors across the industry by being the fi rst tool of its kind built from
posi-1
Trang 38been offered as standalone tools Team Foundation Server provides a unifi ed solution for storing source code (along with a history of changes), work item tracking (which can include bugs, require-ments, and so on), and automated builds By providing a single solution with all of these capabilities, Microsoft delivered the ability to link all these artifacts for end-to-end traceability, reporting, pro-cess enforcement, and project management.
Team System also included “client” functionality, which surfaced in the various editions of Visual Studio development tools Visual Studio seamlessly integrated with Team Foundation Server, but much of this tooling could also be used independently or with third-party source control solutions Visual Studio Team System also introduced role-specifi c tooling that lived outside of the core Visual Studio development environment by recognizing that team members such as project managers are oftentimes more comfortable using tools such as Excel or Project, both of which could be used to manage and track work that lived in Team Foundation Server
Team System was built from a foundation of tools and technologies that Microsoft had been using internally for many years to build some of the most complex software projects ever undertaken Team System appealed not only to programmers, but to all members of the development team—architects, application developers, database developers, and project managers
Three years later, Visual Studio Team System 2008 evolved from the previous version to include even more tools and functionality for all members of the project team to use Two years after that, Visual Studio 2010 added even more functionality, including an entirely new set of tools for general-ist testers (also referred to as manual testers), bringing a new audience of prospective users into the same set of tooling used by the rest of the team
APPLICATION LIFECYCLE MANAGEMENT
Along with the release of Visual Studio 2010, Microsoft also stopped using the sub-brand “Team System” to describe these capabilities Instead, Microsoft started referring to these tools as the
application lifecycle management (also referred to as ALM) capabilities of Visual Studio
Application lifecycle management is a term that has gained momentum in the development industry
to describe the way an application is managed from its conception, through its creation and ment, to its eventual retirement
deploy-It is important to note that application lifecycle management is a more comprehensive concept than
its popular predecessor, software development lifecycle (SDLC) SDLC is primarily focused on the
core coding activities that comprise the creation of an application’s life, beginning with a ment for an application and ending when that application is built and delivered Application lifecycle management recognizes that requirements aren’t simply born out of thin air They evolve based on business needs, or ideas for new opportunities, and stakeholders who are considered external to the development team may still play a role during the development of an application in helping to refi ne requirements and provide feedback on implementations Application lifecycle management also recognizes that a development team’s job isn’t done the moment they hand off a “fi nished” applica-tion The development team will likely be called upon to help troubleshoot the application when things go wrong in the deployed environment, or to create subsequent versions of the applica-tion based on feedback from users or analytics from the operations team Visual Studio itself has
Trang 39require-matured over time to grow from being a tool targeted squarely at programmers during the software development lifecycle to becoming a true solution for end-to-end application lifecycle management.
VISUAL STUDIO 2013 PRODUCT LINEUP
Table 1-1 outlines the product lineup for Visual Studio 2013
TABLE 1-1: Visual Studio 2013 Product Lineup
Microsoft Visual Studio
Ultimate 2013 with
MSDN
The comprehensive suite of application lifecycle management tools for software teams to help ensure quality results from design to deployment
Microsoft Visual Studio
Microsoft Visual Studio
Express 2013 for Web
A free version of Visual Studio 2013 that provides the core tools for creating web applications and services
Microsoft Visual Studio
Microsoft Visual Studio
Team Foundation Server
2013
The server component for team development, version control, work item tracking, build automation, project management, lab manage-ment, and reporting
Microsoft Visual Studio
Team Foundation Server
Express 2013
A free edition of Team Foundation Server that provides most of the same capabilities (including version control, work item tracking, and build automation), with some limitations, for a team of up to fi ve users
Trang 40Visual Studio Premium contains all the functionality of Visual Studio Professional, and Visual Studio Ultimate contains all the functionality of Visual Studio Premium Visual Studio Premium and Ultimate also include all of the functionality available in Visual Studio Test Professional.
There are a few additional standalone tools and technologies that comprise the Visual Studio 2013 family that are not listed For example, in Chapter 10 you learn about the new Microsoft Feedback Client, which stakeholders use to provide rich feedback about an application that is stored in Team Foundation Server In Chapter 3, you learn about Team Explorer Everywhere, which Eclipse devel-opers use to work with Team Foundation Server You learn about these additional tools throughout this book, but Table 1-1 showcases the primary products that Microsoft markets as part of the Visual Studio 2013 product family
For a detailed breakdown of the functionality available in each product, a comparison chart is able at www.visualstudio.com
avail-NOTE Software licensing is potentially a complex topic It is important to
ensure that the members of your team are adequately licensed to use Visual
Studio and the related technologies that make up your development and testing
environments The Visual Studio Licensing whitepaper attempts to synthesize
all of the licensing requirements for Visual Studio, Team Foundation Server, and
related technologies into an easy-to-read format You can fi nd the latest
ver-sion of the Visual Studio Licensing whitepaper at http://www.microsoft.com/
visualstudio/licensing.
APPLICATION LIFECYCLE MANAGEMENT CHALLENGES
Software developers share common challenges, regardless of the size of their teams Businesses require a high degree of accountability—software must be developed in the least amount of time, and there is no room for failure
Some of these challenges include the following:
➤ Tool integration problems—Most tools commonly used by software development teams
come from third-party vendors Integrating with those tools can pose a major challenge—in many cases, it requires duplicating or copying data into multiple systems Each application has a learning curve, and transmitting information from one application to another (incom-patible) application can be frustrating and time consuming
➤ Geographically distributed teams—Many development and management tools don’t scale
for geographically distributed teams Getting accurate reporting can be diffi cult, and there is often poor support for communication and collaborative tools As a result, requirements and specifi cations might be captured incorrectly, causing delays and introducing errors Global teams require solid design, process, and software confi guration management to be integrated into one package There aren’t many software packages that can deliver all these features,