软件项目开发中的意想不到的连锁反应

软件项目开发中的意想不到的连锁反应

背景

随着软件项目变得越来越大,为了提高开发效率和有效的质量控制,开发过程变得越来越重要,过程分工也不断细化。 传统流程大致分为以下步骤:

1、提出要求

2、可行性分析

3.

4、外形设计

5、详细设计

6. 编码

7.

8、综合交付

产品的最终形式和功能是由第一步的要求决定的。 发展过程中“蝴蝶效应”尤为明显。 如果第一步的需求发生变化,很可能会导致后续所有步骤的重复。 传统的项目管理除了对项目过程的控制外,更多的是对需求的管理。 传统软件项目的开发过程中,会努力避免需求的变化。 即使需求确定后,需求提出者(共同开发)也会发布正式的需求文档,并盖章确认,以表明“不再进行更改”。

传统的软件开发过程是工业流程模拟过程,最大程度地管理变更,然后对流程进行详细划分和实施。 整个过程中,各部门(公司)之间会有大量的沟通会议和流程。 时间成本极其巨大,耗时数年的版本计划也很常见。

随着中国的快速发展,市场环境和用户偏好正在迅速变化,往往需要数年的产品开发周期远远不能满足不断变化的市场形势。 互联网产品尤其是游戏产品,采用了精益开发、小步试错、快速迭代的开发模式。 不需要从一开始就打造一个大而全的产品,而是一开始就只需要推出核心的单一产品。 通过不断迭代来功能、改进和调整产品,在开发过程中不断收集用户反馈,并将有效反馈融入到下一个迭代版本中。

团队分工合作的游戏_分团队的游戏_游戏开发团队及分工

“小步试错,快速迭代”的前提否定了需求的“神圣性”和“不变性”。 默认要求是“错误的”,并且可以随时更改。 虽然大多数游戏产品没有传统软件开发过程中严格的分工,但这些步骤所代表的开发内容仍然存在。 仅仅因为需要“快”,每一步的界限都被打破、简化并整合在一起。 需求的变化仍然会导致后续开发阶段的变化。

需求是如何产生的?

对软件产品的要求是创造出能够满足目标用户的痛点或痒点的产品。 发现痛点/痒点的方法有很多。 您可以深入进行用户研究,观察用户需求,并提出满足其需求的产品; 你也可以像史蒂夫·乔布斯一样,根本不做用户调查。 我给你的已经是最好的了。 也有可能最初制定了一个产品原型方向,然后经过多次迭代和修改,得到了流行的产品形态。

具体到游戏产品上,产品的方向更多的是公司老板或者制作人看好某个游戏细分市场,构建出这个游戏产品的核心玩法,并基于这个核心玩法,结合各种辅助系统,最终得到一个完整的游戏。

游戏的具体做法是,产品策划首先根据制作人的宏观愿景设计核心玩法原型,并与节目紧密合作,实现第一个核心玩法演示。 项目主要参与者(尤其是老板、制片人等)的经验和头脑风暴。 经过多次迭代和修改,他们可能会得到一个大家都认可的核心玩法演示。 核心玩法是游戏存在的基础。 能够满足玩家对游戏玩法和可玩性的要求,或者超出玩家的期望。

为了构建一个完整的游戏,需要建立各种辅助游戏系统(如角色、关卡、成长、装备、任务、副本、好友、工会、团队等),需求就来自于这些辅助功能系统。 大多数辅助功能系统都具有一定程度的同质性。 简单粗暴的方法就是照搬朋友的系统规则和设计。 比较好的会做一些微创新,极少数有原创的功能玩法。 无论是抄袭、微创新还是原创,都是开发(编程、美术)的任务要求。

为什么需求会改变?

世界在不断发展变化,行业环境在变化,用户偏好也在变化。 唯一不变的就是“变化”本身。 如果将游戏功能简单地分为核心玩法和辅助系统两部分,那么需求的变化也将来自这两部分。

核心玩法变化

核心玩法是游戏存在的基础。 理想情况下,核心游戏玩法的改变应该只发生在演示打磨阶段。 一旦确定了演示版,核心玩法就不应改变。 此时做出改变的原因是发现核心玩法并不能满足用户的需求,或者有更好的想法。

辅助系统变化

游戏开发过程中的大部分工作量都集中在辅助系统上。 大量的辅助系统涉及各种复杂的逻辑规则、系统交互和设计细节。 辅助系统需求的变化主要是由于以下因素:

