O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Manage your project differently

4.203 visualizações

Publicada em

Brief how to use Team Foundation Server to manage software project better.

Publicada em: Tecnologia
  • Login to see the comments

Manage your project differently

  1. 1. MANAGE YOUR PROJECT DIFFERENTLY Trịnh Minh Cường CTO TechMaster Vietnam http://techmaster.vn http://techmaster.vn
  2. 2. WHAT IS THIS ? http://techmaster.vn
  3. 3. I HAVE A DREAM• My project o In Time o Within Budget o Meet Requirements• Members in my team o Creative & responsive o Not exhausted and not leave team http://techmaster.vn
  4. 4. Project Management Triangle SCOPE COST TIME http://techmaster.vn
  5. 5. Typical developer• Personal interest is more than team interest• Warm up time is long• Good at patching but bad at designing (problem solving style)• Wait for thing happens but not make thing happen http://techmaster.vn
  6. 6. WaterfallAnalysis Design Develop Test Deploy http://techmaster.vn
  7. 7. Parkinson’s Law“Work expands so as tofill the time available for its completion” http://techmaster.vn
  8. 8. Don’t assign one week task,Break it into smaller sub tasks !Gantt chart gets bigger & bigger. No one can read Gantt chart http://techmaster.vn
  9. 9. Waterfall is easy to understand but it is not effective in real http://techmaster.vn
  10. 10. WHAT SCRUM CAN HELP? http://techmaster.vn
  11. 11. Agile“Methodologies” http://techmaster.vn
  12. 12. Scrum is an Agile frameworkScrum is an iterative, incrementalframework for project management andagile software development.Agile … is a group of softwaredevelopment methodologies based oniterative and incremental development… http://techmaster.vn
  13. 13. AgileAnalysis Design Develop Test Deploy http://techmaster.vn
  14. 14. AgileAnalysis Design Test eploy Develop D Analysis Design Test eploy Develop D Analysis Design Test eploy Develop D ! ? ? ! http://techmaster.vn
  15. 15. Principles of Agile #1• Deliver valuable software early & continuously• Accommodate changes• Collaborate with customer or customer proxy• Motivate individuals  Self-organizing teams  Self tuning http://techmaster.vn
  16. 16. Principles of Agile #2• Enforce effective & transparent communication• Measure of progress by working software delivered. Highlight amount of work not done• Maintain a development speed• Promote technical excellent and good design http://techmaster.vn
  17. 17. DIFFERENCES Plan Driven Scrum• Hierarchy team • Self organizing team• Lot of document • Deliver features• Follow plan • Response to change• Structure • Flexible• Gantt Chart • Burn down chart http://techmaster.vn
  18. 18. Roles in Scrum Scrum Master Scrum TeamProduct Owner Stakeholders & Users http://techmaster.vn
  19. 19. Product Owner• Define the features of the product• Decide on release date and content• Be responsible for the profitability of the product (ROI)• Prioritize features according to market value• Adjust features and priority every iteration, as needed• Accept or reject work results http://techmaster.vn
  20. 20. The Scrum Master• Manage project• Enforce Scrum values and practices• Help team to focus on tasks• Enable close cooperation across all roles and functions• Shield the team from external interferences http://techmaster.vn
  21. 21. The team• Typically 5-9 people• Cross-functional: – Programmers, testers, user experience designers, etc.• Teams are self-organizing – Ideally, no titles but rarely a possibility• Membership should change only between sprints http://techmaster.vn
  22. 22. MResources = More Velocity?8 16 12 24 16 http://techmaster.vn
  23. 23. Scrum of Scrums http://techmaster.vn
  24. 24. 6 ArtifactsProduct Vision Product Backlog Release PlanSprint Backlog Sprint Burndown Impediment List http://techmaster.vn
  25. 25. Product – Sprint Backlog http://techmaster.vn
  26. 26. Product vs Sprint Backlog Product BackLog Sprint BackLogLevel of detail Less detailed Very detailedItem User Story TaskEstimation Units Story Points HoursDoc owner Product Owner TeamRevised Weekly DailyDuration Project SprintWorkbook Product Backlog Iteration Backlog http://techmaster.vn
  27. 27. Project Planning Product Backlog 3 Sprint 1 3 1 Product Release 1 3 Backlog Sprint 2 1 3 3 Sprint 3 2 3 3 Release 2Release Plan Sprint 4 5 Sprint 5 8 http://techmaster.vn
  28. 28. User Story• Independent• Negotiable User Story <StoryPoint>• Valuable Task 1 Task 2 Task 3• Estimatable• Small• TestableAs a <USER> I need to <ACTION> In order to <REASON> http://techmaster.vn
  29. 29. User Story• User Story == Use Case• MosCow: Must – Should – Could – Wouldn’t• Write non-functional requirements as user stories• Estimate Story Point http://stackoverflow.com/questions/1232281/what-are- estimate-points-story-points-and-how-to-measure-them- in-scrum http://techmaster.vn
  30. 30. Meetings in SCRUM Meeting Purpose Duration FrequencySprint Determine what work to do in 2 hours per Once perPlanning the coming sprint. week sprintDaily Allow team members to 15 minutes DailyScrum commit, collaborate, and communicate risks.Sprint Show the customer and other 2 hours per Once perReview stakeholders the work that the week sprint team accomplished in the sprint, and receive feedback.Retrospect Identify and implement ideas 3 hours Once perive for process improvement. sprint http://techmaster.vn
  31. 31. Daily Scrum• Daily, 15 minutes, whole team• What did you do yesterday ?• What will you do today ?• What are impediments?No need minutes meetingNeed a tool to keep track user story, task, bug… http://techmaster.vn
  32. 32. Sprint Task Board User Stories Not Done In Progress Done Deferred Do this Do this Do thisAs a user I and and andwant this to that. that. that.do that. Do this and that.As a user I Do this Do this and andwant this to that. that.do that.As a user I Do this Do this and andwant this to that. that.do that. Do this and that. http://techmaster.vn
  33. 33. “Music Store” web site• Team : 1 PM - 1 dev – 1 ux designer• Mission: Develop “Music Store” site in 3 months.• Every 2 weeks must show customer progress• Team work 5 days a week, 8 hours per day (Utilize rate 75% ~ 6 hours per day) http://techmaster.vn
  34. 34. Example Solution• Each Sprint takes 2 weeks• 4 months  8 Sprints• Each sprint, a person burns 5*2*6=60 hours. A team burns 60*3=180 hours Idle hours will not be counted Hours which used to complete task will be counted as burnt hours http://techmaster.vn
  35. 35. Process to develop a web site http://techmaster.vn
  36. 36. Product backlog Story PointPriority Backlog item Estimate 1 User can see list of category 3 User clicks on a category, list of product under category will 2 5 show 3 At front page, user sees 20 suggested item 3 4 Registered user can rate, commend a item 8 5 Administrator can send message to registered user 8 6 Administrator can create new item 30 7 …. http://techmaster.vn
  37. 37. The sprint goal A short statement of what the work will be focused on during the sprint UX PrototypingDesign static prototype web site Database DesignXHTML, CSS validation CodeFirst EF 4 to generate datajQuery interaction Generate sample data Performance Tune render speed at client Restaurant List Tune server response Show top 20 restaurants Configure memcached caching Personalize data per user List restaurant by A-Z, styles, … http://techmaster.vn
  38. 38. Burn Down Chart 180 hrs. Learning CurveWork Hours Remaining Team speeds up 0 hrs. Time 1 Sprint = 2 weeks http://techmaster.vn
  39. 39. What happen? 180 hrs. Bugs happenWork Hours Remaining Urgent task 0 hrs. Time 1 Sprint = 2 weeks http://techmaster.vn
  40. 40. Summarize Roles•Product owner•ScrumMaster Event•Team •Sprint planning •Sprint review •Sprint retrospective •Daily scrum meeting Artifacts •Product backlog •Sprint backlog •Burndown charts http://techmaster.vn
  41. 41. http://techmaster.vn
  42. 42. WHATTEAM FOUNDATION SERVER CAN HELP ? http://techmaster.vn
  43. 43. Big picture http://techmaster.vn
  44. 44. SubVersion, CVS, GIT are SCM only Bug Tracking Deployment Project Management Quality Control ReportSCM: Source Code Management http://techmaster.vn
  45. 45. Much more than a SCM Developer Database Designer Professional Architect TesterBusiness ProjectAnalyst Team Foundation Server Manager http://techmaster.vn
  46. 46. What TFS can do Team Foundation Server Process Focused Version ControlProcess TemplatesSharePointCustomizable Work Item Tracking Integrated Check-in Check-in Policies Shelving Build Automation Manage work Bugs, Tasks, Requirements, Stories, Risks, etc. Very Extensible Reporting Continuous Integration Scheduled Ad Hoc Decision Support Track Project Progress http://techmaster.vn
  47. 47. From S To XXL http://techmaster.vn
  48. 48. Building blocksClient Interface Version Control Build Proxy Environment Visual MS Excel Command Line Studio Version Control Build Proxy Process Service MS Project Team Explorer TFS SDKApplication Tier SQL Reporting Services Windows SharePoint Services Web Services SQL Server Version Data Work Items Team Build Control Warehouse Data Tier http://techmaster.vn
  49. 49. Deployment Business User Dev Team (Local) Dev Team (Remote) Build Server Win 2008 Server SQL Server 2008 IIS 7.0 Version ControlActive Directory Proxy (Remote) HTTP / S TCP/IP Team Foundation Server http://techmaster.vn
  50. 50. Topology: single server Single Server TFS HR TFS AT Applications http://techmaster.vn
  51. 51. Consolidate backend DB Data Tier TFS AT HR Applications Clustered SQL ServerScale (a little), SQL Consolidation http://techmaster.vn
  52. 52. Bigger Network Load Balancing HR TFS AT Applications Team Project N Finance CollectionVIP L TFS AT Applications B Company TFS AT Web site Another SQL Server Isolation, Reliability, Scale http://techmaster.vn
  53. 53. More Bigger HR TFS Build TFS AT Farm ApplicationsN Finance Applications TFSL TFS AT ProxiesB Company TFS AT Web site Test Rig SharePoint Data Virtual Project Farm Warehouse Machine Server Manager http://techmaster.vn
  54. 54. VERSION CONTROL Team Foundation Server Process FocusedProcess TemplatesSharePoint Version ControlCustomizable Work Item Tracking Integrated Check-in Check-in Policies Shelving Manage work Bugs, Tasks, Requirements, Stories, Risks, etc. Build Automation Very Extensible Continuous Integration Scheduled Reporting Ad Hoc Decision Support Track Project Progress http://techmaster.vn
  55. 55. Workspaces: local working copy Map Server to Per User, Per Local Workstation Changes in Also Used for Workspace create Builds “Pending Changes” http://techmaster.vn
  56. 56. Changesets• Logical container of data related to check-in – File and branch information – Links to work items – Check-in notes – Check in Policy – Metadata (date-time, user) – Atomic checkin• Uniquely identified• Trace & query easilly http://techmaster.vn
  57. 57. Other terms of TFS version control• Integrated Check-in• Check-in policies• Shelve• Label• Branch / MergeMore athttp://www.slideshare.net/stevenl/team-foundation-server-2010-version-control http://techmaster.vn
  58. 58. Check-in Policies• Soft requirements for check-in• Extensible• Can be overridden http://techmaster.vn
  59. 59. Client Server vs Distributed SCM• Clients push-pull master Exchanging patches repository. (change-sets) from peer to peer• A client hold only a working copy of a project tree• Changes by client commits the master repository before they propagate to other users http://techmaster.vn
  60. 60. Client Server vs. Distributed• TFS, CVS, SVN, Perforce, Vault are client- server SCM• Git, Mercurial are distributed SCM• Distributed SCM: o No canonical, reference copy of the codebase exists by default; only working copies o Basic operations (c-in, c-out) are fast o Each working copy acts as remote backup o Suitable for Open Source development but not commercial development http://techmaster.vn
  61. 61. TFS & FRIENDS http://techmaster.vn
  62. 62. Visual Studio  TFSVisual Studio 2005 Team Foundation Server 2010Visual Studio 2008Visual Studio 2010 Team Foundation Server 2008 http://techmaster.vn
  63. 63. With VB, VC++ 6.0, VS2003• Upgrade to Service Pack 6• Install Team Foundation Server MSSCCI Provider http://techmaster.vn
  64. 64. Excel  TFS http://techmaster.vn
  65. 65. Outlook  TFS• Email notification• TeamCompanion• TeamLook http://techmaster.vn
  66. 66. Think TFS as web service provider• Include these namespace – Microsoft.TeamFoundation.Proxy; – Microsoft.TeamFoundation.Client; – Microsoft.TeamFoundation.Server; – Microsoft.TeamFoundation.WorkItemTracking.Client• Windows Form app connects to TFS http://blogs.microsoft.co.il/blogs/shair/archiv e/tags/TFS+API/default.aspx?PageIndex=2 http://techmaster.vn
  67. 67. With SharePoint Server• Install on SharePoint Foundation 2010• Install on SharePoint Server 2010: full features• Connect to MS Project Server 2010 http://techmaster.vn
  68. 68. For Non-.NET Development• Team Explorer Everywhere – Eclipse plug-in for TFS – Rich client (Java-based) – Command-Line http://techmaster.vn
  69. 69. http://techmaster.vn
  70. 70. Team Foundation Server ProcessProcess TemplatesSharePoint Version ControlCustomizable Work Item Tracking Integrated Check-in Check-in Policies Shelving Manage work Bugs, Tasks, Requirements, Stories, Risks, etc. Build Automation Very Extensible Continuous Integration Scheduled Reporting Ad Hoc Decision Support Track Project Progress http://techmaster.vn
  71. 71. Process TemplatesCMMI 5.0 Agile 5.0 Default templatesSCRUM 1.0 MPT 1.0 Customed templates X Y http://techmaster.vn
  72. 72. A Process Template Process Guidance User Story Task Bug Work ItemProcess Template Issue Test Case Custom Work Item Reportings http://techmaster.vn
  73. 73. Work Item Agile 5.0 CMMI 5.0• User Story • Task• Task • Bug• Test Case • Change Request• Bug • Test Case• Issue • Requirement • Review• Shared Steps • Issue • Risk • Shared Steps http://techmaster.vn
  74. 74. Work Item Tracking• Create, Update, Change status• Link• Associate with changeset• Query http://techmaster.vn
  75. 75. User StoryImplementation http://techmaster.vn
  76. 76. REPORTING Process FocusedProcess TemplatesSharePoint Version ControlCustomizable Work Item Tracking Integrated Check-in Check-in Policies Shelving Manage work Bugs, Tasks, Requirements, Stories, Risks, etc. Build Automation Very Extensible Continuous Integration Scheduled Reporting Ad Hoc Decision Support Track Project Progress http://techmaster.vn
  77. 77. http://techmaster.vn
  78. 78. Using SCRUM/Agile likes driving fast carYou need reliable brake and airbag system http://techmaster.vn
  79. 79. QUALIT Y CONTROL http://techmaster.vn
  80. 80. http://techmaster.vn
  81. 81. Automated Unit Test• Write Once, Run Often• Configurable Test Script• Programmable Test Logic• No human input• Auto generate bug report• Trigger action: build / notification http://techmaster.vn
  82. 82. Traditional TestDesign Implement Test http://techmaster.vn
  83. 83. TDD: Test Driven DesignDesign Test Implement http://techmaster.vn
  84. 84. Acceptance Test 1 1..nUser Story Acceptance Test 1 1..n 1 1..n Task Unit Test http://techmaster.vn
  85. 85. State transition of a user story http://techmaster.vn
  86. 86. CONTINOUS INTEGRATION Team Foundation Server Process FocusedProcess TemplatesSharePoint Version ControlCustomizable Work Item Tracking Integrated Check-in Check-in Policies Shelving Manage work Bugs, Tasks, Requirements, Stories, Risks, etc. Build Automation Very Extensible Continuous Integration Scheduled Reporting Ad Hoc Decision Support Track Project Progress http://techmaster.vn
  87. 87. CI in TFS 2010 http://techmaster.vn
  88. 88. Team Foundation Build• Manual: run by team member• Continous: queued by a check-in• Rolling: accumulated until previous build finishes• Gated check in: Check-in is accepted only if submitted changes merge and build successfully• Scheduled: run on a defined schedule http://techmaster.vn
  89. 89. ARCHITECT & MODELLING http://techmaster.vn
  90. 90. http://techmaster.vn
  91. 91. http://techmaster.vn
  92. 92. http://techmaster.vn
  93. 93. http://techmaster.vn
  94. 94. http://techmaster.vn
  96. 96. ROI Analysis for dev teamMore productive 120-150%Fix bug earlier. Fixing cost 70-90%Amount of captured know-how 200-300% http://techmaster.vn
  97. 97. ROI Analysis for customerReceive workable software regularlyControl investment betterGet better quality software http://techmaster.vn
  98. 98. keywords to remember http://techmaster.vn
  99. 99. Khổng Tử saidWhat U listen, U forgetWhat U see, UrememberWhat U do, Uunderstand http://techmaster.vn
  100. 100. Learning Resource• Web – 12 Principles of Agile• SlideShare – Project Management with SCRUM – Intro to Agile• Blogs – http://blog.mountaingoatsoftware.com/ – http://blogs.msdn.com/b/aaronbjork/ http://techmaster.vn