WereWolf项目 Postmortem

(博客园的MarkDown编辑器好像有些问题,编号都显示1。。)

设想和目标

  1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?

    我们的软件主要是用来解决玩狼人杀这款桌游时无牌、无法官、游戏流程不熟悉等情况的。我觉得我们对典型用户和典型场景描述的较为清楚,我们项目之前做了问卷调查,提出了一些功能,Alpha版本挑了用户较需要的几个功能重点实现,之后在Beta阶段我们将继续完善其余功能。

  2. 是否有充足的时间来做计划?

    与后面开发阶段对比来说,时间相对充足。一周的时间大概够我们整理思路,进行NABCD分析,对软件开发做整体上的规划。

  3. 团队在计划阶段是如何解决同事们对于计划的不同意见的?

    讨论解决。仔细分析问题的每个优缺点,大家共同商讨得出我们认为的最佳方案。如我们的项目最开始我是只想做一个Android客户端的,但石浩然同学坚持要做双平台——因为这样我们才能真正上线,才能真正拥有用户。最后权衡利弊,我们接受了他的想法。

用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?

暂时还没有实际用户。

有什么经验教训? 如果历史重来一遍, 我们会做什么改进?

对用户需求做更细致的分析,对软件的实用程度做一定估量。

计划

  1. 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?

    没有。实际的工作量比想象中要大很多,原计划是发布软件的,现在并没有到能发布的程度。

  2. 有没有发现你做了一些事后看来没必要或没多大价值的事?

    中间看了一些html及html内嵌javascript的知识,回想起来其实没什么必要。

  3. 是否每一项任务都有清楚定义和衡量的交付件?

    这方面我们做的不是很好,主要是前期学习期间的任务并没有明确的交付件。

  4. 是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?

    大体是按计划进行。意外就是前面提到的任务量过大,由于开始计划时大家经验都不足,没有准确估计到实际所需时间。

  5. 在计划中有没有留下缓冲区,缓冲区有作用么?

    没留下。。时间比较紧。。

  6. 将来的计划会做什么修改?(例如:缓冲区的定义,加班)

    如果可能的话还是希望缓冲区多一些的。。(这里我理解的缓冲区是休息的时间)。。毕竟还有编译课设。。

我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

尽管可能做的不是很好,但是我们依旧体验到了为一个软件工程做计划的流程。如果重来一遍,我们将更细致地规划每一个阶段。

资源

  1. 我们有足够的资源来完成各项任务么?

    我们的资源需求还比较多,目前情况是每个人用自己电脑开发,团队里的一位同学购买了IOS开发者账号,另一位同学租了阿里云服务器,老师还提供了校内服务器。另外,由于我们项目是手机APP,我们大概有三台安卓、两台苹果手机来做测试。

  2. 各项任务所需的时间和其他资源是如何估计的,精度如何?

    主要根据代码量来估计,精度不太高,因为有些任务代码不多但是完成起来难度较大。

  3. 测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?

    不太够。因为开一局游戏需要至少8个人左右,不过我们打算用一些模拟器来代替,大概能完成测试要求。

    对于不需要编程的资源确实是低估了难度,美工设计确实是需要更多时间的。

  4. 你有没有感到你做的事情可以让别人来做(更有效率)?

    由于主要只做了开发方面工作,所以暂时还没有。

有什么经验教训? 如果历史重来一遍, 我们会做什么改进?

提前考虑所需要资源和人手。

变更管理

  1. 每个相关的员工都及时知道了变更的消息?

    是的。Github上可以清楚看到。

  2. 我们采用了什么办法决定“推迟”和“必须实现”的功能?

    用户需求和实现难度相结合。

  3. 项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?

    使用时完整流畅,无明显bug。

  4. 对于可能的变更是否能制定应急计划?

    Git的版本回退。

  5. 员工是否能够有效地处理意料之外的工作请求?

    大家都在尽量处理。

我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

项目一开始就应在Github上管理,而不是中途才整合在一起。

设计/实现

  1. 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?

    总体的设计是在一开始由团队所有人讨论完成的。之后每个人具体负责的部分主要是自己来完成设计。中间交互的地方也会互相商讨完成。

  2. 设计工作有没有碰到模棱两可的情况,团队是如何解决的?

    随着项目进展不断商讨得出。

  3. 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?

    没有使用工具,暂时是手工实现的类似于单元测试的接口测试方法。

  4. 什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?

    网络连接时的bug最多,主要是由于对react nativehttpwebsocket调用的不了解,以及接口规定有一些缺陷。

  5. 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?

    代码复审是在完成每个部分就由开发者立即测试调整的,比较严格地执行了代码规范。

我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

如果团队人手充足的话,希望能有一个架构师,来专门负责项目的整体架构以及各个模块之间的连接情况。

测试/发布

  1. 团队是否有一个测试计划?为什么没有?

    有。团队人手不足的情况下,每个模块在完成之后由开发者立即测试。整体完成之后,由测试人员进行网络连接测试以及整体流程测试。

  2. 是否进行了正式的验收测试?

    是的。不过由于Alpha版本工程量过大,后几个模块尚未完全进行测试。

  3. 团队是否有测试工具来帮助测试?

    暂时没有。后期准备采用脚本测试。

  4. 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?

    测试工作肯定是有用的。通过测试工作我们发现了同样的组件,在IOS上可以流畅运行,在Android上却出现卡顿现象,另外标题栏在IOS上不适配,这些我们都计划在Beta版本完善。

我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

重视测试工作。“软件工程的大部分时间都在调BUG”这句话不无道理。

总结

  1. 你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?
  2. 你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?
  3. 你觉得团队在这个里程碑相比前一个里程碑有什么改进?
  4. 你觉得目前最需要改进的一个方面是什么?

