15.04.2015

受控混沌的方法论在项目开发中的应用

Несвит Богдан,Crystal Clear Soft 的首席运营官,向 App2Top.ru 分享了他对游戏公司管理混沌的核心内容的材料。

CCS

截至目前,独联体国家的游戏开发行业习惯于借鉴西方的工作流程构建模式、公司发展模式以及其他所有西方事物。但我们不能忽视的是,我们的心态截然不同,一些方法、原则和规则在我们复杂的环境中根本不奏效,或者需要进行调整。这种趋势在项目开发的方法论中同样适用。自己的经验也表明,在许多情况下,这些变动是合理的。

因此,逐渐诞生了一个新的术语——可管理的混沌。这种方法是混合型的,其主要目标是在独联体市场的环境中有效地构建公司的工作。

实际上,多项目并行是可能的,因多个项目而产生的混沌也能有效地进行管理。当然,“可管理的混沌”是一个独特的术语,与西方方法在某种程度上重合。这种工作流程的有效性依赖于多种因素,但自我实践以及与同事的交流显示,许多公司的任务规模根本无法支持明确的责任划分和清晰的矩阵层级。

在标准情况下,公司有一批正在进行的项目。每个项目都有自己专属的开发团队,这使得可以谈论项目开发的矩阵方法。不论项目管理程序究竟是 PMI、PMI2 还是 PRINCE2,这个问题都是次要的。关键在于公司工作的特点和其特定需求。

kitchen story

传统资源分配有效的场景

1. 项目规模大或对项目给予了巨大的投注

如果对项目进行了大量投资,无论是某个 MMO 项目,其预算庞大,则没有必要把精力分散到更小的项目上。所有必要的力量都应该集中在这个优先任务上。每一分钟都必须为这个项目服务,因为它的成功直接关系到你的未来。你没有犯错的权利。

只有当公司拥有盈利项目,而且每个游戏都是计划性开发时,才能让自己适当地偏离常规,去实践新的工作方法,以便未来能顺利应用。

2. 公司拥有稳定的资金来源,且没有变革的动力

这是第一点的延续。当有资金支持时,许多人宁愿不走变革的道路,因为任何向好的或坏的变化总是伴随着问题和不便利。如果一切都很好,为什么要优化公司运作或开始节省?如果收入足够,您不会停止开车吧?但是,如果汽油价格突然翻倍,而收入减少,优化开支的问题就会变得非常紧迫。无论如何,通过其他工作流程的方法节省预算都是无关紧要的,因为预算并不受限,而额外的麻烦没有人需要。通常,外部情况推动变革,正是这些刺激了自我路径的探索。

3. 项目池数量有限

假设公司只做 1-2 个项目,并且新项目仅在完成前两个项目后才会启动。这样的情况并不会促使变革。任务仅针对这些项目设定,所有力量都集中在这些项目上,没有必要进行优化,因为空余出来的资源无处可用。

4. 公司专注于大型硬核项目

这也是第一个点的衍生情况,但稍有不同。在第一点中,您的项目就是您最后的一次投资,之后您要么成了百万富翁,要么一贫如洗。如果您已经有了成功的大型项目或者稳定的资金来源,且大型项目已经形成固定流程(例如 MMO 或大型在线赌场),那么理论上的失败只是一个遗憾。在这种情况下,项目本身的特点要求为其提供持续的资源和时间投入,无论最终结果如何。

5. 公司专注于外包或外派开发

如果开发人员被指定参与外包或外派开发,这段时间内他就被预设为无法参与其他项目,包括自有开发。至少我们作为其中一家外包公司,在与合作伙伴的工作中实践这个方法。这是一种常见的企业伦理,涉及公司的声誉和威望。当然,也可以并应该在外包工作结束后规划开发者的工作负载,但绝对不能打断他当前的任务。

总体来说,阅读后似乎在严格的责任分配和项目团队人员划分中没有缺点。公司有多个项目,每个项目都有其团队在项目经理的管理之下,有明确的责任和清晰的责任,每个人都很开心。但实际上,缺点是存在的。

现在,当我们探讨了在哪些情况下标准的工作流程管理方案是有效时,合理地谈论一下这些范畴可能不会高效的场景。

可管理的混沌有效的场景

1. 多项目并行是公司的根本发展战略

