Product Cover Image

Agile Software Engineering with Visual Studio: From Concept to Continuous Feedback, 2nd Edition

By Sam Guckenheimer, Neno Loje

Published by Addison-Wesley Professional

Published Date: Sep 13, 2011

More Product Info


Using agile methods and the tools of Visual Studio 2010, development teams can deliver higher-value software faster, systematically eliminate waste, and increase transparency throughout the entire development lifecycle. Now, Microsoft Visual Studio product owner Sam Guckenheimer and leading Visual Studio implementation consultant Neno Loje show how to make the most of Microsoft’s new Visual Studio 2010 Application Lifecycle Management (ALM) tools in your environment.


This book is the definitive guide to the application of agile development with Scrum and modern software engineering practices using Visual Studio 2010. You’ll learn how to use Visual Studio 2010 to empower and engage multidisciplinary, self-managing teams and provide the transparency they need to maximize productivity. Along the way, Guckenheimer and Loje help you overcome every major impediment that leads to stakeholder dissatisfaction—from mismatched schedules to poor quality, blocked builds to irreproducible bugs, and technology “silos” to geographic “silos.”


Coverage includes
•┬┐Accelerating the “flow of value” to customers in any software project, no matter how large or complex
•┬┐Empowering high-performance software teams and removing overhead in software delivery
•┬┐Automating “burndowns” and using dashboards to gain a real-time, multidimensional view of quality and progress
•┬┐Using Visual Studio 2010 to reduce or eliminate “no repro” bugs
•┬┐Automating deployment and virtualizing test labs to make continuous builds deployable
•┬┐Using Test Impact Analysis to quickly choose the right tests based on recent code changes
•┬┐Working effectively with sources, branches, and backlogs across distributed teams
•┬┐Sharing code, build automation, test, project and other data across .NET and Java teams
•┬┐Uncovering hidden architectural patterns in legacy software, so you can refactor changes more confidently
•┬┐Scaling Scrum to large, distributed organizations


Whatever your discipline, this book will help you use Visual Studio 2010 to focus on what really matters: building software that delivers exceptional value sooner and keeps customers happy far into the future.

Table of Contents

Foreword     xvii
Preface     xix
Acknowledgements      xxvi
About the Authors     xxvii

Chapter 1: The Agile Consensus      1
The Origins of Agile     1
Agile Emerged to Handle Complexity     2
Empirical Process Models      4
A New Consensus     4
Scrum     6
An Example     12
Summary     15
End Notes     16

Chapter 2: Scrum, Agile Practices, and Visual Studio     19
Visual Studio and Process Enactment      20
Process Templates     21
Process Cycles and TFS     23
Inspect and Adapt     36
Task Boards     36
Kanban     38
Fit the Process to the Project     39
Summary     42
End Notes     43

Chapter 3: Product Ownership     45
What Is Product Ownership?     46
Scrum Product Ownership     50
Release Planning     51
Qualities of Service     63
How Many Levels of Requirements     67
Summary     70
End Notes     70

Chapter 4: Running the Sprint     73
Empirical over Defined Process Control     75
Scrum Mastery     76
Use Descriptive Rather Than Prescriptive Metrics     81
Answering Everyday Questions with Dashboards     86
Choosing and Customizing Dashboards     94
Using Microsoft Outlook to Manage the Sprint      95
Summary     96
End Notes     96

Chapter 5: Architecture     99
Architecture in the Agile Consensus      100
Exploring Existing Architectures     103
Summary     121
End Notes     123

Chapter 6: Development     125
Development in the Agile Consensus     126
The Sprint Cycle     127
Keeping the Code Base Clean     128
Detecting Programming Errors Early     135
Catching Side Effects     152
Preventing Version Skew     160
Making Work Transparent     168
Summary     169
End Notes     171

Chapter 7: Build and Lab     173
Cycle Time     174
Defining Done     175
Continuous Integration     177
Automating the Build     179
Elimination of Waste     196
Summary     201
End Notes     202

Chapter 8: Test     203
Testing in the Agile Consensus     204
Testing Product Backlog Items     207
Actionable Test Results and Bug Reports     212
Handling Bugs     218
Which Tests Should Be Automated?     219
Automating Scenario Tests     220
Load Tests, as Part of the Sprint     225
Production-Realistic Test Environments      230
Risk-Based Testing     232
Summary     235
End Notes     236

Chapter 9: Lessons Learned at Microsoft Developer Division     239
Scale     240
Business Background     241
Improvements After 2005     245
Results     254
Law of Unintended Consequences     255
What’s Next?     259
End Notes     259

Chapter 10: Continuous Feedback     261
Agile Consensus in Action     262
The Next Version     263
Product Ownership and Stakeholder Engagement     264
Staying in the Groove     270
Testing to Create Value     275
TFS in the Cloud     275
Conclusion     276
End Notes     279

Index     281