42
Presented by Presented by Kashif Akram Kashif Akram User Group Lead – User Group Lead – www.dev30.com Developed by Developed by Developer Evangelist Team Developer Evangelist Team Microsoft Microsoft An Integrated Approach to An Integrated Approach to Application Lifecycle Application Lifecycle Management Management

Vsts

Embed Size (px)

Citation preview

Page 1: Vsts

Presented by Presented by

Kashif Akram Kashif Akram

User Group Lead – User Group Lead – www.dev30.com

Developed by Developed by

Developer Evangelist Team Developer Evangelist Team

MicrosoftMicrosoft

An Integrated Approach to An Integrated Approach to Application Lifecycle Application Lifecycle Management Management

Page 2: Vsts

Why I'm Here – Profile Why I'm Here – Profile

Have experience in project management Have experience in project management and execution as a Technical Project and execution as a Technical Project Manager Manager

Part of the SCAMPI CLASS “A” Audit Team Part of the SCAMPI CLASS “A” Audit Team for CMMi level 4&5for CMMi level 4&5

Currently working as Sr. Architect Currently working as Sr. Architect

Page 3: Vsts

Application Lifecycle ManagementApplication Lifecycle ManagementIdeal StateIdeal State

Page 4: Vsts

Our ApproachOur Approach

PeoplePeople ProcessProcess ToolsTools

Empower Empower teamsteams

Quality Quality mindsetmindset

Team of peersTeam of peers

Visibility atVisibility atevery levelevery level

AgileAgile

CustomizableCustomizable

LightweightLightweight

PatternsPatternsand practicesand practices

Highly Highly integratedintegrated

ProductiveProductive

ExtensibleExtensible

Low adminLow admin

Successful IT organizations take an incremental approach to improving application development

capabilities

Page 5: Vsts

Development TeamsDevelopment Teams

DatabaseDatabaseProfessionalProfessional

SolutionSolutionArchitectArchitect

Project ManagerProject Manager

DeveloperDeveloper

TesterTester

End UserEnd User

Page 6: Vsts
Page 7: Vsts

Seven Key benefits Seven Key benefits

Collaborate and communicate Collaborate and communicate

Drive predictability Drive predictability

Manage team workflow Manage team workflow

Use familiar toolsUse familiar tools

Ensure quality , easy and oftenEnsure quality , easy and often

Integrate frequently Integrate frequently

Make real-time decision Make real-time decision

Page 8: Vsts

Process Enacted By ToolingProcess Enacted By Tooling

Choose process when Choose process when creating a new creating a new projectproject

Page 9: Vsts
Page 10: Vsts

Project ManagementProject ManagementProblem SpaceProblem Space

Team CollaborationTeam Collaboration

Tracking and ManagingTracking and Managing

Process ImplementationProcess Implementation

Lack of Visibility and PredictabilityLack of Visibility and Predictability

Page 11: Vsts

HighlightsHighlightsProject ManagersProject Managers

One-window process to access to work One-window process to access to work items, documents, reports, team builds items, documents, reports, team builds and version controland version control

Process templates to help manage process Process templates to help manage process integration and adaption integration and adaption

Full bi-directional synchronization to enable Full bi-directional synchronization to enable single, real-time view of project statussingle, real-time view of project status

Familiar user interface and tools such as Familiar user interface and tools such as Microsoft Project and ExcelMicrosoft Project and Excel

Page 12: Vsts

Customizable SharePoint Customizable SharePoint portal for team portal for team collaborationcollaboration

Page 13: Vsts
Page 14: Vsts

Business requirements Business requirements captured and managed to captured and managed to

enable end-to-end enable end-to-end traceabilitytraceability

Page 15: Vsts

Full integration into Full integration into Microsoft Project forMicrosoft Project for

a real-time viewa real-time viewof work itemsof work items

Page 16: Vsts

How Far Can We Get In The Available Time?How Far Can We Get In The Available Time?

WorkWorkcompletedcompleted

WorkWork planned planned

Page 17: Vsts

Teamprise explorer Teamprise explorer running on Linuxrunning on Linux

Page 18: Vsts
Page 19: Vsts

ArchitectsArchitectsProblem SpaceProblem Space

Visualization of designVisualization of designArchitecture modelingArchitecture modelingHigh-quality implementation of designHigh-quality implementation of designDecreasing deployment complexityDecreasing deployment complexity

“…unexplained lapses between the model and the code introduce gaps into the SDLC, which undermine the role and utility of the model”– IDC March 2004

Page 20: Vsts

HighlightsHighlightsSoftware ArchitectsSoftware Architects

Design and validate architectureDesign and validate architecturePowerful new visual designers. Application Designer, Powerful new visual designers. Application Designer, Logical Datacenter Designer, Deployment Designer , Class Logical Datacenter Designer, Deployment Designer , Class DesignerDesignerValidate service-oriented solutions against target Validate service-oriented solutions against target deployment environmentdeployment environmentVisualize distributed application dependencies and Visualize distributed application dependencies and relationshipsrelationships

Effectively communicate design decisionsEffectively communicate design decisionsIntegrates with team tools to facilitate better team Integrates with team tools to facilitate better team collaboration and communicationcollaboration and communication

Utilize proven development practicesUtilize proven development practicesLeverage integrated guidance, frameworks, and tools from Leverage integrated guidance, frameworks, and tools from Microsoft’s Microsoft’s patterns & practices patterns & practices teamteam

Page 21: Vsts

Design For OperationsDesign For Operations