拥有“更好”的想法:规划对相同的功能有新的、更好的想法。

之前对规则的理解错误:由于文档不完整或者沟通上的误解,开发和规划对规则的理解不一致,开发​​过程中或者完成后发现的错误导致需求“变更”。

来自高层的观念转变:高层指的是老板或者投资人。 他们有自己的想法和理解,希望加入到游戏中并带来改变。

合作伙伴的变化:游戏渠道和运营商通常拥有更大的话语权。 他们“更了解市场和用户”,他们会在游戏中加入自己的想法。

与“新人”不同的想法:项目中新成员的加入,尤其是新的策划者(新的制作者),会导致需求的很多变化。

向程序妥协:程序在开发过程中发现部分功能规则的实现复杂度非常高游戏开发团队及分工,性价比非常低。 与规划者讨论后,采用了简化版本的替代方案。

艺术需求的变化:我们单独谈谈艺术的变化。 你在产品中首先看到的总是界面和艺术。 每个人都有自己的喜好。 没有绝对的对或错。 每个人都可以发表自己的意见。 总会或多或少的导致一些改变。

需求变化带来了哪些问题?

在游戏开发过程中,频繁的需求变更对于项目开发和团队管理都是有害的。 需求的变化可能会导致以下问题:

项目开发周期不可控:需求的变化意味着开发工作量和沟通工作的增加,必然导致开发周期的延误。 引入变革并强制按期完成是天真的一厢情愿。 当一厢情愿积累过多时,就会逐渐在团队中产生怨恨,从而损害团队。

游戏开发团队及分工_团队分工合作的游戏_分团队的游戏

损害团队士气:古人追求“一冲,再败,三败”的目标。 项目开发也是如此。 大家怀揣着共同的任务目标,精神抖擞、斗志昂扬地前行。 反复的目标修改会让团队对目标产生困惑和怀疑,从而耗尽团队的士气,从而降低团队的绩效。 生产力甚至会导致团队不稳定。

成员之间的不信任:项目的成功是团队合作的结果。 成员之间的相互信任、相互支持和帮助是项目成功的助推器。 频繁的需求变更会让团队成员产生不信任感,感觉对方在给自己挖坑。 “既然会不断变化”,那么实现当前的需求只是浪费时间。 成员之间出现疑虑,很快就会引发各种冲突,甚至升级为人员之间的各种冲突。

如何解决需求变化的问题

首先,所有团队成员都需要明白,绝对需求不变是不可能的。 唯一不变的是“变化”本身; 所谓变更的控制,就是尽量让需求变更更小、更可控,即使最终变更到来,也要尽量减少变更对项目的影响。 可以尝试从以下几个方面来解决需求变化的问题:

建立一支可靠的团队

所有的项目都是由独立的个人团队开发的,建立一个可靠的团队是任何事情的前提。 我所理解的可靠团队首先是一个有远见、目标坚定、值得信赖、可追随的老板; 其次,下面有一群人能够在各个职能部门独立工作,认真负责,坦诚相待,积极主动,相互信任。 的成员。 即使一开始没有这样的团队,也要有目的、有步骤地建立起来,形成相互信任、包容、相互支持的团队氛围

作为团队经理,您需要探索和利用每个人的优势,使他们能够充分发挥潜力并不断进步。 不断为项目做出自己的贡献,形成成就感和归属感。 一旦事情从“我要做”转变为“我要做”,很多问题就会迎刃而解。 “想做一件事,就会找到方法;不想做一件事,就会找到理由。” 我始终相信,在一般的项目开发中,你不会遇到无法解决的世界级问题。 大多数都可以解决。 很容易解决。 一旦成员有了解决问题的心态,解决方案也就随之而来。

在这种心态下,遇到需求的变化不会引起成员的抵制,而是会让他们思考你的改变是否是对项目真正的价值提升,并进行深入分析,然后提出自己的建设性意见。 ,最终在积极讨论的气氛中形成了决议。

统一目标

团队的项目目标是项目完成后的最高追求。 所有成员需要就最终目标形成深刻共识。 只有在共同目标的驱动下,才能不断克服过程中遇到的各种困难和分歧。 至于个人目标游戏开发团队及分工,可以是升职加薪,可以是完成一个拥有一定在线用户数的项目,也可以是实现一定的利润,只要个人目标和团队目标是一致的大方向即可。

建立利益共同体

游戏开发团队及分工_分团队的游戏_团队分工合作的游戏

