在团队项目上进行一些远程工作(例如通过CVS或SVN)时,您会建议什么样的约定?更具体地说,如何避免某人进行大规模更改(这可能是必要的)并冒使其他团队成员感到困惑/延迟的风险?如果必须进行测试,应如何进行测试,以使代码不会被在应用程序投入生产之前需要清除的指令所污染?我对与方法学有关的任何事情都感兴趣,但对任何可以增强交流的小技巧(例如将TODO注释保留在源代码中)也很感兴趣。
最佳答案
沟通比常规更为关键。我的团队是分散的,一半在欧洲,一半在美国,我们的成功来自清晰的定期沟通:
每天15分钟的电话会议,每个人都在说他们正在研究的领域。随后是电子邮件摘要。
每周2小时的视频会议,其中有人介绍一项复杂的工作。
作为负责人,我在开始执行任务之前至少要与开发人员讨论几分钟,每天至少要通过电话,IM或亲自检查一次;并期望在任务完成后进行简短的复查。关键不是要检查他们以确保他们做对了*-如果我们不能100%地确定他们可以,那就不会雇用他们。
关键是,仪式交流建立了定期交流的基本习惯,并使每个人保持同步。必填项使每个人每次进行别人可能需要知道的事情时,都足够舒适以接听电话或与同事联系。
另外,请不要在源代码中留下TODO注释。在准备好实现之前,抛出UnsupportedOperationException / NotImplementedException,然后再完全实现它。
*正确并不意味着完美。总会有更好的设计,更好的代码编写方式,并且持续的交流有助于持续的反馈。