Validate application design Validate application design against operational against operational environment to ensure environment to ensure successful deploymentsuccessful deployment

Page 22: Vsts

Distributed Application Distributed Application ArchitectureArchitecture

Visually design, configure, and Visually design, configure, and validate distributed applicationsvalidate distributed applications

Page 23: Vsts

Class DiagramsClass Diagrams

Keep application design documents Keep application design documents synchronized with code at all timessynchronized with code at all times

Model .NET applications Model .NET applications with high fidelitywith high fidelity

Page 24: Vsts

DevelopersDevelopersProblem SpaceProblem Space

Lack of productivityLack of productivity

Code qualityCode quality

Ensure design constraintsEnsure design constraints

Lack of testing tools for developersLack of testing tools for developers

Application performanceApplication performance

“Only a dysfunctional development organization would deliberately hand code with known defects over to a test team.”– Forrester, May 2004

Page 25: Vsts

HighlightsHighlightsSoftware DevelopersSoftware Developers

Automatic code generator to improve Automatic code generator to improve productivityproductivity

Static code analysis for better code qualityStatic code analysis for better code quality

Performance improvement by using Code Performance improvement by using Code profiling profiling

Integrated Unit Testing to test class Integrated Unit Testing to test class methodsmethods

Page 26: Vsts

Identify coding errors Identify coding errors and security and security vulnerabilitiesvulnerabilities

Page 27: Vsts

Managing Work ItemsManaging Work Items

Manage and analyze work items Manage and analyze work items using Microsoft Excelusing Microsoft Excel

Page 28: Vsts

Associate work items with eachAssociate work items with eachcheck-in to provide traceability from check-in to provide traceability from

requirements to coderequirements to code

Page 29: Vsts

Change ManagementDiscover who last changed a Discover who last changed a

section of code and get section of code and get detailed change set detailed change set

informationinformation

Page 30: Vsts

Check-In PoliciesCheck-In Policies

Policies enforced by toolingPolicies enforced by toolingreinforce good development reinforce good development practicespractices

Page 31: Vsts

Build And DeploymentBuild And Deployment

Build verification Build verification test results as part test results as part of the build processof the build process

Who checkedWho checkedin what?in what?

Page 32: Vsts

Data professionals roleData professionals role

Database change managementDatabase change management

Automate database testingAutomate database testing

Database version controllingDatabase version controlling

Database ProfessionalDatabase ProfessionalProblem SpaceProblem Space

Page 33: Vsts

HighlightsHighlightsDatabase ProfessionalsDatabase Professionals

Bring data professionals into the lifecycleBring data professionals into the lifecycleProvide full Visual Studio Team System supportProvide full Visual Studio Team System support

Support Work Item tracking for database Support Work Item tracking for database changeschanges

Take control of database changeTake control of database changeOffline, change management of the database Offline, change management of the database schemaschema

Automated refactoring of database objectsAutomated refactoring of database objects

Automate database testing to improve Automate database testing to improve qualityquality

Unit testing for database queriesUnit testing for database queries

Automatic generation of meaningful test dataAutomatic generation of meaningful test data

Page 34: Vsts

Database Change ManagementDatabase Change Management

A new offline Database A new offline Database project allows you to work project allows you to work with your database schema with your database schema offline while full integration offline while full integration with TFS allows you to with TFS allows you to manage and version these manage and version these changeschanges

Rename refactoring makes Rename refactoring makes it easy to make changes to it easy to make changes to your database schemayour database schema

Page 35: Vsts

Test Data GenerationTest Data Generation

Data Generation Plans Data Generation Plans allow you to create allow you to create meaningful/repeatable meaningful/repeatable test datatest data

Customizable and extensible Customizable and extensible generators allow you to create generators allow you to create data that mimics production datadata that mimics production data

Page 36: Vsts

TestersTestersProblem SpaceProblem Space

Testing in the SDLC/ALMTesting in the SDLC/ALM

Creating test strategyCreating test strategy

Inadequate testing toolsInadequate testing tools

Finding complex bugsFinding complex bugs

“…the later testing starts, the later defects are identified,and defects that are identified later in the life cycle cost exponentiallymore to repair”– Forrester, May 2004

Page 37: Vsts

HighlightsHighlightsSoftware TestersSoftware Testers

Test Case ManagementTest Case ManagementCreate test listCreate test listOrganize and Execute testsOrganize and Execute tests

Manual testing Manual testing Provide script for manual tasksProvide script for manual tasks

Web testingWeb testingRecord and playback interactionsRecord and playback interactions

Load testingLoad testingSimulate multiple usersSimulate multiple users

Page 38: Vsts

Quickly identify executed Quickly identify executed code paths to determine code paths to determine effectiveness of unit testseffectiveness of unit tests

Page 39: Vsts

Integrated Unit TestingIntegrated Unit Testing

Auto generate unit testsAuto generate unit tests

Page 40: Vsts

Web TestingWeb Testing

Sort and manage testsSort and manage tests

Functional web testingFunctional web testing

Browser auto-recordplayback

Page 41: Vsts

Load TestingLoad Testing

Switch to TableSwitch to Tableview or graphview or graph

Dynamically monitorDynamically monitorperformance characteristicsperformance characteristics

Pre-configuredPre-configuredcounter collectionscounter collections

Page 42: Vsts

Project ServerProject ServerThird-PartyThird-Party

IDEsIDEs

Web Clients and Web Clients and XML Web XML Web ServicesServices

Application Life Cycle Management (ALM) Application Life Cycle Management (ALM) SolutionSolution