Tools and Talent


Published on

A talk for PHPNW09 looking at how to adopt a new software tool in a development department. Breaks the process down into five steps looking at the characters and processes involved at each stage. Includes a few real life examples for Git, PHPUnit, and Zend Framework.

Download to get the notes.

Feedback here:

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Tools and Talent

  1. 1. PHP North West 2009 Tools and Talent Rowan Merewood, Lead Developer
  2. 2. Who is this guy? @rowan_m
  3. 3. Background Plusnet and what we do.
  4. 4. The Team 20 developers in Sheffield Not forgetting BAs, PMs, QA, Content, DBAs
  5. 5. Adopting a tool Is an opportunity and a risk
  6. 6. In our experience There are always recurring methods and roles
  7. 7. Getting the right tool
  8. 8. First, I have a confession I'm half American
  9. 9. My cultural heritage means I believe everything I see on television
  10. 10. Ghostbusters “ A documentary about a group who found a start-up company, form an effective team and successfully use new tools to solve problems no-one knew they had.”
  11. 11. The Dream
  12. 12. Ray Stantz The Dreamer
  13. 13. The easy bit Just talk to each other
  14. 14. People can be lured in When you're not asking for commitment
  15. 15. Set up a demo Make it easy for people to play
  16. 16. Ben Longden Ben was getting annoyed with the way we do code reviews.
  17. 17. Review Board One hour playing around in the evening. Half an hour to set it up in the office the next day. Post in the forum. The whole department tries it out.
  18. 18. Triggering another Ben To go out and find Gerrit
  19. 19. Use your networks Ask on Twitter, Facebook or IRC.
  20. 20. If you don't have a network Get one
  21. 21. Offer up a sacrifice It's easier for people to attack bad ideas, instead of having new ones.
  22. 22. Don't bother with religious wars Vi vs. Emacs vs. Eclipse vs. your mum
  23. 23. The Sale
  24. 24. Peter Venkman The Salesman
  25. 25. This is a perfectly valid reason Because we want to use it
  26. 26. You may need to clarify “ You've never been out of college, you don't know what it's like out there. I've worked in the private sector. They expect results.”
  27. 27. What are you selling? Incremental upgrade Solving a problem Enabling a new process
  28. 28. Technical Performance, Scaling, Robustness
  29. 29. Commercial Licensing, Hardware, Legal
  30. 30. Security Exploits, Data location, Audit trails
  31. 31. Support Community, Training, Hiring
  32. 32. Project Stability Who owns it? What development is happening? How long will it be around?
  33. 33. Integration What hooks do you need? Is your environment up to scratch?
  34. 34. DFQs Ask them now You don't want them asked in six months
  35. 35. What's the cost Of not doing it?
  36. 36. Productivity loss At least one hour every day messing around with CVS and alpha
  37. 37. Rys Rys sold the maintainer model of development that Git would enable.
  38. 38. Automate away the problem No need for a full time merging role
  39. 39. Bypass the sale “ It's easier to ask forgiveness than it is to get permission”
  40. 40. Use it on a small scale Just make sure you get it right
  41. 41. Why it's risky “ This reminds of the time you tried to drill a hole through your head.” “ That would have worked if you hadn't stopped me.”
  42. 42. The Experiment
  43. 43. Egon Spengler The Scientist
  44. 44. Dare to fail It will be a lot cheaper now
  45. 45. Compare the market Try to ignore the bias of your first choice
  46. 46. Dmitry Tried converting our CVS repository into: Subversion, Monotone, DARCS, and Git
  47. 47. The results were varied Simply migrating was not a straight-forward option
  48. 48. Pilot Study Ben picked a reasonably small app. and wrote it in Zend Framework
  49. 49. Remember the science Hypothesis, Experiment, Conclusion
  50. 50. The Journey
  51. 51. Winston Zeddemore The Pioneer
  52. 52. Expect the unexpected You will not have planned for everything
  53. 53. The worst? “ Why worry? Each of us is wearing an unlicensed nuclear accelerator on his back.”
  54. 54. Make a non-destructive switch Can you run both systems in parallel?
  55. 55. Be prepared for the worst Always have a “roll back” plan
  56. 56. Seb Marek Git migration
  57. 57. Lots of planning Multiple practice migrations
  58. 58. The Migration A seven hour epic journey
  59. 59. In the end Not a single technical problem
  60. 60. Bit by Bit Moving from SimpleTest to PHPUnit
  61. 61. The Beginning of the End
  62. 62. Gozer The Destructor The Enforcer
  63. 63. The hardest part And potentially the least enjoyable
  64. 64. Enforcement / Stick Name and shame
  65. 65. Get your sadistic side out “ Bustin' makes me feel good!”
  66. 66. Encouragement / Carrot Help them learn Remind them of the old system
  67. 67. A second honeymoon You've had yours Let them have theirs
  68. 68. Make it easy next time Have a maintenance/upgrade strategy
  69. 69. Review Dream, Sell, Experiment, Migrate, Keep
  70. 70. Questions? @rowan_m