Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Product Development Using Agile and Lean Principles


Published on

My workshop for #fintech startups at StartupBootcamp in Mumbai on Mar 16

Published in: Software
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website!
    Are you sure you want to  Yes  No
    Your message goes here

Product Development Using Agile and Lean Principles

  1. 1. Welcome J
  2. 2. Agenda Schedule Topics 09:30 – 11:00 Agile and Lean 11:00 – 11:30 Tea break 11:30 – 13:00 Scrum Framework 13:00 – 13:45 Lunch 13:45 – 14:45 Scrum-based Product Development 14:45 – 15:00 Tea break 15:00 – 17:00 Scrum Simulation 17:00 – 17:30 Wrap-up / Q&A / Feedback
  3. 3. Waterfall Software Development What are the key challenges with waterfall?
  4. 4. Waterfall challenges: Poor Visibility
  5. 5. Waterfall challenges: Poor Risk Management
  6. 6. Waterfall challenges: Poor Quality
  7. 7. Waterfall challenges: Poor Change Management
  8. 8. Late learning sequence of product development
  9. 9. As a result, software is… Late Buggy Costly
  10. 10. and the costs…?
  11. 11. But we want software to be…
  12. 12. The Myth of Faster, Better, Cheaper
  13. 13. The Myth of Faster, Better, Cheaper Good FastCheap Bad?
  14. 14. Let’s paint…
  15. 15. Incremental vs. Iterative resources/Patton_Incremental_Iterative_MnaLisa.jpg
  16. 16. Incremental and Iterative Incremental Iterative Scheduling and staging strategy Rework scheduling strategy Parts of system are developed at different times and integrated as they are completed Review and improve part of the systems Doesn’t imply or require iterative development Doesn't presuppose incremental development Output is not necessarily subject to further refinement Output is examined for modifications in successive iterations
  17. 17. Incremental and Iterative
  18. 18. Incremental vs. Iterative
  19. 19. What is the most important part in these two machines? “The Brakes!!!” They let you go faster…
  20. 20. Agility vs. Discipline?
  21. 21. Agile Manifesto 2001
  22. 22. 12 Agile Principles Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in  development. Agile processes harness change for  the customer's competitive advantage. Deliver working software frequently, from a  couple of weeks to a couple of months, with a  preference to the shorter timescale. Business people and developers must work  together daily throughout the project. Build projects around motivated individuals.  Give them the environment and support they need,  and trust them to get the job done. The most efficient and effective method of  conveying information to and within a development  team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development.  The sponsors, developers, and users should be able  to maintain a constant pace indefinitely. Continuous attention to technical excellence  and good design enhances agility. Simplicity--the art of maximizing the amount  of work not done--is essential. The best architectures, requirements, and designs  emerge from self- organizing teams. At regular intervals, the team reflects on how  to become more effective, then tunes and adjusts  its behavior accordingly.
  23. 23. Waterfall vs. Agile %E2%90%98mythbusting%E2%90%99/
  24. 24. Waterfall vs. Agile By doing them continuously: •  Quality improves because testing starts from day one. •  Visibility improves because you are 1/2 way through the project when you have built 1/2 the features. •  Risk is reduced because you are getting feedback early, and •  Customers are happy because they can make changes without paying exorbitant costs.
  25. 25.
  26. 26. Waterfall vs. Agile
  27. 27. Waterfall vs. Agile: Constraints
  28. 28. Waterfall vs. Agile: Risk vs. Value Delivered
  29. 29. Predictive vs. Adaptive
  30. 30. Agile Development Value Proposition
  31. 31. Agile ROI
  32. 32. Lean ×  maximize customer value while minimizing waste. ×  A lean organization understands customer value and focuses its key processes to continuously increase it. The ultimate goal is to provide perfect value to the customer through a perfect value creation process that has zero waste.
  33. 33. Lean Thinking ×  Lean thinking changes the focus of management from optimizing separate technologies, assets, and vertical departments to optimizing the flow of products and services through entire value streams that flow horizontally across technologies, assets, and departments to customers. ×  Eliminating waste along entire value streams, instead of at isolated points, creates processes that need less human effort, less space, less capital, and less time to make products and services at far less costs and with much fewer defects, compared with traditional business systems. Companies are able to respond to changing customer desires with high variety, high quality, low cost, and with very fast throughput times. Also, information management becomes much simpler and more accurate.
  34. 34. Pillars of Lean Thinking 1. Identify Value 2. Map the Value Stream 3. Create Flow 4. Establish Pull 5. Seek Perfection
  35. 35. Pillars of Lean Thinking 1. Identify Value Specify value from the standpoint of the end customer by product family. 2. Map the Value Stream Identify all the steps in the value stream for each product family, eliminating whenever possible those steps that do not create value. 3. Create Flow Make the value-creating steps occur in tight sequence so the product will flow smoothly toward the customer. 4. Establish Pull As flow is introduced, let customers pull value from the next upstream activity. 5. Seek Perfection As value is specified, value streams are identified, wasted steps are removed, and flow and pull are introduced, begin the process again and continue it until a state of perfection is reached in which perfect value is created with no waste.
  36. 36. What is Value?
  37. 37. Perceived Value?
  38. 38. Value Equation of a Smartphone
  39. 39. Value Stream Map (VSM) ×  Special type of flow chart that uses symbols known as "the language of Lean" to depict and improve the flow of inventory and information ×  Purpose is to provide optimum value to the customer through a complete value creation process with minimum waste in ×  Design (concept to customer) ×  Build (order to delivery) ×  Sustain (in-use through life cycle to service)
  40. 40. Value Stream for Cola Cans Lean Thinking – Womack and Jones
  41. 41. Software Development Value Stream
  42. 42. Kent Beck’s Value Stream Map
  43. 43. Agile Value Stream Map Lean Software Development, An Agile Toolkit – Mary Poppendeick
  44. 44. Lean Principles in Software Development Eliminate waste Amplify Learning Decide as late as possible Deliver as fast as possible Empower Team Build integrity in See the Whole
  45. 45. Types of Waste
  46. 46. Muda, Mura, Muri
  47. 47. Wastes in Software Development Lean Software Defects Defects in Software, (Requirements, Design, Code) Overproduction Extra features that remain unused Waiting Delays in getting information, reviews, approvals Talent Talent (motivation, engagement, relearning) Transportation Distributed teams, Component Teams Inventory Work in Progress, Partially done work, Motion Chasing information, Task switching Extra-processing Over-engineering, Over-documentation, Over- process steps, Relearning legacy code, Handoffs in production systems,
  48. 48. 5S in Software Development ×  Sort (Seiri): Sort through the stuff on the team workstations and servers, and find the old versions of software and old files and reports that will never be used any more. Back them up if you must, then delete them. ×  Systematize (Seiton): Desktop layouts and file structures are important. They should be crafted so that things are logically organized and easy to find. Any workspace that is used by more than one person should conform to a common team layout so people can find what they need every place they log in. ×  Shine (Seiso): Whew, that was a lot of work. Time to throw out the pop cans and coffee cups, clean the fingerprints off the monitor screens, and pick up all that paper. Clean up the whiteboards after taking pictures of the important designs that are sketched there. ×  Standardize (Seiketsu): Put some automation and standards in place to make sure that every workstation always has the latest version of the tools, backups occur regularly, and miscellaneous junk doesn't accumulate. ×  Sustain (Shitsuke): Now you just have to keep up the discipline. Implementing Lean Software Development from Concept to Cash – Mary Poppendeick
  49. 49. 5S in Java ×  Sort (Seiri): Reduce the size of the code base. Throw away all unneeded items immediately. Remove: ×  Dead code, Unused imports Unused variables, Unused methods, Unused classes, Refactor redundant code ×  Systematize (Seiton): Organize the projects and packages. Have a place for everything and everything in its place. ×  Resolve package dependency cycles, Minimize dependencies ×  Shine (Seiso): Clean up. Problems are more visible when everything is neat and clean. ×  Resolve unit test failures and errors ( passed == 100%), Improve unit test coverage ( > 80%), Improve unit test performance, Check AllTests performance, Resolve checkstyle warnings, Resolve PMD warnings, Resolve javadoc warnings, Resolve TODO’s ×  Standardize (Seiketsu): Once you get to a clean state, keep it that way. Reduce complexity over time to improve ease of maintenance. ×  Sustain (Shitsuke): Use and follow standard procedures. Implementing Lean Software Development from Concept to Cash – Mary Poppendeick
  50. 50. Time for break!
  51. 51. Untangle Game
  52. 52. Scrum
  53. 53. Scrum Framework
  54. 54.
  55. 55. So, what happens in each increment? Increment ≠ Mini-waterfall
  56. 56. XP Feedback Loops
  57. 57. Feedback Loops in Traditional Techniques vs. Agile Techniques
  58. 58. feedback loop in agile lifecycles
  59. 59. test-code-refactor loop
  60. 60. Scrum Values Focus Courage Openness Commitment Respect
  61. 61. Roles, Ceremonies and Artifacts •  Scrum Team is small (5-9), cross- functional team members from Dev, UX, QA (excluding Product Owner) to ship complete feature(s) end to end •  Scrum Master is the servant leader responsible for supporting team •  Product Owner owns Product Backlog and sets appropriate priority for team to act upon Roles Product Owner Scrum Master Scrum Team Ceremonies Sprint Planning Meeting Daily Stand- ups Backlog Grooming Product Demo Sprint Retrospective Artifacts Product Backlog Sprint Backlog Increment Release Burn- down Chart Sprint Burn- down Chart
  62. 62. Scrum Roles
  63. 63. So, how do we start?
  64. 64. What’s wrong?
  65. 65.
  66. 66. How Apple does it? Steve Jobs gave a small private presentation about the iTunes Music Store to some independent record label people. My favorite line of the day was when people kept raising their hand saying, "Does it do [x]?", "Do you plan to add [y]?". Finally Jobs said, "Wait wait — put your hands down. Listen: I know you have a thousand ideas for all the cool features iTunes could have. So do we. But we don't want a thousand features. That would be ugly. Innovation is not about saying yes to everything. It's about saying NO to all but the most crucial features.”
  67. 67. Kano Model
  68. 68. MoSCoW • Describes a requirement that must be satisfied in the final solution for the solution to be considered a success.MUST • Represents a high-priority item that should be included in the solution if it is possible. This is often a critical requirement but one which can be satisfied in other ways if strictly necessary. SHOULD • Describes a requirement which is considered desirable but not necessary. This will be included if time and resources permit.COULD • Represents a requirement that stakeholders have agreed will not be implemented in a given release, but may be considered for the future.WON'T
  69. 69. Minimal Marketable Feature A Minimal Marketable Feature (MMF) is a feature that is minimal, because if it was any smaller, it would not be marketable. A MMF is marketable, because when it is released as part of a product, people would use (or buy) the feature. An MMF is different than a typical User Story in Scrum or Extreme Programming. Where multiple User Stories might be coalesced to form a single marketable feature, MMFs are a little bit bigger. Often, there is a release after each MMF is complete. An MMF doesn’t decompose down into smaller sub-feature, but it is big enough to launch on its own. A MMF can be represented as a User Story — a short, one-sentence description.
  70. 70. MVP, MMF, Stories MVP MMFs Stories
  71. 71. Product Backlog ×  The Product Backlog is a prioritized list of everything that might be included in a product. ×  The Product Owner creates, maintains, and regularly re- orders the Product Backlog. ×  The Product Owner uses the Product Backlog to adapt to emerging requirements, customer feedback, and market changes.
  72. 72. Product Backlog Iceberg
  73. 73. “D.E.E.P.”
  74. 74. Prioritization -> Roadmap
  75. 75. Roadmap -> Release -> Sprint
  76. 76. From Product Backlog to Sprint Backlog
  77. 77. Sprint Backlog ×  User Stories selected by The Team ×  Will be built in current Sprint ×  Fully Estimated ×  Divided into Tasks
  78. 78. User Stories ×  User stories are short, simple descriptions of a feature told from the perspective of the person who desires the new capability, usually a user or customer of the system. They typically follow a simple template: ×  As a <type of user>, I want <some goal> so that <some reason>. ×  User stories are often written on index cards or sticky notes, stored in a shoe box, and arranged on walls or tables to facilitate planning and discussion. As such, they strongly shift the focus from writing about features to discussing them. In fact, these discussions are more important than whatever text is written.
  79. 79. Epics and User Stories
  80. 80. Themes, Epics and Stories
  81. 81. “I.N.V.E.S.T.” • IndependentI • NegotiableN • ValuableV • EstimableE • SmallS • TestableT
  82. 82. Acceptance Criteria
  83. 83. Definition of Done
  84. 84. Acceptance Criteria vs. Definition of Done
  85. 85. Technical Debt
  86. 86. Tech Debt
  87. 87. Potentially Shippable Increment ×  A Potentially Shippable Product is the sum of the Product Backlog Items delivered each Sprint.  ×  Delivering Potentially Shippable Product each Sprint is fundamental to the Scrum because when work is divided into simple pieces it can be finished in a short iterations. ×  By accelerating the creative process and putting a functioning product in the hands of the user, the Team can gather feedback more quickly than it otherwise would have. To achieve this feedback loop on a Sprint-by-Sprint basis, Scrum Teams deliver Potentially Shippable Product at each Sprint Review. ×  The keys to creating working product at the end of each Sprint are: ×  A cross-functional Team with all the skills necessary to complete the Sprint Backlog. ×  Quality User Stories with explicit definitions of Ready and Done. ×  A Product Owner with the ability to prioritize backlog into vertical slices of functionality.
  88. 88. Sprint Planning ×  Happens on Day 1 of every Sprint. ×  Decide what user stories will be attempted based on dependencies, priority, resources, time ×  Define what Done means for this iteration. Checked in software, tested, documented and demonstrable. ×  Team plans iteration by decomposing user stories into estimated tasks describing the work that needs to be done to complete the story. ×  Task should be in the order of 1-16 Hrs ×  Everyone agrees on what to do and commits to completing the work. ×  Team signs up for tasks on Sprint backlog.
  89. 89. Estimation ×  “The primary purpose of software estimation is not to predict a project’s outcome; it is to determine whether a project’s targets are realistic enough to allow the project to be controlled to meet them.” – Steve McConell ×  Are any two projects same?
  90. 90. Cone of Uncertainty
  91. 91. Estimation
  92. 92. Use any measure…consistently
  93. 93. Literally…just about anything!
  94. 94. Story Points ×  Agile teams generally prefer to express estimates in units other than the time-honored "man-day" or "man-hour". Possibly the most widespread unit is "story points". ×  One of the chief reasons is the use of velocity for planning purposes. "Velocity", in the sense Agile teams use the term, has no preferred unit of measurement, it is a dimensionless quantity. Velocity allows teams to compute the expected remaining duration of the project, as a number of iterations, each iteration delivering some amount of features. ×  Another important reason has to do with the social and psychological aspects of estimation: using units such as story points, emphasizing relative difficulty over absolute duration, relieves some of the tensions that often arise between developers and managers around estimation: for instance, asking developers for an estimate then holding them accountable as if it had been a firm commitment.
  95. 95. Estimation Mainly two forms of estimation ×  Analogous Estimation [T-Shirt Sizing - S,M,L,XL] ×  This Story is like another Story (maybe a little more difficult, maybe a little less) ×  Give this Story a comparable estimated value. ×  Estimate against multiple Stories of the same effort. ×  Analogous estimation is successful due to our inherent ability to better measure relative size than absolute size. ×  Planning Poker ×  Each estimator is given a deck of cards, each card contains a valid estimate. ×  Fib ––1,2,3,5,8,13,20,301,2,3,5,8,13,20,30 ×  Story is read and discussed briefly ×  Each estimator selects a card that reflects their estimate. ×  Cards are turned over for all to see. ×  Discussion takes place ×  Re-estimate to try to get convergence.
  96. 96. Planning Poker
  97. 97. Daily Scrum
  98. 98. Daily Standup ×  Daily meeting, 15 mins, team members answer 3 questions. ×  What did you do yesterday? Informs team on completed tasks, dependencies. ×  What will you do today? Informs team on possible upcoming dependencies, requests. ×  What is blocking you? Helps identify resources to help unblock tasks after the meeting. ×  Sprint backlog should be updated with yesterdays tasks prior to meeting ×  Not intended for problem solving, or as a status meeting. ×  Everyone is invited, but only team members
  99. 99. Scrum Task Board
  100. 100. Sprint Burndown Chart
  101. 101.
  102. 102. Sprint Review ×  Held on the final day of every sprint ×  Team presents what it accomplished during the sprint in the form of a demo of new features or underlying architecture. ×  Team also explains what remains undone and why. ×  Should be a very informal meeting where non team members can see what has been accomplished and comment. ×  Demo should foster collaboration about what can and should be done next, providing valuable input into the subsequent sprint
  103. 103. Sprint Retrospective ×  Held on the final day of every sprint. ×  Scrum Team ONLY revises, their development process to make it more effective and enjoyable for the next Sprint ×  Inspect how the last Sprint went in regards to people, relationships, process and tools. ×  Identify and prioritize the major items that went well and those items that-if done differently-could make things even better. ×  Team takes 2-3 items and brainstorms solutions to most important issues ×  Team should agree on actionable improvement
  104. 104. Time for break!
  105. 105. Scrum-based Product Development
  106. 106. Planning a Family Vacation Holiday Plan Map GPS Odometer Speedometer Eyes Strategic Direction Execution Alignment Vision Execution Feedback Goals
  107. 107. Planning in Agile Mission Vision Portfolio Product Release Sprint Daily Organizational Strategy Agile / Scrum- based Product Development
  108. 108. Product Runways Strategic Vision Set by the CEO / Board and consists of Strategic Direction, Solution Strategy, Technology Initiatives and Themes Reviewed annually as part of annual strategic planning and revised as needed Serves as a strategic input for product vision Product Vision High-level overview of product requirements owned by respective POs Acts as true north for the product in long term (3-5 years) Serves as the input for overall product roadmap in medium term (1-3 years) Product Roadmap Calls out the high-level themes and release timeline in next 1-3 years Consists of swimlanes (strategic priorities vs. lights on, client requests,vs. competitive intel, technical debt vs innovation ideas,, etc.) Reviewed each quarter by Product Council Product Backlog Prioritized list of features identified for the next 1-3 releases Owned and maintained by respective POs based on relative prioritization of each feature request Revised constantly based on evolving inputs and refined weekly in grooming sessions with scrum team Sprint Backlog Consists of highest-priority / highest-value features agreed upon for development in the current sprint (1-4 weeks) Product Owner responsible to prioritize the features, while scrum team responsible for planning, estimation, planning, execution and completion of those features in a sprint Once the sprint has started, any new requirements or change request must wait until the next sprint planning
  109. 109. Adaptive Planning ProductBacklog ProductRoadmap SprintBacklog ProductVision Futuristic picture of the product Based on technology evolution, market development, industry trends, etc. Reviewed annually, and revised as needed High-level wish list of themes and epics for a long-term Reviewed by Product Council on a quarterly basis Typically revised annually Prioritized list of Themes, Epics and User Stories Gets constantly revised and groomed on a weekly basis Well- groomed User Stories Can’t be changed once the sprint is underway Current Sprint 3-6 months 12-24 months 1-3 years SmallStories, FirmRequirements, LargeStories/Epics/Themes, Fuzzy/EvolvingRequirements
  110. 110. Product Management Artifacts Initiatives Epics Themes SprintBacklog ProductBacklog ProductRoadmap ProductVision Tasks… Stories Scenarios
  111. 111. Product Vision Shared by All Desirable and Inspirational Clear and Tangible Broad and Engaging Short and Sweet
  112. 112. Product Vision – Elevator Pitch For (target customer) Who (statement of the need or opportunity) The (product name) is a (product category) That (key benefit, compelling reason to buy) Unlike (primary competitive alternative) Our product (statement of primary differentiation)
  113. 113. Product Vision Box × As the name suggests… × Describes the top 2-3 features of product
  114. 114. Press Release × Amazon’s “working backwards” × Write the launch press release!
  115. 115. Agile lifecycle – small picture
  116. 116. Backlog Grooming ×  Upto 5-10% of sprint time ×  Creating or refining new PBIs ×  Estimating PBIs ×  Prioritizing PBIs
  117. 117. Affinity Estimating Guidelines • If team is already Sprinting, find a small-ish one already completed that was a really good estimate; use that estimate • Or find a fully understandable story and fully task it out; call it either a 2 or a 3 • Smallest at the right and largest on the left compared to initial story • Anyone can move anyone else’s story position
  118. 118. Affinity Estimating 127
  119. 119. Release Planning
  120. 120. Release Burndown Chart
  121. 121. Release Replanning
  122. 122. Time for break!
  123. 123. Scrum Simulation
  124. 124. Objective Deliver a tourist brochure for martians visiting earth
  125. 125. Activity Time Sprint Planning 10 min Sprint – Day 1 7 min Daily Scrum 3 min Sprint – Day 2 7 min Daily Scrum 3 min Sprint – Day 3 7 min Sprint Demo 5 min Sprint Retro 20 min
  126. 126. Product Backlog Product Backlog Item Order Create cover art, brand, and/or logo   Define major topics for Martian tourism Describe “Art Interests in Europe” tour Describe a tour based on photosynthesis Outline a “7 Wonders of the World” expedition Set prices for the tours Outline warning messages (gravity, oxygen, fungi, etc.) Suggest clothing options Explain travel options to/from Mars Describe a “Human Sports” tour Outline refund policy   Suggest related services Define advertisers Define a 12-month campaign Set-up how to get more information
  127. 127. Feedback
  128. 128. Q&A