Software Engineering with Microsoft Visual Studio Team System (Microsoft .Net Development Series)
Software Engineering with Microsoft Visual Studio Team System is written for any software team that is considering running a software project using Visual Studio Team System (VSTS), or evaluating modern software development practices for its use.
It is about the value-up paradigm of software development, which forms the basis of VSTS: its guiding ideas, why they are presented in certain ways, and how they fit into the process of managing the software lifecycle. This book is the next best thing to having an onsite coach who can lead the team through a consistent set of processes.
Sam Guckenheimer has been the chief customer advocate for VSTS, responsible for its end-to-end external design. He has written this book as a framework for thinking about software projects in a way that can be directly tooled by VSTS. It presents essential theory and practical examples to describe a realistic process for IT projects.
Readers will learn what they need to know to get started with VSTS, including
- The role of the value-up paradigm (versus work-down) in the software development lifecycle, and the meanings and importance of “flow”
- The use of MSF for Agile Software Development and MSF for CMMI Process Improvement
- Work items for planning and managing backlog in VSTS
- Multidimensional, daily metrics to maintain project flow and enable estimation
- Creating requirements using personas and scenarios
- Project management with iterations, trustworthy transparency, and friction-free metrics
- Architectural design using a value-up view, service-oriented architecture, constraints, and qualities of service
- Development with unit tests, code coverage, profiling, and build automation
- Testing for customer value with scenarios, qualities of service, configurations, data, exploration, and metrics
- Effective bug reporting and bug assessment
- Troubleshooting a project: recognizing and correcting common pitfalls and antipatterns
Review By: Vivek Vaishampayan
04/05/2007Software Engineering with Microsoft Visual Studio Team System is relevant not only to QA but to everyone who is involved in the process of making software or managing software projects—developer, tester, project manager, architect, or CIO. It makes modern software engineering practices approachable and does so with clear examples of how to implement them with Visual Studio Team System (VSTS) tools.
This book offers a framework for thinking about projects in a way that can be directly tooled by VSTS. The author presents enough Team System theory and practice examples to describe a realistic process for most mainstream IT projects and teams. This book is written for the IT team as a whole and presents information in a style that will help all team members get a sense of each other’s viewpoint.
VSTS includes a process guidance function called Microsoft Solutions Framework (MSF), which defines seven constituents, or points of view, that must be represented on a successful project. The seven constituents are architectural design, development, testing, release operations, user experience, product management, and program management. MSF comes in two forms, one for agile software development and the other for CMMI Process Improvement. The author has described all seven constituents in an impressive style. The content of each constituent is sufficient enough to cover the subject matter but long enough to explain the concepts.
The book itself is a kind of coach who can lead the team through a consistent set of processes. It is a well-organized presentation throughout. Sam and Juan discuss the most important items as flash points, such as planning, documentation, governance, service oriented architecture, delivering customer values, test-driven development and customer-focused testing in a superb way.
The authors’ writing styles are open and straightforward. They stress points using a lot of diagrams, pictures, flow charts, and snapshots from VSTS. Each chapter addresses specific members of the software development team, yet the entire book is targeted to whole team.
This book delivers an easy-to-understand, process-centered approach to the best practices of software development embodied in Microsoft Solutions Framework and delivered through Visual Studio Team System. Although the subject matter is presented in context of VSTS, the guidelines are universal. The material is up-to-date and timely, focusing on service-oriented architectures, test-driven development, and modern design techniques.