团队内的信息/知识流

时间:2009-03-26 20:51:09

标签: project-management agile pair-programming

我希望避免当我的开发人员与其他人分享常识(他们遇到的问题的解决方案,很酷的提示,常见错误,实现特定目标的快捷方式,配置问题,部分要求等)时的情况。我正在考虑这种情况,因为这种缺乏沟通是偶然的(误解或管理不当的结果) - 我不是在考虑开发商故意为自己保留知识的情况。

我相信以下技术对于改善开发人员团队中的信息流非常有用:

  • XP对编程 - 由于对内的知识交换(并且由于常规对混合)。
  • 站立会议 - 由于有机会告诉其他人你正在做什么以及遇到了什么问题。
  • 由首席开发人员为团队/部门的其他成员准备的培训/演示/辅导。
  • “web 2.0工具” - 公司/部门的技术博客,团队领导的专用Twitter帐户,wiki和类似的东西。

还有什么想法吗?你在公司使用什么技术(或者你有没有)?您如何鼓励开发人员在他们之间分享知识?

10 个答案:

答案 0 :(得分:11)

信任。

你被允许'看起来很蠢',但如果你不知道,或者不完全理解我在说什么,请询问。请告诉我,如果我错了(我没有意识到,因为我同样愚蠢。)

答案 1 :(得分:6)

我在一家公司工作,每周五我们都会为开发人员举办午餐会。管理层将提供食物,而开发者必须分享他们的知识;提供一些最近学到的工具或技术,或者给出你正在研究的项目的演示,等等。 它不仅限于当时团队使用的技术,开发人员鼓励学习新技术并为团队演示。

在我目前的工作中,我们每月举行一次IT小组会议,有时来自不同团队的开发人员会演示他们一直在进行的项目。

答案 2 :(得分:2)

  1. 内部推特式实用程序。也许是维基,如果你可以让它工作,我个人觉得它有点太多了。但推特是不同的。 “只是添加了一个扩展方法来逃避rowfilter中的like子句”和类似的东西。

  2. 有些人可能会觉得它有点霸道,但却是公用事业的常用位置,因此您可以知道在哪里查找字符串.CountOccurrences并非分散在整个代码库中。

答案 3 :(得分:2)

我还会添加一些

  • 雇用合适的人 - 如果你想创造一个伟大的动态(非社会人需要更多的努力),这是必不可少的。
  • 验尸和验尸。我们使用维基为此创建一个页面,为每个项目创建一个页面,将其分成重复的部分(包括商品和坏商品)。在每个里程碑结束时,让团队见面进行验尸。在项目结束时(或经过一段时间的修复),让项目协调员将其编译成易于阅读的后代(并将其放在您的维基上)
  • 每日站立是必须的!你已经说过了,但我觉得它很有帮助!
  • 如果您在公司有多个团队,请组织会议,了解他们最伟大的成就之一。如果可能的话,即使是accros部门,你也会惊讶于艺术家如何对程序员的工作感兴趣。
  • 午餐是分享的好时机,在我们公司,我们有总统早餐,项目领导午餐,项目晚餐结束。我喜欢他们所有人,混合搭配以获得更好的结果。
  • 与整个公司的非现场会议很棒,我们每年至少做一次(早上我们展示未来的未来,下午,是了解项目的活动)
  • Wiki很棒,但要注意随着时间的推移会变得虚假的信息(这是任何书面信息的重新安排问题)

答案 4 :(得分:2)

我想到的更多事情:

  • 模式&实践会议 - 这些不一定是每周都有,但是应该有一些时间专门讨论团队可以讨论各种悬而未决的问题,并就可以挽救很多人头痛的事情达成共识。

  • 文化因素 - 工作场所是否提供足够的社交活动来帮助团队凝聚或进行一些团队建设练习,例如:障碍课程或一起烹饪,有助于建立一些动力。开发人员之间是否存在谦逊,以至于没有大的自负可能成为问题。这里的另一个因素是考虑你如何回答这个问题:你会去当地的酒吧与队友喝酒吗?如果是,那么你在这里有一些好处,如果没有,那么可能会有一些调查要做。

  • 回顾性跟进 - 在回顾过程中如何考虑和实施想法?会议如何处理?

  • 团队内部的演示 - 如果某个故事已经完成并涉及一些重要的代码点,那么也许应该有一点示范,让团队看看做了什么,让其他人看看做了什么知识确实传播开来。这可以与我的第一点相吻合,因为它有助于进一步沟通。

