太难了一个项目? 你是做什么?

当你分配一个太难的项目时,你会做什么:

  • 说这是一个庞大的项目,你的老板认为你一个人可以处理它
  • 你有一定的知识,但在这个时候还有一些其他的东西超出了你的专业知识
  • 你的老板可能认为这可能是一个人可能在一个月内完成的事情

SO用户,我会喜欢现实的答案在这里。 这是一个真实的世界形势,我正试图弄明白我如何对待他的问题。


我只是想在这里添加一个更新。 我的老板所针对的那个应用程序是一个“NING like”的networking应用程序。 我的犹豫大多是在这么短的时间内被分配给这样一个复杂的应用程序的唯一的人。

仅仅因为工作的性质,每个人都需要定期处理这种情况。 (通常情况下,如果你知道完成一项工作需要知道的一切,那么你已经完成了这项工作,不需要再重复这个工作:))

  1. 对你的老板说出你的焦虑。 您的经理需要了解您对项目风险状况的评估。 无论如何,你可能会这样做的可能性很大。 没关系 ! 这是你闪耀的机会! 🙂

  2. 把问题分解成你理解的任务和你不了解的任务,然后逐个解决问题。 我个人喜欢在简单的任务和艰巨的任务之间切换。 完成简单的任务可以帮助我感觉自己在肠道上取得真正的进步,这对我的个人动机很重要。 完成艰巨的任务可以在计划的早期解决潜在的问题领域。 这可以通过早期评估未知数来减轻项目的尾端风险,而不是让你在剩下2天的时间里发生溃烂和爆炸,并且没有更多的规划/摆动空间。 这也有助于你的压力水平,因为你知道你已经把项目的可怕的一点滚动。 请记住,您未知的领域是您不了解问题领域的地方,所以这是计划/预算滑倒的真正风险所在。 您需要尽早且经常地减轻这些风险。 与同事聊聊,你可以咨询学习如何做这些事情。

  3. 一个月的目标可能是一个目标 。 我不认为期望A人实际估计B人在一般情况下完成任务的情况是不合理的。 要跟踪目标的进展情况,设置不超过16小时/ 2天的里程碑,并跟踪您的完成率。 这与您的简单/困难任务清单齐头并进。

  4. 一个简单的事实是,有时候,你会被甩在脑后。 在这种情况下,你可能不得不做最好的压倒性的情况。 我大学第一份工作的第一项任务是devise一个可靠的,面向交易的点对点n路服务器同步系统,用于大容量,高速率的数据。 我之前告诉过我的老板,我没有这方面的专业知识,当时我没有足够的经验去理解我需要推回的要求。 (回想起来,考虑到政治环境,我不知道是否推回要求真的会有所帮助)。 这仅仅是一个pipe理不善的项目,花了大约18个月的时间才最终在自己的重量下崩溃。 尽pipe如此,我仍然利用这个机会学习了很多东西,并了解了我的特定组织的工作方式,而且无论如何都是非常有价值的。 🙂

祝你好运! 🙂

问题更新后编辑