在组织架构和利益分享机制上,让需求的提出者和实现者成为利益共同体; 荣辱与共,团队成员同舟共济,个人利益就是共同利益。

充分设计和讨论

在项目开发过程中,很多时候为了“快”,没有经过深思熟虑就开始了系统设计和规则逻辑。 最后,当你完成一半或快完成时,你发现机制有缺陷,需要重新设计。 此时的变化可大可小。 开发前充分的设计以及对产品逻辑规则的透彻理解,有助于减少开发过程中的不稳定因素。

重要信息多次确认

在人与人之间的交流过程中,“信息漏斗”现象广泛存在。 假设A有某件事需要B去做。 信息漏斗的工作原理如下:

他脑子里对某件事的思考,假设完整性是100%。

当A找到B并向B描述事情时,由于表达能力或语言的缺陷,他只能说出80%的事情。

在听A表达的过程中,B由于自身分心或者主观偏见等因素,只能听到60%的事情。

B在理解自己听到的内容的过程中,由于自身的知识结构、理解偏差等原因,会损失20点信息完整性,获得40%的信息。

在执行过程中,B由于执行能力或其他因素出现偏差,又损失了20,最终只得到了20%的结果。

从上面模拟的“信息漏斗”可以看出,A最初100%的完成度交给B执行后,只变成了20%的结果,与最初想要的相差很大。 最终,当A和B检查最终结果时,就会产生无休无止的争执和矛盾。

分团队的游戏_团队分工合作的游戏_游戏开发团队及分工

为了减少“信息漏斗”的影响,每一步都需要反复确认信息,尽量减少已确认信息的损失。 同时,沟通各方都需要了解“信息漏斗”的存在。 当最终出现偏差时数据报告,他们可以继续冷静地沟通和解决问题,而不是指责和推卸责任。

需求分期

对于优化后的需求,如果之前的需求已经进入开发阶段,可以考虑将其放入下一个迭代周期进行优化,而不是打乱当前版本进度,重新设计实现。 同时也给了产品规划一个重新静下心来思考修改的必要性以及机制的完整性等细节的时间窗口。

坦诚有效地沟通

项目开发的目的是共同完成任务,做出一个大家认可的产品。 在开发过程中游戏素材下载 免费,无论是产品本身,还是涉及到的开发成员,都会有很多的沟通需要做。 沟通要顺利进行并最终取得成果,诚实是一切先决条件的前提。 只有坦诚沟通,针对问题而不是针对人,让被沟通者感到受到尊重,才能有效地进行沟通。 把别人当傻子,用肤浅的客套话,用虚假的感情欺骗别人,最终会导致信任的消失。 没有信任,项目就会失去根基,一切目标和愿景都将成为虚幻的空中楼阁。

需求变化后出现冲突怎么办

一旦前几个部分完成,需求变化应该会明显减少,即使发生变化,影响也会被限制在很小的范围内。 但如果多次改变导致冲突,有什么解决办法呢?

首先,要确保成员明白变革是不可避免的,确保每个人都认识到共同的目标,并积极寻找改进的方法来实现目标。 大家的交流仍然在同一个“频道”上。 有了共同的前提,重要的是要对事情具体情况进行讨论和分析,无论对谁,愿意沟通和改进是事情得以改善的前提。

其次,坦诚沟通是任何有效沟通的基本要素。 “忠于自己的内心,真诚地表达自己的意图。” 一旦双方感受到对方坦诚的沟通态度,自己的戒备心和抵触情绪就会减少,也更容易回归到事情本身。 。

第三,沟通的时候,一定要给予对方足够的尊重。 每个人都有被尊重的需要。 “你心里有我吗?” 我们沟通的时候,你是否愿意解决问题非常重要。 中国是一个人文社会。 大多数人都非常关心别人对他们的态度。 在“你关心我”的前提下,任何问题都不是问题。

最后,成功可以掩盖一切问题。 无论问题有多少,矛盾有多大,当项目的结果取得巨大成功时,所有的问题都会暂时被掩盖。 然而,通过成功来掩盖问题是暂时的。 一旦成功失败,继续复制,问题就已经出现了。

每个人都有自己的想法和解决冲突的方式。 以上是我自己的一些想法,但未雨绸缪才是更好的选择。

以上内容不用于商业用途。 若涉及知识产权问题,请联系博维峰编辑(-8017),我们将立即处理。

文章来源:http://www.51testing.com/html/13/n-3726913.html