You are previewing Visual Studio Team System: Better Software Development for Agile Teams.
O'Reilly logo
Visual Studio Team System: Better Software Development for Agile Teams

Book Description

Make the Most of Visual Studio Team System in Real-World Agile Development

Visual 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.

    Table of Contents

    1. Cover
    2. Title
    3. Copyright
    4. Dedication
    5. Contents at a Glance
    6. Contents
    7. Preface
    8. Acknowledgments
    9. About the Authors
    10. Introduction: Broken Process
    11. Section 1: Apply Sharp Tools and Values
      1. 1 Introduction to Visual Studio Team System
      2. 2 Agile Values
      3. Review of Section 1: Sharp Tools and Values
    12. Section 2: Introduce Agile Development
      1. 3 Overview of Agile Development
      2. 4 Forming an Agile Team
      3. 5 Team Foundation Process Frameworks
      4. 6 Improving Your Process Framework
      5. Review of Section 2: Introduce Agile Development
    13. Section 3: Use Version Control
      1. 7 Managing Change
      2. 8 Setting Up TFS Version Control
      3. 9 Using TFVC in Your Project
      4. 10 Policing Your Project with TFVC
      5. Review of Section 3: Use Version Control
    14. Section 4: Build and Integrate Often
      1. 11 Building and Integrating Software
      2. 12 Working with Team Foundation Build
      3. Review of Section 4: Build and Integrate Often
    15. Section 5: Practice Test-Driven Development
      1. 13 Introduction to TDD
      2. 14 Developing Your First Tests
      3. 15 Learning to Refactor
      4. 16 Code Coverage and Performance
      5. 17 Integrating TFP Code with a User Interface
      6. Review of Section 5: Practice Test-Driven Development
    16. Section 6: Explore by Modeling
      1. 18 Modeling with Agility
      2. 19 Creating Models
      3. 20 Using Models in an Agile Project
      4. 21 Modeling Solutions with Patterns
      5. Review of Section 6: Explore by Modeling
    17. Section 7: Implement Customer Testing
      1. 22 Involving Customers in Testing
      2. 23 Creating FIT Fixtures
      3. 24 Running FIT with Team Foundation Build
      4. Review of Section 7: Implement Customer Testing
    18. Section 8: Estimate, Prioritize, and Plan
      1. 25 Estimating and Prioritizing Stories
      2. 26 Agile Planning
      3. 27 Managing Agile Projects
      4. Review of Section 8: Estimate, Prioritize, and Plan
    19. Section 9: Practice for Deployment
      1. 28 Moving into Production
      2. 29 Developing Installation Programs
      3. 30 Deployment of Distributed Systems
      4. Review of Section 9: Practice for Deployment
    20. Section 10: Provide and Reveal Value
      1. 31 Producing Technical Reports
      2. 32 Generating Business Value
      3. Review of Section 10: Provide and Reveal Value
      4. Retrospective: Fixing the Process
    21. Section 11: Appendixes
      1. A Setting Up VSTS for the Exercises
      2. B Software Project Environment for a Small Team
      3. C Agile Workspace
    22. List of Exercises
    23. List of Extreme Programming Practices
    24. Glossary
    25. Bibliography
    26. Resources
    27. Index