你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?

达到了CMMI二级——管理级的程度。我们团队遵守了既定的计划和流程,有资源准备,权责到人。但是还没有一套完整的管理措施,没有制度化。

你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?

我认为到了规范阶段。我们团队成员们就很多事情取得了一致。角色和职责定义得非常清楚。团队还进行过有趣的团队建(shua)设(ye)活动。

你觉得团队在这个里程碑相比前一个里程碑有什么改进?

正如规范阶段的特点,我们团队的改进如下:

  1. 作为一个整体,团队要做什么、不做什么,都更加明确。团队定下了更现实的目标和决心。
  2. 通过聆听、讨论,成员互相之间更加了解,认识到并欣赏各自的能力和经验。在工作中互相支持,大家意识到并尊重各人的个性。
  3. 随着项目的开展和成员们的互动,一些成文或不成文的规则逐步建立起来了。

你觉得目前最需要改进的一个方面是什么?

计划阶段准备充分。

WereWolf项目 Postmortem的更多相关文章

  1. 数据处理项目Postmortem

    数据处理项目Postmortem 1. 设想和目标 1)目标我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的项目是学霸系统PipeLine,软件主要解决学霸系 ...

  2. 王者荣耀交流协会PSP Daily项目Postmortem结果

    王者荣耀交流协会PSP Daily项目Postmortem结果 整理:王超 设想和目标 1.       我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? PSP D ...

  3. Pipeline组项目Postmortem

    Pipeline组项目Postmortem 1.     设想和目标 1)目标我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的项目是学霸系统PipeLine, ...

  4. Alpha阶段项目Postmortem

    以下对成员名字的简称: 陈鸿超 = 陈1 陈彦吉 = 陈2 石浩然 = 石 韩青长 = 韩 1. 设想和目标 1.1 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? ...

  5. 项目Postmortem

    设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决网站前端的数据处理以及获取问题,定义的很清楚,对于典型用户也比较清晰,因为主要只有一个用户,所以对于 ...

  6. Put-Me-Down项目Postmortem

    设想和目标 PMD是一款帮助低头族控制使用手机时间的APP,设想按照需求规格说明书内容实现功能,能将数据备份到服务器. 计划 初始计划我们是想将程序方面分为安卓和后台,主要是程序方面的工作.我们对项目 ...

  7. <<易货>>项目Postmortem结果

    设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 一开始想做的事情还是太多,没有形成整个app的核心功能,浪费了很多时间. 是否有充足的时间来做计划? 有 ...

  8. 城市安全风险管理项目Postmortem结果

    设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 本系统希望实现快速识别危害因素,使工作人员对风险作出准确的评估.即让使用者熟悉潜在的危险因素,知道 ...

  9. 事后诸葛亮——城市安全风险管理项目Postmortem结果

    设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 本系统希望实现快速识别危害因素,使工作人员对风险作出准确的评估.即让使用者熟悉潜在的危险因素,知道 ...

随机推荐

  1. (转) [it-ebooks]电子书列表

    [it-ebooks]电子书列表   [2014]: Learning Objective-C by Developing iPhone Games || Leverage Xcode and Obj ...

  2. 高薪诚聘熟悉ABP框架的.NET高级开发工程师(2016年7月28日重发)

    招聘单位是ABP架构设计交流群(134710707)群主阳铭所在的公司-上海运图贸易有限公司 招聘岗位:.NET高级开发工程师工作地点:上海-普陀区 [公司情况]上海运图贸易有限公司,是由易迅网的创始 ...

  3. Entity Framework 6 Recipes 2nd Edition(13-8)译 -> 把昂贵的属性移到其它实体

    问题 你想把一个昂贵的属性移到另一个实体,这样你就可以延迟加载当前这个实体.对于一个加载昂贵的而且很少用到的属性尤其有用. 解决方案 模型和上一节(Recipes 13-7)的一致,如Figure13 ...

  4. magic方法的magic

    事实上,在python中一个类被实例化的时候首先被调用的并不是__init__方法,而是__new__方法.只是new方法一般很少重写.new方法会有返回值传给init方法.因此,init方法不能够有 ...

  5. 我们为什么使用Node

    引言:Node 已经迅速成为一个可行并且真正高效的web 开发平台.在Node 诞生之前,在服务端运行JavasScript 是件不可思议的事情,并且对其他的脚本语言来说,要实现非阻塞I/O 通常需要 ...

  6. 【原】使用Bmob作为iOS后台开发心得——云端代码添加其他User的Relation关系

    本文转载请注明出处 —— polobymulberry-博客园 问题描述 我在User表中增加了两个列,分别为“我关注的人”(Relation关系)和“我的粉丝”(Relation关系)当我关注某个人 ...

  7. ASP.NET MVC5+EF6+EasyUI 后台管理系统(39)-在线人数统计探讨

    系列目录 基于web的网站在线统计一直处于不是很精准的状态!基本上没有一种方法可以确实的统计在线用户! Discuz!NT 在线用户功能算是做得比较好的!参考资料 他的原理大致是根据用户的操作间隔来确 ...

  8. CSS3与页面布局学习总结(三)——BFC、定位、浮动、7种垂直居中方法

    一.BFC与IFC 1.1.BFC与IFC概要 BFC(Block Formatting Context)即“块级格式化上下文”, IFC(Inline Formatting Context)即行内格 ...

  9. React.js入门必须知道的那些事

    首先,React.js是facebook在2013年5月开源的一个前端框架,React不是一个MVC框架,它是构建易于可重复调用的web组件,侧重于UI, 也就是view层, React为了更高超的性 ...

  10. Web安全相关(二):跨站请求伪造(CSRF/XSRF)

    简介 CSRF(Cross-site request forgery跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对 ...