Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Adaptive Development Methodology

12.965 Aufrufe

Veröffentlicht am

Salesforce.com Adaptive Development Methodology deck describing the methodology.

Veröffentlicht in: Business, Technologie

Adaptive Development Methodology

  1. 1. Adaptive Development Methodology
  2. 2. Overview Outline <ul><li>History </li></ul><ul><li>ADM Overview </li></ul><ul><li>ADM Principles & Mechanics </li></ul>
  3. 3. The Backstory <ul><li>Fast </li></ul><ul><li>Innovative </li></ul><ul><li>Successful </li></ul><ul><li>Growing </li></ul>
  4. 4. 7 years later… <ul><li>35,000+ customers </li></ul><ul><li>900,000+ subscribers </li></ul><ul><li>100+ Million transactions per day </li></ul><ul><li>200+ in Technology! </li></ul>
  5. 5. But…uh oh…
  6. 6. It’s getting harder…
  7. 7. … to get things done…
  8. 8. … so what’s the deal? <ul><li>Waterfall process </li></ul>Un-predictable Delayed releases Velocity slowdown No visibility Late feedback Technical Debt Death march Loss of cred Over budget Scope creep
  9. 9. … so what’s the deal? <ul><li>Waterfall process </li></ul>Team frustration
  10. 10. … so what’s the deal? <ul><li>Waterfall process </li></ul>Team frustration
  11. 11. Not good…
  12. 12. We can do better…
  13. 13. ADM Elegant… … and a little messy
  14. 14. Overview Outline <ul><li>History </li></ul><ul><li>ADM Overview </li></ul><ul><li>ADM Principles & Mechanics </li></ul>
  15. 15. Core Values <ul><li>KISS </li></ul><ul><li>Listen to your customers </li></ul><ul><li>Iterate </li></ul>
  16. 16. What is ADM? ADM is a modified Scrum/XP style of product development that is specific to Salesforce. It employs Scrum project management framework and adopts certain XP practices.
  17. 17. What is ADM? Re-factoring Self-organizing Predictable releases Transparent Ftest - Selenium Continuous integration Debt free Just-in-time Iterative Always Potentially Releasable Time-boxed User stories Agile Lean Early feedback Code Reviews Collective Code Ownership Self-correcting
  18. 18. What is Scrum? <ul><li>An agile project management framework for developing software </li></ul><ul><li>Simple </li></ul><ul><li>Prioritized work </li></ul><ul><li>Time-boxed, 30-day sprints </li></ul>
  19. 19. <ul><li>Self-organized, empowered teams </li></ul><ul><li>Daily, verbal communication </li></ul><ul><li>Potentially “production quality” every 30 days </li></ul>What is Scrum?
  20. 20. <ul><li>Eliminates waste </li></ul><ul><li>Increases throughput </li></ul><ul><li>Provides transparency </li></ul>What is Scrum?
  21. 21. Overview Outline <ul><li>History </li></ul><ul><li>ADM Overview </li></ul><ul><li>ADM Principles & Mechanics </li></ul>
  22. 22. Scrum Lifecycle Daily Scrum Meeting Sprint Review: Demo Potentially Releasable New Functionality Product Backlog Sprint Backlog Retrospective 24 Hours 2 - 4 Weeks
  23. 23. The Scrum Team QE Engineer Developer Developer QE Engineer Developer Tech Writer UE Designer Product Owner
  24. 24. Roles: Product Owner <ul><li>Single throat to choke </li></ul><ul><li>Fully accountable for the success or failure of the scrum team </li></ul>
  25. 25. Roles: Product Owner <ul><li>Owns and prioritizes Product Backlog </li></ul><ul><li>Leverages team to break down Product Backlog </li></ul><ul><li>Creates Release Backlog by targeting priority Product Backlog </li></ul><ul><li>Directly drives development </li></ul><ul><li>Fully engaged </li></ul>
  26. 26. Roles: ScrumMaster <ul><li>Ensures Scrum Team lives by the principles and practices of Scrum </li></ul><ul><li>Removes obstacles </li></ul><ul><li>Coach </li></ul>
  27. 27. Roles: ScrumMaster <ul><li>Protects team from external influences </li></ul><ul><li>Improves productivity of team so each user story is potentially releasable </li></ul><ul><li>Keeps progress information up-to-date and visible to all </li></ul><ul><li>Facilitates Daily Meetings </li></ul>
  28. 28. Roles: Scrum Team <ul><li>Cross-functional team </li></ul><ul><li>Has tasks on the Sprint Backlog </li></ul><ul><li>Self organizing, Self correcting. Teams decide best way to deliver </li></ul><ul><li>Makes their own commitment with the resources available, decides how best to distribute tasks to team members </li></ul><ul><li>Members are dedicated resources (as much as possible) </li></ul><ul><li>Optimally 6-10 people </li></ul>
  29. 29. Product Backlog <ul><li>Key to success of Scrum </li></ul><ul><li>Master list of functional and non-functional items desired in the product (features, bugs, re-factoring) </li></ul><ul><li>Anyone can add to Product Backlog </li></ul><ul><li>Product Owner is the only person that prioritizes Product Backlog </li></ul><ul><li>Includes relative estimate of size of features (design, code, test, automate, refactor, doc, fix bugs) </li></ul>
  30. 30. Product Backlog Sample
  31. 31. Release Planning <ul><li>Communicate a common vision for the release </li></ul><ul><li>Initial Design </li></ul><ul><li>Align team on proposed functionality </li></ul><ul><li>Determine target functionality for the release </li></ul>
  32. 32. Release Planning <ul><li>Groom User Stories small enough to be effective for sprint planning </li></ul><ul><li>Determine the relative size of the user stories in story points </li></ul><ul><li>Determine Release Functionality based on velocity </li></ul><ul><li>Identify Dependencies </li></ul>
  33. 33. Sprint Backlog <ul><li>Tasks necessary to complete user stories </li></ul><ul><li>Many-to-one relationship with user stories </li></ul><ul><li>Coding, testing, automation, specs, doc, design, etc. </li></ul>
  34. 34. Sprint Backlog <ul><li>Team expands items on the Sprint Backlog into specific tasks, time estimates in hours, signs up for ownership </li></ul><ul><li>Critical that “The Team” selects items and size for Sprint Backlog </li></ul><ul><li>Managed through Scrumforce </li></ul>
  35. 35. Sprint Planning <ul><li>Determine the Sprint Goal </li></ul><ul><li>Determine work necessary to complete the goal (with time estimates) </li></ul><ul><li>Make commitments for the Sprint </li></ul>
  36. 36. Sprint Planning Meeting <ul><li>Team “dog piles” on user stories </li></ul><ul><li>Team figures out how to deliver Sprint Goal even without a resource on the team who normally does a particular type of work </li></ul><ul><li>Product Owner may negotiate but Team always determines what they can complete during the sprint </li></ul>
  37. 38. <ul><li>The standards by which we define &quot;done&quot; for sprint functionality is key to the success of iterative, incremental development. Functionality that meets these standards at the end of a sprint will be considered potentially release-able and demoed at the Sprint Review. </li></ul>Definition of “Done”
  38. 39. <ul><li>User Stories </li></ul><ul><li>All defined Acceptance Criteria for a user story have been met. </li></ul><ul><li>Code </li></ul><ul><li>Code implementing the user story functionality is checked in and follows department standards . </li></ul><ul><li>No open regressions (you break it, you own it), with automated tests written for all regressions. </li></ul><ul><li>No open P1 & P2 bugs for the implemented functionality in the sprint. </li></ul><ul><li>Quality </li></ul><ul><li>Code Coverage of 70% </li></ul><ul><li>Test plan, cases and execution for sprint functionality, regression and cross functional test cases related to sprint functionality, need to be 100% executed, and all P1/P2 cases passing. </li></ul><ul><li>All resolved bugs have been verified and closed for the sprint functionality. </li></ul>Definition of “Done”
  39. 40. <ul><li>Performance/Scalability </li></ul><ul><li>Performance/Scalability impact of sprint functionality understood and quantified, and systesting scheduled, if required, with the sys test team. </li></ul><ul><li>User Experience </li></ul><ul><li>UE reviewed new features or significant changes in the UI, feedback incorporated, all resulting P1 and P2 UI bugs fixed. </li></ul><ul><li>Usability testing completed, feedback has been incorporated into the backlog. </li></ul><ul><li>Localization </li></ul><ul><li>All UI components have labels ready for localization vendors. </li></ul><ul><li>Documentation </li></ul><ul><li>User doc describing all aspects of sprint functionality complete / checked in. </li></ul>Definition of “Done”
  40. 41. Autobuild Page
  41. 42. Daily Standup Meeting: Pigs & Chickens <ul><li>Two types of people attend Daily Standup: Pigs and Chickens </li></ul><ul><li>A chicken and pig were walking down the street. The chicken said to the pig, &quot;lets open a restaurant.&quot; The pig said, &quot;Ok, what should we name it.&quot; The chicken said, &quot;How about &quot;Bacon and Eggs&quot;.&quot; The pig said, &quot;No way … I'd be committed but you would only be involved .&quot; </li></ul>
  42. 43. Daily Standup Meeting <ul><li>Re-connect, re-commit and share relevant information </li></ul><ul><li>Team members answer 3 questions (in 2 minutes): </li></ul><ul><ul><li>What did you do yesterday? </li></ul></ul><ul><ul><li>What will you do today? </li></ul></ul><ul><ul><li>Are there any obstacles in your way? </li></ul></ul>
  43. 44. Daily Standup Meeting <ul><li>15 minutes or less </li></ul><ul><li>All Pigs are required to attend Daily Standup </li></ul><ul><li>Pigs talk. Chickens listen. </li></ul><ul><li>Not a problem-solving meeting </li></ul><ul><li>Obstacles are removed ASAP by the ScrumMaster </li></ul>
  44. 45. Burndown Charts Production support Resolution of dev assumptions Added Tasks Added March Tasks!
  45. 46. Sprint Review <ul><li>It’s all about feedback and visibility </li></ul><ul><li>All teams demo done functionality to All Technology / Stakeholders </li></ul><ul><li>Takes place after the last day of the Sprint </li></ul>
  46. 47. Sprint Review <ul><li>Only functionality that meets “Done” criteria is demoed </li></ul><ul><li>Team declares what they committed to doing in the Sprint and did not get done </li></ul><ul><li>Feedback from customers and stakeholders drives design changes for future sprints </li></ul>
  47. 48. Sprint Review User Story Doneness Checklist User documentation complete and checked in. All UI labels ready for localization vendors. Usability testing scheduled when necessary, and feedback incorporated into backlog. UE has reviewed any new features; P1 and P2 UI bugs fixed. Performance/scalability impact ascertained and sys testing scheduled if required. All resolved bugs verified and closed. 100% of test cases logged in QA Tracker and executed in a QA environment, and all P1/P2 cases passing. Code Coverage of 70% (or as agreed with team) No open P1 & P2 bugs No open regressions. Automated tests written and reviewed for all regressions. Code checked in and follows department standards. BT & Profile Perm Setup Page Handshake POC Done Criteria
  48. 49. <ul><li>Looks at “how” product is built (process, tools, etc.) </li></ul><ul><li>Occurs after every Sprint </li></ul><ul><li>What went well? </li></ul><ul><li>What didn’t go well? </li></ul><ul><li>What will you do differently next time? </li></ul>Retrospective