在我们公司的首席执行官兼创始人米哈伊·哈尔科夫斯基的多次报告中,谈论了什么是多项目开发、它的利弊。可以在 CCSoft 公司主页上查看,或者访问 CCSoft 的 youtube 频道。他从公司全球发展战略的角度考察了多项目开发,而在这篇文章中,我们则与多项目开发紧密接触,探讨在多项目环境中工作流程构建和公司管理的方法。

2. 公司专注于自有项目的开发

当公司开发自己的项目时,它不受外部义务的约束。它自己设定项目和任务的优先级,基于自身的特性和内部条件来安排工作流程。所有这些都使得它能够更清晰地计划工作,使工作可预测且易于分析。

简而言之,您可以在内部做任何想做的事情,只要它能带来所需的结果。如果您是外包工作,很多事情就取决于客户,打乱了计划,迫使您必须按照客户的要求来构建开发流程。

3. 公司专注于休闲或中核项目

这一点不是绝对的,但会显著简化实施所探讨的方法。

硬核项目本身就复杂,因此更难预测和操作。要复杂得多。而休闲项目则更容易进行预测、规划和开发。因此,与不当规划过程相关的风险降低。您在某个阶段的资源分配图像会变得更加清晰,这使得可以准确计算在其他任务上可以调动的时间段。

在理解了可管理混沌应用场景后,现在是时候谈谈可管理混沌的方法论本身了。毫无疑问,除了要理解这一方法论的核心之外,还要事先了解其所有优势、风险、实施和使用的特性。在全面评估信息包后,才能得出这是否适合您,如何工作以及如何实现的结论。

bubble story 2

可管理的混沌的本质是什么?

1. 允许在启动阶段以最小的资源投入同时启动多个项目

当然,您仍然会连接所需的资源,或者总共积累所需的工时。这是无法避免的。但您可以在适合您的时间去做,而不是在工作开始时!也就是说,关键理念是,要启动一个项目,根本不必立即吸引完整的团队。您可以先开始做概念艺术,例如,或者先绘制所有用户界面的窗口,然后再进行编码。或者可以直接使用现成的游戏引擎进行重新设计,或在旧项目的基础上发布新项目。选择有很多。

2. 最大程度上优化资源

在公司,每位员工都会忙于某项工作,没有任何时间空闲和松懈。即使您有一个小型初创企业,您也可以提前发展,提前为新项目做好准备。

3. 可以迅速在项目之间转移资源

往往不能对外包工作进行精确的计划(您永远无法知道潜在客户何时会下单),而且其启动速度也不快(您来不及知道客户何时会做出最终决策并开始开发)。因此,这类工作的启动往往是相当混乱的,需要适应(我们不考虑计划好的外包情况,即漫长而稳定的合作,所有一切都变得可预测且清楚)。因此,您必须准备好灵活管理开发启动和停止的过程。

4. 对任何开发都有准备

这是上一点的衍生。实际上,该方法适用于公司不仅仅局限于自己的项目或外包,而是在各个方向上发展,增加来自不同渠道的收入。

5. 允许快速扩展业务

如果您做了更多的项目,您逐渐会拥有更多的资本流动,从而变得有更多的人力和财务资源。这使得在相对较短的时间内就谈到了企业的显著扩张。

6. 允许灵活调整公司的发展方向

如果公司清楚地理解其目标和发展方向,那当然是件好事。然而,在如今激烈的竞争、经济危机和众多其他问题的环境下,外部因素总是能打乱计划或迫使您重新审视。因此,灵活调整发展方向或快速修正计划的能力就显得非常重要。通过对现代趋势作出反应,您能够在任何条件下生存,或者更好地加快自身的发展步伐。

match story

可管理混沌的优势

1. 节省开发资源

当开发人员在一个项目中工作时,往往会面临由于等待其他专家的进展(例如程序员在等待设计师的图像)而产生的时间空档。但如果开发者在不同项目之间切换,这就可以通过避免工作空档来节省资金。

2. 合理分配资源

在分配资源时,您总是有优化的机会。例如,绘制休闲和中核项目的用户界面时,并不总是需要强大的艺术家。往往只需请一位有经验的 UI 艺术家工作两到三周,来绘制主要界面的概念和2-3个次要窗口,然后用一个初级艺术家或另一个不画概念的设计师(“技术型”)替换他,后者能较好地进行基于已有概念和模型的界面构建。

3. 所有项目的开发预算更低

这是一条相当明显的原则:当资源不闲置时,项目的开发预算必然会减少。

