+ All Categories
Home > Documents > Development Best Practices Concepts & Microsoft’s Approach.

Development Best Practices Concepts & Microsoft’s Approach.

Date post: 25-Dec-2015
Category:
Upload: rosanna-walker
View: 220 times
Download: 0 times
Share this document with a friend
40
TEAM SYSTEM: IT’S BIG Development Best Practices Concepts & Microsoft’s Approach
Transcript
Page 1: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Development Best Practices

Concepts & Microsoft’s Approach

Page 2: Development Best Practices Concepts & Microsoft’s Approach.

Agenda

Collaborate &

Communicate

Manage Team

Workflow

Drive Team Predictabilit

y

Ensure Quality Early

& Often

Integrate Frequently

Make Real-Time

Decisions

& Microsoft’s Approach

Page 3: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Team-Related Mistakes

• Performing tasks without perceived value

• Shipping low quality• Bad deadlines, estimates, and

requirements• Not enough feedback and going dark• Death marches

Page 4: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Signs of a Great Team

• Intensely happy team members• Momentum and velocity• Joint ownership and pride• Amazing software—on time

and on budget

And this is why…

Page 5: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Collaborate & Communicate

• Remove barriers that create inter-role disconnects– Stakeholder>Developer– Developer->Tester– Interpret != Implement

• Centralized, extensible artifact repository

Page 6: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Manage Team Workflow• Efficient Management of Work Elements

– Tasks, Defects, Requirements, etc.

• Enable Traceability– What came from what?

• Audit support

Page 7: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Drive Predictability• Clearly Define a

Process– Proven– Realistic– Repeatable– Enforceable

• “Baked” into systems• Leverage existing,

familiar tools

Page 8: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Lifecycle

Ensure Quality, Early & Often

• Quality-Centric Tools– Integrated throughout lifecycle– Reduces overall project cost

• Work Tracking • Requirements • Scenarios • Tasks

Planning

• System Modeling• Deployment Modeling

Design

• Unit Testing• Database Testing• Static Code Analysis• Performance Profiling• Continuous Integration

Development

• Scheduled Builds• Load Testing• Web Testing

Testing

Page 9: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Integrate Work Frequently• Continuous Integration• Robust version control

– Integrated with defect & task tracking systems

• Automated testing– Unit Testing– Functional Testing– Load Testing

Page 10: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Integrate Work FrequentlyBuild Automation

• Consider build customers– Development team– Testing team– External adopters– Customers

• Build scenarios– Manual– Scheduled– Continuous

Force a sync point across these rolesAct as checkpoint between dev and test

Compile, run tests, gather metricsHeartbeat and heath checkCritical to reporting and feedbackCouple with gated check-in

Page 11: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Make Real-time Decisions

• Open the “Black box” of the lifecycle– Comprehensive business intelligence

reporting system• Real-time data• Enabling critical decision making• Readily Accessible

Page 12: Development Best Practices Concepts & Microsoft’s Approach.

Overcome ComplexityQuality MindsetCulture of Innovation

CollaborationTransparencyIntegration

Highly integrated Productive Extensible Low administration

ClarityAlignmentEfficiency

Agile Customizable Lightweight Patterns and practices Flexible

Process and tools support individuals, teams and organizations frictionlessly and transparently

Layering Best Practices

Page 13: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Development Best Practices

Microsoft’s Approach

Page 14: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Microsoft’s Approach•Team Foundation ServerCollaborate &

Communicate

•Work Item TrackingManage Team Workflow

•Process Guidance & AutomationDrive

Predictability

•Comprehensive TestingEnsure Quality, Early & Often

•Version Control•Team Build

Integrate Work Frequently

•Integrated Reporting•Extensible

Make Real-Time Decisions

Page 15: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Visual Studio Team SystemApplication Lifecycle Management (ALM) Solution

Page 16: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Visual Studio Team SystemVisual Studio Team Suite

MSF

Pro

cess

and G

uid

ance

Visual Studio Team Foundation Server

VisualStudio

IndustryPartners

SoftwareArchitects

SoftwareDevelopers

SoftwareTesters

DatabaseProfessionalsVisual

StudioTeam

ExplorerApplication Modeling

Infrastructure and Deployment

Modeling

Code Analysis

Performance Tuning

Security Analysis

Database Deployment

DatabaseChange Mgmt.

Database Testing

Performance Testing

Manual Testing

Test Case Management

Visual Studio Professional Edition

Change Management

Work Item Tracking

Reporting

Project Site

Integration Services

Project Management

Load Test Agent

(TFS Client Access License)

Class Modeling

Unit Testing

Code Coverage

Page 17: Development Best Practices Concepts & Microsoft’s Approach.

Today: Disparate Tools

ToolArchitec

tDevelope

r TesterPM

Stakeholder

Version Control X X X XDefect Tracker X X X X X

Task Tracker X X X X X

IDE X X

Modeling Tool X X

Unit Tester X X

UI Tester X X

