How to Adopt Agile at Your Organization

21,264 views

Published on

Published in: Technology

How to Adopt Agile at Your Organization

  1. 1. Agile Riga Day 2011 How to Adopt Agileat Your OrganizationChallenges and Success Stories
  2. 2. Agile Open-Technology source Ruby Raimonds Simanovskis JavaScript Social github.com/rsim @rsim
  3. 3. I heard about Agile...
  4. 4. But what is Agile?
  5. 5. But what is Agile?
  6. 6. But what is Agile?
  7. 7. But what is Agile?
  8. 8. But what is Agile?
  9. 9. But what is Agile?
  10. 10. But what is Agile?
  11. 11. But what is Agile?
  12. 12. But what is Agile?
  13. 13. But what is Agile?
  14. 14. 0 Why to start Agile? What are the problems we want to solve? Do we acknowledge that we have problems?
  15. 15. We want toDevelop software faster Be responsive to changesGet higher quality result
  16. 16. Challenges before starting • “Why to change?” • “We are already agile”change? Why to • “Just another buzzword” is Everything • “Our managers don’t allow to be agile” already more or • “Our employees don’t take less OK responsibility” • “Our customers want waterfall”
  17. 17. Challenges before starting • “Why to change?” • “We are already agile” • “Just another buzzword” We are already • “Our managers don’t allow to be agile” Agile! • “Our employees don’t take responsibility” • “Our customers want waterfall”
  18. 18. Challenges before starting • “Why to change?” • “We are already agile” • “Just another buzzword” Just another • “Our managers don’t allow to be agile” buzzword... • “Our employees don’t take responsibility” • “Our customers want waterfall”
  19. 19. Challenges before starting • “Why to change?” • “We are already agile” • Our managers “Just another buzzword” • “Our managers don’t allow to beto don’t allow us agile” • “Our employees don’t take :( be agile responsibility” • “Our customers want waterfall”
  20. 20. Challenges before starting • “Why to change?” • “We are already agile” • Our employees “Just another buzzword” don’t take • “Our managers don’t allow to be agile” responsibility :( • “Our employees don’t take responsibility” • “Our customers want waterfall”
  21. 21. Challenges before starting • “Why to change?” • “We are already agile” • Our customers “Just another buzzword” are demanding • “Our managers don’t allow to be agile” • “Our employees don’t take :( waterfall responsibility” • “Our customers want waterfall”
  22. 22. OK, ready to start!
  23. 23. Big bang approach!
  24. 24. OK, some ramp up
  25. 25. But in reality...
  26. 26. There will be failures
  27. 27. Adopt iterativelypractice by practice
  28. 28. 1 Start with values and principlesIndividuals and Processes over interactions and tools Working Comprehensive over software documentation Customer Contract over collaboration negotiationResponding to Following over change a plan
  29. 29. 2 Start with iterations Create Self-organizeda backlog everyday Plan in work Demonstrate iterations iteration result Regular 1 - 4 weeks Retrospect review of and priorities improve
  30. 30. Challengesafter starting
  31. 31. Just renaming thingsProject Manager Scrum Master Project phases Iterations Tasks in MS Project plan Backlog items Requirements specification User stories Detailed design specification ... we still need this ...
  32. 32. Performing rituals withoutunderstanding the reason What did you do? Let’s go to lunch! Nothing special You guys The same as usual are cool!
  33. 33. Overcustomizing practicesIteration 1 Iteration 2 Iteration 3 Iteration 4 Require Design Testing ments & coding Require Design Testing ments & coding Require Design ments & coding
  34. 34. False sense of early finish We’re doing Scrum! And lean as well! Yeah! We’re so Agile!
  35. 35. 3 Involve customer Explain values and principles Explain iterations and backlog Explain product owner role and help with it
  36. 36. Lo-fi communications:user stories, index cards, whiteboard Speak more write less
  37. 37. Lo-fi communications:user stories, index cards, whiteboard Transparency and honesty
  38. 38. Challenges Agile just insidedevelopment team without customer involvement
  39. 39. ChallengesCustomer does not have time
  40. 40. Challenges Development team andcustomer each have own backlogs and priorities
  41. 41. ChallengesCustomer collaboration and scope management in fixed scope / fixed price contracts
  42. 42. 4 Implement Quality Done is done
  43. 43. Testing Not a role but functionIntegrated into development Automated
  44. 44. Continuous integration Observe code repositoryPublish Buildresults product Execute tests
  45. 45. Zero bugs
  46. 46. ChallengesBacklog Work in process Done
  47. 47. Growing work in processBacklog Work in process Done
  48. 48. Growing work in processBacklog Work in process Done
  49. 49. UsabilityDone means not just doable but also usable
  50. 50. 5 Technical Excellence Pair Programming Is it 10 PRINT “Hello” #@%$^& good? 20 GOTO 10
  51. 51. Test Driven Development
  52. 52. Challenges• “Why to change?”• “We are already agile”• Technical practices “Just another buzzword”• much harder than “Our managers don’t allow to be agile”• “soft” practices :( “Our employees don’t take responsibility”• “Our customers want waterfall”
  53. 53. Challenges• “Why to change?”• “We are already agile”• “Just another buzzword” much Twice as• “Our managers don’t allow to be agile” work!• “Our employees don’t take responsibility”• “Our customers want waterfall”
  54. 54. Challenges• “Why to change?”• “We are already agile”allowed I’m not• “Just another buzzword” to do refactoring• “Our managers don’t allow to beon Need don’t work to take agile”• “Our employees new features responsibility”• “Our customers want waterfall”
  55. 55. Challenges• “Why to change?”• “We are already agile”• Legacy code... “Just another buzzword”• “Our managerstechnology... Bad don’t allow to be agile”• “Our employees don’tdo TDD Can’t take responsibility”• “Our customers want waterfall”
  56. 56. 6 Readiness for change Anything can be changed Agile operations Minimize cycle time to production Source code always ready for deployment Automated deployments
  57. 57. ChallengesDevelopment Operations
  58. 58. 7 Staying agile

×