Vsts

kashif.akram 547 views 42 slides Jan 23, 2009
Slide 1
Slide 1 of 42
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42

About This Presentation

No description available for this slideshow.


Slide Content

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 Management Application Lifecycle Management

Why I'm Here – Profile Why I'm Here – Profile
Have experience in project management and Have experience in project management and
execution as a Technical Project Manager execution as a Technical Project Manager
Part of the SCAMPI CLASS “A” Audit Team for Part of the SCAMPI CLASS “A” Audit Team for
CMMi level 4&5CMMi level 4&5
Currently working as Sr. Architect Currently working as Sr. Architect

Application Lifecycle ManagementApplication Lifecycle Management
Ideal StateIdeal State

Our ApproachOur Approach
PeoplePeople ProcessProcess ToolsTools
Empower teamsEmpower teams
Quality mindsetQuality mindset
Team of peersTeam of peers
Visibility atVisibility at
every levelevery level
AgileAgile
CustomizableCustomizable
LightweightLightweight
PatternsPatterns
and practicesand practices
Highly Highly
integratedintegrated
ProductiveProductive
ExtensibleExtensible
Low adminLow admin
Successful IT organizations take an incremental approach to
improving application development capabilities

Development TeamsDevelopment Teams
DatabaseDatabase
ProfessionalProfessional
SolutionSolution
ArchitectArchitect
Project ManagerProject Manager
DeveloperDeveloper
TesterTester
End UserEnd User

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

Process Enacted By ToolingProcess Enacted By Tooling
Choose process when Choose process when
creating a new projectcreating a new project

Project ManagementProject Management
Problem SpaceProblem Space
Team CollaborationTeam Collaboration
Tracking and ManagingTracking and Managing
Process ImplementationProcess Implementation
Lack of Visibility and PredictabilityLack of Visibility and Predictability

HighlightsHighlights
Project ManagersProject Managers
One-window process to access to work items, One-window process to access to work items,
documents, reports, team builds and version documents, reports, team builds and version
controlcontrol
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

Customizable SharePoint Customizable SharePoint
portal for team collaborationportal for team collaboration

Business requirements Business requirements
captured and managed to captured and managed to
enable end-to-end traceabilityenable end-to-end traceability

Full integration into Full integration into
Microsoft Project forMicrosoft Project for
a real-time viewa real-time view
of work itemsof work items

How Far Can We Get In The Available Time?How Far Can We Get In The Available Time?
WorkWork
completedcompleted
WorkWork planned planned

Teamprise explorer Teamprise explorer
running on Linuxrunning on Linux

ArchitectsArchitects
Problem SpaceProblem Space
Visualization of designVisualization of design
Architecture modelingArchitecture modeling
High-quality implementation of designHigh-quality implementation of design
Decreasing 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

HighlightsHighlights
Software ArchitectsSoftware Architects
Design and validate architectureDesign and validate architecture
Powerful new visual designers. Application Designer, Logical Powerful new visual designers. Application Designer, Logical
Datacenter Designer, Deployment Designer , Class DesignerDatacenter Designer, Deployment Designer , Class Designer
Validate service-oriented solutions against target deployment Validate service-oriented solutions against target deployment
environmentenvironment
Visualize distributed application dependencies and relationshipsVisualize distributed application dependencies and relationships
Effectively communicate design decisionsEffectively communicate design decisions
Integrates with team tools to facilitate better team collaboration and Integrates with team tools to facilitate better team collaboration and
communicationcommunication
Utilize proven development practicesUtilize proven development practices
Leverage integrated guidance, frameworks, and tools from Leverage integrated guidance, frameworks, and tools from
Microsoft’s Microsoft’s patterns & practices patterns & practices teamteam

Design For OperationsDesign For Operations
Validate application design Validate application design
against operational against operational
environment to ensure environment to ensure
successful deploymentsuccessful deployment

Distributed Application ArchitectureDistributed Application Architecture
Visually design, configure, and Visually design, configure, and
validate distributed applicationsvalidate distributed applications

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

DevelopersDevelopers
Problem 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

HighlightsHighlights
Software DevelopersSoftware Developers
Automatic code generator to improve productivityAutomatic code generator to improve productivity
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 methodsIntegrated Unit Testing to test class methods

Identify coding errors and Identify coding errors and
security vulnerabilitiessecurity vulnerabilities

Managing Work ItemsManaging Work Items
Manage and analyze work items Manage and analyze work items
using Microsoft Excelusing Microsoft Excel

Associate work items with eachAssociate work items with each
check-in to provide traceability from check-in to provide traceability from
requirements to coderequirements to code

Change Management
Discover who last changed a Discover who last changed a
section of code and get detailed section of code and get detailed
change set informationchange set information

Check-In PoliciesCheck-In Policies
Policies enforced by toolingPolicies enforced by tooling
reinforce good development reinforce good development
practicespractices

Build And DeploymentBuild And Deployment
Build verification test Build verification test
results as part of the results as part of the
build processbuild process
Who checkedWho checked
in what?in what?

Data professionals roleData professionals role
Database change managementDatabase change management
Automate database testingAutomate database testing
Database version controllingDatabase version controlling
Database ProfessionalDatabase Professional
Problem SpaceProblem Space

HighlightsHighlights
Database ProfessionalsDatabase Professionals
Bring data professionals into the lifecycleBring data professionals into the lifecycle
Provide full Visual Studio Team System supportProvide full Visual Studio Team System support
Support Work Item tracking for database changesSupport Work Item tracking for database changes
Take control of database changeTake control of database change
Offline, change management of the database schemaOffline, change management of the database schema
Automated refactoring of database objectsAutomated refactoring of database objects
Automate database testing to improve qualityAutomate database testing to improve quality
Unit testing for database queriesUnit testing for database queries
Automatic generation of meaningful test dataAutomatic generation of meaningful test data

Database Change ManagementDatabase Change Management
A new offline Database project A new offline Database project
allows you to work with your allows you to work with your
database schema offline while database schema offline while
full integration with TFS allows full integration with TFS allows
you to manage and version you to manage and version
these changesthese changes
Rename refactoring makes it Rename refactoring makes it
easy to make changes to your easy to make changes to your
database schemadatabase schema

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

TestersTesters
Problem 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 exponentially
more to repair”
– Forrester, May 2004

HighlightsHighlights
Software TestersSoftware Testers
Test Case ManagementTest Case Management
Create test listCreate test list
Organize and Execute testsOrganize and Execute tests
Manual testing Manual testing
Provide script for manual tasksProvide script for manual tasks
Web testingWeb testing
Record and playback interactionsRecord and playback interactions
Load testingLoad testing
Simulate multiple usersSimulate multiple users

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

Integrated Unit TestingIntegrated Unit Testing
Auto generate unit testsAuto generate unit tests

Web TestingWeb Testing
Sort and manage testsSort and manage tests
Functional web testingFunctional web testing
Browser auto-record
playback

Load TestingLoad Testing
Switch to TableSwitch to Table
view or graphview or graph
Dynamically monitorDynamically monitor
performance characteristicsperformance characteristics
Pre-configuredPre-configured
counter collectionscounter collections

Project ServerProject Server
Third-PartyThird-Party
IDEsIDEs
Web Clients and Web Clients and
XML Web XML Web
ServicesServices
Application Life Cycle Management (ALM) SolutionApplication Life Cycle Management (ALM) Solution