您如何管理其他员工遗留的项目?[关闭]


15

碰巧有些人突然离开了公司。现在,他的工作需要完成,您将获得分配。不知道他在做什么(完成了90%还是9%),您如何处理剩菜?

  1. 我应该从头开始吗?如果完成90%怎么办?
  2. 我可以尝试了解他所做的一切吗?如果这只是胡说八道怎么办?

10
+1以抵抗恕我直言的不当之选。我确实认为这是一个足够体面的,真实的,可回答的问题,它是这里的主题。这是可悲的看到这个网站变得越来越充满敌意和不耐烦,下面SO本身:-(的道路上
彼得Török

2
@PéterTörök我认为它获得了密切的投票,因为任何人都可以在与他人的代码一起工作时写出与众多最佳实践有关的答案。到目前为止,下面的答案是出色的BTW,但我可以看到这产生了50个la脚的答案。
maple_shaft

我只需要一个体面的策略。因为这种情况出现时,每个人都被搞砸了
Shirish11年

2
@maple_shaft,恕我直言,这可以适用于几乎任何问题,在这个网站;-)
彼得Török

在一家合理的公司中,离开的人每天都会在站台上报告他的进展,此外,他的任务无论如何都要分解成合理的块。
MSalters 2012年

Answers:


7

为了弄清楚该做什么,您需要知道自己拥有什么,以及它的形状如何。

因此,首先快速浏览所有源代码,然后看看您拥有什么。如果清晰可见,那么最简单的方法就是完成丢失的内容。做单元测试,找出哪些有效,哪些无效。

如果不清楚的话,那就开始弄清楚新单元测试的工作原理。如果这不可能,那么请与您的团队负责人一起证明您遇到问题,并且可能无法解决问题。然后,他可以决定是否应该修复左件作品,或者它是否太糟糕而您需要重做。


弄清楚要求是什么,弄清楚您缺少什么也很重要?
Svish 2012年

7

除了其他人写的东西之外,我建议您与直接与该人联系的任何人交谈。从您的描述中我了解到他是一个人工作,但他仍然必须向某人报告吗?并且可能会有质量检查人员对他的作品进行了测试……(通常)这些人至少应该大致了解这个人在离开之前完成项目的程度。当然,除非他提供的信息/产品完全不可靠,否则将导致他的裁员。

与您的经理讨论此问题,并为初步研究/测试剩余代码分配时间,并了解规格和​​要求。对于一个项目来说,这可能大约是一天,耗时数人月,而对于一个或多个人一年的工作而言,则最多一周。

经过初步的探索之后,您应该对

  • 该产品应该做什么,
  • 它目前可以做什么以及表现如何,
  • 从头开始重写需要多少时间和风险,
  • 完成已经完成的工作需要多少时间和风险。

然后,您可以与您的经理再次坐下来做出决定。


试图与这个家伙联系似乎毫无疑问,因为他们只是消失了。
Shirish11年

1
我的意思是联系这些人的项目经理,或曾经担任过类似职务的人来监督他的工作。
彼得Török

管理人员并不完全了解编码部分实际上正在做什么。
Shirish11年

1
@ Shirish11当然不是,但是应该向任何值得他/她投入盐分的项目经理至少大致告知其团队成员目前在完成给定任务/项目方面的工作。
彼得Török

6

以我的经验,这并非罕见。不幸的是,您这里确实有两个问题

1)该项目的遗留物2)首先陷入混乱的原因

对于(1),您需要考虑项目的规模/复杂性。如果是一周的工作,则可能需要重新开始。如果需要花费一年的时间,则可能需要查看可以从现有代码中解决的内容。

无论哪种方式,您都需要立即采取以下步骤:

a)告诉您的经理您有大问题

b)获得项目规范并全面了解您需要实现的目标-如果没有规范,请与项目发起人进行交流。

C)交谈经理/客户等,并找出是否有人有/认为他们有任何想法是什么项目的状态。

完成此操作后,您将可以开始检查代码/制定策略。

(我认为单元测试不会对您有太大帮助-它们可能会告诉您所编写的函数是否确实起作用,但是它们却没有告诉您应该在其中使用哪些函数。)

接下来,我将概述现有代码的体系结构,以及如何将其映射到规范中定义的问题。然后,研究每个主要组成部分的子组成部分,并了解它们如何适应全局。这样做可以(大致)告诉您缺少哪些组件。

一旦知道存在的内容,就需要开始检查现有的代码以查看其是否可以执行预期的工作。

完成所有这些操作后,您将可以估计还有多少工作要做。

至于第(2)部分,您的公司可能需要查看招聘政策/员工保留政策,找到使程序员对进度负责的方法。

最后,你还应该考虑你怎么能阻止这种情况发生的公司应该匆匆离开。


