Description
<>Make the Most of Visual Studio Team System in Real-World Agile DevelopmentVisual Studio Team System (VSTS) gives Microsoft development teams a powerful, integrated toolset for Agile development. Visual Studio Team System: Better Software Development for Agile Teams is a comprehensive, start-to-finish guide to making the most of VSTS in real-world Agile environments.
Using a book-length case study, the authors show how to use VSTS to improve every aspect of software development, step by step - from project planning through design and from coding through testing and deployment.
Agile consultant Will Stott and Microsoft development lead James Newkirk carefully integrate theory and practice, offering hands-on exercises, practical insights into core Extreme Programming (XP) techniques, and much more.
Coverage includes
* Using VSTS to support the transition to Agile values and techniques
* Forming Agile teams and building effective process frameworks
* Leveraging Team Foundation Version Control to help teams manage change and share their code effectively
* Implementing incremental builds and integration with Team Foundation Build
* Making the most of VSTS tools for Test-Driven Development and refactoring
* Bringing agility into software modeling and using patterns to model solutions more effectively
* Using the FIT integrated testing framework to make sure customers are getting what they need
* Estimating, prioritizing, and planning Agile projects
Preface
Acknowledgments
About the Authors
Introduction: Broken Process
Section 1: Apply Sharp Tools and Values
Chapter 1: Introduction to Visual Studio Team System
Chapter 2: Agile Values
Review of Section 1: Sharp Tools and Values
Section 2: Introduce Agile Development
Chapter 3: Overview of Agile Development
Chapter 4: Forming an Agile Team
Chapter 5: Team Foundation Process Frameworks
Chapter 6: Improving Your Process Framework
Review of Section 2: Introduce Agile Development
Section 3: Use Version Control
Chapter 7: Managing Change
Chapter 8: Setting Up TFS Version Control
Chapter 9: Using TFVC in Your Project
Chapter 10: Policing Your Project with TFVC
Review of Section 3: Use Version Control
Section 4: Build and Integrate Often
Chapter 11: Building and Integrating Software
Chapter 12: Working with Team Foundation Build
Review of Section 4: Build and Integrate Often
Section 5: Practice Test-Driven Development
Chapter 13: Introduction to TDD
Chapter 14: Developing Your First Tests
Chapter 15: Learning to Refactor
Chapter 16: Code Coverage and Performance
Chapter 17: Integrating TFP Code with a User Interface
Review of Section 5: Practice Test-Driven Development
Section 6: Explore by Modeling
Chapter 18: Modeling with Agility
Chapter 19: Creating Models
Chapter 20: Using Models in an Agile Project
Chapter 21: Modeling Solutions with Patterns
Review of Section 6: Explore by Modeling
Section 7: Implement Customer Testing
Chapter 22: Involving Customers in Testing
Chapter 23: Creating FIT Fixtures
Chapter 24: Running FIT with Team Foundation Build
Review of Section 7: Implement Customer Testing
Section 8: Estimate, Prioritize, and Plan
Chapter 25: Estimating and Prioritizing Stories
Chapter 26: Agile Planning
Chapter 27: Managing Agile Projects
Review of Section 8: Estimate, Prioritize, and Plan
Section 9: Practice for Deployment
Chapter 28: Moving into Production
Chapter 29: Developing Installation Programs
Chapter 30: Deployment of Distributed Systems
Review of Section 9: Practice for Deployment
Section 10: Provide and Reveal Value
Chapter 31: Producing Technical Reports
Chapter 32: Generating Business Value
Review of Section 10: Provide and Reveal Value
Retrospective: Fixing the Process
Appendixes
Appendix A: Setting Up VSTS for the Exercises
Appendix B: Software Project Environment for a Small Team
Appendix C: Agile Workspace 753 List of Exercises
List of Extreme Programming Practices
Glossary
Bibliography
Resources
Index
This book is for working software developers, architects, testers, and managers in real teams - professionals who are either transitioning to VSTS or considering doing so. It will help you start deriving value from VSTS immediately, as you lay a solid foundation for ongoing process improvement.
CONTENTS:
Preface xxviiAcknowledgments xxxvAbout the Authors xxxviiIntroduction: Broken Process 1
Welcome to the OSPACS Team 1
Section 1: Apply Sharp Tools and Values 9
Story from the Trenches 10
Chapter 1: Introduction to Visual Studio Team System 13
The Purpose and Structure of VSTS 13
Client Parts of VSTS 17
Server Parts of VSTS 27
Extending VSTS 30
Chapter 2: Agile Values 33
Tools and Values 33
The Agile Alliance 36
Extreme Programming (XP) 37
Review of Section 1: Sharp Tools and Values 45
The Team's Impressions 45
Agile Values 46
Section 2: Introduce Agile Development 49
Story from the Trenches 50
Chapter 3: Overview of Agile Development 53
What Is Different about an Agile Project? 53
Introduction to Extreme Programming 57
Isn't XP Just Hacking? 62
Chapter 4: Forming an Agile Team 65
The Nature of Agile Teams 65
Agile Team Structure 70
Reorganizing the OSPACS Team 76
Chapter 5: Team Foundation Process Frameworks 81
Team Projects and Process Frameworks 81
Microsoft Solutions Framework (MSF) 4.0 95
Frameworks for Specific Processes 100
Chapter 6: Improving Your Process Framework 107
Providing a New Metric for an Existing Process Framework 107
Improving Your Process 110
Review of Section 2: Introduce Agile Development 119
The Team's Impressions 120
Agile Values 121
Section 3: Use Version Control 123
Story from the Trenches 124
Chapter 7: Managing Change 127
Sharing Information among Your Team 127
Using a Version Control System 133
VSTS Support for Version Control Tools 144
Chapter 8: Setting Up TFS Version Control 149
Structuring Your Team Project 149
Establishing the Initial Baseline for Your Project 160
Other Set-Up Tasks 166
Chapter 9: Using TFVC in Your Project 173
Using TFVC When Coding 173
Common Version Control Tasks 177
Chapter 10: Policing Your Project with TFVC 191
Protecting Your Source Code 191
Establishing Policies for Source Code 195
Review of Section 3: Use Version Control 205
The Team's Impressions 206
Agile Values 207
Section 4: Build and Integrate Often 209
Story from the Trenches 210
Chapter 11: Building and Integrating Software 213
Software Construction 213
Automated Software Testing 217
Build and Test Cycles 222
Chapter 12: Working with Team Foundation Build 229
Welcome to Team Foundation Build 229
Build Management 245
Scaling Up Team Integration Builds 249
Review of Section 4: Build and Integrate Often 255
The Team's Impressions 256
Agile Values 258
Section 5: Practice Test-Driven Development 261
Story from the Trenches 262
Chapter 13: Introduction to TDD 265
The Nature of Test-Driven Development 265
Simple Test-First Programming Exercises 269
Getting Started with Test-First Programming 277
Chapter 14: Developing Your First Tests 283
Creating Visual Studio Projects for TFP 283
The Story behind the Tests 287
Create a Test List 289
Implementing the Tests 294
Chapter 15: Learning to Refactor 303
Doing Small Refactorings 303
Refactor As You Go 313
Doing a Big Refactoring 318
Chapter 16: Code Coverage and Performance 325
Code Coverage 325
Performance Analysis 331
Chapter 17: Integrating TFP Code with a User Interface 339
Implementing the User Interface 339
Simple Design 346
Review of Section 5: Practice Test-Driven Development 351
The Team's Impressions 352
Agile Values 354
Reinforcement of Agile Practices 355
Section 6: Explore by Modeling 357
Story from the Trenches 358
Chapter 18: Modeling with Agility 361
Introduction to Modeling 361
Values, Principles, and Practices of Agile Modeling 363
Agile Modeling in Use 366
Chapter 19: Creating Models 375
Free-form Diagrams 375
UML Diagrams 377
Using Modeling Tools 385
Chapter 20: Using Models in an Agile Project 395
Requirement Models 395
Architectural Models 405
Implementation Models 411
Chapter 21: Modeling Solutions with Patterns 415
What Is a Pattern? 415
Using Patterns in an Agile Project 421
Implementation of Patterns and Models 424
Emergence of Domain-Specific Languages 426
Review of Section 6: Explore by Modeling 433
The Team's Impressions 434
Agile Values 436
Section 7: Implement Customer Testing 439
Story from the Trenches 440
Chapter 22: Involving Customers in Testing 443
Agile Customer Testing 443
FIT: Framework for Integrated Test 445
Storytest-Driven Development 454
Chapter 23: Creating FIT Fixtures 459
Standard FIT Fixtures 459
Custom FIT Fixtures 476
Chapter 24: Running FIT with Team Foundation Build 481
Performing Customer Tests in Your Build Lab 482
Automated Customer Testing 487
Introducing Your Team to Customer Testing 491
Review of Section 7: Implement Customer Testing 501
The Team's Impressions 502 Agile Values 504
Section 8: Estimate, Prioritize, and Plan 507
Story from the Trenches 508
Chapter 25: Estimating and Prioritizing Stories 511
Working with Customer Stories 511
Estimating 516
Prioritizing 521
Chapter 26: Agile Planning 527
The Nature of Plans 527
Planning at Every Time Scale 530
Controlling Plans 538
Chapter 27: Managing Agile Projects 545
Using Visual Studio Team System for Project Management 545
Example Agile Planning Life Cycle 556
Top Ten Tips for Managing Agile Projects 567
Review of Section 8: Estimate, Prioritize, and Plan 571
The Team's Impressions 572
Agile Values 574
Section 9: Practice for Deployment 577
Story from the Trenches 578
Chapter 28: Moving into Production 581
Managing Deployment 581
Preparing for Deployment 587
Monitoring the Production Environment 592
Chapter 29: Developing Installation Programs 597
Introduction to Windows Installer 597
Creating an Installation Project with InstallShield 604
Developing Installation Programs on an Agile Team 613
ClickOnce Technology 620
Chapter 30: Deployment of Distributed Systems 625
Distributed System Architecture 625
Logical Datacenter Designer 629
Application Designer 638
System Designer 649
Deployment Designer 653
Review of Section 9: Practice for Deployment 661
The Team's Impressions 662
Agile Values 664
Section 10: Provide and Reveal Value 665
Story from the Trenches 666
Chapter 31: Producing Technical Reports 669
Revealing Valuable Information 669
Extracting Data from Team Foundation Server 674
Chapter 32: Generating Business Value 683
Lean Thinking 683
Changing the Economics of Software Development 688
Linking Agile to Other Process Improvement Initiatives 690
Review of Section 10: Provide and Reveal Value 693
The Team's Impressions 693
Agile Values 695
Retrospective: Fixing the Process 697
About Retrospectives 697
The OSPACS Team's Retrospective 700
Analysis of the Project Timeline 705
Is the OSPACS Team Extreme? 709
Appendixes 713 Appendix A: Setting Up VSTS for the Exercises 715 Appendix B: Software Project Environment for a Small Team 729Appendix C: Agile Workspace 753 List of Exercises 763List of Extreme Programming Practices 771Glossary 773 Bibliography 789Resources 797 Index 805
Published
01 Jun 2007
Publisher
ADDISON-WESLEY
ISBN
9780321418500
Pages
819




Static Book Details Index Page - Click Here to go to Computer Manuals Website