Contents

About the Authors

About the Technical Reviewers

Acknowledgments

Introduction

imagesPart 1: Application Lifecycle Management

imagesChapter 1: Why Application Lifecycle Management Matters

Understanding the Cornerstones of Business

Processes

Business Rules

Information

Understanding the Need for Business Software

Today’s Business Environment and the Problems We Face

Project Health Today: Three Criteria for Success

Factors Influencing Projects and Their Success

Project Success in Research

The Standish Group

Robert C. Glass

Size and Volatility Survey

Conclusions

IT Budget Spending

Development vs. Operations

Factors Influencing IT Spending

Summary

imagesChapter 2: Introduction to Application Lifecycle Management

Roles in the ALM Process

Four Ways of Looking at Application Lifecycle Management

The SDLC View

The Service Management or Operations View

The Application Portfolio Management View

The Unified View

Three Pillars of Application Lifecycle Management

Traceability of Relationships Between Artifacts

Automation of High-Level Processes

Visibility into the Progress of Development Efforts

A Brief History of ALM Tools

Application Lifecycle Management 1.0

Application Lifecycle Management 2.0

Application Lifecycle Management 2.0+

ALM and PPM

Summary

imagesChapter 3: Development Processes and Frameworks

The Waterfall Model

Spiral Model

Rational Unified Process (RUP)

The Principles of RUP

The RUP Lifecycle

Disciplines

Manifesto for Agile Software Development

Extreme Programming (XP)

Scrum

Empirical Process Control

Complexity in Projects

What Scrum Is

The Roles in Scrum

The Scrum Process

Capability Maturity Model Integration (CMMI)

Summary

imagesChapter 4: ALM Assessments

Microsoft Application Platform Optimization (APO) Model

Infrastructure Optimization Model

Business Productivity Infrastructure Model

Application Platform Capability Assessment

Summary

imagesChapter 5: ALM Using TFS

Application Lifecycle Management Overview

Team Foundation Server Overview

Team Foundation Server

Process Template

Visual Studio 2012 Editions

Web Access

Microsoft Office

Integrated Development Environment (IDE) Integration

Traceability

The TFS Work Item Tracking System

Visibility

Collaboration

Work Items for Collaboration

The Gap Between IT and Business

Use of One Tool/Role Based

Extensibility

Summary

imagesPart 2: Planning (Agile Project Management)

imagesChapter 6: Introduction to Agile

The Scrum Process

Roles in Scrum

Product Owner

Scrum Master

The Development Team

Definition of Done

Agile Requirements and Estimation

Requirements

Estimation

Backlog

Summary

imagesChapter 7: Work Item Tracking and Process Customization

Traceability

The TFS Work Item Tracking System

Work Items

The Work Item Form

Work Item Traceability

Work Item Queries

Conclusions on the Work Item Tracking System

Process Customization

Modifying the Process Template

Common Adaptations of the Process Template

Web Access Customization

Using WITAdmin to Change the Web Access UI

Changing the Product Backlog Add Dialog

Changing the Columns in the Product Backlog List

Adding States to the Board

Summary

imagesChapter 8: Agile Project Management With TFS

Case Study

Company Background

The Pilot Project

Scrum TFS Template

Work Items

TFS Web Access and Portal

Reports and Queries

Project Startup Phase

PO Sets Off to Work

Building the Initial Team

Requirements

Building the Backlog and Prioritizing It

Definition of Done

Estimation

Risk Assessment

Grooming the Backlog

Building the Team

Initial Velocity

Release Planning

Estimated Time Plan

Estimated Project Cost

Running the Project

During the Sprint(s)

Summary

imagesChapter 9: Metrics and ALM Assessment for Agile Project Management

Metrics

Standard Reports

Scrum

MSF for Agile

MSF for CMMI

Custom Reporting

Data Warehouse Model

Assessment Questions

Summary

imagesPart 3: Analysis, Modeling, and Design (Architecture)

imagesChapter 10: Prototyping Using Storyboarding and Feedback Tracking

PowerPoint Storyboarding

How to Do It

When to Use Storyboarding

Feedback Tracking Using Microsoft Feedback Client

Summary

imagesChapter 11: Top Down Design Studies (UML)

UML Basics

UML Support in Visual Studio 2012

Activity Diagram

Use Cases and Use Case Diagrams

Sequence Diagrams

Class Diagrams

Component Diagrams

Integration with TFS

Summary

imagesChapter 12: Using Architecture Explorer

