19

不久前,我们有一个项目从岸上团队移交给我们的团队(离岸)。然而,我们在移交过程中遇到了困难。

  1. 在他们的设计演练过程中,我们想不出任何问题要问,因为我们被大量的信息所淹没。我们想问,但不知道该问什么。由于他们没有收到我们的任何问题,管理层认为移交过程已成功完成。

  2. 在参加交接演示之前,我们曾尝试浏览公司 wiki 页面上的所有文档,但是文档太多,我们甚至不知道从哪里开始。

我想知道,是否有任何我们可以遵循的规则或最佳实践,以确保项目成功移交,无论是来自我们还是交给我们。

谢谢。

4

5 回答 5

37

在阅读文档方面,我个人会选择这个订单:

  1. 简要了解应用程序的基本功能 - 它的目的是什么。商业案例可能是已经存在的最好的文件。

  2. 然后是功能规范。在这一点上,您不是试图了解任何形式的方式或技术,而是该应用程序的用途。如果规模很大,请询问他们的关键业务流程是什么,并专注于这些流程。

  3. 然后是高级技术概述。这应该包括架构图、所需平台、版本、配置等。列出您的任何问题。

  4. 然后浏览任何其他有用的技术文档——如果有的话当然是常见问题解答,测试脚本也可以很好,因为它们概述了详细的“如何”键入场景。也许只有我一个人,但我发现在我看到这个系统之前阅读技术文档是一种浪费——它太学术了,而且它们通常写得令人震惊。如果我觉得我所花费的时间没有得到合理的回报,那肯定是我会限制我花费的时间的一个领域。

如果你们中有几个人在你们之间安排结构化的审查并讨论你读过的文件,确保你已经得到了你需要的东西。如果系统很大,那么每个人都会占据一个区域并在上面展示给其他人 - 给自己一个尽可能多地学习的理由,并且知道自己将被测试是一个很好的动力。列出你不明白的问题。在你们之间进行结构化的审查将使您的注意力集中并使其更像是一项交互式任务,而不仅仅是一页又一页地浏览乏味的文档。

一旦你与他们面对面:

  1. 从完整的系统演示开始。当他们提出问题时提出问题,不要让他们以不明确的答案欺骗你——如果他们不能回答某些事情,就把它写下来,并让他们得到答案。

  2. 现在检查代码并在您的机器上运行。至少在两台机器上执行此操作 - 一台由他们领导,一台由您领导。记录整个过程——这是最重要的一步。如果你不能让代码运行,你就完蛋了。

  3. 完成构建过程。确保您可以构建应用程序(包括他们可能拥有的任何自动构建和单元测试)。请注意,所有单元测试都应该通过 - 如果他们没有通过,或者如果他们说“哦,那个总是失败”,那么他们需要在最终接受之前修复它。

  4. 完成安装过程。至少做两次,一次他们领导,一次你领导。确保它已记录在案。

  5. 现在想出一组与应用程序一起执行的常见业务功能。使用它与他们一起走代码。代码库太大而无法涵盖整个内容,但请确保您涵盖了具有代表性的示例。

  6. 如果有数据库或 API 做类似的练习。提出一些您可能需要提取的标准数据或一些您可能需要使用 API 执行的基本任务,并花一些时间与它们一起完成这些工作。

  7. 问他们是否有什么他们认为你应该知道的。

  8. 确保您在其他任何地方写下的任何问题都得到了解答。

  9. 您可能认为值得仔细阅读错误列表(打开和关闭) - 从高优先级开始,并讨论任何特别令人担忧的问题。即使他们已经修复了它,它也可能指向一些麻烦的代码。

  10. 最后,如果有机会 - 如果有任何突出的错误或更改,看看你是否可以结对编程一对。

除非您 100% 确定可以:否则不要最终接受该应用程序:

  1. 获取要编译的代码
  2. 获取要构建的代码(包括数据库)
  3. 安装应用程序

不要接受移交完成,直到他们有:

  1. 记录您所收集到的任何内容,但您不满意
  2. 回答了你所有的问题——一个他们在被反复询问他们隐藏的东西后不会回答的问题

并获取他们的电子邮件地址和电话号码。即使只是非正式的,如果狗屎真的击中粉丝,他们也可能愿意提供帮助......

祝你好运。

于 2009-09-04T07:15:47.830 回答
11

我接收移交的基本流程是:

  1. 获取应用程序的一般概述,记录它
  2. 获取客户期望的所有未来工作的列表
  3. ...所有已知问题
  4. ...任何实现细节
  5. 他们拥有尽可能多的最新文档
  6. 如果可能的话,让他们为系统的关键组件编写一些测试(或者至少让他们彻底记录下来)

如果有太多文档(可能),只需确认它都是最新的,如果不清楚,请确保从他们那里找到从哪里开始。

尽可能多地提出问题;想到什么,因为你可能再也没有机会了。

于 2009-09-04T05:08:48.740 回答
5

大多数移交,也许是所有移交,都会导致大量信息丢失。我见过的执行切换的唯一有效方法是逐步进行。做到这一点的一种方法是让第一阶段的一些关键人物留在项目中,直到第二阶段。

极端的解决方案是摆脱所有的交接,并开始使用敏捷的思维方式。

于 2009-09-05T20:11:33.477 回答
4

首先,定义移交的退出标准。这应该与双方进行讨论、协商和同意,并确保更高的管理层知道这一点。然后写一份清单,列出实现退出标准所需的所有事情并追逐它。

于 2009-09-04T05:04:36.863 回答
1

查看“软件需求”软件需求模式,了解在收集项目信息时要提出的问题的想法。我认为,就像他们会为新的开发工作一样,他们也会帮助你适应现有的项目。

于 2009-09-04T12:40:35.637 回答