Visual Studio Team System: Better Software Development for Agile Teams by Will Stott ; James Newkirk

Price: £32.99

Discount: 17%
RRP: 39.99

More Details

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.

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