• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Distributed Teams and Eclipse

Distributed Teams and Eclipse



Since joining Red Hat, I've been working with an amazingly distributed team scattered around the world. I work with engineers in Beijing, Ireland, Switzerland, the United States, and more. To simplify ...

Since joining Red Hat, I've been working with an amazingly distributed team scattered around the world. I work with engineers in Beijing, Ireland, Switzerland, the United States, and more. To simplify communication we use JIRA, e-mail, IRC, and instant messenger clients to keep in touch and on task.

This talk focuses on some of the Eclipse technologies we use and others we've looked into using to help us deal with the distributed nature of our environment - from using the Eclipse IDE for development and the JIRA connector for Mylyn, to potentially using ECF to manage our various chat-like communication channels, and other technologies that came to light.

Brian Fitzpatrick (aka "Fitz") is a software engineer with Red Hat, Inc., who has contributed to the Data Tools Project (DTP) since its inception. Until recently, Brian's focus has mainly been on Eclipse tooling development for Sybase. This past year he joined Red Hat and has been working on cool SOA tooling. He hopes to continue helping out with DTP and elsewhere in Eclipse for the forseeable future. Currently he serves on the DTP PMC as well as as being the Team Lead for both the Connectivity and Enablement sub-projects within DTP.



Total Views
Views on SlideShare
Embed Views



1 Embed 42

