Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Title
Copyright
Dedication
Contents at a Glance
Contents
About the Authors
About the Technical Reviewers
Acknowledgments
Introduction
Part 1: Application Lifecycle Management
Chapter 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
Chapter 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
Chapter 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
Chapter 4: ALM Assessments
Microsoft Application Platform Optimization (APO) Model
Infrastructure Optimization Model
Business Productivity Infrastructure Model
Application Platform Capability Assessment
Summary
Chapter 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
Part 2: Planning (Agile Project Management)
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Part 3: Analysis, Modeling, and Design (Architecture)
Chapter 10: Prototyping Using Storyboarding and Feedback Tracking
PowerPoint Storyboarding
How to Do It
When to Use Storyboarding
Feedback Tracking Using Microsoft Feedback Client
Summary
Chapter 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
Chapter 12: Using Architecture Explorer
Architecture Explorer
Dependency Graphs
Analyze and Explore Code Using Architecture Explorer
Summary
Chapter 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
Chapter 14: Metrics and ALM Assessment for Architecture, Analysis and Design
Metrics
Standard Reports
Assessment
Summary
Part 4: Building (Developer Practices)
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Part 5: Validating (Software Testing)
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Part 6: Releasing
Chapter 25: Continuous Delivery
Continuous Integration
Why Should We Implement Continuous Integration?
Components in Continuous Integration
Continuous Delivery
The “null” Release Cycle
Release Management
Summary
Chapter 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
Chapter 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
Chapter 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
Chapter 29: Metrics and ALM Assessment
Metrics
Standard Reports
Custom Reporting
Data Warehouse Model
Assessment
Summary
Part 7: Team Foundation Server
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 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
← Prev
Back
Next →
← Prev
Back
Next →