+1获取规格。有时,它存在的唯一位置是在开发人员的脑袋和要求他进行构建的人员内部。
Spencer Rathbun 2012年

5

您绝对需要尝试并运行该软件,以查看有效的方法和无效的方法。

然后,您需要考虑剩下的文档。有书面要求吗?是否有特定的任务-是否以某种方式跟踪任务?有没有人在测试它-如果是这样,他们会知道做了什么,没有做什么。

我认为一项行动计划将是:

  1. 标记完成了哪些需求(通过像测试人员一样快速运行系统)

  2. 查看代码-您能理解它吗?写得好吗?

显然,如果完成了90%,并且代码编写正确,则只需完成操作即可。


1
我开始写一个与您的第一句话完全相同(逐字逐句)的答案。这只是常识。另一个问题是-为什么经理/负责人不知道已经取得了多少进展?
2012年

@Anonymous Managers并没有直接从事该项目,因此他们所知道的唯一进展是被告知了他们。如果这个人知道他们要离开,他们可能只是出于恶意,只是懒惰或愚蠢而抽了烟。我以前就处于这种情况,这并不是很有趣,因为当管理层意识到他们被骗了约90%时,这使他们想起了他们在大多数时候实际上只有很少的控制。
maple_shaft

@maple_shaft-在这种情况下,相关经理不能正确地完成工作。他们的工作是管理团队以达到特定目标。如果他们没有跟踪进度并相应地委派任务,它们有什么用?
2012年

1
@ Anonymous-您从事软件开发工作已经很长时间了;-)?多年以来,我对一个好经理的看法落到一个妨碍我前进的地方,偶尔扫清障碍
maple_shaft

1
@maple_shaft-大声笑,这很公平。显然,运营公司的管理风格尚未奏效。:-p
匿名

3

尚未提及。

尝试联系离开的那个人。并非在所有情况下都可行。但是,如果他很健康,并且至少喜欢他的一点点工作,他会帮助您,给您诚实的进步和缺憾的答案。他可以向您解释大局。


+1:如果可能的话,这可能是最简单,最有效的解决方案。
2012年

1

恭喜,这是您发光的机会,并给老板留下了非常积极的印象。您在这里拥有的是无价的机会。那么,您需要做什么以及如何做?

首先,获取代码。他可能没有检查所有内容(对我们这样做的人没有检查),因此,具有管理员权限的人将其从计算机上拔下并为您检查。

接下来对问题进行分类。记录需求并注意哪些部分似乎已经编写了代码,哪些没有。这是未完成的工作的粗略清单。随着下一步的进行,它将不断增长。然后遍历代码并对其进行评估并运行它,以查看当前正在运行的内容以及即使编写了代码也无法正常运行的内容。将不工作的部件添加到列表中。寻找单元测试(如果您发现了它们,我会感到惊讶,因为在截止日期之前就因为他们知道自己失败而放弃援助的人往往不会编写它们)。现在至少您对它的严重程度有了一个很好的了解。还要仔细查看需求,看看您需要回答什么问题。很多时候,项目失败是由于需求不佳以及开发人员不愿(出于多种原因)提出更多问题而导致的。

现在,您制定项目计划。首先列出需求中的问题(将其正式写在文档中),然后列出完成工作所需要做的事情。估计每个人将花费多少时间。确定当前存在的东西是否可挽救(如果不是,请准备证明为什么不这样做)。

现在与项目经理(和您的老板,如果他们是两个不同的人)开会,并告诉他或她坏消息。(当有人突然离开而您必须选择他们离开的地方时,这几乎总是一个坏消息,好的开发人员不会让人们陷入困境-他们至少会留下他们所做的工作和尚要做的事情的清单在您的讨论中,您可能会得到一些需要的答案,您和PM可能会稍微修改项目计划。

通过向PM和其他关键利益相关者(PM将确定谁),需要回答的问题副本以及您制定的项目计划进行跟进会议。

现在,您已经具有开始实际编码所需的知识,因此开始工作。

同时,您可能已被其他人挽救了这个项目。确保您的工作状况良好,以便其他人接听或完成项目后接听。这意味着相同类型的事情,不是您说什么已完成但没有说明什么的文档,以及所有源代码的签入(如果未完成,则不必登录到主干,而是其他人可以访问的地方) 。

如果您还没有完成现有工作,那么您需要与老板一起解决您将在工作日花费多少时间。这是可能需要加班的情况之一,我们将不胜感激。距离实际截止日期越近,管理层越拼命,如果截止日期临近,您也许可以算出加班费或巨额奖金。如果这项工作将大大延迟其他工作,那么您需要确保该项目中的利益相关者意识到这一点。

一旦您成功挽救了项目,请确保在下次性能评估中吹牛。

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.