ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Collaborative Software Development with Distributed Teams Tim Penhey [email_address]
About Tim Who is this fella and why do I care?
And now... Team lead for the Launchpad Bazaar integration team of Launchpad
Callolaboration Col¡¤lab¡¤o¡¤ra¡¤tion (Websters) n. The act of working together; united labor.
Collaborative software development model From Wikipedia, the free encyclopedia The Collaborative software development model is a style of software development whose focus is on public availability and communication, usually via the Internet. The software development model began widespread adoption with the Linux kernel in 1991. This development model is examined by Eric Raymond in his book ¡±The Cathedral and the Bazaar¡± where he compares it to a Bazaar.
Distributed Teams Team members not all in the same building The Launchpad team has 34 people spread over the globe Australia, Brazil, Canada, France, Germany, Lithuania, Netherlands, New Zealand, Serbia, Spain, Thailand, United Kingdom, United States
What do you need to work effectively in distributed teams?
What do you need to work effectively in distributed teams? Good communication Discipline Appropriate development tools Strong development process Good project management
Communication Email (direct and mailing lists) IRC (freenode.net, Canonical server) Skype (VOIP) Conference calls Sprints
Discipline Need ¡±work space¡± Can't read all email list conversations Can't be reading IRC all the time Core work hours
Appropriate Development Tools Distributed Version Control System (DVCS) Bazaar Full local copy of system available PQM ¨C Protected mainline Emacs or Vim
Strong Development Process Test Driven Development (TDD) Code Reviews of ALL code Mentoring Small teams within the larger team Sprints
Project Management Bug tracking Feature planning Planned regular releases Cross training
Is that so different? Sounds like what is needed for any project Being distributed means a higher dependency on good communication All the non-verbal communication is lost in conversations Sarcasm doesn't work in email Discipline is a biggie
Questions?

More Related Content

Collaborative Software Development With Distributed Teams

  • 1. Collaborative Software Development with Distributed Teams Tim Penhey [email_address]
  • 2. About Tim Who is this fella and why do I care?
  • 3. And now... Team lead for the Launchpad Bazaar integration team of Launchpad
  • 4. Callolaboration Col¡¤lab¡¤o¡¤ra¡¤tion (Websters) n. The act of working together; united labor.
  • 5. Collaborative software development model From Wikipedia, the free encyclopedia The Collaborative software development model is a style of software development whose focus is on public availability and communication, usually via the Internet. The software development model began widespread adoption with the Linux kernel in 1991. This development model is examined by Eric Raymond in his book ¡±The Cathedral and the Bazaar¡± where he compares it to a Bazaar.
  • 6. Distributed Teams Team members not all in the same building The Launchpad team has 34 people spread over the globe Australia, Brazil, Canada, France, Germany, Lithuania, Netherlands, New Zealand, Serbia, Spain, Thailand, United Kingdom, United States
  • 7. What do you need to work effectively in distributed teams?
  • 8. What do you need to work effectively in distributed teams? Good communication Discipline Appropriate development tools Strong development process Good project management
  • 9. Communication Email (direct and mailing lists) IRC (freenode.net, Canonical server) Skype (VOIP) Conference calls Sprints
  • 10. Discipline Need ¡±work space¡± Can't read all email list conversations Can't be reading IRC all the time Core work hours
  • 11. Appropriate Development Tools Distributed Version Control System (DVCS) Bazaar Full local copy of system available PQM ¨C Protected mainline Emacs or Vim
  • 12. Strong Development Process Test Driven Development (TDD) Code Reviews of ALL code Mentoring Small teams within the larger team Sprints
  • 13. Project Management Bug tracking Feature planning Planned regular releases Cross training
  • 14. Is that so different? Sounds like what is needed for any project Being distributed means a higher dependency on good communication All the non-verbal communication is lost in conversations Sarcasm doesn't work in email Discipline is a biggie