Java 可用于团队项目中远程工作的约定

Java 可用于团队项目中远程工作的约定,java,project,distance,Java,Project,Distance,在团队项目中进行远程工作(比如通过CVS或SVN)时,您会建议采用哪种约定?更具体地说,可以做些什么来避免某人进行大规模的更改(这可能是必要的),并冒着混淆/延迟其他团队成员的风险?如果测试是必要的,那么应该如何执行,以使代码不被在应用程序投入生产之前需要清除的指令所污染?我对任何与方法论有关的东西都感兴趣,但也对任何可以加强沟通的小技巧感兴趣,比如在源代码中留下TODO注释。沟通比惯例更关键。我的团队一分为二,一半在欧洲,一半在美国,我们的成功来自清晰、定期的沟通: 每天15分钟的电话会议,

在团队项目中进行远程工作(比如通过CVS或SVN)时,您会建议采用哪种约定?更具体地说,可以做些什么来避免某人进行大规模的更改(这可能是必要的),并冒着混淆/延迟其他团队成员的风险?如果测试是必要的,那么应该如何执行,以使代码不被在应用程序投入生产之前需要清除的指令所污染?我对任何与方法论有关的东西都感兴趣,但也对任何可以加强沟通的小技巧感兴趣,比如在源代码中留下TODO注释。

沟通比惯例更关键。我的团队一分为二,一半在欧洲,一半在美国,我们的成功来自清晰、定期的沟通:

  • 每天15分钟的电话会议,每个人都说他们正在工作的领域。随后是电子邮件摘要
  • 每周2小时的视频会议,有人在会上介绍一项复杂的工作
  • 作为负责人,在开发人员开始之前,我至少与他们讨论每项任务几分钟,每天至少通过电话、即时通讯或亲自与他们联系一次;并期待任务完成后进行简短回顾。关键不是要检查他们,以确保他们做得正确*-如果我们不能100%确定他们可以,他们就不会被聘用
关键是仪式性的交流建立了定期交流的基本习惯,使每个人保持同步。这些强制性的信息让每个人在处理其他人可能需要知道的事情时都能很舒服地拿起电话或接近同事

另外,请不要在源代码中留下TODO注释。抛出UnsupportedOperationException/NotImplementedException,直到您准备好实现,然后完全实现它


*正确并不意味着完美。总是有更好的设计,更好的编码方式,持续的沟通有助于持续的反馈。

沟通比惯例更重要。我的团队一分为二,一半在欧洲,一半在美国,我们的成功来自清晰、定期的沟通:

  • 每天15分钟的电话会议,每个人都说他们正在工作的领域。随后是电子邮件摘要
  • 每周2小时的视频会议,有人在会上介绍一项复杂的工作
  • 作为负责人,在开发人员开始之前,我至少与他们讨论每项任务几分钟,每天至少通过电话、即时通讯或亲自与他们联系一次;并期待任务完成后进行简短回顾。关键不是要检查他们,以确保他们做得正确*-如果我们不能100%确定他们可以,他们就不会被聘用
关键是仪式性的交流建立了定期交流的基本习惯,使每个人保持同步。这些强制性的信息让每个人在处理其他人可能需要知道的事情时都能很舒服地拿起电话或接近同事

另外,请不要在源代码中留下TODO注释。抛出UnsupportedOperationException/NotImplementedException,直到您准备好实现,然后完全实现它


*正确并不意味着完美。总是有更好的设计,更好的编码方式,持续的沟通有助于不断的反馈。

您对代码的同行评审有何看法?我知道你希望他们做得对(这可能是很多事情),但同行评议在知识共享和消除误解方面可能仍然是有益的。@Thorbjørn。我们在现场进行结对编程,每周的扩展视频会议用于进行扩展的团队范围的评论。感谢分享Rex M。最突出的短语是“保持每个人的同步”。从下周开始,我将每天打电话进行实践性的复习。你对代码的同侪复习有什么看法?我知道你希望他们做得对(这可能是很多事情),但同行评议在知识共享和消除误解方面可能仍然是有益的。@Thorbjørn。我们在现场进行结对编程,每周的扩展视频会议用于进行扩展的团队范围的评论。感谢分享Rex M。最突出的短语是“保持每个人的同步”。从下周开始,我每天都会打电话复习。