Devoxx08: Effective Code Reviews In Agile Teams

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

1 comments

Comments 1 - 1 of 1 previous next Post a comment

Post a comment
Embed Video
Edit your comment Cancel

2 Favorites

Devoxx08: Effective Code Reviews In Agile Teams - Presentation Transcript

  1. www.devoxx.com
  2. Effective code reviews in agile teams
    • Wojciech Seliga
    • Senior SW Developer
    • Atlassian
    • Sławomir Ginter
    • Senior SW Developer & CSM
    • SPARTEZ
  3. Overall Presentation Goal
    • Share our observations on lightweight code reviews. Gather feedback and discuss it.
  4. About us
    • Wojciech Seliga is a software developer working for Atlassian on IDE Connectors. He is also a co-founder of SPARTEZ - agile and Java consultancy. For many years Wojciech has been fostering agile practices, introducing collaboration tools and developing mission-critical software systems.
    • Sławomir Ginter is a software developer at Atlassian working on Clover integration with IDEs. He is also a co-founder of SPARTEZ. Sławomir is a certified ScrumMaster. He has many years of experience in embedded systems and Java.
    • Does code review make sense?
    • Can we prove its value or lack thereof?
    • Pair programming or code review?
      • Obvious(?) pros and cons of code reviews
      • Top 5 ways to make reviews better
      • How we at Atlassian perform code reviews
      • Non-obvious aspects of code reviews
      • Problems we have with code reviews
      • Demo - code review with Atlassian Crucible web UI
      • Demo - code review with Atlassian IntelliJ Connector
      • Q&A, open discussion, your feedback
    Agenda
      • Introducing people to the code
        • used style/conventions
        • design
        • reusable components
      • Mentoring junior developers
      • Sharing good engineering practices
      • Spotting bugs earlier
      • Fostering collective code ownership
    Reasons for doing code reviews
      • Time-consuming
      • Risk of flame-wars and animosities
      • Disrupting for developers
      • Possible bottlenecks (e.g. all reviews go to tech lead)‏
      • Still no guarantee for spotting all the bugs
      • Often rejected or dropped due to tediousness
      • Code reviews vs. pair programming
    Reasons for avoiding code reviews
      • Requires synchronization from all reviewers
      • Super tedious
      • Too much emphasis on the structure and the workflow
      • Often the same code is reviewed many times
    Why traditional code review sucks
      • Make it asynchronous
      • Make it lightweight - simple process
      • Provide efficient tool support
      • Make it diff-oriented whenever applicable (in most cases)‏
      • Make it transparent and persistent
    Top 5 ways to make code review better
      • Every team has its own rules - self-organization
      • But usually:
      • We use simple Crucible workflow and its terminology
      • All new people on team create review for every commit
      • Tech leads monitor commits, review diffs and raise reviews when required
      • Moderator = Author OR Moderator = Tech lead
      • Reviewers = well-known pack of fellows (per project/component)‏
      • Allow anyone to join your reviews
      • Raise one review per day, try to complete pending reviews within one day
      • Post-commit OR pre-commit review
    Code review at Atlassian
      • Facilitation of distributed teams (including outsourcing & offshoring)‏
      • Collaboration on low level design
      • Code review is typically easier to introduce than pair-programming (less resistance in the organization)‏
      • Time-zone difference may work for you: code during the day, create review in the evening, have your review completed by next morning
      • Knowledge Base - tricks, do's, dont's, handling proprietary APIs
    More advantages...
      • Hanging reviews
      • Re-reviews, tracking defects and their resolution
      • Sometimes flame-wars are unavoidable...
      • Storm of notifications
      • Addressed vs. unaddressed changes/comments/replies
      • Too much focus on diffs (tempting)‏
    Problems we have
  5. DEMO
    • Creating and performing code review using
    • Atlassian Crucible web UI
  6. DEMO
    • Creating and performing code review from IDE using
    • Atlassian IntelliJ Connector connected to Crucible
  7. Q&A
    • What do you think
  8. Thanks for your attention!
    • Atlassian Crucible
    • http://www.atlassian.com/software/crucible/
    • Atlassian IDE Connector
    • http://www.atlassian.com/software/ideconnector/

+ guestc4d461guestc4d461, 11 months ago

custom

1781 views, 2 favs, 4 embeds more stats

slides supporting the talk we gave at a BOF during more

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 1781
    • 1640 on SlideShare
    • 141 from embeds
  • Comments 1
  • Favorites 2
  • Downloads 38
Most viewed embeds
  • 84 views on http://blogs.atlassian.com
  • 54 views on http://unimplemented.blogspot.com
  • 2 views on http://static.slideshare.net
  • 1 views on http://feeds.feedburner.com

more

All embeds
  • 84 views on http://blogs.atlassian.com
  • 54 views on http://unimplemented.blogspot.com
  • 2 views on http://static.slideshare.net
  • 1 views on http://feeds.feedburner.com

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories

Tags