Waterfall vs agile approach scrum framework and best practices in software development


Published on

Waterfall vs agile approach scrum framework and best practices in software development

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

No notes for slide
  • In February 2001, 17 software developers met to discuss lightweight development methods. They published the  Manifesto for Agile Software Development  to define the approach now known as agile software development. Some of the manifesto's authors formed the Agile Alliance
  • In large organisations Product Owner may report to Product Manager
  • Waterfall vs agile approach scrum framework and best practices in software development

    1. 1. Tayfun Bilsel Founder & CTO,  Rabbitsoft 14 April 2011 Waterfall vs Agile approach, Scrum Framework and best practices in software development www.rabbitsoft.com www.clinked.net
    2. 2. Agenda <ul><ul><li>Common Problems in Tradition Project Management </li></ul></ul><ul><ul><li>Waterfall vs Agile approach </li></ul></ul><ul><ul><li>Where does your project fit? </li></ul></ul><ul><ul><li>Agile Manifesto </li></ul></ul><ul><ul><li>Agilebut syndrome and common problems </li></ul></ul><ul><ul><li>Scrum Framework </li></ul></ul><ul><ul><li>Best practices? </li></ul></ul>
    3. 3. Common Problems in Traditional Project Management <ul><ul><li>Late Delivery </li></ul></ul><ul><ul><li>Over budget </li></ul></ul><ul><ul><li>Wrong thing is delivered </li></ul></ul>
    4. 4. Waterfall Approach - Requirements are known - Each stage signed off before the next one commences - Need extensive documentation as this is the primary communication medium Perfect approach if requirements are fully understood and not complex
    5. 5. Agile Approach
    6. 6. Waterfall vs Agile
    7. 7. Be Agile <ul><li>Outline requirement rather than detailed requirements/solution/plan </li></ul><ul><li>Baseline Plan (3-9 months) vs Commitment Plan </li></ul>
    8. 8. Where does your project fit? Source:  http://www.noop.nl/2008/08/simple-vs-complicated-vs-complex-vs-chaotic.html Empirical (based on observation) or Defined?
    9. 9. Agile Manifesto <ul><li>Individuals and interactions over processes and tools  </li></ul><ul><li>Working software over comprehensive documentation  </li></ul><ul><li>Customer collaboration over contract negotiation  </li></ul><ul><li>Responding to change over following a plan  </li></ul><ul><li>That is, while there is value in the items on  </li></ul><ul><li>the right, we value the items on the left more.  </li></ul><ul><li>http://www.agilemanifesto.org/ </li></ul>
    10. 10. Agilebut and Scrumbut syndrome <ul><li>We use Agile but..... </li></ul><ul><li>  - our roadmap is fixed and a year old </li></ul><ul><li>  - we don't have release plan </li></ul><ul><li>  - we create detailed plan or architecture </li></ul><ul><li>  - we manage team tightly </li></ul><ul><li>  - we don't prioritize features </li></ul><ul><li>  - we know our requirements, no need to talk to customers </li></ul><ul><li>  - we don't do planning meetings </li></ul><ul><li>but but but... </li></ul>
    11. 11. Common Problem1 <ul><li>No Product Owner or Multiple Product Owners </li></ul><ul><li>case1: There is no one in the organisation to prioritize features or no prioritization methods </li></ul><ul><li>case2: The priority set of one Product Owner not match with the priority set of another Product Owner, as they have different understanding of what is important. </li></ul>
    12. 12. Common Problem2 <ul><li>Sales/Marketing or Management often make promises to customers about features or make assumptions that features will be delivered in a certain time </li></ul><ul><li>and this never happens! </li></ul><ul><li>and..... they start to blame the development! </li></ul>
    13. 13. Common Problem3 <ul><li>We can do agile without customer feedback! </li></ul><ul><li>You may end up building a perfect technical product, with no value to the customer </li></ul><ul><li>Customer is the most valuable team member </li></ul>
    14. 14. Common Problem4 <ul><li>Stick with the plan and you will be successful! </li></ul><ul><li>- Iterative development is well planned but planned in a different way to waterfall </li></ul>
    15. 15. Why Scrum? <ul><ul><li>Wrapper for existing engineering practices and does not strictly define principles or how to guidelines </li></ul></ul><ul><ul><li>Scalable from single team to entire organisation </li></ul></ul><ul><ul><li>Scrum is the lightest of all Agile methods (AUP, Lean, XP...) with 5 values (Commitment, Focus, Openness, Respect, Courage), 3 roles </li></ul></ul><ul><ul><li>Role to detect and remove anything that gets in the way of developing and delivering products </li></ul></ul>
    16. 16. Multi-level Planning <ul><li>Release Plan -> Typically every 3 to 6 months </li></ul><ul><li>Sprint Plan -> Typically every 2 to 4 weeks </li></ul><ul><li>Daily Plan -> Daily </li></ul>
    17. 17. Scrum Roles <ul><li>Scrum Team ( Size 7 +-2 )  How - Who - How long - Deliver </li></ul><ul><ul><li>Self Organising, cross functional with no pre determined roles </li></ul></ul><ul><ul><li>Responsible for self-organising tasks and committing to work (no one assigns stories or tasks to team members, team must self-organise ) </li></ul></ul><ul><ul><li>Authority to whatever is needed to meet commitment </li></ul></ul><ul><li>Product Owner  What - When - Signoff - Vision </li></ul><ul><ul><li>Defines the features, writes user stories </li></ul></ul><ul><ul><li>Responsible for development schedule and prioritizing Product Backlog </li></ul></ul><ul><ul><li>Accepts or rejects stories </li></ul></ul><ul><ul><li>DARK - Desire, Authority, Responsibility, Knowledge (Business and Technical) </li></ul></ul><ul><li>ScrumMaster (Coach) </li></ul><ul><ul><li>Coaches the development team and responsible for productivity </li></ul></ul><ul><ul><li>Facilitates Scrum ceremonies </li></ul></ul><ul><ul><li>Establishes and enforces Scrum rules and responsible for the success of the process </li></ul></ul><ul><ul><li>Shields the team from noise and removes obstacles </li></ul></ul><ul><ul><li>Enables close cooperation across all roles  </li></ul></ul>
    18. 18. Self Organising Team <ul><li>Team must </li></ul><ul><ul><li>take initiative </li></ul></ul><ul><ul><li>focus on solutions and co-operate </li></ul></ul><ul><ul><li>self directed, motivated, multi-skilled </li></ul></ul><ul><li>DARK </li></ul><ul><li>Desire - Authority - Responsibility - Knowledge </li></ul>
    19. 19. Scrum Artefacts <ul><li>Product Backlog </li></ul><ul><ul><li>Continuously evolving queue of stories created by the Product Owner with input from other stakeholders </li></ul></ul><ul><ul><li>Owned and prioritised by Product Owner  </li></ul></ul><ul><li>Sprint Backlog </li></ul><ul><ul><li>The list of tasks required to get the agreed Stories done </li></ul></ul><ul><ul><li>ccepts or rejects stories </li></ul></ul><ul><li>Burndown Chart </li></ul><ul><ul><li>Shows estimated effort remaining </li></ul></ul><ul><ul><li>Actual vs ideal progress </li></ul></ul><ul><ul><li>Should be publicly visible </li></ul></ul>
    20. 20. Pigs and Chickens <ul><li>Team, Product Owner and ScrumMaster are knowns as pigs because they are committed to Sprint </li></ul><ul><li>Other stakeholders are known as Chickens as they are not committed to Sprint Goal </li></ul>
    21. 21. Ceremonies <ul><li>Daily Scrum Meeting (Everyday @ 9:00) - 15min </li></ul><ul><li>Sprint Planning (Last day of Sprint in the afternoon) - 8hours max (4+4) </li></ul><ul><li>Sprint Review (Last day of Sprint @10:00-11:00) </li></ul><ul><li>& </li></ul><ul><li>Sprint Retrospective (Look back) - 1hour max </li></ul>
    22. 22. Daily Scrums - Syncing pigs <ul><li>1. What did you do yesterday? </li></ul><ul><li>2. What will you do today? </li></ul><ul><li>3. What is blocking your work? </li></ul><ul><ul><li>Timeboxed to 15 minutes </li></ul></ul><ul><ul><li>Problems are solved outside the meeting </li></ul></ul><ul><ul><li>Not a reporting session! </li></ul></ul>
    23. 23. Sprint Planning <ul><ul><li>Timeboxed to 4 hours + 4 hours </li></ul></ul><ul><ul><li>Priority items are explained by the product owner </li></ul></ul><ul><ul><li>Overall Sprint Goal is agreed </li></ul></ul><ul><ul><li>Team estimates and commits to what it can get &quot;done&quot; </li></ul></ul><ul><ul><li>The result is an agreed Sprint Backlog </li></ul></ul><ul><ul><li>The second part of the meeting, the team decomposes the sprint backlog items into tasks </li></ul></ul><ul><ul><li>Tasks are estimated by the team. They need to be complete enough for the team to make commitment </li></ul></ul>
    24. 24. Sprint Goal <ul><li>Collectively, the Scrum team and the product owner define a sprint goal in the planning meeting </li></ul><ul><li>It is usually one sentence descriptive text </li></ul><ul><li>The success of the sprint will later be assessed during the Sprint Review Meeting against the sprint goal. </li></ul>
    25. 25. Planning Poker <ul><ul><li>Product Owner reads the user story and answer any questions that the estimators have </li></ul></ul><ul><ul><li>All cards are simultaneously turned over and shown so that all participants can see each estimate. </li></ul></ul><ul><ul><li>If estimates differ, the high and low estimators explain their estimates and do another round </li></ul></ul><ul><ul><li>3 rounds can be done until estimators converge, if not then, either majority or average points can be used as the final estimate </li></ul></ul><ul><li>Online version </li></ul><ul><li>http://www.planningpoker.com/ </li></ul>
    26. 26. Sprint Review <ul><ul><li>Acknowledge achievements </li></ul></ul><ul><ul><li>Chickens are invited </li></ul></ul><ul><ul><li>Demo of everything that's been done in the Sprint </li></ul></ul><ul><ul><li>Product Owner signs off Sprint if tests are ok </li></ul></ul>
    27. 27. Sprint Retrospective <ul><ul><li>Takes place at the end of the Sprint before the planning meeting/poker </li></ul></ul><ul><ul><li>Short workshop session for team to review lessons learned and discuss actions for the next Sprint </li></ul></ul><ul><ul><li>No chickens involved (except end of release retrospective) </li></ul></ul>
    28. 28. Action Plan <ul><li>At the end of retrospective meeting </li></ul>
    29. 29. Information Radiator Source: Henrik Kniberg: Scrum and XP from the trenches
    30. 30. Sprint finished early? <ul><ul><li>Put more stories in  (if not risky) </li></ul></ul><ul><li>or </li></ul><ul><ul><li>Gold Time </li></ul></ul><ul><ul><ul><li>attend to a conference </li></ul></ul></ul><ul><ul><ul><li>celebrate - go out </li></ul></ul></ul><ul><li>If this happens regularly - your estimates are wrong! </li></ul>
    31. 31. What's &quot;Done&quot; mean? <ul><li>met Sprint Goal? </li></ul><ul><li>passed acceptance test? </li></ul><ul><li>met policies and procedures? </li></ul><ul><li>Then it is done! </li></ul>
    32. 32. What is Spike? <ul><li>Spike is a learning activity  </li></ul><ul><li>Spike something that you don't understand in advance - when you don't know what exactly it is or how to implement </li></ul><ul><li>It is timeboxed - you need to limit how much time you are going to spend researching </li></ul>
    33. 33. User Stories <ul><li>Explains Who, What, Why (including functional, non-functional and non-software features) </li></ul><ul><li>Sprint stories should be doable in 1-5 days. If it takes more than 5 days ( compound story), decompose it. For  Complex stories (if no way to split up) - spike it as not enough is known </li></ul><ul><li>Product Owner can decompose it with stakeholders </li></ul><ul><li>Back of the card- high level acceptance test posed in the form of questions (not detailed tests) - testers should come up with these </li></ul>
    34. 34. Cancelling Sprint <ul><li>Actions required: </li></ul><ul><ul><li>Retrospective meeting. What went wrong? </li></ul></ul><ul><ul><li>Stop </li></ul></ul><ul><ul><li>Re-plan </li></ul></ul><ul><ul><li>Wait for the iteration to end </li></ul></ul><ul><ul><li>Start again </li></ul></ul>
    35. 35. Tools <ul><li>Pivotal Tracker </li></ul><ul><li>VersionOne </li></ul><ul><li>Jira - Green Hopper </li></ul><ul><li>ScrumWorks Pro </li></ul><ul><li>Rally </li></ul><ul><li>Hansoft </li></ul><ul><li>TFS version 2010 (Team Foundation Server) </li></ul>
    36. 36. Best Practices? <ul><li>Combining approaches: </li></ul><ul><li>Agile Management Practices with Scrum Framework  + </li></ul><ul><li>merging with XP and Lean engineering practices </li></ul><ul><li>Scrum can customize up rather than customize down </li></ul>
    37. 37. What does it mean? <ul><li>Scrum </li></ul><ul><li>+ </li></ul><ul><li>XP </li></ul><ul><ul><li>Coding Standards </li></ul></ul><ul><ul><li>Pair progamming where possible? </li></ul></ul><ul><ul><li>Test Driven Development </li></ul></ul><ul><ul><li>Continuous integration </li></ul></ul><ul><ul><li>Collective ownership </li></ul></ul><ul><li>+ </li></ul><ul><li>Lean </li></ul><ul><ul><li>Eliminate waste (bureaucracy, unclear reqs., unnecessary code, delay, comms) </li></ul></ul><ul><ul><li>Amplify Learning (improve process through learning) </li></ul></ul><ul><ul><li>Empower the team (Allow team to make decisions)  </li></ul></ul><ul><ul><li>Build integrity in ( System should work the way what the customer expects it to ) </li></ul></ul><ul><ul><li>Decide as late as possible (make decisions based on the facts not assumptions) </li></ul></ul><ul><ul><li>Deliver as fast as possible (Deliver early - Deliver Often) </li></ul></ul><ul><ul><li>See the whole - See the software as a whole not just parts-> “Think big, act small, fail fast; learn rapidly” </li></ul></ul>
    38. 38. <ul><li>We all succeed or We all fail! </li></ul><ul><li>&quot;Go the distance as a unit passing the ball back and forth&quot; (Takeuchi, Hirotaka, 1986) </li></ul>