4. 为合作伙伴提供经济实惠的提案

通过合理利用资源(资源的工作规划和智能分配),不仅可以减少自有项目的预算,还能够为外包合作伙伴提供非常有利的报价,并推出可观的联合项目。

5. 启动更多项目的能力

如果您有闲置的资源,为什么不开始新的工作呢?例如,您的设计师有空了——开始为新的项目绘制概念吧。而且,如前所述,完全不必立即启动项目!可以先绘制图形,过两个月再开始编码。或者反过来,先用占位符编码,然后再吸引设计师参与开发。

6. 简化公司的工作规划

当您预先确定潜在的新项目时,就会有机会更合理地规划公司的工作并制定发展计划。当您清晰了解自己存储的资料(例如,三个月前您为潜在新项目绘制了概念,或者您已经有了 HOG 项目的现成引擎)时,决定下一步计划就容易得多,从而更简单地制定公司的发展战略,展望未来。此外,明确的计划对员工的积极影响也是显而易见的,因为他们对明天充满信心,并感到更加舒适。

7. 提高员工及公司整体的素质,获得在所有类型和方向中工作的经验

这是一项非常重要的内容。许多开发者面临的问题是,他们多年只从事 1-2 个项目,导致其工作经验相对有限。但如果开发者不断更换项目,他们就能在不同的项目、类型和方向中积累更多的经验。重要的是要适当控制项目之间的转换程度:开发者不应该在十多个项目间“跳跃”;而是应该在两到三个项目间“移动”,且一旦一个项目结束,就给他新的项目。这意味着他的任务池应当限定在一定数量内,以确保处理不同任务的负荷。然而,他的任务总量不应过重,而项目间的切换也不应占用太多时间和精力。起初可能会感到困难,但逐渐开发者会适应这种工作模式。这只是一个习惯的问题。

8. 能够“填补”团队中较弱的环节

任何公司都存在人员短缺及其资质的不平衡问题。始终希望拥有完美的团队,但这并不总是可行。因此,必须能够消除您的不足之处。假设您的概念艺术家只有一个,那把他固定在一个项目上显然是不明智的,因为其他项目的进展会变慢或质量下降。因此,可以尝试采用简单的方式让他在项目之外工作:概念美术师完成概念设计,再转到下一个项目,而他的工作由可以根据已有草图完成艺术作品的其他艺术家接替。

nuclear5

管理混沌的因素

1. 项目和资源的明确规划

为了降低与工作时间和资源增减相关的风险,至关重要的是在时间、人员和任务方面制定路线图。了解您需要哪些资源以及它们将被使用多长时间,确实能更容易地计划整体工作。

2. 在开发的各个阶段及时完成任务,从而及时释放资源

不仅需要合理地在文件上书写任务,而且还必须及时执行。这意味着您需要不断监控工作的进展(或拥有认真负责的员工和团队负责人),并及时对延误做出反应。预测问题,并采取措施消除问题,以免干扰整体计划。

3. 管理层的资格,从首席执行官到团队负责人

所有的管理层必须紧密合作,明确了解公司的计划、各项目的进展和优先事项。这将有助于更合理地分配资源,并更密切地控制其工作。

4. 理解任务的本质

不仅要设定任务,还要向员工解释这些任务,讲述当前项目的总体计划及未来计划,提前讲清楚当前和未来的工作流程。这一方法将激励他们更快地工作,因为他们知道新的工作正在等待着,并且必须在其时间之前完成旧任务,以免发生重叠和问题。

还有一个微小的心理因素:您向大家表明,公司的计划很宏大,即它是稳定的、健康发展的。

5. 公司内部开发流程的统一标准化

为了简化从一个项目到另一个项目的“移动”过程,并减少任何开发者“进入”项目的时间,必须在公司内部标准化开发流程。需要理解的是,如果您的游戏是 Flash,则所有人都应该用清晰的 Flash 或相同的框架来编写。不应该出现开发者偏好 PureMVC,有人则偏好 Robotlegs,还有人完全在进行自制引擎的情况。最终,为了进入自己的引擎项目,任何外部程序员都会耗费额外的时间。在这样的条件下,很难谈论无痛的“转移”资源。

6. “安全垫”

这个术语意味着,如果某个员工因病不能工作或您决定让他转移到其他任务,您应该为他在公司内找到一个替代人选。您应始终有备用人选。至少要努力争取。在极端情况下,您始终应该拥有几位外包供应商的联系方式,以便在必要时帮助您确保开发过程的顺利进行。

