4. Software & Application What is software ? = Science & Art What is application ? = Output of user requirement Key difference Software = Domain Application = Sub Domain
8. Software Errors: $59 Billion US Economy– US National Institute of Standards & Technology NIST The State of the IndustryProject success is rare Succeeded Challenged Failed 32% 44% 24% 2008 35% 46% 19% 2006 15% 34% 51% 2004 Source: Extreme Chaos, The Standish Group International, Inc., 2004, 2006, 2008
9. The State of the IndustryProject success is rare Succeeded Challenged Failed 32% 44% 24% 2008 35% 46% 19% 2006 15% 34% 51% 2004 Lack of integrated tools Separation of business and technology Poor team communication Project tracking vs. project managing Inflexible or immature processes Difficulty balancing productivity and predictability Source: Extreme Chaos, The Standish Group International, Inc., 2004, 2006, 2008
11. Stakeholder(ผู้เกี่ยวข้อง) Software Provider Executive System Analyst Developer Tester Implementer Quality Assurance Document Controller Software Consumer Executive Project Leader System Admin Primary User Secondary User PM
12. Skill for PM. Business Thinking Financial Economic Local & Global Information News, Conversation, Research etc. Software Development Lifecycle Software Management Process Software Development Process Team Management Etc.
15. Software Management Process Software Management Model TFS (Team Foundation System, by Microsoft) TSP (Team Software Process, by SEI) PSP (Personal Software Process, by SEI) CMMI ISO 29110 Etc.
16. Software Development Process Software Development Model Waterfall Spiral Extreme Programming Agile ** Rational Unify Process CMMI
30. You can use tools you already know, including…
31. SLA Program Management Deployment Governance Disaster Recovery Standards Compliance ALM and Visual Studio 2010 … …
32. Architecture Features UML modeling Microsoft has joined OMG Use Case, Activity, Sequence, Component and Class Diagrams Reverse engineer from code Push down for code generation via Domain Specific Language (DSL) models Layer Diagram for architecture enforcement Architecture Explorer Multiple views of existing system Shows relationships between system elements
41. IntelliTrace(Historical Debugging) Reduces debug “cycling” Start Debug Encounter defect Drop into debugger Move back through execution history to locate defect Historical debug trace enables debugging offline test runs “As you sit in the debugger, being able to move backwards while in the debugger (or attach the execution log to a bug) has to be the killer feature coming up in the entire Visual Studio 2010 release.” -John Robbins
43. Profiling Understand how an application uses memory and where it spends its time. Optimize intelligently.
44. Coded UI Testing Enables verification of UI functionality. Record test actions and VS will generate the resulting code. Assertions can be added to verify functionality. Like all VS tests, results can be stored in TFS.
47. Test Impact Analysis Identifies tests impacted by code changes Significantly reduces test time
48. Testing Features QA Professional focused interface Work Item based test case management, test planning and status tracking Focused on Requirements Identification of high-priority tests Robust manual testing functionality Test definition User-friendly Manual Test Runner Defect data capture tools Automated user interface testing
60. Test Lab Benefits Simplifies environment setup Simplifies testing multiple configurations Enables reverting to baseline configuration Provides checkpoints to aid defect resolution Improves test hardware utilization
61. Test Lab Management Goals Virtualize test lab resources Lower technical requirements for test environment creation Enable environment recreation for defect resolution
111. TFS Topology Data Tier Dedicated Admin Tools App Tier TFS AT HR Applications Clustered SQL Server Scale (a little), SQL Consolidation
112. TFS Topology Consolidated Admin Snap-in Network Load Balancing HR Applications TFS AT NLB Team Project Collection Finance Applications VIP Team Project Collection TFS AT Company Web site TFS AT Another SQL Server Isolation Scale Reliability, Scale
113. TFS Topology TFS Build Farm HR Applications TFS AT NLB Finance Applications TFS AT TFS Proxies Company Web site TFS AT Test Rig SharePoint Farm Data Warehouse Project Server Virtual Machine Manager
114. Administering TFS improvements Separate setup and configuration Administration console Flexible configuration Architecture for hosting Team Project Collections Multiple Data Tier Instances Application Tier load balancing Extensive scalability
115. Source Control & Build Improvements Branch visualization Workflow Foundation based build engine Build Server pooling Build Server tags Gated check-in
116. Branch Visualization Focuses on answering common parallel development questions Where did this change come from? Has my change made it over there? How are these branches related?
118. Check-in Validation Edit Code Check in Build and Test Did build succeed? Fixavailable? Find root cause Yes No Yes No Teamblocked Edit code Gated check-in Automated build Did build succeed? Commit Changes Readyfor test No Yes Before Gated check-in intercepts check-ins Queues a server build to validate changes Only changes that build successfully get committed Definition of a “success” is customizable Users can also queue a build of a shelveset for “opt-in” validation After
141. Visual Studio 2010 Team Foundation Server Enterprise Scalability and Management Source Control Visualization & Workflow-based Build steps Improved Agile support, reporting and PMO integration Testing Outstanding tools for the QA Professional Simplifies test lab management Improves the Tester / Developer interaction Development Reduces debug cycling Focuses the testing process Supports the combined developer / database role Architecture UML Modeling and architectural visualization Governance via architectural validation
142. Visual Studio 2010 Team Foundation Server Enterprise Scalability and Management Source Control Visualization & Workflow-based Build steps Improved Agile support, reporting and PMO integration Testing Outstanding tools for the QA Professional Simplifies test lab management Improves the Tester / Developer interaction Development Reduces debug cycling Focuses the testing process Supports the combined developer / database role Architecture UML Modeling and architectural visualization Governance via architectural validation