Questions tagged «distributed-development»

5
一个团队进行设计,另一个团队进行编码
我将参与一个项目,该项目的所有软件设计均由本地团队进行,然后将这些设计发送给离岸团队进行编码。 这是我第一次面对具有这种特征的项目,这对我来说有点奇怪:经理们希望我们制定非常详细的设计文件,因此离岸团队没有错误的余地。从我的角度来看,它们使我们可以在纸上进行编码,而我们可以在IDE中进行编码。 所以,我的问题是这种方法是好的还是正确的?我们的软件流程要在项目中取得成功,必须考虑哪些主要考虑因素?

6
允许客户参与项目的最佳方法是什么?
我们一直在为客户建立CRM。既然第一个主要阶段已经完成,并且第二个阶段已经达成共识,那么客户希望承担一些工作,在我们构建第二个阶段的同时,对数据库模式和业务流程进行较小的修改。 我不确定这是否完全可行,但是假设是这样,我想指出一些指针,可以针对这些指标采取措施以使其完全可行。到目前为止,这是我得到的: 到目前为止,客户大多从用户的角度看项目。显然,应该分两部分进行讨论,向我们介绍内部工作原理: 首先,显示现有的数据库架构,并通过示例的方式对其进行扩展, 然后,显示一些示例代码,并为架构增强编写新的业务流程。 该代码当前位于内部Subversion存储库中。虽然我们可以在他的网络上建立一个或多个公共网络(我们可以通过VPN连接到它),但我觉得分布式系统会更好。但是,我似乎是唯一这样的人,因此我可以使用一些令人信服的论点。 我不确定如何授权/确保在生产环境中运行的代码已提交。好像“灾难发生之前,x进行了关键的,无记录的更改;现在y正在试图弄清楚此错误自此以来一直在发生”灾难是不可避免的。理想情况下,在部署之前,所有更改将: 在问题跟踪系统中记录下来, 首先在单独的测试环境中进行,并且 必须通过自动化测试。 las,我怀疑其中任何一种纪律都会盛行。 假定插件体系结构或单独的项目不是可行的选择,因为1)前者不存在,并且2)后者将禁止客户查看并可能修改现有代码,我相信他会坚持。

4
为团队在两种口头语言之间分配的Scrum
我有一个团队,所有团队成员之间没有一种共同语言。团队分布在两个位置(尽管地理不是主要问题)。每个地点的所有团队成员都说相同的语言,并且两个地点的成员都可以说两种语言。我想介绍一下Scrum,但是在处理语言问题的后勤工作上很挣扎。 这不是一支离岸团队。所有团队成员均为公司员工,但位于不同国家/地区的两个不同办事处。幸运的是,我们在时区方面没有任何问题。语言是主要障碍。尽管可以将团队分为两个团队,但要考虑到每个地点人员的规模和技能以及其他外部因素,因此更希望将其整合为一个团队。 我认为最好使用视频会议,以便进行更丰富的沟通并帮助团队团结起来,使彼此能够看到对方并采取真正的站立方式。但是,恐怕很难在语言之间进行交流。团队中的双语成员应该口头翻译吗?或者,我们可以使用即时消息,这是我发现的有关分布式Scrum语言问题的唯一参考。我担心沟通不畅,也许对Scrum概念的介绍不佳。 在团队中处理过语言差异的经验丰富的人中,您如何解决该问题以及它对您的工作有多好?

3
寻找分布式锁定模式
我需要为C#中的分布式系统提出一个自定义的递归对象锁定机制\模式。本质上,我有一个多节点系统。每个节点对n个状态段具有独占写入权限。至少一个其他节点上的只读也可以使用相同的状态。一些写入/更新必须在所有节点上都是原子的,而其他更新最终将通过后台复制过程,队列等变得一致。 对于原子更新,我正在寻找一种模式或示例,这些模式或示例可以有效地使我将对象标记为写锁定,然后可以分发,提交,回滚等。由于系统具有高级别的并发性,因此我假设我需要能够堆叠锁,这些锁要么超时,要么在释放锁之后展开。 事务或消息传递不是这个问题的重点,但是我已经为一些额外的上下文提供了它们。话虽如此,请随意阐明您认为需要的消息。 尽管我对实现全新产品不愿接受任何新想法,但是这是我所设想的模糊示例 thing.AquireLock(LockLevel.Write); //Do work thing.ReleaseLock(); 我在考虑使用扩展方法,可能看起来像这样 public static void AquireLock(this IThing instance, TupleLockLevel lockLevel) { //TODO: Add aquisition wait, retry, recursion count, timeout support, etc... //TODO: Disallow read lock requests if the 'thing' is already write locked //TODO: Throw exception when aquisition fails instance.Lock = lockLevel; } …

1
DVCS促进了地理分布团队之间的回购复制
我的公司正在探索从Perforce过渡到DVCS的问题,由于软件开发团队分布在德国,中国,美国和墨西哥,有时从一个地方到另一个地方的带宽并不理想,因此我们目前使用许多Perforce代理。 在与IT进行交流时,我们开始寻找一种方法,可以从地理分布的角度使事情顺利进行,以便每个人都能获得最新和最好的信息,而无需确定哪个回购服务器是真相的来源(即透明复制)。 我认为也许我们可以通过预推钩和预拉钩模拟DNS机制。例如,考虑国家A,B和C。从有福的A撤出后,A本身就会从B撤出变化,这反过来又会促使C发生变化。如果B和C有新的变化,它们将落入A。相反,当有推送时,它可以传播到所有受祝福的存储库。 我知道一般来说,您只有一个有名的仓库,但是这可能无法在全球范围内扩展,每个有名的仓库仅适用于来自单个国家/地区的团队。 我的问题是:DVCS回购复制的概念在实践中是否有用?有人成功完成了吗?如果是,正确的方法是什么?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.