SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This PDF will be accessible from your Account page after purchase and requires PDF reading software, such as Acrobat® Reader®.
The eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Use Visual Studio® Team Foundation Server 2012 and Agile Methods to Deliver Higher Value Software Faster
This is the definitive guide to applying agile development and modern software engineering practices with Visual Studio Team Foundation Server 2012—Microsoft’s complementary Application Lifecycle Management (ALM) platform. Written by the Microsoft Visual Studio product owner and a long-time Team Foundation Server implementation specialist, it focuses on solving real development challenges, systematically eliminating waste, improving transparency, and delivering better software more quickly and painlessly.
Coverage includes
• Accelerating the “flow of value” to customers, with a transparent backlog, PowerPoint Storyboarding, VS 2012 feedback requests, and a “usability lab” right into your customers’ hands
• Driving quality upstream to uncover hidden architectural patterns, ensure cleaner code, fix multiple recurring “cloned” bugs at once, ensure the definition of done with continuous integration and deployment in a reliable build process
• Eliminating “no repro” bugs with VS 2012’s six powerful mechanisms for more accurate fault identification and use of virtualized test environments
• Using Scrum or other Agile methods with Process Templates effectively across distributed teams in large organization by automating burndowns and dashboards to identify “early warning signals” of emerging problems with quality or maintainability
• Staying in the groove by storing the state of your work and environment with shelvesets, to let you handle interruptions smoothly
• Leveraging VS 2012’s new support for multiple Microsoft and open source unit testing frameworks in your IDE and continuous integration pipeline
• Performing exploratory testing to uncover bugs in surprising places and testing immersive Windows 8 apps
• Rapidly improving team development and collaboration with the hosted Team Foundation Service
Whatever your development role, this book will help you apply modern software development practices using Visual Studio Team Foundation Server 2012 to focus on what really matters: building software that begins delivering exceptional value sooner and keeps delighting customers far into the future.
Forewords xii
Preface xvi
Acknowledgments xxiii
About the Authors xxiv
1 The Agile Consensus 1
The Origins of Agile 2
Agile Emerged to Handle Complexity 2
Empirical Process Models 4
A New Consensus 5
Scrum 6
An Example 12
Self-Managing Teams 14
Summary 15
Endnotes 16
2 Scrum, Agile Practices, and Visual Studio 19
Visual Studio and Process Enactment 20
Process Templates 21
Process Cycles and TFS 24
Inspect and Adapt 37
Task Boards 37
Kanban 38
Fit the Process to the Project 39
Summary 42
Endnotes 43
3 Product Ownership 45
What Is Product Ownership? 46
Scrum Product Ownership 50
Release Planning 51
Qualities of Service 69
How Many Levels of Requirements 73
Summary 75
Endnotes 75
4 Running the Sprint 77
Empirical over Defined Process Control 78
Scrum Mastery 80
Use Descriptive Rather Than Prescriptive Metrics 86
Answering Everyday Questions with Dashboards 91
Choosing and Customizing Dashboards 98
Using Microsoft Outlook to Manage the Sprint 100
Summary 101
Endnotes 101
5 Architecture 103
Architecture in the Agile Consensus 104
Exploring Existing Architectures 107
Summary 124
Endnotes 126
6 Development 129
Development in the Agile Consensus 130
The Sprint Cycle 131
Keeping the Codebase Clean 132
Staying “in the Groove” 139
Detecting Programming Errors Early 143
Catching Side Effects 154
Preventing Version Skew 162
Making Work Transparent 170
Summary 171
Endnotes 173
7 Build and Lab 175
Cycle Time 176
Defining Done 177
Continuous Integration 179
Automating the Build 181
Automating Deployment to Test Lab 186
Elimination of Waste 199
Summary 203
Endnotes 204
8 Test 207
Testing in the Agile Consensus 208
Testing Product Backlog Items 211
Actionable Test Results and Bug Reports 215
Handling Bugs 223
Which Tests Should Be Automated? 223
Automating Scenario Tests 224
Load Tests, as Part of the Sprint 228
Production-Realistic Test Environments 234
Risk-Based Testing 236
Summary 238
Endnotes 239
9 Lessons Learned at Microsoft Developer Division 241
Scale 242
Business Background 243
Improvements after 2005 247
Results 256
Acting on the Agile Consensus 256
Lessons Learned 258
The Path to Visual Studio 2012 262
Endnotes 263
10 Continuous Feedback 265
Agile Consensus in Action 266
Continuous Feedback Allows Build/Measure/Learn 267
There’s No Place Like Production 269
Summary 271
Endnotes 274
Index 275