Development Practices & The Microsoft Approach
-
Upload
steve-lange -
Category
Technology
-
view
4 -
download
1
description
Transcript of Development Practices & The Microsoft Approach
Concepts & Microsoft’s ApproachConcepts & Microsoft’s Approach
Steve Lange | Developer Technology Specialist | MicrosoftSteve Lange | Developer Technology Specialist | Microsoft
& Microsoft’s Approach& Microsoft’s Approach
Remove barriers that create inter-role disconnects
Stakeholder>DeveloperDeveloper->TesterInterpret != Implement
Centralized, extensible artifact repository
Clearly Define a Process
ProvenRealisticRepeatableEnforceable
“Baked” into systemsLeverage existing, familiar tools
Efficient Management of Work Elements
Tasks, Defects, Requirements, etc.
Enable TraceabilityWhat came from what?
Audit support
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
Continuous IntegrationRobust version control
Integrated with defect & task tracking systems
Automated testingUnit TestingFunctional TestingLoad Testing
Open the “Black box” of the lifecycleComprehensive business intelligence reporting system
Real-time dataEnabling critical decision makingReadily Accessible
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
Microsoft’s ApproachMicrosoft’s 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
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
Tool Architect Developer Tester PM Stakeholder
Team Architect X
Team Developer X
Team Tester X
MS Project/Excel X
Web Portal X
Team Foundation ServerA unified project server
TesterTester
DeveloperDeveloper
ArchitecArchitectt
ProjectProjectManagerManager
BusinessBusinessAnalystAnalyst
DesignerDesigner Database Database ProfessionProfession
alal
Work item tracking throughout the lifecycle
Efficient management of tasksFlexible and customizableEnables traceability
Manages any “item of record”Extensible (fields, dialogs, workflow)Accessible
ExcelMS ProjectWebOthers (via partner integrations)
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
Integrated process templates help deliver predictable results
MSF for Agile TeamsMSF for CMMI Process ImprovementFully customizable
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
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
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
Team members can use tools they already know, including…
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
Integrated Unit Testing
Integrated Static Code analysisSecurity ErrorsLocalisation problemsMemory issues…
Integrated ProfilerPerformance problemsMemory problems
Record Web Tests from Internet Explorer
Data driven testsValidate returned dataGenerate Code for the test (C#, VB, …)
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
Full featured version control systemContinuous IntegrationScheduled BuildsRelate work item to check-inCheck-out on EditLabelingAnnotationShelvingPolicy-based Check-in
Major CapabilitiesChangesetsWorkspacesBranch And MergeShelving
Integrated into Work Item Tracking, Builds
More on Version Control
TFS not bound to .NETAny file typeAny file size
Integration SupportEclipse Plug-inJava client + command line
MS SCCI ProviderMultiple IDE’s
Team BuildExtension of MS Build
Continuous Integration, scheduled, ad-hocProvides build reporting back to TFSIntegrates testing
Work item tracking throughout the lifecycle
Efficient management of tasksFlexible and customizableEnables traceability
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
Integrated process templates help deliver predictable results
MSF for Agile TeamsMSF for CMMI Process ImprovementFully customizable
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