Questions tagged «teamwork»

有关与同事或团队合作的问题。(关于工作建议或教育,团队合作的问题有被“搁置为脱题”的风险。)


15
如何说服牛仔程序员使用源代码控制?
更新 我在一个由4个人组成的小型开发团队中工作。他们都使用了源代码控制。他们中的大多数人不能忍受源代码管理,而是选择不使用它。我坚信源代码控制是专业发展的必要部分。有几个问题使得说服他们使用源代码管理非常困难: 该团队不习惯使用TFS。我进行了2次培训,但只分配了1个小时,这是不够的。 团队成员直接在服务器上修改代码。这样可以使代码不同步。要求比较只是为了确保您正在使用最新的代码。并出现复杂的合并问题 开发人员提供的时间估算不包括解决这些问题所需的时间。因此,如果我说诺诺,则需要花费10倍以上的时间...我必须不断地解释这些问题并冒险冒险,因为现在管理层可能会认为我“慢”了。 服务器上的物理文件超过100个文件以未知的方式有所不同。合并需要了解手头的项目,因此需要我无法获得的开发人员合作。 其他项目不同步。开发人员继续对源代码管理不信任,因此不使用源代码控制使问题更加复杂。 开发人员认为,使用源代码控制很浪费,因为合并容易出错并且很困难。这很难辩驳,因为当源代码控制被严重滥用而源代码控制被不断地绕开时,它确实容易出错。因此,证据在他们看来是“不言而喻”。 开发人员认为,绕过TFS直接修改服务器代码可以节省时间。这也很难争论。因为开始同步代码所需的合并非常耗时。乘以我们管理的10多个项目。 永久文件通常与Web项目存储在同一目录中。因此,发布(完全发布)会删除这些不在源代码管理中的文件。这也加剧了对源代码控制的不信任。因为“发布破坏了项目”。解决此问题(将存储的文件移出解决方案子文件夹)需要花费大量时间和调试时间,因为这些位置未在web.config中设置,并且通常存在于多个代码点中。 因此,文化会持续存在。不良做法会导致更多不良做法。不良的解决方案会驱使新的黑客“更正”更深层次,更耗时的问题。服务器,硬盘空间极难获得。然而,用户的期望正在上升。 在这种情况下可以做什么?

16
如何阻止开发规范在中间开发阶段发生变化?
问题:似乎我参与了几乎所有开发工作,无论在开始开发之前花了多少时间进行计划,在项目中期或项目结束时总是需要进行大量更改。这些有时是重大变化,需要大量重新开发。 我不为付钱的客户工作,这是内部开发网站上的内部开发团队。因此,这不是我可以为此付费的费用。最终,我们必须尝试按时完成任务。 问题:你们发现哪些最佳方法可以最小化并防止规格更改在开发中途或开发后出现?

8
在团队项目中避免“聪明人”综合症
在项目开始时就犯下了许多不良习惯,我认识到了这些不良习惯并与所有人进行了斗争。由于我没有选择战斗,我的老板现在认为我口中的任何事情都是一个过于复杂的反应,并花费大量时间亲自为自己辩护,而不是寻找项目的最大利益。 我该如何向正确的方向推动团队,而又不等四个月让大家一直试图达成的共识,或者使我在团队中的声誉变得难以理解?
61 teamwork 

17
专业版本控制的替代方法
我们正在与一些需要为我们的项目之一做出贡献的非程序员(作家)合作。 现在,他们只是不喜欢使用Git(或与此相关的任何东西)进行版本控制其工作的想法。我认为这是因为他们只是觉得不值得把头放在版本控制的扭曲概念上。(当我第一次向他们介绍分支和合并时-他们看起来像是冒犯了他们。) 现在,我们无法对他们进行教育或说服他们使用它。我们只是在尝试寻找替代方案,以便我们对他们的所有工作进行版本化(这是我们所需要的),并且他们可以轻松地进行工作流并专注于自己的工作。 我想出了一些主意... 告诉他们每次进行不重要的更改时都将工作另存为单独的文件,然后在我们这边使用diff来跟踪更改。 用Python编写一个以某种方式实现CSSEdit中“里程碑”的程序。 关于该项目: 它是一种自然语言处理系统(用C + Python编写)。我们已经聘请了一些作家来用不同的语言为系统准备输入。随着软件的发展,我们需要那些作者来更改他们的输入(文章)。有时变化很小(一两个字),而其他时候变化很大。 我们需要对这些更改进行版本控制的原因是,输入中的每个小/大更改都有可能显着更改系统的输出。