Architecture Explorer

Dependency Graphs

Analyze and Explore Code Using Architecture Explorer

Summary

imagesChapter 13: Using Layer Diagrams

Patterns

Using Layer Diagrams

Creating a Layer Diagram

Mapping Code to Layers

Viewing Dependencies using Layer Explorer

Sharing Models

Layer Validation

Manually Validate Layer

Validate in local build

Validate in TFS Build

Creating an Architecture Template

Summary

imagesChapter 14: Metrics and ALM Assessment for Architecture, Analysis and Design

Metrics

Standard Reports

Assessment

Summary

imagesPart 4: Building (Developer Practices)

imagesChapter 15: Version Control

Getting Started with Source Control

Using the Team Explorer

Workspaces

Configuring a Workspace

Using the Source Control Explorer

Committing Work

Working with Committed Code

Enforcing Development Practices with Check-in Policies

Putting Work Aside

Conflict Resolution

Comparing Changes

Working with Concurrent Changes

Working with My Work

Summary

imagesChapter 16: Unit Testing

What Is Test Driven Development?

Principles for Unit Testing

Working with Mock Objects

Separation of Concerns (Object Factories)

Inversion of Control (Dependency Injection)

Visual Studio Unit Tests

Elements of a Unit Test

Test Calling Order

Assertions

Creating a Unit Test

Context for the Test Run

Test Explorer

Running Tests

Working with Code Coverage

Adding Code Coverage to a Project

Configuring Code Coverage for a Build Definition

Data-Driven Automated Tests

Working with External Files

Managing Test Dependencies

Working with Other Test Frameworks

Implementing Mock Objects

Summary

imagesChapter 17: Code Quality

Code Analysis

Creating Custom Rule Sets

Integrating Code Analysis with TFS Builds

Code Analysis Check-in Policy

Code Metrics

Code Clones

Code Review

Summary

imagesChapter 18: Performance and Profiling

Profiling Overview

Profiling In Visual Studio 2012

Setting Up Profiling

Running a Profiling Session

Examining the Results

IntelliTrace

Working with IntelliTrace

Using IntelliTrace in Production

PreEmptive Analytics

Installing PreEmptive Analytics

Configuring Your Team Projects for PreEmptive Analytics

Adding Exception Reporting to a .NET Application

Examining Incidents in Team Foundation Server

Summary

imagesChapter 19: Metrics and ALM Assessment for Developer Practices

Metrics

Code coverage

Code metrics

Compiler warnings

Code analysis warnings

Standard Reports

Custom Reporting

Data Warehouse Model

Assessment

Summary

imagesPart 5: Validating (Software Testing)

imagesChapter 20: Overview of Software Testing

Agile Testing

Defining Tests

Acceptance Criteria

Planning

Test Specification and Test Matrix

Evolving Tests

Strategy for Automated Testing

Platform Support for Testing Practices

Summary

imagesChapter 21: Manual Testing

About Microsoft Test Manager

Connecting Microsoft Test Manager to TFS

Planning the Tests

What Is a Test Plan?

Moving On

Designing Test Cases

What Is a Test Case?

Creating Test Cases

Moving On

Running Tests

Filtering Test Runs

Working with the Test Runner

Analyze Test Runs

Running Exploratory Tests

Test Settings

Integration with Builds

Reporting Bugs and Validating Fixes

Creating a Bug

Verifying Bugs

Fast-Forward Playback

Summary

imagesChapter 22: Automated Testing

Working with Automated Tests

Supported Test Types

Creating a Test Environment

Traceability

Automating Test Cases Using Coded UI Tests

Coded UI Tests

UI Test Architecture

Supported Platforms

Elements of a Coded UI Test

Using the Coded UI Test Builder

Validation

Using the UI Map Editor

Data-Driven Automated Tests

Using Unit Tests as Automated Tests

Running Automated Tests

Running Automated Tests from MTM

Running Automated Tests from TFS Build

Running Automated Tests from the Command Line

Performance Testing the Application

Creating Load Test Scenarios Using Web Performance Tests

Setting Up a Load Test

Running a Load Test

Summary

imagesChapter 23: Visual Studio Lab Management

Architecture

Capabilities

Components

Architecture

Setting Up Visual Studio Lab Management for Kangreen

Environments

Designing Environments

Working with Standard Environments

SCVMM Environments

What About Support for VMware?

Test Settings for Lab Environments

Creating Environments for Kangreen

Cloning Environments

