第八组Postmortem事后分析

一、团队成员总结的改进和教训

隆晋威:Beta阶段完善架构设计,分工更加明确,文档更丰富,交流带来开销减少。Alpha技术选型不固定,分工混乱,没有方便的测试引擎,部分模块耦合严重。

付千山:Alpha阶段工作较少,主要进行技术积累,由于考试,工作进度稍慢;Beta阶段学到了很多东西,debug能力大大加强,Commit数量、代码量及处理问题的经验积累也有所提高。

欧阳炳濠:Beta阶段中,不同于Alpha阶段。Alpha阶段中主要做的是游戏界面的基本逻辑功能能够实现,但是有许多漏洞,而且玩家体验的效果也不佳,缺乏提示性语句,使得未接触过游戏的玩家对于游戏内发生了什么,该怎么做,完全不知道。而且缺乏封闭性的设置,使得游戏很容易崩溃。

所以在这次Beta阶段的开发中,着重在提升玩家的用户体验。我在这次优化中,找美工同学帮我们重新画了一张地图,同时还增加了消息框功能,用于让所有玩家知晓游戏局势。除此之外,我还设计了玩家在移动后,地图自动跟随玩家移动的功能,便于玩家快速找到自己的位置,而且隐藏了地图的滑动条,使画面更为美观。除此之位,设计了悬浮窗口功能,当玩家将鼠标放置在某一个玩家的人物上时,就能出现显示该玩家的状态信息窗口,包括身份、生命值、英雄、射程、火力、机动性等。便于玩家在游戏中对局内情况进行博弈。

总而言之:在Beta阶段中,打破了信息交流的堡垒,优化了界面的风格,增加新用户的友好性,增强游戏的稳定性,改善玩家的游戏体验。

吴宏宇:Alpha版本中主要是学习新的技术与框架,再一次次的失败中吸取教训与经验,提高自己在团队中的工作效率,改善自己的开发习惯,总的来说就是在开发中提炼自己;beta版本的开发注重了各类的细节,不再是摸着石头过河,而是有准备的进行工作,在之前的版本下不断完善存在的缺陷,总的来说就是要以用户的角度开始提高他们的体验。

朱池苇:Alpha阶段初期对使用的模型和框架比较陌生,用了较长时间学习和实践。Beta阶段,技术已经较为熟练,能够不需要他人协作完成本部分的工作,效率得到了提升,且加深了对模块化的编程方法的理解。

二、关于敏捷开发

① 做的最好的两点

(1)经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。(Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.)

我们的Alpha版本产出较早,虽然非常简陋,而且爆破测试也无法通过,但是有了这个框架,我们在后续阶段的发挥就有了基础。

(2)不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。(The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.)

本团队开会较为频繁,在非考试周保证了每周2-3次面对面会议,即使是在考试周也有每周一次的集中。这使我们解决问题的效率和效果比较好。

② 做的最差的两点

(1)欢迎需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。(Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.)

由于游戏开发的初衷是“我们想做一个这样的游戏”,向客户征求的大多是细节问题。而且电子游戏,必须要作出原型,才能收获用户的反馈。因此我们在很长一段时间内,用户调研的方式都是线下使用纸张和卡牌做成的桌游版,请桌游社的同学进行评测(测评反馈较为积极,同学也针对游戏提供了宝贵的建议和意见)。在集中精力开发的一段时间内,与用户也有所脱节。

(2)以简洁为本,它是极力减少不必要工作量的艺术。(Simplicity--the art of maximizing the amount of work not done--is essential.)

由于技术设计的问题,我们在某些细节上的处理有一些冗余,甚至是dirty,这也是我们将一直致力于改进的问题。

三、关于“大教堂和集市”开发方式

本组在刚起步阶段时,为集会模式,所有人都可能会接触到所有代码并进行修改,而在技术选型确定,掌握情况较好之后,则按照各自的分工进行工作,不再互相干涉,因此变为大教堂模式。

我们的体会是,大教堂开发模式更适合管理,而在项目规模较小的时候,或者项目刚开始的时候,集市更适合,因为那个时候需要创意,且BUG最多。

