Scrum agile process

  • 4,025 views
Uploaded on

Scrum process presented by cuong@microsoft.com

Scrum process presented by cuong@microsoft.com

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
4,025
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
183
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. MANAGE YOUR PROJECT DIFFERENTLY Trịnh Minh Cường cuong@microsoft.com cuong@microsoft.com
  • 2. WHAT IS THIS ? cuong@microsoft.com
  • 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 cuong@microsoft.com
  • 4. Project Management Triangle SCOPE COST TIME cuong@microsoft.com
  • 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 cuong@microsoft.com
  • 6. Waterfall Analysis Design Develop Test Deploy cuong@microsoft.com
  • 7. Parkinson’s Law “Work expands so as to fill the time available for its completion” cuong@microsoft.com
  • 8. Don’t assign one week task, Break it into smaller sub tasks ! Gantt chart gets bigger & bigger. No one can read Gantt chart cuong@microsoft.com
  • 9. Waterfall is easy to understand but it is not effective in real cuong@microsoft.com
  • 10. WHAT SCRUM CAN HELP? cuong@microsoft.com
  • 11. Agile “Methodologies” cuong@microsoft.com
  • 12. Scrum is an Agile framework Scrum is an iterative, incremental framework for project management and agile software development. Agile … is a group of software development methodologies based on iterative and incremental development… cuong@microsoft.com
  • 13. Agile Analysis Design Develop Test Deploy cuong@microsoft.com
  • 14. Agile Analysis Design Test Develop Deploy Analysis Design Test Develop Deploy Analysis Design Test Develop Deploy ! ? ? ! cuong@microsoft.com
  • 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 cuong@microsoft.com
  • 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 cuong@microsoft.com
  • 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 cuong@microsoft.com
  • 18. Roles in Scrum Scrum Master Scrum Team Product Owner Stakeholders & Users cuong@microsoft.com
  • 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 cuong@microsoft.com
  • 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 cuong@microsoft.com
  • 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 cuong@microsoft.com
  • 22. MResources = More Velocity? 8 16 12 24 16 cuong@microsoft.com
  • 23. Scrum of Scrums cuong@microsoft.com
  • 24. 6 Artifacts Product Vision Product Backlog Release Plan Sprint Backlog Sprint Burndown Impediment List cuong@microsoft.com
  • 25. Product – Sprint Backlog cuong@microsoft.com
  • 26. Product vs Sprint Backlog Product BackLog Sprint BackLog Level of detail Less detailed Very detailed Item User Story Task Estimation Units Story Points Hours Doc owner Product Owner Team Revised Weekly Daily Duration Project Sprint Workbook Product Backlog Iteration Backlog cuong@microsoft.com
  • 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 2 Release Plan Sprint 4 5 Sprint 5 8 cuong@microsoft.com
  • 28. User Story • Independent • Negotiable User Story <StoryPoint> • Valuable Task 1 Task 2 Task 3 • Estimatable • Small • Testable As a <USER> I need to <ACTION> In order to <REASON> cuong@microsoft.com
  • 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 cuong@microsoft.com
  • 30. Meetings in SCRUM Meeting Purpose Duration Frequency Sprint Determine what work to do in 2 hours per Once per Planning the coming sprint. week sprint Daily Allow team members to 15 minutes Daily Scrum commit, collaborate, and communicate risks. Sprint Show the customer and other 2 hours per Once per Review stakeholders the work that the week sprint team accomplished in the sprint, and receive feedback. Retrospect Identify and implement ideas 3 hours Once per ive for process improvement. sprint cuong@microsoft.com
  • 31. Daily Scrum • Daily, 15 minutes, whole team • What did you do yesterday ? • What will you do today ? • What are impediments? No need minutes meeting Need a tool to keep track user story, task, bug… cuong@microsoft.com
  • 32. Sprint Task Board User Stories Not Done In Progress Done Deferred Do this Do this Do this As a user I and and and want this to that. that. that. do that. Do this and that. As a user I Do this Do this and and want this to that. that. do that. As a user I Do this Do this and and want this to that. that. do that. Do this and that. cuong@microsoft.com
  • 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) cuong@microsoft.com
  • 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 cuong@microsoft.com
  • 35. Process to develop a web site cuong@microsoft.com
  • 36. Product backlog Story Point Priority 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 …. cuong@microsoft.com
  • 37. The sprint goal A short statement of what the work will be focused on during the sprint UX Prototyping Design static prototype web site Database Design XHTML, CSS validation CodeFirst EF 4 to generate data jQuery 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, … cuong@microsoft.com
  • 38. Burn Down Chart 180 hrs. Learning Curve Work Hours Remaining Team speeds up 0 hrs. Time 1 Sprint = 2 weeks cuong@microsoft.com
  • 39. What happen? 180 hrs. Bugs happen Work Hours Remaining Urgent task 0 hrs. Time 1 Sprint = 2 weeks cuong@microsoft.com
  • 40. Summarize Roles •Product owner •ScrumMaster Event •Team •Sprint planning •Sprint review •Sprint retrospective •Daily scrum meeting Artifacts •Product backlog •Sprint backlog •Burndown charts cuong@microsoft.com
  • 41. cuong@microsoft.com
  • 42. WHAT TE AM FOUNDATION SERVER CAN HELP ? cuong@microsoft.com
  • 43. Big picture cuong@microsoft.com
  • 44. SubVersion, CVS, GIT are SCM only Bug Tracking Deployment Project Management Quality Control Report SCM: Source Code Management cuong@microsoft.com
  • 45. Much more than a SCM Developer Database Designer Professional Architect Tester Business Project Analyst Team Foundation Server Manager cuong@microsoft.com
  • 46. What TFS can do Team Foundation Server Process Focused Version Control Process Templates Work Item Tracking Integrated SharePoint Check-in Build Automation Manage work Customizable Check-in Bugs, Tasks, Reporting Policies Continuous Requirements, Integration Shelving Stories, Risks, Decision etc. Scheduled Support Very Extensible Ad Hoc Track Project Progress cuong@microsoft.com
  • 47. From S To XXL cuong@microsoft.com
  • 48. Building blocks Client Interface Version Control Build Proxy Environment Visual MS Excel Command Line Studio Version Control Build Proxy Process Service MS Project Team Explorer TFS SDK Application Tier SQL Reporting Services Windows SharePoint Services Web Services SQL Server Version Data Work Items Team Build Control Warehouse Data Tier cuong@microsoft.com
  • 49. Deployment Business User Dev Team (Local) Dev Team (Remote) Build Server Win 2008 Server SQL Server 2008 IIS 7.0 Version Control Active Directory Proxy (Remote) HTTP / S TCP/IP Team Foundation Server cuong@microsoft.com
  • 50. Topology: single server Single Server TFS HR TFS AT Applications cuong@microsoft.com
  • 51. Consolidate backend DB Data Tier TFS AT HR Applications Clustered SQL Server Scale (a little), SQL Consolidation cuong@microsoft.com
  • 52. Bigger Network Load Balancing HR TFS AT Applications Team Project N Finance Collection VIP L TFS AT Applications B Company TFS AT Web site Another SQL Server Isolation, Reliability, Scale cuong@microsoft.com
  • 53. More Bigger HR TFS Build TFS AT Farm Applications N Finance Applications TFS L TFS AT Proxies B Company TFS AT Web site Test Rig SharePoint Data Virtual Project Farm Warehouse Machine Server Manager cuong@microsoft.com
  • 54. VERSION CONTROL Team Foundation Server Process Focused Version Control Process Templates Work Item Tracking Integrated SharePoint Check-in Build Automation Manage work Customizable Check-in Bugs, Tasks, Reporting Policies Continuous Requirements, Integration Shelving Stories, Risks, Decision etc. Scheduled Support Very Extensible Ad Hoc Track Project Progress cuong@microsoft.com
  • 55. Workspaces: local working copy Map Server to Per User, Per Local Workstation Changes in Also Used for Workspace create Builds “Pending Changes” cuong@microsoft.com
  • 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 cuong@microsoft.com
  • 57. Other terms of TFS version control • Integrated Check-in • Check-in policies • Shelve • Label • Branch / Merge More at http://www.slideshare.net/stevenl/team- foundation-server-2010-version-control cuong@microsoft.com
  • 58. Check-in Policies • Soft requirements for check-in • Extensible • Can be overridden cuong@microsoft.com
  • 59. Client Server vs Distributed SCM • Clients push-pull master Exchanging patches repository. (change-sets) from • A client hold only a working peer to peer copy of a project tree • Changes by client commits the master repository before they propagate to other users cuong@microsoft.com
  • 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 cuong@microsoft.com
  • 61. TFS & FRIENDS cuong@microsoft.com
  • 62. Visual Studio  TFS Visual Studio 2005 Team Foundation Server 2010 Visual Studio 2008 Visual Studio 2010 Team Foundation Server 2008 cuong@microsoft.com
  • 63. With VB, VC++ 6.0, VS2003 • Upgrade to Service Pack 6 • Install Team Foundation Server MSSCCI Provider cuong@microsoft.com
  • 64. Excel  TFS cuong@microsoft.com
  • 65. Outlook  TFS • Email notification • TeamCompanion • TeamLook cuong@microsoft.com
  • 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 cuong@microsoft.com
  • 67. With SharePoint Server • Install on SharePoint Foundation 2010 • Install on SharePoint Server 2010: full features • Connect to MS Project Server 2010 cuong@microsoft.com
  • 68. For Non-.NET Development • Team Explorer Everywhere – Eclipse plug-in for TFS – Rich client (Java-based) – Command-Line cuong@microsoft.com
  • 69. cuong@microsoft.com
  • 70. Team Foundation Server Process Version Control Process Templates Work Item Tracking Integrated SharePoint Check-in Build Automation Manage work Customizable Check-in Bugs, Tasks, Reporting Policies Continuous Requirements, Integration Shelving Stories, Risks, Decision etc. Scheduled Support Very Extensible Ad Hoc Track Project Progress cuong@microsoft.com
  • 71. Process Templates CMMI 5.0 Agile 5.0 Default templates SCRUM 1.0 MPT 1.0 Customed templates X Y cuong@microsoft.com
  • 72. A Process Template Process Guidance User Story Task Bug Work Item Process Template Issue Test Case Custom Work Item Reportings cuong@microsoft.com
  • 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 cuong@microsoft.com
  • 74. Work Item Tracking • Create, Update, Change status • Link • Associate with changeset • Query cuong@microsoft.com
  • 75. User Story Implementation cuong@microsoft.com
  • 76. REPORTING Process Focused Version Control Process Templates Work Item Tracking Integrated SharePoint Check-in Build Automation Manage work Customizable Check-in Bugs, Tasks, Reporting Policies Continuous Requirements, Integration Shelving Stories, Risks, Decision etc. Scheduled Support Very Extensible Ad Hoc Track Project Progress cuong@microsoft.com
  • 77. cuong@microsoft.com
  • 78. Using SCRUM/Agile likes driving fast car You need reliable brake and airbag system cuong@microsoft.com
  • 79. QUALIT Y CONTROL cuong@microsoft.com
  • 80. cuong@microsoft.com
  • 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 cuong@microsoft.com
  • 82. Traditional Test Design Implement Test cuong@microsoft.com
  • 83. TDD: Test Driven Design Design Test Implement cuong@microsoft.com
  • 84. Acceptance Test 1 1..n User Story Acceptance Test 1 1..n 1 1..n Task Unit Test cuong@microsoft.com
  • 85. State transition of a user story cuong@microsoft.com
  • 86. CONTINOUS INTEGRATION Team Foundation Server Process Focused Version Control Process Templates Work Item Tracking Integrated SharePoint Check-in Build Automation Manage work Customizable Check-in Bugs, Tasks, Reporting Policies Continuous Requirements, Integration Shelving Stories, Risks, Decision etc. Scheduled Support Very Extensible Ad Hoc Track Project Progress cuong@microsoft.com
  • 87. CI in TFS 2010 cuong@microsoft.com
  • 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 cuong@microsoft.com
  • 89. ARCHITECT & MODELLING cuong@microsoft.com
  • 90. cuong@microsoft.com
  • 91. cuong@microsoft.com
  • 92. cuong@microsoft.com
  • 93. cuong@microsoft.com
  • 94. cuong@microsoft.com
  • 95. ROI ANALYSIS OF SUCCESSFUL SCRUM & TFS DEPLOYMENT cuong@microsoft.com
  • 96. ROI Analysis for dev team More productive 120-150% Fix bug earlier. Fixing cost 70-90% Amount of captured know-how 200-300% cuong@microsoft.com
  • 97. ROI Analysis for customer Receive workable software regularly Control investment better Get better quality software cuong@microsoft.com
  • 98. keywords to remember cuong@microsoft.com
  • 99. Khổng Tử said What U listen, U forget What U see, U remember What U do, U understand What U teach, U master cuong@microsoft.com
  • 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/ cuong@microsoft.com
  • 101. THANKS FOR YOUR AT TENTION. CUONG@MICROSOF T.COM cuong@microsoft.com