首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分布式开发团队的Web开发建议

分布式开发团队的Web开发建议
EN

Software Engineering用户
提问于 2010-11-10 15:26:13
回答 4查看 312关注 0票数 0

我是一个网页开发人员。在许多项目中工作过。现在我换了工作地点。这是一个很大的组织。我和我的团队正在考虑新的项目。编写项目没有什么困难,但我们的组织规模很大,而且在许多地方(国内)几乎没有办事处。中心的互联网没有任何问题。但有时偏远地区的互联网也会出现问题。

我的问题是:有没有解决问题的办法?如果有人创建了这样的项目,请少告诉你所使用的技术。

谢谢

EN

回答 4

Software Engineering用户

发布于 2010-11-10 15:46:59

分布式工作是可行的,但是大多数让它变得简单的工具都是基于互联网的,所以你会遇到一些困难。

第一件事是寻找不需要持续在线的工具。看看分布式源代码管理,它可以在每个办公室都有小型集线器--类似于Git。这意味着它们可以在连接处于活动状态时同步,而当连接没有活动时就没有问题。

对于交流,论坛或类似37信号篝火之类的东西,这两者都保持了讨论的历史,将比聊天客户端更好。这样,当一个人的联系消失时,他们就可以回去,一旦他们的联系恢复,他们就可以回顾人们所说的话。

您还需要在您的流程上工作。我要看两件事:

1)不要以为人们看到了变化或收到了电子邮件。使用阅读收据,如果你没有收到阅读收据,告诉人们他们需要拿起电话,确保对方意识到。使之成为传达变更的人的责任,以获得认可。

2)将工作分成几个小块,程序员可以一次工作几天,所以日常交流并不那么重要。那样的话,如果连接确实中断了,他们就不会什么都不做,因为他们的任务列表上总是有事情。如果你能把整个项目的一部分放到不同的办公室去,他们就会成为他们自己的小单位。

票数 3
EN

Software Engineering用户

发布于 2010-11-10 15:35:58

我会在一个“中央”网站上决定对该项目做出重大决策(尽管这并不意味着其他办公室不能做出决定)。在该站点上,宿主一个SVN服务器,并让所有其他办事处将代码提交到该服务器,以便有一个包含开发的过程。

它将有助于找到某种媒体,您可以通过它轻松地与其他程序员交谈,如yahoo或windows live。电子邮件是可以的,但你往往没有回应时间,否则你可以得到聊天程序。

我希望这就是你所说的网络问题的意思。否则你就得更清楚地回答你的问题。

票数 0
EN

Software Engineering用户

发布于 2012-03-04 06:07:26

我一直在公司工作,有很强的家庭工作和分布式开发文化。分布式开发确实是一个挑战,但由于工具和技术的进步,这种开发正在迅速变得可行。要想成功地进行分布式开发,需要培养的不仅仅是工具,还需要培养适当的思维方式。

根据维基百科的说法,“分布式开发”这个术语不是很清楚,所以首先让我从软件开发人员的角度给出我对什么是分布式开发的看法。

我所说的“分布式开发”是一种软件开发方法,它利用互联网连接方面的技术进步和更好的通信工具,试图尽量减少通过在软件团队中远程工作而引入的断开。分布式开发强调虚拟团队中所有成员之间的沟通和交互。这个想法是为了减少这样一种感觉:我们在不同的物理空间中工作,而每个人都在独自完成一些离散的任务。这种思想与敏捷哲学是一致的,这种哲学强调个人和相互作用,而不是过程和工具。

我最近写了一个关于这个的博客帖子,您可以查看- http://technikhil.wordpress.com/2012/02/20/distributed-development/

在这篇文章中,我详细介绍了一些与你的问题相关的工具和技巧。我会在这里列出-

  1. 可靠和快速的互联网是绝对必须的,而且它不那么容易获得--至少我来自哪里。询问你工作的人是否有备用电源和良好的互联网连接。就电力供应而言,对电源的需求在很大程度上取决于工作地点--如果是一个大城市,那么通常提供一小时备用的UPS应该是可以的,除非存在长期的电力问题。在较小的城镇,他们可能需要更多的东西,如变频器或便携式发电机。现代笔记本电脑具有更长的电池寿命和便携性,这是一个很大的帮助,因为它们可以让人们忽略较小的中断,再加上适当的无线或蜂窝数据连接,甚至可以让你简单地将操作基础转移到其他有电源和互联网的地方。
  2. 当你工作的时候,你需要有一个开放的交流渠道,这就像一个开放的IRC (因特网中继聊天)通道一样简单。我们在工作中使用Skype,我认为按需打电话或视频聊天的能力使其远远优于IRC。另一个值得探索的选择是在你工作的时候使用类似Google+ Hangout的东西--显然这意味着你需要有可靠的高带宽互联网。软件工具的付费选项也有,比如Microsoft,如果您在Microsoft中有一个基于Microsoft的IT基础设施,它可能是一个更集成的解决方案。有各种各样的通信器和工具可供试用--看看此链接,Scott对远程工作人员可用的通信工具进行了深入研究。
  3. 在现实世界里安排定期的会议和聚会。如果这意味着某人需要不时地到某个地方旅行,请考虑执行分布式开发的成本。我认为这是对团队生产力和效率的投资。当每个人都亲自见面,在一些问题上共同努力时,你们就建立起相互信任和尊重。在我在敲桌子工作的一年里,我想我们每个季度至少有一次聚会。有时我们只是聚在一起,花了几天时间,只是在没有其他议程的情况下一起工作,有时是一次会议或一次培训。
  4. 分布式开发倾向于在相对平坦和简单的组织结构下工作。这个想法是,每个人都应该对软件项目有同样的投入和责任。当然,所面临的挑战是,这种特殊的设置不能很好地扩展,而且对于大型组织来说也是有问题的。如果您是在大型的分层组织中,请尝试查看一下,您可以将分布式开发组隔离一点,并在其中创建一个更平坦、更非正式的结构。
  5. 一个好的在线项目管理工具是必须的,以确保你正朝着正确的方向前进。我们在不断地尝试新的开发工具。我发现JIRA有利于支持和基于任务的工作,而我喜欢Trello更开放的新开发。
  6. 在工作中,我们使用Rackspace服务器作为开发服务器并进行测试。这是一台机器,我们在其上进行本地机器的承诺,并在其上进行测试。拥有一台部署代码的机器还会迫使您在正确的环境中测试它,并将部署考虑因素引入设计和开发计划中。
票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/18137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档