7. 需要保证员工不会在短时间内辞职

确保在开发中途不会失去员工是至关重要的,因为这将打乱当前和未来任务的整体链。如何获得这样的保证?很简单:从签订合同入手,员工需要在您的公司服务 N 期限,直到解约为止,还有个人协议,如果你是在朋友的公司工作。还有其他各种各样的选项,您肯定会有自己解决方案。关键在于,拥有这样的保证,你就可以不必担心未来的规划。如果员工决定离开,您就有足够的时间进行全面的替换。

braveeggs1

可管理混沌的缺点和“瓶颈”问题

1. 开发期限可能会延长

当然,如果同时调动所有人,开发进程将比逐个调动要快得多。通常情况下,开发期限并非无限,而是相当实际的,且经常受到投资者或其他对快速成果感兴趣人士的质疑。但首先,我们在谈论的是公司的全面发展与长远的工作流程构建,而不是某个单独的项目。其次,如果您在某个时刻提前完成未来的工作,在需要时给任务“添加”足够的资源,这个缺点也能消除。这条规则对于外包开发也适用。例如,在为自己绘制城市建设模拟游戏的概念图之后,您可以选择将其“外包”出去,再为自己创作新的概念。

2. 开发人员的资质不足

如果开发人员的水平不足,他们的任务负载会逐步增加,从而导致任务的过度拥挤。因此,延期的问题及其带来的各种问题开始出现。

可以通过以下方法消除这个风险:

  • 依靠“安全垫”
    您识别出了问题,立刻调配额外资源或更换资源,解决了问题。
  • 不断为团队补充新的人才
    每一个新的强有力的开发人员不仅能够给团队带来新的见解,还能指出瓶颈并帮助团队消除问题,教会其他员工一些新知识。
  • 通过提升公司内部团队的能力
    您的团队将逐渐积累经验,随着时间的推移,承担越来越多的任务,输出越来越优质的成果。

3. 开发规划不当

这个风险是无法被忽视的。无论您如何合理地分配资源,都无法做到对每个细分任务都考虑周全。然而,这种不足可通过实施标准但不繁琐的文件流来弥补。对于繁琐的文件流,我们没有时间,确实也不需要,但充分的文件可以帮助控制和规划工作。可以在前面提到的文档列表中加入一些标准程序,例如使用任务跟踪器和版本控制系统的工作流程,以及其他传统辅助措施。

4. 从可管理混沌过渡到不可管理状态的风险

始终有风险在某个时刻您可能无法保持局势的控制。解决办法是:不放松对情况的关键把握,时刻保持对所有情况的清醒认知或记录下来。只有通过全面控制和对全球任务栈的管理,才能避免出现在其中的无序状态。

5. 对多种因素的依赖和该方法的特异性

当然,显而易见的是,这一方法并不适用于所有情况,并且实施它需要进行大量的前期工作,将许多因素汇总到一起。然而,实践证明,许多,特别是初创的开发者,已经跌入了混沌的状态。那么,有什么理由不开始管理这种状况呢?

6. 其他风险和潜在的隐患

这是一项比较抽象的讨论点。但它的不确定性仅仅是因为每个公司的内部问题与特定情况各不相同,很难准确预测。无论如何,如果您正在开发自己的项目,风险会更低。内部协调优先级和管理流程要容易得多。

logo

总体而言,到此为止,我们可以对这种项目管理方法在游戏开发公司内的特点进行简要总结。为什么它被称为“可管理的混沌”?在实践中,这一方法相当特殊,需要很高的专业技能,以及丰富的游戏开发经验。有时从外部看,管理十个以上的项目似乎确实是相当混乱,逻辑上不可解释,甚至可能引发混乱和无序。但如果您能够理解其本质,并将其调整到符合自身环境的标准,成功地将之付诸实践,则所取得的成果将是惊人的。

当然,正如每枚硬币都有正反两面,同样也可能在某个时候突然意识到“一切都出了问题”。但请诚实地问自己:“在你的生活中,有多少次您完成了一个项目,整个过程毫无问题,既不在文件上体现,也不在现实中?”完美的开发只存在于纸上,您无论如何都将不得不面对一系列问题。那么,问题和与模板开发相关的风险为何会超出对可管理混沌的风险和问题呢?

评论
写评论...
Related news