答案 5 :(得分:1)

我是成对工作的大力支持者。这是传播知识和保持沟通渠道畅通的好方法。尝试混合每个项目的对。

答案 6 :(得分:1)

我尝试了很多方法,并且非常喜欢在项目上成对工作,以及与团队定期讨论或会面。

然而,我还发现,我能做的最好的事情就是培养开发人员之间不断沟通的文化。我尝试让所有开发人员在工作时彼此沟通 - 甚至不必等到每周或每月会议。

对我来说,这有点棘手,因为我的大多数开发人员都不在同一个位置,所以我们有一个XMPP聊天室设置,当我们处理项目时,我们所有人都会登录。一些开发人员(包括我自己)也会在下班时间登录。

我和办公室里的人一样 - 我们往往是一群相当安静的人,但是我很乐意让人们互相打断问题,或者随时坐下来坐下来头脑风暴

但是,为什么这样做的部分原因是我尽量不限制与手头工作或任何特定项目的沟通。我的感觉是,人们会谈论其他非工作相关的事情,无论我是否培养这一点。不过,我宁愿在官方渠道中进行“水冷却器”谈话,而不是在外面。

这使得每个人都可以更轻松地提出“看似显而易见”的问题。此外,人们不断提出问题,因为他们就在那里,并习惯与每个人交谈。如果需要的话很容易忽略,但也更容易抛弃一般性问题,看看是否有人有想法而不感到痛苦等等。

我的经验是,由于有一个总是渴望帮助解决手头问题的小组,因中断而损失的时间比节省的时间要小得多。

答案 7 :(得分:1)

如果你有一个足够小的团队,使用充分的SVN提交评论,并利用它们生成RSS提要的工具(例如Trac)可以是一种简单有效的方式来促进沟通。

这有几个要求,很容易实现: - 经常提交(这本身就很好,因为它允许每个人从每个程序员的本地变化中受益,并尽早发现问题); - 使用详细注释(这样做很好,因为它可以更容易地跟踪更改的内容,以防万一发生故障); - 确保每个人实际读取(更好,甚至更好地通过RSS阅读器发布)提要。

当然,没有办法“回复”这样的评论,但如果有人真的需要回复,那可能是在那个人和提交者之间,所以邮件通常就足够了。

另一个有用的工具是让每个开发人员每周一次,为他/她真正熟悉的主题,为其他编码人员写一个10个左右的推荐点列表。

答案 8 :(得分:1)

时间。

官方

走出尘土飞扬的办公室,清除你的思想,真正花时间去参加讲座或培训,这一切都有助于传播知识。

预算也很容易:N名开发人员参加T小时会议。

非官方

“在工作中”培训...您的具体工作所需要的东西只能由知道这份工作的人教授。

在当前的气候下,在当前的压力下(必须现在 ),没有人需要时间来完全解释一些事情。只有当人们放松时,他们才准备好分享信息。人们有足够的时间放松。

除此之外,在真正开始考虑之前,您需要遇到一些特定的链接器错误。没有时间思考,询问,阅读,你将无法获得知识。你无法将其推迟到官方的链接培训。

更难以预算:开发人员玛丽向开发人员索菲询问了一个半小时的动态链接。第二天,她回答了一些问题。经验丰富的开发人员将花更多的时间分发,而年轻人将需要更多的时间学习。

答案 9 :(得分:0)

  • 没有围墙 - 让所有开发人员都在一个大型的非围墙房间里 - 每个人都可以看到并互相交谈。
  • 共同目标 - 确保您的团队充分了解目标,包括自我完善的目标
  • 奖励 - 奖励 - 即使只是沟通 - 强化了你想要完成的事情

社会化和共同目标总是鼓励信息的交换。