17
如何使重构成为我团队的优先事项?
我每天使用的代码库没有自动测试,命名不一致以及大量注释,例如“为什么在这里?”,“不确定是否需要此方法”或“此方法的名称不正确”,并且代码乱七八糟尽管我们使用源代码控制,但仍存在“ Changelogs”。可以说,我们的代码库可以使用重构。 我们总是有修复错误或添加新功能的任务,因此没有时间将代码重构为更好和更模块化的代码,而且似乎也不是优先考虑的事情。 我如何证明重构的价值,以便将其添加到我们的任务列表中?在我进行重构时,请求宽恕而不是允许是值得的吗?


10
如何改正大三,但鼓励他自己思考呢?[关闭]
我是一个小团队的负责人,每个人都有不到一年的软件开发经验。我绝对不会称自己为软件专家,但几年来我在编写软件方面学到了一些东西。 当我们进行代码审查时,我会做很多教导和纠正错误。我会说诸如“这太复杂和令人费解,这就是为什么”或“将这种方法移到一个单独的类中您会怎么想?”之类的话。我要特别谨慎地进行交流,如果他们有问题或反对意见,那就可以了,我们需要讨论。每当我纠正某人时,我都会问:“你觉得怎么样?” 或类似的东西。 但是,他们很少甚至不同意或询问原因。最近,我一直在注意到更多公然的迹象,表明他们在盲目同意我的说法,但没有形成自己的观点。 我需要一个能够学会自主做事的团队,而不仅仅是遵循指示。如何纠正初级开发人员,但仍然鼓励他自己思考? 编辑:这是以下这些明显迹象之一的示例,这些迹象表明它们没有形成自己的意见: 我:我喜欢您创建扩展方法的想法,但是我不喜欢您如何将大型复杂lambda作为参数传递。Lambda迫使其他人过多地了解该方法的实现。 Junior(误解了我):是的,我完全同意。我们不应该在这里使用扩展方法,因为它们会迫使其他开发人员对实现了解太多。 有一个误会,已经解决。但是他的发言中甚至没有逻辑上的要求!他以为自己是在反省我的逻辑,以为当他真的不知道为什么要说出来时才有意义。

18
如何管理沟通能力差的开发人员
在大型公司中,我管理着一个小型应用程序开发团队团队,该应用程序处于生命周期的中点。不幸的是,这意味着通常有30/70的编程任务分配给“其他技术工作”。这项工作包括: 与DBA / Unix /网络/负载平衡器团队一起完成各种任务 在不同地区下达和管理硬件或基础架构的订单 运行尚未迁移到CI的运行测试 分析 支持/调查 可以公平地说,开发人员都愿意编写代码,而不是执行这些平凡的任务,因此,我尝试在团队中平均分配有趣的编程工作。 聘用大多数团队是因为,尽管他们可能不具备编写自己的编译器/游戏引擎/高频交易系统等的精通编程技能,但他们是能够“完成工作”并与其他团队合作的优秀交流者,并在这里浏览复杂的官僚机构。他们是优秀的开发人员,但也是优秀的全方位技术人员。 但是,团队中的一名成员可能具有高于平均水平的编码技能,但低于平均水平的沟通技能。传统上,以前的开发经理倾向于给他编程任务,而不是上面列出的更普通的任务。但是,我认为这对团队中的其他成员并不公平,他们显示出开发大型企业IT部门通常需要的全面技能的能力。 在这种情况下我该怎么办?如果我继续给他更多的编程工作,我知道它会更快地完成(相反,我希望他完成其他工作的速度会更慢)。但这违背了我的原则,并提出了这样一个想法,即您只需对不喜欢的任务表现不好就可以为自己创造一个“舒适的利基市场”。 我想澄清的是,由于怀恨在心,我不是要解决这个问题,或者如上所述,我的肩膀上有一个“碎片”。我正在寻找有关如何保持一支充满快乐和动力的全面团队的建议。通过观察该问题的各种答案,似乎对于实现此问题有很多不同的意见。

