Development Practices & The Microsoft Approach

45
Concepts & Microsoft’s Approach Concepts & Microsoft’s Approach Steve Lange | Developer Technology Specialist | Microsoft Steve Lange | Developer Technology Specialist | Microsoft

description

 

Transcript of Development Practices & The Microsoft Approach

Page 1: Development Practices & The Microsoft Approach

Concepts & Microsoft’s ApproachConcepts & Microsoft’s Approach

Steve Lange | Developer Technology Specialist | MicrosoftSteve Lange | Developer Technology Specialist | Microsoft

Page 2: Development Practices & The Microsoft Approach

& Microsoft’s Approach& Microsoft’s Approach

Page 3: Development Practices & The Microsoft Approach

Remove barriers that create inter-role disconnects

Stakeholder>DeveloperDeveloper->TesterInterpret != Implement

Centralized, extensible artifact repository

Page 4: Development Practices & The Microsoft Approach

Clearly Define a Process

ProvenRealisticRepeatableEnforceable

“Baked” into systemsLeverage existing, familiar tools

Page 5: Development Practices & The Microsoft Approach

Efficient Management of Work Elements

Tasks, Defects, Requirements, etc.

Enable TraceabilityWhat came from what?

Audit support

Page 6: Development Practices & The Microsoft Approach

Quality-Centric ToolsIntegrated throughout lifecycleReduces 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 7: Development Practices & The Microsoft Approach

Continuous IntegrationRobust version control

Integrated with defect & task tracking systems

Automated testingUnit TestingFunctional TestingLoad Testing

Page 8: Development Practices & The Microsoft Approach

Open the “Black box” of the lifecycleComprehensive business intelligence reporting system

Real-time dataEnabling critical decision makingReadily Accessible

Page 9: Development Practices & The Microsoft Approach

Overcome Overcome ComplexityComplexityQuality MindsetQuality MindsetCulture of InnovationCulture of Innovation

CollaboratioCollaborationnTransparencTransparencyyIntegrationIntegration

Highly integratedHighly integrated Productive Extensible Low Productive Extensible Low administrationadministration

ClarityClarityAlignmentAlignmentEfficiencyEfficiency

AgileAgile Customizable Lightweight Patterns and practices Customizable Lightweight Patterns and practices Flexible Flexible

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

Page 10: Development Practices & The Microsoft Approach

Microsoft’s ApproachMicrosoft’s Approach

Page 11: Development Practices & The Microsoft Approach
Page 12: Development Practices & The Microsoft Approach
Page 13: Development Practices & The Microsoft Approach

Visual Studio Team SuiteVisual Studio Team Suite

MSF

Pro

cess

and G

uid

an

ceM

SF

Pro

cess

and G

uid

an

ce

Visual Studio Team Foundation ServerVisual Studio Team Foundation Server

VisualVisualStudioStudio

IndustryIndustryPartnersPartners

SoftwareSoftwareArchitectsArchitects

SoftwareSoftwareDevelopersDevelopers

SoftwareSoftwareTestersTesters

DatabaseDatabaseProfessionalsProfessionalsVisualVisual

StudioStudioTeamTeam

ExplorerExplorerApplication Application ModelingModeling

Infrastructure and Infrastructure and Deployment Deployment

ModelingModeling

Code AnalysisCode Analysis

Performance Performance TuningTuning

Security AnalysisSecurity Analysis

DatabaseDatabase Deployment Deployment

DatabaseDatabaseChange Mgmt.Change Mgmt.

DatabaseDatabase Testing Testing

Performance Performance TestingTesting

Manual TestingManual Testing

Test Case Test Case ManagementManagement

Visual Studio Professional Visual Studio Professional EditionEdition

Change ManagementChange Management

Work Item TrackingWork Item Tracking

ReportingReporting

Project SiteProject Site

Integration ServicesIntegration Services

Project ManagementProject Management

Load Test AgentLoad Test Agent

(TFS Client Access (TFS Client Access License)License)

Class Class ModelingModeling

Unit TestingUnit Testing

Code CoverageCode Coverage

Page 14: Development Practices & The Microsoft Approach

Tool Architect Developer Tester PM Stakeholder

Version Control X X X X

Defect 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 X

Reporting Tool XX XX XX XX X

Page 15: Development Practices & The Microsoft Approach

Tool Architect Developer Tester PM Stakeholder

Team Architect X

Team Developer X

Team Tester X

MS Project/Excel X

Web Portal X

Page 16: Development Practices & The Microsoft Approach

Team Foundation ServerA unified project server

TesterTester

DeveloperDeveloper

ArchitecArchitectt

ProjectProjectManagerManager

BusinessBusinessAnalystAnalyst

DesignerDesigner Database Database ProfessionProfession

alal

Page 17: Development Practices & The Microsoft Approach

Work item tracking throughout the lifecycle

