Upload
steve-lange
View
2
Download
0
Embed Size (px)
DESCRIPTION
Session #1: Development Practices And The Microsoft Approach Presented by: Steve Lange
Citation preview
TEAM SYSTEM: IT’S BIG
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
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
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…
TEAM SYSTEM: IT’S BIG
Collaborate & Communicate
• Remove barriers that create inter-role disconnects– Stakeholder>Developer– Developer->Tester– Interpret != Implement
• Centralized, extensible artifact repository
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
TEAM SYSTEM: IT’S BIG
Drive Predictability• Clearly Define a
Process– Proven– Realistic– Repeatable– Enforceable
• “Baked” into systems• Leverage existing,
familiar tools
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
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
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
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
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
TEAM SYSTEM: IT’S BIG
Development Best Practices
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
TEAM SYSTEM: IT’S BIG
Visual Studio Team SystemApplication Lifecycle Management (ALM) Solution
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
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
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
Team System: The Ideal Solution
ToolArchitec
tDevelope
r Tester PMStakeholde
r
Team Suite X X X X
Web Portal X
TEAM SYSTEM: IT’S BIG
Collaborate & Communicate• Team Foundation Server
– A unified project server
Tester
Developer
Architect
ProjectManager
BusinessAnalyst
Designer Database Profession
al
Managing Team Workflow
DatabaseDevelopers
ProjectManagerDeveloper
Tester
Users &BA’s
Work Items Architect
TEAM SYSTEM: IT’S BIG
Work Item Tracking
• Manages any “item of record”• Extensible (fields, dialogs, workflow)• Accessible
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
TEAM SYSTEM: IT’S BIG
Drive Predictability• Integrated process templates help
deliver predictable results
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
TEAM SYSTEM: IT’S BIG
Ensure Quality, Early & Often
Quality
Tools for All
Unit Testing
Database Testing
Functional testing
Code Analysis
Profiling
Load Testing
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
TEAM SYSTEM: IT’S BIG
Ensure Quality, Early & OftenDevelopment
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
TEAM SYSTEM: IT’S BIG
Ensure Quality, Early & OftenTesting
• Record Web Tests from Internet Explorer
TEAM SYSTEM: IT’S BIG
Ensure Quality, Early & OftenTesting
• Data driven tests• Validate returned
data• Generate Code for
the test (C#, VB, …)
TEAM SYSTEM: IT’S BIG
Ensure Quality, Early & OftenTesting
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
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
TEAM SYSTEM: IT’S BIG
Integrate Work FrequentlyBuild Reports
TEAM SYSTEM: IT’S BIG
TEAM SYSTEM 2010And More is on the Way!
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
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
TEAM SYSTEM: IT’S BIG
Summary
Microsoft’s Application Lifecycle Solution
Effective, Quality ToolsetIntegrates with Existing Tools
Promotes Collaboration
TEAM SYSTEM: IT’S BIG