好的,如果我正确理解你的更新,我们肯定在这里排名第四。 在一个人的月份里为宁创造一个竞争对手是没有任何现实的。 我在之前的回答中假定你正在和一个对软件开发有基本了解的人打交道。 基于此:

  1. 要求你的老板更多的澄清要求。 也许( 交叉你的手指! )你只是误解了你被要求做什么,或者项目的范围。 除非出于社会原因,否则总是要承担责任。 也许你只是被要求提出一个整体devise和一些非常简单的概念certificate?

  2. 如果你的老板真的与现实脱节,那么在他们的白板上或共同的一张纸上加上一个明智的,15分钟的信封估计。 在这一个月的时间里完成各种各样的漏洞应该不难。 也许你的老板认为你可以重用一些你不知道的内部代码? 这会给你的经理带来任何错误的假设:项目范围变浅。

  3. 如果你的老板绝对不合理(这种情况不常发生,但偶尔也会发生 – 也许公司需要在本月底之前推出一款杀手级应用程序,以避免出现问题),请准备一份内部或额外的简历 – 组织的举动(取决于你工作的地方有多大)。 对这个顺序的不切实际的期望可能是组织绝望或失灵的一个标志,你的立场可能根本不存在3个月。

  1. 不要惊慌。 你可能误解了你老板的目标。 这听起来好象他只说“宁”就不太清楚。

  2. 研究宁。 宁能做些什么? 在Ning的Resources链接中,他们列出了至less21个主要的社交networking特征。

  3. 写出这个项目的高层次的目标声明。 包括所有的functionNing列表。 还包括这个应用程序应该服务多less用户的目标。 不要试图去思考如何解决这些目标,或者需要多less程序员,或者需要多长时间。 只要列出他们。 把这个logging保存到一两页。

  4. 把名单提交给你的老板。 问他,“这听起来像你心中的想法?” 问几个直接的问题,以确保他看了你的书面材料:

    • “这个应用程序的目标用户是谁?”
    • “你预计每月会有多less新用户注册?
    • “我们需要支持什么样的正常运行时间?
    • “我们的主机托pipe服务的预算是多less?”
    • “你需要这个应用程序来支持国际用户吗?”
    • “这个应用程序的最终用户许可协议(EULA)是什么?”
  5. 在这一点上你可能会明白,你的老板的目标比你想象的要温和。 也许他不打算重复宁的所有能力和规模。 那么这就变成了让老板更清楚地expression自己需要什么特性或能力的一个任务。

  6. 安装Drupal , Joomla或Wordpress ,下载一些插件,并为你的老板devise一个自定义的网站。 这可能会给他99%的他想要的东西,而且这是你在一个月内能够做到的唯一方法。

不要开始说“不”,“不能做”或“太难”,或者您在post中说的其他任何事情。 一家公司的大多数pipe理者甚至都不了解编程项目中涉及的工作量,并且需要一些软件规划估计的教育。

我会build议一个谈话,其中包括以下步骤。

  • 估算:回顾您认为这个项目成功所需的努力水平。 确保你已经完成了足够详细的任务,以便回答问题。
  • 教育:如果你的老板不明白为什么要花费一定的时间,请尽可能清楚地解释(好的类比倾向于帮助,坏的东西可能是毁灭性的)。
  • 替代scheme:如果您认为有一些中间地带或一些子function将满足项目需要讨论这些替代scheme。 当员工说困难或困难的时候,pipe理者讨厌他们想要可行的select。
  • alignment:你确定你和你的老板在这个项目的同一页? 也许你把它看作是一个关键任务软件的一部分,你的老板把它看作是你现有工具的一个小的改进。 确保你们都有同样的期望; 否则,你可能正在计划比正在请求的更复杂的软件。

我从软件中学到的最重要的事情就是如何“推倒”。

这并不总是说不。 这意味着对新工作的影响提供最好的估计。 无论你是说“是”还是“否”,你都会说:“我们可以做到这一点,但是需要(x,y和z资源),我认为需要(n天,n * a人b)理解问题b),但我知道如何处理(c,d和e)。我以前从来没有解决过问题b,所以我不知道我的估计是否现实。

“是”和“否”之间的区别在于成本等式是否可接受。

任何一位优秀的经理都会尊重你的分析,质疑你的一些假设,期待一轮反思,然后接受风险,寻找额外的资源,或者放弃这个项目。

如果他们说:“我明白你在说什么,但你将不得不完成不可能的事情”,开始寻找另一份工作。

你的老板会不明白事实吗? 只要跟他谈谈项目的要求,并提一下可以做什么和不可以做什么。

以下是我如何计划:

  1. 不要惊慌和做出反应 – 告诉你的老板,你想审查这个请求,很快就会回答他的问题和疑虑
  2. 通过规范(或者如果没有规范,电子邮件或写下请求的地方),并为每个交付创build一个工作分解结构。 这应该做到每个项目都可以理解的级别(用户login,消息input等)
  3. 对于每个项目,估计工作量和+/-%。 根据你的知识,问题,风险等
  4. 创build一个列表,你正在通过任何主要/重要问题的规范(有多less人是这个目标?这包括用户的能力,即时通讯等)