Efficient management of tasksFlexible and customizableEnables traceability

Page 18: Development Practices & The Microsoft Approach

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

ExcelMS ProjectWebOthers (via partner integrations)

Page 19: Development Practices & The Microsoft Approach

Title Description Description Current StateCurrent State

Who it is assigned Who it is assigned toto

Attachments Attachments

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

Closed

Active

Resolved

Closed

Active

Resolved

Proposed

Scenario Tasks Bugs

Page 20: Development Practices & The Microsoft Approach
Page 21: Development Practices & The Microsoft Approach

Integrated process templates help deliver predictable results

MSF for Agile TeamsMSF for CMMI Process ImprovementFully customizable

Page 22: Development Practices & The Microsoft Approach

Microsoft® Solutions Framework is:Guidance on how to organize people and projects to plan, build, and deploy technology solutions successfully and effectively

It provides:An agile software development processA formal software development processFramework for customers and partners to implement custom software development process

MICROSOFT SOLUTIONS

FRAMEWORK(MSF)

MSF for AgileSoftware Dev

MSF for CMMI®

Process Improvement

Third-Party Offerings

In-HouseCustomizations

Page 23: Development Practices & The Microsoft Approach

Configures TFS to support your Development ProcessMSF Agile and MSF for CMMISeveral 3rd party templates

Scrum, RUP, EssUP, XP, ThoughtWorks, Avanade …

Create your own or modify an existing oneStored in an XML fileProcess Template Editor tool

Page 24: Development Practices & The Microsoft Approach

Configures:Types of Work Items

Use Case, Task, Bug, Change Request, …

Contents of each Work item TypeUI for each Work Item TypeProcess Guidance documentationLayout for SharePoint PortalTypes of Reports

Page 25: Development Practices & The Microsoft Approach
Page 26: Development Practices & The Microsoft Approach

Team members can use tools they already know, including…

Page 27: Development Practices & The Microsoft Approach

Quality-centric toolsetIntegrated throughout lifecycleReduces overall project cost

• Work Item 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 28: Development Practices & The Microsoft Approach

Integrated Unit Testing

Integrated Static Code analysisSecurity ErrorsLocalisation problemsMemory issues…

Integrated ProfilerPerformance problemsMemory problems

Page 29: Development Practices & The Microsoft Approach
Page 30: Development Practices & The Microsoft Approach

Record Web Tests from Internet Explorer

Page 31: Development Practices & The Microsoft Approach

Data driven testsValidate returned dataGenerate Code for the test (C#, VB, …)

Page 32: Development Practices & The Microsoft Approach
Page 33: Development Practices & The Microsoft Approach

Take control of database changeOffline, change management of the schemaRefactoring of database objects

Automate database testingUnit testing for Stored ProcsAutomatic generation of meaningful test data

Bring data professionals into the lifecycle

Work Item tracking for database changes

Page 34: Development Practices & The Microsoft Approach

Full featured version control systemContinuous IntegrationScheduled BuildsRelate work item to check-inCheck-out on EditLabelingAnnotationShelvingPolicy-based Check-in

Page 35: Development Practices & The Microsoft Approach

Major CapabilitiesChangesetsWorkspacesBranch And MergeShelving

Integrated into Work Item Tracking, Builds

More on Version Control

Page 36: Development Practices & The Microsoft Approach

TFS not bound to .NETAny file typeAny file size

Integration SupportEclipse Plug-inJava client + command line

MS SCCI ProviderMultiple IDE’s

Page 37: Development Practices & The Microsoft Approach

Team BuildExtension of MS Build

Continuous Integration, scheduled, ad-hocProvides build reporting back to TFSIntegrates testing

Page 38: Development Practices & The Microsoft Approach
Page 39: Development Practices & The Microsoft Approach

Work item tracking throughout the lifecycle

Efficient management of tasksFlexible and customizableEnables traceability

Page 40: Development Practices & The Microsoft Approach

Title Description Description Current StateCurrent State

Who it is assigned Who it is assigned toto

Attachments Attachments

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

Closed

Active

Resolved

Closed

Active

Resolved

Proposed

Scenario Tasks Bugs

Page 41: Development Practices & The Microsoft Approach

Integrated process templates help deliver predictable results

MSF for Agile TeamsMSF for CMMI Process ImprovementFully customizable

Page 42: Development Practices & The Microsoft Approach

11,834 active 11,834 active usersusers1,695 team 1,695 team projectsprojectsDeveloper Division, MSIT, SQL, MSN/Windows Live, and MSCOM

1M+ work items1M+ work items25M+ source code 25M+ source code filesfiles296,864 team 296,864 team buildsbuilds

Page 43: Development Practices & The Microsoft Approach
Page 44: Development Practices & The Microsoft Approach
Page 45: Development Practices & The Microsoft Approach