http://www.eclipsecon.org 42



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment
  • Since joining Red Hat's truly global workplace in 2009, I've been struggling with how to deal with keeping in contact with team members around the world. What we'll cover today is a bit of the problem I deal with regularly, what we currently do, and some of the Eclipse technologies I'd like to see us develop as solutions.
  • My name is Brian Fitzpatrick. You may have seen my name around the last few years as a member of the Data Tools Platform (DTP) team – or you may not. :)‏ I was with Sybase for 13 years before recently jumping ship and joining Red Hat in the middle of last year to help out with some of their SOA tooling. I've been dealing with some sort of distributed team since joining DTP back in 2006,
  • At Sybase, I was dealing with folks on the East and West Coasts of the United States, in Colorado, and in Shanghai, China. So I was only dealing with a few different time zones and it wasn't too difficult juggling e-mails and meetings.
  • When I started working for Red Hat in June 2010, I was thrust into a whole different world... Denver to Switzerland, Ireland, Beijing/China, Minsk, Massachusetts, California, Georgia, Japan Truly a global view of software development.
  • - Who among you works with people in multiple states regularly? - Multiple countries? - Multiple time zones?
  • On average, I chat with developers in Ireland, China, and Switzerland daily. From my timezone in Denver, that's up to a maximum 15 hour difference. We truly live and work in a global economy.
  • Though English is a common language for technical purposes, it presents some interesting challenges at times for non-English speakers. And I have to say I'm your typical ignorant American as far as languages go. Though I've had some Spanish and French, I'm primarily English only. I have a lot of respect for the international community and their gift for knowing multiple languages. For example, I would not be able to speak Chinese without years of work and don't know how some of our Beijing developers are able to coherently speak to us on a regular basis. That said, accents, grammatical differences, transmission issues, and so on make speaking over the phone sometimes impossible. To counteract that problem, we do a great deal of what we do over e-mail, Wikis, the web, and instant messaging. Written conversations seem to translate more easily for everyone involved most of the time.
  • We often have to share sets of steps or UI behavior between developers, QE resources, product management, users, and so on. Among the tools we've seen used are Camstasia and Jing, which are Windows or Mac-based and don't run on Linux, which many of us do development on. The backup to screencasting is to write out a set of steps and do screen captures, but that often is confusing and difficult to put together in a Wiki, document, or PDF.
  • The last major hurdle we face regularly is when we share patches via our bug tracking software (JIRA) and do code reviews. As spread out as we are around the world, it's difficult to do a quick code review in all cases simply because you need questions answered or suggest changes and the time delay presents a challenge.
  • We live in our bug tracker (JIRA), on mailing lists, plain e-mail, IRC chat, and Wikis. Wherever possible, we encourage folks to create and share screencasts, patches, .log files, console output, and document steps as specifically as they can so we can reproduce issues, investigate further, and provide feedback or fixes.
  • Not everything gets shared consistently across all mediums and we end up repeating things. Not everyone can follow the conversation because it takes place in multiple places that aren't necessarily logged regularly or shared across the board.
  • ECF - consistent instant messaging from within your development environment Bug Trackers - better and better integration with Bugzilla and JIRA will aid developers across the board Code reviews - the new Mylyn Reviews project announced in December 2009 would integrate with bug trackers and allow more interactive review cycles Multiple Source Code Control Options - CVS, SVN, Git offer better, simpler integrations for developers
  • - Simpler UI models for ECF Contact & Connection Management (pretty simple)‏ - Built-in logging and log management (search capabilities) for ECF chats (pretty simple)‏ - Screencast/screen capture tools better integrated with Eclipse IDE (not so simple)‏ -- Already some work done for doing screen captures over XMPP in Eclipse 3.3/3.4 (http://wiki.eclipse.org/Screen_Captures_over_IM)‏ - Something along the lines of Google Buzz or Google Wave where multiple people can contribute to a conversation in real time or with time shifting and the threads can be kept consistent - unlike with e-mail sometimes or IM or social media (probably hard)‏ -- An ECF provider for Google Wave is in the works for Helios (https://bugs.eclipse.org/bugs/show_bug.cgi?id=280347)‏

Distributed Teams and Eclipse Distributed Teams and Eclipse Presentation Transcript

  • Distributed Teams and Eclipse: Developing Over the Miles Brian Fitzpatrick Sr. Software Engineer, JBoss at Red Hat March 25, 2010
  • Welcome!
    • During this talk we're going to talk a bit about:
      • Distributed Teams
      • Our Scenario at Red Hat
      • Current solutions
      • And a few common sense tips...
  • But first a brief introduction...
    • Who am I?
    • What's my story?
    • Why talk about distributed teams?
  • What is a distributed team?
    • Sometimes called “virtual” teams
  • What is a distributed team?
    • Sometimes called “virtual” teams
    • Distributed times are “distributed” across time or space
  • What is a distributed team?
    • Sometimes called “virtual” teams
    • Distributed times are “distributed” across time or space
    • Typically focused on a single task or supporting a single product/project
  • What is a distributed team?
    • Sometimes called “virtual” teams
    • Distributed times are “distributed” across time or space
    • Typically focused on a single task or supporting a single product/project
    • In theory anyway...
  • My Old View of Distributed Teams...
  • My NEW View of Distributed Teams...
  • What about you? Do any of you work in similar environments?
  • More than Space... Time is the major factor
    • On a regular basis, conversations with multiple times and places:
      • California [GMT -8]
      • Denver [GMT -7]
      • Atlanta [GMT -6]
      • Boston [GMT -5]
      • Ontario [GMT -5]
      • Dublin [GMT]
      • Switzerland [GMT +1]
      • Brno [GMT +1]
      • Minsk [GMT +2]
      • Beijing [GMT +8]
      • Tokyo [GMT +9]
  • Beyond Time and Space... What are the other issues?
  • Beyond Time... Other Issues #1 - Language
    • English is a great common language for technical conversations
    • But... it's not without its challenges.
    • Accents, grammatical differences, transmission issues
  • Other Issues #2 - Screen sharing and OS limitations
    • Screencasts
    • Screen captures
    • Wikis, Documents, PDFs
  • Other Issues #3 - Patches and Code Reviews
    • Bug Tracking
    • Code Reviews
  • What about you? What other issues do you encounter?
  • What we do today...
    • JIRA
    • Mailing Lists and E-mail
    • IRC Chat
    • Wikis
    • Screencasts
    • Patches
    • Log files
    • Console Output...
  • Where we run into issues...
    • Sharing issues
    • Multiple locations
    • Inconsistent
    • Reproducing issues
  • What tools we use (mostly)...
    • Pidgin (IM/IRC)‏
    • Camstasia/Jing (Screencasts)‏
    • IE/Firefox/Chrome for Wiki editing
    • Eclipse JIRA & SVN integration
    • Mylyn
  • Where Eclipse can help...
    • ECF
    • Bug System Integration
    • Code Reviews in the Tooling
    • More source code control options...
  • Where Eclipse needs some help...
    • Improved ECF Contact/Connection Management
    • Built-in logging and log management for ECF chats
    • More screen capture options
    • Something like Google Buzz or Google Wave (See Bugzilla 280347)
  • Opportunities Exist for Improvement and Innovation
    • Integrated and standalone tools for distributed teams
    • More resources for integrators trying to create such tools
    • People to test drive and provide feedback for early versions of such tools
  • Bottom Line
    • We're all over the world.
    • Eclipse is a good environment for a single developer, but could be great with more multiple developer use cases.
    • And there are many opportunities to make things better.
  • Tips for Distributed Teams
    • Face to Face Meetings – Annual or more often if possible
    • Important to have a “Glue” person to keep things on task
    • Settle on consistent technology
    • TDD and Continuous Integration
  • Thanks!
    • Enjoy the rest of the conference!