什么是向您介绍项目的最佳方式?

时间:2009-02-27 11:30:29

标签: project

我的情况是,我将担任当前项目的新开发人员的导师。

什么是您快速进入项目的最佳方式 - 技术上,特定领域的项目和社交项目。

我已经阅读了不少亲TDD人员谈论结对编程,从经验丰富的团队成员编写测试和实现实际代码的新人开始 - 然后转换。

最适合你的是什么?

9 个答案:

答案 0 :(得分:5)

啤酒!

从社交角度来看,我总是喜欢整个团队在有新人出现时出去喝啤酒。或者,如果你不是啤酒人,那么保龄球或摇滚乐队或其他什么。

在你们放松一下之后,他们会更舒服地提出问题并适应。

答案 1 :(得分:5)

有多种技术组合:

首先,他们需要了解应用程序的功能。听起来很陈词滥调我知道但是我已经在交易应用程序中工作了很长一段时间才能让人们了解市场制造商所做的事情,因为这是基于对金融市场如何运作以及他们是这样。像“传播”这样的术语内置了各种各样的假设知识。

这应该以交互方式完成,而不是向某人发送教程或用户手册。此外,这非常重要,用户用户应该。使用鼠标和键盘而不是观察是建立肌肉记忆和根深蒂固的反应的原因。通过这种方式,您可以获得更好的保留率。此外,而不是说“点击这里现在这样做”,而不是说他们“你会在这做什么”。

您可以经常以这种方式深入了解应用程序的可用性,因为新人不会被您和您现有团队的所有历史所污染。

你不能教别人什么,只要向他们展示足够的信息,他们可以在应用程序中导航并完成简单的任务。

其次,给他们一个架构概述。如果这需要一两个多小时,你就会进入太多细节。他们会忘记它。我觉得最好把它作为一个面对面的谈话,而不是把它们交给他们一个建筑设计文件(这通常只会让人眼睛茫然)。

最后,给他们一些小的,相对容易修复的错误,这些错误并非时间关键。这将使他们熟悉检查代码,构建代码,部署代码,运行代码等基础知识。重要的是它很简单,因为新代码总是出错。您可能需要设置正确的环境变量才能正确构建代码或其他任何内容。给他们一个复杂的问题,如果出现问题他们会弄清楚是否有环境,如果是因为他们做错了等等。

毋庸置疑,你不能把它们留在角落里来解决这个问题。有人勉强关注他们,以确保他们不会陷入困境。这也可以让你很好地了解他们的个性:当他们遇到困难时会发生什么?他们冻结了吗?他们请求帮助吗?他们试着坚持下去吗?他们太容易放弃了吗?

同时他们正在学习代码。

答案 2 :(得分:4)

让新手修复代码中的错误。

这是双赢的。你可以让他们在角落里按照自己的节奏工作。他们有一个目标。您可以在5分钟内设置任务。

答案 3 :(得分:4)

自然倾向是从广泛开始向下钻取,这导致了许多冗长的介绍性会谈。新人几乎不记得任何一个。不要在项目历史,高级架构等方面浪费你的时间。

将他们与经验丰富的人配对以解决单个问题。提供对正在进行的工作的背景的及时解释。当您这样做时,通过向他们展示历史/背景信息的位置来教他们钓鱼。当人们从内核建立理解时,人们会学得最好。人们不会保留很多前期的“脚手架”信息。

答案 4 :(得分:2)

我喜欢这样做:

  • 演示系统
  • 提供高级概述,并附带流程图/设计
  • 向开发人员提供有关某个特定区域的更详细说明。
  • 在那个区域给他们一些工作(轻松工作) 修复一些错误是一种很好的方法。

一旦他们熟悉了该区域,就将其展开,并开始为它们提供小功能等。

所有这一切的要点是让他们熟悉产品和环境。

答案 5 :(得分:2)

我刚刚在12月开始一份新工作,所以这个过程在我的脑海中仍然很新鲜:)。

以下是我遇到的问题:

这是什么

  • 这是什么目的 申请我正在努力吗?
  • 谁是目标用户以及它为他们解决了哪些问题?
  • 我该如何使用它?

我该如何工作?

  • 我们将什么用于源代码管理?
  • 我们用什么来进行错误跟踪?
  • 我将与谁进行日常互动? (其他开发人员,QA,文档等)
  • 我还需要了解其他任何工具或流程吗?

如何构建它?

  • 我在哪里可以找到源代码管理中需要的源代码?
  • 我需要采取哪些步骤来构建这个东西? (理想情况下,它应该是一步,但几乎从来都不是!)

这些东西是什么?

  • 系统架构的高级概述是什么? (没有太详细,只是对主要参与者的一个非常基本的描述)
  • 如何设置源代码的目录结构?怎么回事?

一旦所有这些问题得到解答,我已准备好开始工作了!

快速掌握新代码库的最佳方法是处理定义明确,孤立的任务,这些任务的构建方式会逐渐暴露给越来越多的组件。此外,如果我遇到困难或需要更多信息,让人们随时回答我的问题至关重要。

到目前为止,我的经历非常棒,这是我工作过的顺序:

  1. 修复一些小错误
  2. 重新设计两个设计可怕的不同对话框
  3. 编写示例代码以与产品的COM API进行交互
  4. 从头开始编写一个全新的模块,然后将其集成到产品中

答案 6 :(得分:0)

是否有使用与主项目相同的平台创建的内部工具?如果是这样的话,对平台的一个很好的介绍就是让新人对你想要的工具做一些改进。

答案 7 :(得分:0)

当我开始使用现有项目时,我发现在以下情况下更容易进入:

  • 有人向我展示应用程序正在运行,解释它应该做什么,做了什么,并回答我的初步问题。

  • 我收到了很好的文档,所以我可以自己找出项目的基础知识。

  • 我有人可以随时回答我的任何问题。

答案 8 :(得分:0)

  • 给他们一天所需的KT 或两个。
  • 获取反向演示文稿
  • 要求他们修复几个错误 天。

将新的joinee作为备份资源放入模块。逐渐取决于他表现出的信心,请他开始主要核心工作。