Agile Code Reviews<br />Supporting collaboration and improving production uptime for agile development teams<br />Sean deB...
What is AWS?<br />How many folks here have come to expect and rely on wireless connectively to add value to some aspect of...
What is AWS? <br />Nintendo 3DS owners get Wi-Fi freebie, CNET, 6/2/11<br />Nintendo 3DS owners will get free Wi-Fi access...
What are our business challenges?<br />Network growth<br />
Network Growth<br />6 months in 2009<br />5 weeks in 2010<br />11 days in 2011<br />
What are our business challenges?<br />Network growth<br />Security<br />Custom requirements<br />Bandwidth utilization<br...
Agile at AWS<br />Build projects around motivated individuals. Give them the environment and support they need, and trust ...
Challenges for the development team<br />Scale infrastructure<br />Provide Cross Training<br />Collaborate to improve the ...
Show of hands:<br />How many folks have ever done a code review?<br />How many folks are thinking about asking their devel...
Code Review Initiative<br /> Position for growth and improve engineering practices<br /> Provide mechanism for cross-train...
Initial Environment<br /><ul><li>Jira 4.1.2
17 active Jira projects
Multiple Jira plugins
Links Hierarchy
 Tags
Balsamiq
 Reporting
Worklog Assistant
 Workflow Reports</li></ul>GreenHopper 5.2.4<br />12 Kanban and Scrum Teams<br />
