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.

Creating change from within - DevReach 2012

938 views

Published on

Session from DevReach 2012 on how to facilitate change in a waterfall organization.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Creating change from within - DevReach 2012

  1. 1. Create change from within –the Agile Developer’s storyDror Helper | Better Place
  2. 2. About.Me • Software Developer 9+ years • Team’s technical lead • TDD/Unit testing enthusiast • Some SCRUM/Kanban background • Blogger – http://blog.drorhelper.comwww.devreach.com
  3. 3. The problem with AgileWe don’t have time It would never work in this I don’t want to do this! projectwww.devreach.com
  4. 4. What can one person do?www.devreach.com
  5. 5. My team 2010 • One manager + 3 developers • Unit tests – more or less • Iteration tracking ? • Manual deployment • Code reviewswww.devreach.com
  6. 6. My 1st week on the jobwww.devreach.com
  7. 7. LET’S DO TDD!www.devreach.com
  8. 8. Step #1 - Analysis • Took two days to fix 40% of tests • Find what are the main issues – and focus on them – Not readable – Using logic inside test – Testing too much – Hand rolled mocks – Scenarios hiding as unit tests – Highly coupled codewww.devreach.com
  9. 9. Step #2 – CI Server Build Server What’s new? Commit There you go Source Controlwww.devreach.com Build Agents
  10. 10. Step #3 - Teach the teamwww.devreach.com
  11. 11. Communicate! • Email • Phone call • Face to face • Presentation • Code reviews • Pair programming • Daily meetingswww.devreach.com
  12. 12. The power of code reviews
  13. 13. Immediate steps • MSTest • Write new test before fixing bug • Fix existing tests when implementing new features • Delete obsolete testswww.devreach.com
  14. 14. Change is iterative • Hard to perform big changes overnight • Small incremental changeswww.devreach.com
  15. 15. Today • More than 5000 tests • Good code coverage • Most features are developed using TDD • CI server run all tests on commit • Nightly builds • Change code without fearwww.devreach.com
  16. 16. DECIDING WHAT TO CHANGEwww.devreach.com
  17. 17. Passion is a must! • Become champion • Need to convince co-workers • Survive the roadwww.devreach.com
  18. 18. The cost of change Participants Maintenance Effort (Time) Cost of Change Emotional Cost (Money) Value Previous investmentwww.devreach.com
  19. 19. Create success recordwww.devreach.com
  20. 20. ITERATION TRACKINGwww.devreach.com
  21. 21. In the beginning…
  22. 22. Post it + wallwww.devreach.com
  23. 23. Demonstration > Discussionwww.devreach.com
  24. 24. Individual task boardswww.devreach.com
  25. 25. Be pragmatic • Every action should have a purpose • If it doesn’t work – change it! • Names are not important – just what you do • Practices can be adapted for the team Know where to draw the linewww.devreach.com
  26. 26. TFS + Work item managerwww.devreach.com
  27. 27. What to when change fails?Understand why it failed Wait and see Choose a different path Cut your losseswww.devreach.com
  28. 28. TIPS AND TRICKSwww.devreach.com
  29. 29. The right attitude • Be positive • Don’t tell them what to so - suggest improvements • Don’t force – convince • Be ready to change if proven wrongwww.devreach.com
  30. 30. Don’t be “that guy”www.devreach.com
  31. 31. Enlist help Because You cannot do it all by yourselfwww.devreach.com
  32. 32. Journey not a destinationwww.devreach.com
  33. 33. Thank you! @dhelper http://blog.drorhelper.com/ http://www.linkedin.com/in/drorhelperDror Helper | Better Place

×