Using Lab Management for Manual Testing

Selecting an Environment to Use

Connecting to an Environment for Testing

Automated Testing and Lab Management

Running Automated Tests from MTM

Running Automated Tests as Part of a Build

Running Automated Tests from the Command-line

Summary

imagesChapter 24: Metrics and ALM Assessment for Software Testing

Metrics

Standard Reports

Bug Status Report

Reactivations Report

Bug Trend Report

Test Case Readiness Report

Test Plan Progress Report

Custom Reporting

Data Warehouse Model

Assessment

Summary

imagesPart 6: Releasing

imagesChapter 25: Continuous Delivery

Continuous Integration

Why Should We Implement Continuous Integration?

Components in Continuous Integration

Continuous Delivery

The “null” Release Cycle

Release Management

Summary

imagesChapter 26: Build Automation

TFS Build Architecture

Installing the Build Service

Installing the Build Controller

Installing the Build Agent

Creating an Automated Build

Running a Build

Using the Build Explorer

Using the Web Access to Manage Builds

Implementing Continuous Integration

Cloning a Build

Gated Check-in Builds

Running a Private Build

Configuring Builds

Required Parameters

Basic Parameters

Advanced Parameters

Customizing Builds

Built-in Build Activities

TFS Build Extensions

Creating a Build Process Template for Assembly Versioning

Logging In the Build Process

Extending Builds

Creating a Solution for Developing Build Extensions

Implementing an XAML Activity to Execute a Remote Command

Implementing a Code Activity

Build on Team Foundation Service

Feedback

Build Notifications

Team Explorer and Web Access Favorites

Summary

imagesChapter 27: Deployment

Designing a Deployment Solution

Deployment to Windows Azure

Running Automated Tests as Part of the Build

Running Tests on the Build Server

Running Tests on a Test Environment

Fail a Build on Test Failure

Implementing the Build-Deploy-Test Workflow

Implementing a BDT Workflow

Designing the BDT Workflow

Implementing the BDT Process

Running the BDT Workflow

Customizing the Lab Build Template

Summary

imagesChapter 28: Release Management

Release Management

Agile Release Planning

Release Management in Visual Studio 2012

Release Notes

Release Notes in Visual Studio 2012

Versioning

Versioning Requirements

Versioning Code

Versioning Test Cases

Versioning Builds

Summary

imagesChapter 29: Metrics and ALM Assessment

Metrics

Standard Reports

Custom Reporting

Data Warehouse Model

Assessment

Summary

imagesPart 7: Team Foundation Server

imagesChapter 30: Architecture and Implementation Planning

TFS Architecture

Logical Application Tier

Logical Data Tier

Team Foundation Client Tier

Optional Components on Separate Servers

Team Foundation Build

Team Foundation Server Proxy

Planning the Implementation

Physical Server Location to Host Our TFS Tiers

Ports and Network Protocols

System Requirements

Service Accounts

Simple Implementation

Medium Implementation

Complex Implementation

Previous Version of TFS Already Deployed

Summary

imagesChapter 31: TFS Installation, Upgrade, and Administration

Installation Options

Basic

Advanced

Application-Tier

Upgrading from Earlier TFS Versions

Team Foundation Server Administration

Adding TFS Collections After Installation

Attaching a TFS database

Enabling Web Features

Enabling Email Alerts

Summary

imagesChapter 32: TFS Reporting

Architecture

Data Sources for Reporting

Warehouse Adapters

Relational Data Warehouse Data Models

Analysis Services OLAP Cube

Setting Up Access to Report Data

Monitoring the TFS Data Warehouse

Creating Reports

Work Item Queries

Excel Reports

SQL Server Report Builder

SQL Server Report Designer

Summary

imagesChapter 33: Working in Heterogeneous Environments

What is Team Explorer Everywhere?

A Little Bit about Licensing

Features Available in Team Explorer Everywhere

Installation in Eclipse

Connect to TFS

Using TEE from Eclipse

Ant and Maven 2 Build Improvements

Summary

imagesChapter 34: TFS In The Cloud

Windows Azure Overview

Compute

Storage

Fabric

The Azure Platform

TFS on Azure

Getting Started

Documentation and Help

Services Offered With TFS in the Cloud

Source Control

Work-item tracking

Process Templates

Testing

Hosted Build Service

What about Reporting?

Benefits of TFS in the Cloud

Concerns with TFS in the Cloud

Summary

Index

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
13.59.95.150