第八组Postmortem事后分析的更多相关文章

  1. UltraSoft - Beta - Postmortem事后分析

    UltraSoft - Beta - PostMORTEM 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决的问题和定义都在[软软软]功能规格说明书 ...

  2. UltraSoft - Alpha - Postmortem 事后分析

    Alpha阶段 Postmortem会议 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 主要是解决DDL提醒功能的问题,定义的比较清楚,对典型用户和典 ...

  3. M1事后分析报告(Postmortem Report)

    M1事后分析报告(Postmortem Report) 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们项目组所开发的软件为一个基于Andro ...

  4. 事后分析报告(Postmortem Report)要求

    在得到M1 团队成绩之后, 每个团队都需要编写一个事后分析报告,对于团队在M1阶段的工作做一个总结. 请根据下面的模板总结并发表博客: http://www.cnblogs.com/xinz/arch ...

  5. M2事后分析汇报总结

    学霸网站项目Postmortem结果 M2之于M1的改进 文档和问答的整合 完成webservice 完成数据库触发器设计与完整性约束依赖(大规模) 优化学霸UI 资源的搜索 外部问题的搜索 文档的上 ...

  6. M1事后分析汇报总结

    学霸网站项目Postmortem结果 设想和目标 1.       我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 学霸网站为计算机学习提供了一个网上基地,在这里你 ...

  7. 团队作业10——事后分析(Beta版本)

    团队作业10--事后分析(Beta版本) 目录 一.设想与目标 二.计划 三.资源 四.变更管理 五.设计与实现 六.测试与发布 七.总结 八.图片和贡献分分配 一.设想和目标 1.我们的软件要解决什 ...

  8. 事后分析$\beta$

    项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求 事后分析 我们在这个课程的目标是 提升团队管理及合作能力,开发一项满意的工程项目 这个作业在哪个具体方面帮助我们实现目标 组织组员 ...

  9. 事后分析$\alpha$

    项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求 事后分析 我们在这个课程的目标是 提升团队管理及合作能力,开发一项满意的工程项目 这个作业在哪个具体方面帮助我们实现目标 组织组员 ...

随机推荐

  1. 微信小程序(1)--新建项目

    这些天看了一下最近特别火的微信小程序,发现和vue大同小异. 新建项目 为方便初学者了解微信小程序的基本代码结构,在创建过程中,如果选择的本地文件夹是个空文件夹,开发者工具会提示,是否需要创建一个 q ...

  2. Codeforces Round #420 (Div. 2) - A

    题目链接:http://codeforces.com/contest/821/problem/A 题意:给定一个n*n的矩阵. 问你这个矩阵是否满足矩阵里的元素除了1以外,其他元素都可以在该元素的行和 ...

  3. Django--Forms组件使用

    Forms组件的使用 在html表单验证中,需要通过各种信息的验证,比如注册界面的姓名.密码.邮箱.电话等的验证,是否符合定义好的规则,不可能每次都要取出对应的字段一一判断,django内置了Form ...

  4. shell编程程序实例

    1.计算器 #!/bin/bash #test #by authors hdc 2018 function add(){ #实现加法 c=$[ $a + $b ] #相加 echo $c } func ...

  5. 数组之间的比较应当用Arrays.equals()

    被坑了,数组之间的比较不能用“==”,应当用Arrays.equals() 如果是原生数组(即数组中的值是几大基本数据类型之一的)之间的比较可以直接用,如果数组中的值不是原生的基本数据类型,那么再使用 ...

  6. find命令进阶(三):xargs

    The xargs command performs an interesting function. It accepts input from standard input and convert ...

  7. vagrant(二)配置文件vagrantfile详解 以及安装php、nginx、mysql

    上一篇文章完整的讲叙了如何安装一个vagrant的环境.这里主要说一说vagrant的配置文件Vagrantfile. 一 配置详解 在我们的开发目录下有一个文件Vagrantfile,里面包含有大量 ...

  8. RabbitMQ之交换机

    1. 交换机类型 rabbitmq常见有四种交换机类型: direct, topic, fanout, headers. 一般headers都不用,工作中用得较多的是fanout,它会将消息推送到所有 ...

  9. JDBC调用oracle 存储过程

    1.创建一个oracle存储过程 p_empInfo2 并执行,使这段sql代码能编译存储到oracle数据库中. --输入员工号查询某个员工(7839)信息,将薪水作为返回值输出,给调用的程序使用 ...

  10. phpstudy的80端口被占用问题

    1.查看电脑中当前程序占用的端口和程序ID 当phpstudy设置端口号为80时显示占用,在命令行中输入:netstat -ano 就可以看到当前电脑中程序占用的端口和程序ID等等信息 2.查看正在运 ...