Load Tester X

Test Manager X

Web Portal XReporting Tool X X X X X

Page 18: Development Best Practices Concepts & Microsoft’s Approach.

Team System: Role-based Capabilities

ToolArchitec

tDevelope

r Tester PMStakeholde

r

Team Architect XTeam

Developer X

Team Tester XMS

Project/Excel X

Web Portal X

Page 19: Development Best Practices Concepts & Microsoft’s Approach.

Team System: The Ideal Solution

ToolArchitec

tDevelope

r Tester PMStakeholde

r

Team Suite X X X X

Web Portal X

Page 20: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Collaborate & Communicate• Team Foundation Server

– A unified project server

Tester

Developer

Architect

ProjectManager

BusinessAnalyst

Designer Database Profession

al

Page 21: Development Best Practices Concepts & Microsoft’s Approach.

Managing Team Workflow

DatabaseDevelopers

ProjectManagerDeveloper

Tester

Users &BA’s

Work Items Architect

Page 22: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Work Item Tracking

• Manages any “item of record”• Extensible (fields, dialogs, workflow)• Accessible

Page 23: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

What is in a Work Item?• Title • Description • Current State

• Who it is assigned to

• Attachments

• Links to other Work Items • Full Audited history• Anything else you want …

Closed

Active

Resolved

Closed

Active

Resolved

Proposed

Scenario Tasks Bugs

Page 24: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Drive Predictability• Integrated process templates help

deliver predictable results

Page 25: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Process TemplateBased on MSF Agile CMMI

Several 3rd party templates Scrum RUP Others

Highly FlexibleCreate your

own or modify an existing one

XML basedEditor

included

Page 26: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Ensure Quality, Early & Often

Quality

Tools for All

Unit Testing

Database Testing

Functional testing

Code Analysis

Profiling

Load Testing

Page 27: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Ensure Quality, Early & OftenDevelopment

• Integrated Unit Testing

• Integrated Static Code analysis– Security Errors– Localisation problems– Memory issues– …

• Integrated Profiler– Performance problems– Memory problems

Page 28: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Ensure Quality, Early & OftenDevelopment

Page 29: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Ensure Quality, Early & OftenDatabase Development

Take control of database change

• Offline, change management of the schema• Refactoring of database objects

Automate database testing

• Unit testing for Stored Procs• Automatic generation of meaningful test data

Bring data professionals into the lifecycle

• Work Item tracking for database changes

Page 30: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Ensure Quality, Early & OftenTesting

• Record Web Tests from Internet Explorer

Page 31: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Ensure Quality, Early & OftenTesting

• Data driven tests• Validate returned

data• Generate Code for

the test (C#, VB, …)

Page 32: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Ensure Quality, Early & OftenTesting

Page 33: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Integrate Work Frequently

Full featured version control system

Continuous IntegrationScheduled Builds

Relate work item to check-inCheck-out on Edit

LabelingAnnotationShelving

Policy-based Check-in

Page 34: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Integrate Work FrequentlyBuild Automation

• Team Build– Extension of MS Build

• Continuous Integration, scheduled, ad-hoc• Provides build reporting back to TFS• Integrates testing

Page 35: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Integrate Work FrequentlyBuild Reports

Page 36: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

TEAM SYSTEM 2010And More is on the Way!

Page 37: Development Best Practices Concepts & Microsoft’s Approach.

Visual Studio Team System 2010

Agile Project Planning

End to End TraceabilityStunning New Reports

1-click Custom Excel reports

New Dashboards

Branch Visualization

Distributed Build

Build Windows Workflow Integration

Test PlanningTest Execution

Manual Test Runner

Test Impact Analysis

Coded UI Test

Historical Debugging

Gated Checkin

Activity Diagram

Modeling ProjectsLogical Class Diagram

Architecture ExplorerSequence Diagram

Component Diagram

Use Case DiagramLayer Diagram

Scalability ++

TFS Administrationw/MMC

Database Edition merged into Development

Page 38: Development Best Practices Concepts & Microsoft’s Approach.

Jan-07

Apr-07

Jul-07

Oct-07

Jan-08

Apr-08

Jul-08

Oct-08

Jan-09

-

2,000

4,000

6,000

8,000

10,000

12,000

14,000

16,000

Active Users

Team System at Microsoft• Over 15,000 active users• Over 3.6 million work items

• Over 3,100 Team Projects• 56M+ source code files• Over 733,000 Builds

Jan-07

Apr-07

Jul-07

Oct-07

Jan-08

Apr-08

Jul-08

Oct-08

Jan-09

-

500

1,000

1,500

2,000

2,500

3,000

3,500

Team Projects

Page 39: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG

Summary

Microsoft’s Application Lifecycle Solution

Effective, Quality ToolsetIntegrates with Existing Tools

Promotes Collaboration

Page 40: Development Best Practices Concepts & Microsoft’s Approach.

TEAM SYSTEM: IT’S BIG


Recommended