Manage your project differently


Published on

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

Published in: Technology
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Giải thích SCRUMSCRUM khác gì với Agile
  • Product backlogThe product backlog is a high-level document for the entire project. It contains backlog items: broad descriptions of all required features, wish-list items, etc. prioritized by business value. It is the “What” that will be built. It is open and editable by anyone and contains rough estimates of both business value and development effort. Those estimates help the Product Owner to gauge the timeline and, to a limited extent, prioritize. For example, if the “add spellcheck” and “add table support” features have the same business value, the one with the smallest development effort will probably have higher priority, because the ROI (Return On Investment) is higher.The product backlog is the property of the Product Owner. Business value is set by the Product Owner. Development effort is set by the Team.Sprint backlogThe sprint backlog is a document containing information about how the team is going to implement the features for the upcoming sprint. Features are broken down into tasks; as a best practice, tasks are normally estimated between four and sixteen hours of work. With this level of detail the whole team understands exactly what to do, and anyone can potentially pick a task from the list. Tasks on the sprint backlog are never assigned; rather, tasks are signed up for by the team members as needed, according to the set priority and the team member skills.The sprint backlog is the property of the Team. Estimations are set by the Team. Often an accompanying Task Board is used to see and change the state of the tasks of the current sprint, like “to do”, “in progress” and “done”.Burn downThe sprint burn down chart is a publicly displayed chart showing remaining work in the sprint backlog. Updated every day, it gives a simple view of the sprint progress. It also provides quick visualizations for reference. There are also other types of burndown, for example the Release Burndown Chart that shows the amount of work left to complete the target commitment for a Product Release (normally spanning through multiple iterations) and the Alternative Release Burndown Chart[14], which basically does the same, but clearly shows scope changes to Release Content, by resetting the baseline.It should not be confused with an earned value chart.
  • Team Foundation Server 2010 is for everyone…regardless of the size of your team. Whether its 2,000 or 2, or even if you are a team of one. With TFS 2010, you start with a basic configuration that meets your current needs. You can start on top of SQL Server 2008 Express Edition and easily upgrade to SQL Server 2008 Standard or Enterprise editions when and if your needs demand it. Use the features you want now and enable other features when you’re ready.
  • Demo
  • Studio 2005 to TFS 2010
  • Some more
  • Giải thích SCRUMSCRUM khác gì với Agile
  • Manage your project differently

    1. 1. MANAGE YOUR PROJECT DIFFERENTLY Trịnh Minh Cường CTO TechMaster Vietnam
    2. 2. WHAT IS THIS ?
    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
    4. 4. Project Management Triangle SCOPE COST TIME
    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
    6. 6. WaterfallAnalysis Design Develop Test Deploy
    7. 7. Parkinson’s Law“Work expands so as tofill the time available for its completion”
    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
    9. 9. Waterfall is easy to understand but it is not effective in real
    10. 10. WHAT SCRUM CAN HELP?
    11. 11. Agile“Methodologies”
    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…
    13. 13. AgileAnalysis Design Develop Test Deploy
    14. 14. AgileAnalysis Design Test eploy Develop D Analysis Design Test eploy Develop D Analysis Design Test eploy Develop D ! ? ? !
    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
    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
    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
    18. 18. Roles in Scrum Scrum Master Scrum TeamProduct Owner Stakeholders & Users
    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
    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
    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
    22. 22. MResources = More Velocity?8 16 12 24 16
    23. 23. Scrum of Scrums
    24. 24. 6 ArtifactsProduct Vision Product Backlog Release PlanSprint Backlog Sprint Burndown Impediment List
    25. 25. Product – Sprint Backlog
    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
    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
    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>
    29. 29. User Story• User Story == Use Case• MosCow: Must – Should – Could – Wouldn’t• Write non-functional requirements as user stories• Estimate Story Point estimate-points-story-points-and-how-to-measure-them- in-scrum
    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
    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…
    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 this and that.As a user I Do this Do this and andwant this to that. that.As a user I Do this Do this and andwant this to that. that. Do this and that.
    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)
    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
    35. 35. Process to develop a web site
    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 ….
    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, …
    38. 38. Burn Down Chart 180 hrs. Learning CurveWork Hours Remaining Team speeds up 0 hrs. Time 1 Sprint = 2 weeks
    39. 39. What happen? 180 hrs. Bugs happenWork Hours Remaining Urgent task 0 hrs. Time 1 Sprint = 2 weeks
    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
    41. 41.
    43. 43. Big picture
    44. 44. SubVersion, CVS, GIT are SCM only Bug Tracking Deployment Project Management Quality Control ReportSCM: Source Code Management
    45. 45. Much more than a SCM Developer Database Designer Professional Architect TesterBusiness ProjectAnalyst Team Foundation Server Manager
    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
    47. 47. From S To XXL
    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
    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
    50. 50. Topology: single server Single Server TFS HR TFS AT Applications
    51. 51. Consolidate backend DB Data Tier TFS AT HR Applications Clustered SQL ServerScale (a little), SQL Consolidation
    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
    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
    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
    55. 55. Workspaces: local working copy Map Server to Per User, Per Local Workstation Changes in Also Used for Workspace create Builds “Pending Changes”
    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
    57. 57. Other terms of TFS version control• Integrated Check-in• Check-in policies• Shelve• Label• Branch / MergeMore at
    58. 58. Check-in Policies• Soft requirements for check-in• Extensible• Can be overridden
    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
    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
    61. 61. TFS & FRIENDS
    62. 62. Visual Studio  TFSVisual Studio 2005 Team Foundation Server 2010Visual Studio 2008Visual Studio 2010 Team Foundation Server 2008
    63. 63. With VB, VC++ 6.0, VS2003• Upgrade to Service Pack 6• Install Team Foundation Server MSSCCI Provider
    64. 64. Excel  TFS
    65. 65. Outlook  TFS• Email notification• TeamCompanion• TeamLook
    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 e/tags/TFS+API/default.aspx?PageIndex=2
    67. 67. With SharePoint Server• Install on SharePoint Foundation 2010• Install on SharePoint Server 2010: full features• Connect to MS Project Server 2010
    68. 68. For Non-.NET Development• Team Explorer Everywhere – Eclipse plug-in for TFS – Rich client (Java-based) – Command-Line
    69. 69.
    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
    71. 71. Process TemplatesCMMI 5.0 Agile 5.0 Default templatesSCRUM 1.0 MPT 1.0 Customed templates X Y
    72. 72. A Process Template Process Guidance User Story Task Bug Work ItemProcess Template Issue Test Case Custom Work Item Reportings
    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
    74. 74. Work Item Tracking• Create, Update, Change status• Link• Associate with changeset• Query
    75. 75. User StoryImplementation
    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
    77. 77.
    78. 78. Using SCRUM/Agile likes driving fast carYou need reliable brake and airbag system
    79. 79. QUALIT Y CONTROL
    80. 80.
    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
    82. 82. Traditional TestDesign Implement Test
    83. 83. TDD: Test Driven DesignDesign Test Implement
    84. 84. Acceptance Test 1 1..nUser Story Acceptance Test 1 1..n 1 1..n Task Unit Test
    85. 85. State transition of a user story
    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
    87. 87. CI in TFS 2010
    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
    90. 90.
    91. 91.
    92. 92.
    93. 93.
    94. 94.
    96. 96. ROI Analysis for dev teamMore productive 120-150%Fix bug earlier. Fixing cost 70-90%Amount of captured know-how 200-300%
    97. 97. ROI Analysis for customerReceive workable software regularlyControl investment betterGet better quality software
    98. 98. keywords to remember
    99. 99. Khổng Tử saidWhat U listen, U forgetWhat U see, UrememberWhat U do, Uunderstand
    100. 100. Learning Resource• Web – 12 Principles of Agile• SlideShare – Project Management with SCRUM – Intro to Agile• Blogs – –