我的(非技术性)同事以甘特图威胁我,我们正在计划一个新项目。这可能为我们提供什么,这将是一个有用的工具吗?
我的(非技术性)同事以甘特图威胁我,我们正在计划一个新项目。这可能为我们提供什么,这将是一个有用的工具吗?
Answers:
正如Wikipedia所说,Gantt图表是条形图的一种类型(通常是“线型”),可以帮助进行项目规划。由于它很容易以这种格式修改,因此通常是在一张大(真的很大)的纸上手动绘制在墙上。
这是一种非常简单的计划工具。您可以在Excel或类似的软件中生成它;并且相当有效,只要可以粗略估计项目某些阶段所需的时间即可。如果存在延迟-没问题-一条线变长,其他线保持不变,并且您有一个新的项目结束日期。
重叠阶段(在时间上)很容易看到,就像启动一个阶段依赖于另一个阶段的结束一样容易。
真的就是所有这些。
当然,Gantt(或通常称为“时间表”,在我的世界中被称为“时间表”)的问题在于,在项目开始时,您都将其很好地画在了墙上,感到满腔热情和快乐,...然后发生一个延迟,然后您在图表上进行更改,而您仍然感到高兴......然后发生另一个延迟,再次进行绘制,您仍然感觉很好..发生了100倍的延迟……您的感觉就像是_______(已审查)。
意思是,如果您实际上遵守那些最后期限,那么它只是一个很好的项目计划工具。因此,别再在这里浪费时间开始工作了!
精心制作和维护的甘特图可能是一个很好的工具。主要好处是显示哪些任务依赖于其他任务,预测延迟可能如何影响项目以及突出显示由于您正在等待其他事情而浪费的时间。
过去,我已经成功地将甘特图用于软件项目管理。我也看到人们无奈地放弃了他们。
任何项目管理工具只有在回答有人实际提出的问题时才有用。就我而言,不断有人问我两个问题,我的甘特图可以回答这个问题:
那么,要使甘特图有用,需要哪些因素?
那应该很明显。如果只有一个团队成员,那么您所需要的只是一列任务列表。您只需要一个接一个地做它们。
这似乎是另一个显而易见的陈述,但是您会惊讶地发现,有多少个软件项目的定义不够好,无法将其划分为多个任务。您实际上需要一个前期规范和一定程度的前期设计。在某些敏捷/极端方法中,您无法使用甘特图,因为您不知道接下来的3周迭代中将要执行的任务。
有人花时间去维护东西。很多时候,有人花几天时间来制作详细的甘特图,然后忽略它。也许一个月后他会把它拿出来,紧张地笑,然后扔掉,再也不要谈论它了。
一旦有了任务和最佳估计,就可以将它们放在图表上。并且,当第一个任务完成时,您必须在图表上进行标记,然后再摇动其他所有任务来补偿您的估计错误的事实。两天后,您再做一次。再过两天后。当然,事实证明您忘记了某些内容或出现了缺陷,您必须将新任务放在图表上。
这听起来像是一项重大的持续时间承诺,您是对的。动机来自何处?
我成功使用甘特图的时候就是每周举行一次项目管理会议。经理会在房间四处走动,要求每个团队负责人说出他们的项目何时交付。如果一个项目在后面运行,则将重新分配资源。对于前两次会议,我会说实在不知道何时交付,并会在“三个月内”含糊其词。这种尴尬使我改变了自己的策略,并且非常确定我的甘特图在每次会议之前都是最新且准确的。
副作用是,这使我的项目井井有条,效率更高,并且团队成员更有动力。
没有任何一项发明比跟踪追踪器更值得称赞的是使项目计划像今天这样不受欢迎。追踪甘特不仅应被视为有害,而且应被视为邪恶。这就是为什么。
原因1:他们的动机
跟踪Gantts可以让您在计划的每个步骤中看到您认为需要花费多长时间以及实际需要花费多长时间。您会知道,在每天的状态会议中,X阶段都应该在3月开始,但是显然要等到5月才开始。太棒了 您已经知道,当您进行初始计划时,随着项目的进行,计划将不得不更改。新信息曝光。人员和资源是不可预测的,等等。为什么在每次状态会议中不断提醒您,您的早期预测在现实生活中表现得多么糟糕,为什么如此重要?
原因2:他们强迫您坚持原计划
跟踪项目的甘特图的想法是,您选择坚持一个过时的计划,而不是专注于根据新的信息不断调整您的工作计划,只是因为它可以让您指责并突出指出错误的预测。该项目的早期计划阶段需要大量不确定性的必然结果。毕竟,如果您允许计划进行根本性的更改,您将无法追踪甘特,对吧?它必须具有相同的总体形状,并由相同的步骤组成,否则就没有什么可追踪的了……坚守计划是当今“瀑布”实际上被认为是贬义词的首要原因。提前计划与坚持原始计划相混淆。
原因3:他们什么也没教你
除非您计划的项目是可预测的相似且重复的项目,否则延迟项目实际上不会改变您计划下一个项目的方式。毕竟,这就是Gantts最初的用途-规划工厂生产线中的工作,在这些工厂中,任务定义得很好,并且任务的持续时间是非常可预测的。
跟踪添加到软件开发甘特图的值是零。可以说甚至小于零。过去的估计不仅与新项目无关,而且幻想通过回顾可以逐渐提高估计能力,这是危险的。当然,CS学生可能真的不知道整合在现实生活中会花费很多时间。但是,一生中参与了两个以上项目的任何人都已经充分意识到延迟项目的通常嫌疑人。项目延迟的真正原因并不是通常必须将某些数学误差因子应用于估计中-这是第一次执行某项操作时会固有的不确定性,并且并不确切知道它将如何完成。
实际上,那里有项目管理系统试图从这个错误的角度来解决问题。他们会评估您的预测与实际效果,并尝试使用统计分析来校正您的总体估算。就好像“丹尼总是低估一切14.3%”一样。丹尼并不愚蠢,并且认为他的预测错误是可以预见的确实是愚蠢的。它使原始的“治愈”(增加估计因素)与问题的原因混淆了。您的估算并非准确,因为它没有乘以“正确”的因素。您的计划根本不完整;而且每个计划都不尽如人意。
原因4:他们将您的注意力集中在错误的事情上
您现在不再专注于完成准时交付所需完成的工作,而是专注于证明不正确的预测。您将重新散布过时的计划,而不是专注于更详细的计划并使计划适应新信息。由于工作计划的组成部分被错误地估计,因此很少延迟项目。他们之所以被推迟是因为原本计划中根本没有包括一些废话。跟踪Gantts会使情况变得更糟,因为如果所有计划只是在每次状态会议中以糟糕的估计而结束,那么您将需要什么样的动机才能在计划中插入更多细节?它们使您坚持在甘特图中可以跟踪的大块工作。与其让您专注于适应并走上正确的道路,
还有一个问题,就是没有足够好的工具来管理足够详尽的计划。如果您的工具允许您暴露一路上所有那些经常被忽略的步骤,那么您有更好的机会来构建良好的初始计划(和估算)。传统的Gantts是低分辨率的野兽,开发人员理所当然地将其视为项目管理现实的讽刺漫画。所需要的是一种工具,该工具可以轻松地在最早阶段向工作计划中添加尽可能多的信息,然后随着不确定性的迷雾逐渐从项目中逐渐消失,使调整计划变得同样容易。您需要的最后一件事是不断地以低分辨率提醒您过去的错误预测。追踪三角裤非常适合指着手指和遮盖驴子,而不适合用来完成工作。
甘特图软件可以分析复杂的相互依存关系,并预测超限和延误的影响。
但是,对于大多数软件项目而言,相互之间的依赖关系和外部输入很少,因此进行预测的关键是,当软件团队说这需要3周的时间时,知道使用哪种正确的乘数。
正如其他人所说的,甘特图(通常非正式地称为项目计划)是一种映射任务以及这些任务之间的相互依赖关系的方法,目的是确定项目的最小总经过时间。
从管理的角度来看,关键的输出是关键路径的标识,即关键任务的列表,如果这些任务被延迟,则项目将被延迟。
一个非常简单的示例-假设有两个程序员正在一个项目中执行三个任务(代码模块A花费一名程序员10天,代码模块B花费一名程序员5天,然后将a和b整合到两个程序员中2天)。前两个任务(编码模块A和B)将并行处理,目标是在12天内完成所有这三个任务,从而全部完成项目。
在这种情况下,关键路径是对模块A进行编码,然后进行集成测试。模块B的编码实际上可以延迟5天(或超过5天运行)开始,即使它按时完成,也不会产生任何影响,编码模块A将花费更长的时间。另一方面,如果编码模块A或集成测试完全在任何时间滑动,则整个项目都会滑动。
知道这种事情可以帮助您了解如何部署资源以及延迟特定任务是否可能影响整个项目。
它们有用吗?显然是的,但是有一个重要的警告:只有在其中包含的信息良好的情况下,即:
然后,团队必须按照图表的顺序工作,并按正确的顺序执行任务(不要做比分配的任务更有趣的事情,因为这样做可能会延迟某些事情/其他人的工作)。
如果您做了所有这些,那么是的,那么它确实可以为您提供帮助,但是必须提前进行工作以确保其准确性和现实性。
我喜欢甘特图,如果Mac有更好的软件选择来创建它们,我将一直使用它们。
了解依赖关系是巨大的。“如果我们没有完成项目的数据回填部分,那么就无法开始构建whatsit增强功能。”