你现在有一个粗略的时间表,风险评估和问题列表与你的老板审查。 他会看到,你付出了一些努力,可能会使他的眼睛复杂化,让他相信你并不是一蹴而就的反应。 他可能会要求你在他提供的时间框架内完成这项工作….找另一份工作,至less有一个月的时间。

你所说的是你对任务范围和复杂性的看法与你老板的看法有很大的不同。 大。

你很可能是错的:你误解了要求,老板低估了这个任务,或陷入了一厢情愿的想法。

最好再次与老板一起完成需求,共同研究需要交付成果,尽量花费大量的时间和资源来交付这些信息。 如果在实施过程中存在盲点,你觉得自己缺乏技能或经验,那就清楚地说明,假设你将花费现金从外部获取这些资金(至less会让你了解市场价格) 。

我相信,你和你的老板花在讨论和研究这个项目上的时间越长,这个问题就会变得越详细,什么是可行的就越好。

最糟糕的事情是保持安静。 任何一个好老板都依赖开发人员来评估一个项目:肯定或者听到更多的问题。

你不必说“不”,这不是你的工作来决定是否继续,但你必须提出很好的问题。

这真的取决于你与老板的关系。 如果可以的话,我会对他们公开和诚实。 告诉他们一些事情超出了你的专业水平,你将不得不做一些研究,延长项目时间。 并强调一点,你不相信你可以在一个月内完成,你要求一个团队来帮助。

有可能你的老板不太了解项目的全部范围。 如果你可以把它分解成一系列的任务或者部分来表明你需要做多less工作,他们可能会看到你来自哪里。

最后,如果你的老板仍然希望你做到这一点,只要不断强调你会尽力而为,但是你不能对期限作出任何承诺。

你需要对你的老板保持现实。 在项目过度交付的情况下,你会出现好得多,而不是在积极的时间表下交付。

你必须诚实地告诉老板,有一个问题。 然而,你需要展示一个问题到底有多严重,以至于你听起来并不像一个无能的人在等待粉红色的溜走。

你需要仔细分析要做什么,把它分成小部分,看看你能做哪些,不能做哪些。 在项目中有部分内容是很正常的,看起来可能但很难做 – 每个正常的老板都会理解这一点。

这样你就可以certificate这个问题不是想象中的,也不是你想为微不足道的工作获得高薪的愿望。

当然,事实总是正确的答案,你的老板最终会发现,最好早点失败。

但是有了这个说法,是不是你想参与的事情?确保你向你的老板解释说你不想承诺某些你一定会失败的事情,但是让他知道可能是一种学习体验,至less在一定程度上涉及到了,即使是在完成之后才去查看解决scheme。

创build一个现实的时间表,并将其呈现给你的老板。 询问你的老板关于时间表的意见。 保持积极的态度,让他知道你们都在朝着同样的目标努力。 告诉他,这是你最好的专业估计,以满足所有要求的努力量。 指出如果挑战复杂的话。 要坚定和清楚,最重要的是给他一个机会来expression他的担忧。 展示出良好的倾听技巧,并以他感觉舒适的语言来解决他提出的每个问题。 祝您在您的项目中取得成功。

如果估算还没有完成,那么你的首要任务就是做一个现实的项目估算。 第二项任务是检查项目需要哪些技术,并检查知识是否已经可用。 如果不是那么估计的培训和获得知识。 我了解老板是老板,但是你尽自己的本分,rest到了他。 如果老板欣赏别人的意见,他就会明白,但如果他像“我永远是对的”,那么你尽可能地做(尽你所能,也寻找新的工作)。

我在这里看到的所有好build议都有一点点,不过我要说的是:大多数pipe理者其实都很聪明。 我见过的高级经理人都很聪明。 问题是,正如Eric Raymond所说的那样,他们是“ 不同的优化 ”。 所以他们可能需要一些教育。 如果你认为一旦他们知道所有的事实,他们将是合理的,那么你几乎总是正确的。

当然,你偶尔会得到那些不合理的行为,或者认为像皮卡德上尉那样说“这样做就是领导力”。 但他们是罕见的,不会持续太久。

去打他的俱乐部? 获得免费的钱和机票!