7
项目经理选择了一个过于复杂的设置,没有人有经验
最近,我启动了一个看起来并不难做的项目,这个概念是一个相当简单的应用程序,它必须不时地(也许一天10次)接受输入,并尝试对其执行一些操作并收集所有结果在末尾。然后,该应用程序将获得一个前端Web门户,供客户用来查看结果,而不是精确地了解火箭科学。 为此,我最初巧妙地使用了Python的内置并发库(ThreadPoolExecutor),并为前端使用了易于使用的库(我选择Flask是因为它对于初学者来说很容易,并且相对易于维护和测试)。 一旦我们完成了项目,项目经理表示我们必须使用第三方消息队列功能而不是线程,并且必须实现负载平衡,最终发生的事情是,我们最终开始与Celery,Redis,RabbitMQ,Nginx,uWSGI合作以及其他很多没有任何实际经验的大型第三方服务。 最终,这导致了许多意大利面条式代码,无法测试的任务(由于第三方库的复杂性,对代码进行修补甚至无法正常工作)和许多麻烦,因为没人知道这些服务的附加价值是什么。 。 在您说“是的,您应该使用那些服务”之前,请记住,除了引入竞争条件困扰的代码之外,没有人知道如何使用这些服务,甚至不知道他们的工作。 我该怎么办?在这一点上,即使现在最终产品的状况比开始时要差,恢复到原来的状态也太昂贵了,并且PM陷入了使用这些服务的僵局。与他讨论这件事还有什么用吗?我需要更多时间吗?还是苛刻的答案,我对工作太傻了吗?

14
业界对文档的厌恶是什么?
即使编写最基本的文档,似乎也存在反感。我们的项目自述文件是相对裸露的。在文档中甚至没有更新的依赖项列表。 我在行业中没有意识到让程序员不喜欢编写文档的东西吗?如果需要,我可以键入文档的段落,那么为什么其他人那么讨厌呢? 更重要的是,我如何使他们相信写文档会为我们节省时间和日后的挫败感?

20
为什么看似数量不成比例的程序员只是,好,不好?[关闭]
也许这只是我的个人经历,但是我与不同的群体和类型的人联系在一起,在我看来,我遇到的程序员中有很大比例的人“不好”,或者试图给出更好的定义: 居高临下 纳尔基 他们谈论人的方式是负面的 如果您注意到了同一件事,那么为什么会有任何理论呢?关于如何礼貌地或不礼貌地提出建议,让这些程序员之一知道他们的行为,并建议如果他们想被视为专业人士,他们可以纠正它。 也许我只是遇到了一个不好的样本,每个人都可以列举出不好的种子。
47 teamwork 

3
如何处理由联合程序员完成的尚未实现的方法?
这是关于团队合作的问题。 最近,我和一个由6人组成的团队一起从事了我的第一个较大的Java编程项目(约80个类),尽管我们中只有4个人正在不断地编写代码。我们分配了要尽早完成的工作,在某个时候,我需要调用一种方法,而该方法尚未由我的一个协同编程人员实现。推荐的处理方式是什么? 我看到的选项,尽管我真的不喜欢其中任何一个: 给自己写一个a //TODO并稍后重新查看此代码行,以检查该方法是否已在此期间实现。 要求相应的团队成员来实现这现在。 抛出自定义runtimeException,其中包含尚未实现的内容的清晰描述。(至少我们不必花很长时间来找出丢失的内容) 将所需的方法添加到其类中并将其写入//TODO消息正文中,还可能向他们发送有关该更改的快速消息。(现在,这不再是我的问题,但是如果他们与此同时正在使用此方法,那么这可能会导致令人讨厌的合并冲突) 在实际编写完成工作的代码之前,为所有内容定义抽象类或接口。(因为这些界面经常更改,所以效果不太好)
45 teamwork 

11
作为软件架构师,我应该专注于分析日志并修复其他人的错误吗?
自从我毕业(2005年末)以来,我在同一家公司工作,担任c ++软件工程师。一年前,我被提升为软件架构师,但是我发现自己越来越多地参与资格和修复错误以及2级支持。 我有50%的时间花在Notepad ++上,用于分析软件日志并试图找出问题所在。30%的人修复了其他人的错误,其余的(如果有的话)审查了开发人员的意粉代码。 我开始讨厌该产品,并开始考虑退出该公司的战略。 在这种情况下,您认为我能做什么?您还有其他软件架构师还在修复代码中的错误吗?

16
程序员应该修复别人的失败构建吗?[关闭]
一位程序员将一些工作委托给SVN存储库,然后回家。他离开后,哈德森的自动构建失败了。另一位程序员看到了这一点,并在查看了代码更改之后,发现问题是缺少一个库。他将此库添加到SVN中,下一个构建成功完成。 第二个程序员是做正确的事情还是应该等到第一个程序员解决了这个问题之后?

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.