如何处理别人完全毁了一个项目?

时间:2009-01-07 18:40:21

标签: project-management

对于我目前工作的公司,我写了一个快速原型,为即时通讯添加一些东西。因为它没有公共API,所以我不得不使用C和内联汇编来处理非常低级的东西。它与一个没有文档的DLL接口,这对它的输入非常挑剔,虽然我花了大量的时间来拆解它,但仍然有一些我不完全理解的概念。

最近,发布了一个新版本的IM应用程序,并在该内部库中进行了大量更改(正如预期的那样)。当然,我对这样的变化采取了一些预防措施,但他们做了一个我没预料到的巨大变化。自己修复这个原型可能需要大约一个星期,并且可能需要几乎完全重写。 问题是,我被淹没了。我的合同又运行了一个月,他们期待我在那之前完成另外两个小项目,我不确定我会做到这一点。

当然,我的老板想尝试一下,但他完全没有资格。他不了解C或ASM,从未实际拆解任何东西,只有C#和(声称)SQL的经验。他过去做过一些C代码,但他们雇用我的主要原因主要是因为他们的低级代码崩溃了......很多......

我该怎么处理这个?我花了大约一个小时试图向他解释当前的原型,但我感觉他没有抓住任何一个。对我来说,似乎我只有三个选项,这两个选项听起来都不太吸引人:

  • 根本不要干涉,这可能会让他失败,或者提供一些内存泄漏的东西(请记住:这是与IM程序一起运行的东西,如果它崩溃了, IM应用程序随之而来)
    另一个缺点是,他可能会问我很多问题,让我不能完成自己的工作。
  • 尝试按照我已经局促的时间表填写项目:对我的压力水平看起来不太好
  • 伸出手来希望他能从中吸取教训(可能需要的时间比自己做的更长)

基本上:我目前是公司中唯一知道这一点的人。我自己没有时间研究它,我实际上没有时间教别人这个。显然我不想让公司留下残废的产品,但我也不是非常喜欢做全能的人来拯救他们......(我已经比合同中提到的更多时间了) ,即使我按月付薪)

10 个答案:

答案 0 :(得分:21)

停止关怀。我知道这很难,当我们创建或认真修改代码时,我们最终会得到“婴儿”,并且可以开始对该软件的状态采取父亲的态度。

然而看看这个孩子。这是一个反向工程的私生子,应该永远不需要并且将继续需要大量的维护,因为它的性质(作为无证的插件)。

希望这个孩子存在的人不会延长你的时间,甚至不按小时付你,所以他们似乎并不理解有效抚养这个孩子的困难。 在这种情况下,你必须削减你的父亲关系并停止照顾,因为你甚至可能不是法定监护人,只是照顾者。

我建议你解释一下你的担忧,如果你按小时收到工资并加上慷慨的加班费,就可以提供工作。如果不接受,那就让他们继续把它搞得一团糟。

答案 1 :(得分:11)

在不赢的情况下,你应该在自身利益方面犯错

答案 2 :(得分:4)

不要被欺负到无法实现的最后期限。

你显然可以很好地处理问题所在。把它们发给你老板的电子邮件。说出你的首选解决方案也很好。我们暂时假设,这是另一个6个月的合同,你可以正常地开展工作。

目前,这听起来像是在玩。要么站得住,要么尽可能快地逃跑。否则,你会在口中留下可怕的味道。

只需0.02美元。

答案 3 :(得分:3)

人类问题非常困难。

直截了当。不要告诉你的老板他/她是一个编程人员不称职的笨蛋,但要预先考虑你对小时等问题的关注。如果老板决定这样做,那就意识到你无法控制一切。有时需要允许其他人犯错并按照自己的方式行事。尽可能慷慨地帮助你,并确保自己做出警告,确保它不会让那些时间变得更糟。如果确实如此,请打电话给他/她。

答案 4 :(得分:3)

我建议如果他们想继续使用“原型”,他们不会将升级安装到IM。

然后,我会粗暴地为现有的应用程序做这样一个不道德和不受支持的黑客道歉并提供调查如何以更简单和更可持续的方式实现该功能(例如其他具有可扩展架构的IM客户端) - 在您的自己的时间。

作为合约开发人员,您应该保持比您作为普通员工更高的标准,因为您所做的一切最明确地需要得到其他人的支持和维护。

答案 5 :(得分:1)

忘了它,让你的老板继续下去,专注于现在对你更重要的其他项目。试着让自己远离他正在做的事情,向他解释你必须优先考虑你在其他地方所做的事情。经验将帮助他更好地发现...比你能给他的任何帮助。

答案 6 :(得分:1)

在我之后重复:

  

这个项目不是我的宝贝。

@Quarrelsome说这篇文章的其余内容会比我更好。

答案 7 :(得分:1)

  1. 你能否勾勒出老板的两个小项目,让你专注于更大的项目?
  2. 如果某种风格和结构失去了,那么更大的项目是否可以完成?
  3. 如果你加入一些快速黑客来加快进度,可以完成更大的项目吗?
  4. 合同很有意思。如果我是一名员工,那么我就会花费我的工作时间,尽我所能,不要过度努力。

    如果我直接签约,我在这个截止日期前答应了X,我低估了,我必须补偿。

    希望我帮助一点。对不起你的情况如此糟糕。

答案 8 :(得分:0)

关于学习如何管理经理,设定期望和控制观念。

1)确保你的老板确切地知道它是什么:一个可怕的黑客。解释为什么它不可维护的所有原因以及与之相关的问题。

2)老实说你老板关于维持它。说明所有这些都需要大量的编程知识,而错误的举动可能导致整个事情变得不稳定和无法使用。并且你担心这对你们两个来说都是一个巨大的时间。

3)在最糟糕的情况下 - 他继续并坚持下去 - 当他向你求助时,让他选择在你正在制作你正在做什么的时间表和帮助他与弗兰肯斯坦之间做出选择。说,“是的,我很乐意帮助你,但它会在xyz的时间内推动我正在努力的工作。这就是你想要的吗?”传达任何计划滑点是他要求你处理其他事情的结果。

答案 9 :(得分:0)

你的老板不是一个选择,你知道原因,你把它们写下来了。

我会主张不使用新版本的IM应用程序,而是按时运送您的系统旧版本,而不需要额外的工作。底层基础设施变化听起来太大了。它只是一个原型,不需要做更多的事情。如果客户希望根据原型进行全面实施,那么请提供合理的报价并确实联系IM应用公司本身,并根据您的需求查询稳定的API。