Tools Selected<br />FishEye, Crucible and Crowd<br /> Benefits:<br />interfaces with JIRA<br />ease of use<br />support on...
Tool Versions<br />Crowd<br />Version 2.1.0 Build #431<br />FishEye and Crucible<br />Version:2.4.4 Build:20110111045701<b...
AT&T Proprietary & Confidential<br />Light weight Process<br />Author / Developer Driven<br />Review for standards <br />R...
Overview of the process<br />cvscommit –c “SAR-1025 Updating makefile” Makefile<br /> author creates Review from Jira Tick...
Pilot<br />Technical Challenges:<br />Index a very large cvs repository<br />Index a growing svn repository<br />Personnel...
Developer Friendly<br />
CVS configuration<br />Cvsrsync<br />rsync --verbose --progress --stats --recursive /prod/cvs/root/os/admin/* sd181r@machi...
Upcoming SlideShare
Loading in …5
×

Agile Code Reviews: Supporting collaboration and improving production uptime for agile development teams

1,299 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Agile Code Reviews: Supporting collaboration and improving production uptime for agile development teams

  1. 1.
  2. 2. Agile Code Reviews<br />Supporting collaboration and improving production uptime for agile development teams<br />Sean deBardelaben<br />Sr. Software Developer<br />
  3. 3. What is AWS?<br />How many folks here have come to expect and rely on wireless connectively to add value to some aspect of their lives?<br />
  4. 4. What is AWS? <br />Nintendo 3DS owners get Wi-Fi freebie, CNET, 6/2/11<br />Nintendo 3DS owners will get free Wi-Fi access at 25,000 locations around the U.S., starting Tuesday. The wireless access will be available at nearly 200 malls owned by Simon Property Group, Nintendo said today, as well as in more than 1,000 Best Buy locations. Nintendo has also inked a deal that will allow 3DS owners to connect to AT&T Wi-Fi hot spots at no charge.<br />
  5. 5. What are our business challenges?<br />Network growth<br />
  6. 6. Network Growth<br />6 months in 2009<br />5 weeks in 2010<br />11 days in 2011<br />
  7. 7. What are our business challenges?<br />Network growth<br />Security<br />Custom requirements<br />Bandwidth utilization<br />IPv6<br />
  8. 8. Agile at AWS<br />Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. <br />Continuous attention to technical excellence and good design enhances agility. <br />The better we are at what we do, the less frequently we have to cut corners in order to go fast. Ron Jeffries  - http://xprogramming.com/articles/quality-speed-tradeoff-or-skill-deficit/<br />
  9. 9. Challenges for the development team<br />Scale infrastructure<br />Provide Cross Training<br />Collaborate to improve the reliability of our releases<br />
  10. 10. Show of hands:<br />How many folks have ever done a code review?<br />How many folks are thinking about asking their developers to add code reviews to their current activities? <br />
  11. 11. Code Review Initiative<br /> Position for growth and improve engineering practices<br /> Provide mechanism for cross-training and engineer on-boarding<br /> Improve product quality and reduce downtime<br /> Goal is focused (code review), and timeline is short<br /> Demonstrate the value of this Process Improvement approach<br /> Improve quality and velocity<br /><ul><li> minimize defects that go past the development phase</li></ul> Reduce lifecycle maintenance costs<br /> Ensure all code follows coding standards and coding style<br />
  12. 12. Initial Environment<br /><ul><li>Jira 4.1.2
  13. 13. 17 active Jira projects
  14. 14. Multiple Jira plugins
  15. 15. Links Hierarchy
  16. 16. Tags
  17. 17. Balsamiq
  18. 18. Reporting
  19. 19. Worklog Assistant
  20. 20. Workflow Reports</li></ul>GreenHopper 5.2.4<br />12 Kanban and Scrum Teams<br />
  21. 21. Tools Selected<br />FishEye, Crucible and Crowd<br /> Benefits:<br />interfaces with JIRA<br />ease of use<br />support online review<br />all comments automatically archived<br />tracks time spent, amount of code reviewed<br />powerful and flexible (eg. RSS feed of code updates)<br />13<br />
  22. 22. Tool Versions<br />Crowd<br />Version 2.1.0 Build #431<br />FishEye and Crucible<br />Version:2.4.4 Build:20110111045701<br />Crowd used for user mapping<br />FishEye used for source code browsing<br />Crucible used for code review process<br />14<br />
  23. 23. AT&T Proprietary & Confidential<br />Light weight Process<br />Author / Developer Driven<br />Review for standards <br />Review for business process adherence<br />Review for training<br />Reviewers on scrum team<br />Page 15<br />
  24. 24. Overview of the process<br />cvscommit –c “SAR-1025 Updating makefile” Makefile<br /> author creates Review from Jira Ticket <br /> author addresses concerns<br /> review session is marked complete<br /> author moves JIRA task to the DONE state<br /> ~10% overhead per reviewer<br />AT&T Proprietary & Confidential<br />Page 16<br />
  25. 25.
  26. 26.
  27. 27. Pilot<br />Technical Challenges:<br />Index a very large cvs repository<br />Index a growing svn repository<br />Personnel Challenges:<br />Get engineers involved in process<br />Collect meaningful feedback<br />
  28. 28. Developer Friendly<br />
  29. 29. CVS configuration<br />Cvsrsync<br />rsync --verbose --progress --stats --recursive /prod/cvs/root/os/admin/* sd181r@machinename:/cat/cvs/os/admin<br />rsync --verbose --progress --stats --recursive /prod/cvs/root/os/configs/* sd181r@machinename:/cat/cvs/os/configs<br />
  30. 30.
  31. 31. svn configuration<br />https://svn.server.com/svn No support for Kerberos <br />
  32. 32. Stumbling blocks<br /><ul><li>Large cvs repository took months to scan
  33. 33. Large svn repository took weeks to scan
  34. 34. Tagged builds showing up as unreviewed code
  35. 35. Mapping users ids between CVS repository, Jira and AD
  36. 36. Large code set reviews had poor performance</li></ul>24<br />
  37. 37. Unexpected Benefits<br /><ul><li>Activity steam gave architects visibility in key deliverables
  38. 38. RSS feed gave teams better ownership of projects
  39. 39. Integration into Jira gave Product Owners and Project Managers insight into feature sets</li></ul>25<br />
  40. 40. Reports<br />Release reports<br />Scrum team reports<br />User reports<br />
  41. 41. Release Reports<br />select revisions from dir "/" where ((comment matches "TZ-1420" or comment matches "TZ-1635" or comment matches "TZ-1623" or comment matches "TZ-1621" or comment matches "TZ-1619") and date >= 2011-03-01T06:00:00.00Z) order by date desc group by changeset return path, revision, author, date, csid, totalLines, linesAdded, linesRemoved, reviews<br />27<br />
  42. 42. Scrum Team Reports<br />select revisions from dir "/" where ((comment matches "DOGS" or author in(bs9162,dr213u,ri950d,rk9847,sd9393,sg002j,sr170u,tm214k,wwiggins)) and date in [now-P21D , now ] ) order by date desc group by changeset return csid, author ,count(distinct reviews)<br />
  43. 43. User Report<br />Activity Stream<br />
  44. 44. Focus on the important<br />

×