事后分析报告(Postmortem Report)
小组讨论照片

设想和目标
1、我们的团队项目为英语单词学习助手,名为“我爱记单词”。主要提供服务包括:单词查询,单词测试,单词记忆和中英互译。目前开发的是单机版本,用户可以根据自己的需求灵活的使用相应功能。该版本主打单词记忆功能,通过有效的规划与方法帮助用户更有效地记忆单词。要解决的问题已经有了明确的定义,即实现辅助用户单词记忆的功能,面向的主要用户为备战英语四六级、GRE、TOEFL的广大考生,还包括一些出于其他目的或爱好的英语学习者。
2、根据所处的开发阶段,我们团队留出充足的时间做出了相应较为合理的计划,在团队因有成员生病缺席的情况下,依然能按时完成alpha版本的开发工作。
3、针对计划阶段的不同意见,暂时采用少数服从多数的原则,持有不同意见的人需要再去做调研,在规定的时间内根据调研情况,做出最终决定。
4、 用户对重要功能的接受程度大致与我们实现设想的一致,我们离我们的目标更近了。
经验教训:
(1)界面设计不佳,接触一款软件,界面是留给用户的第一印象,作为发布软件,应该具备较好的界面设计。如果重来一遍,我们会重视界面的设计。
(2)没有充分利用学长代码,根据老师的点评,充分理解前人的工作,并将其化为己有也是软件开发过程中很重要的一环,我们背离了老师想要我们体验这一过程的目的。如果重 来一遍,我们定会投入更多的时间来读学长的代码,并作出的修改,使之能够运行,并加以利用。
计划
1. alpha版本开发阶段的计划都已做完,尚且存在一些不理想的地方,比如界面,原有数据库音标有乱码的问题。
2. 对每一项任务都有清楚的定义,在alpha阶段以能成功运行为交付标准。
3. 项目的整个过程大体上都按照计划进行,期间有同学生病住院,进度稍有迟缓,后经生于同学加班加点,总体进度未受较大影响。
4. 我们在计划中留下了缓冲区,每项任务都安排了较长的时间,缓冲区使得大家的进度齐平,不会出现某一方面的进度拖后腿的现象。
5. 将来的计划会与先前一样。
资源
1.项目初始时,我们兴奋的认为学长的代码就是我们最好的资源,可以说资源充足。结果却发现学长的代码并不能运行,也就是说事实上资源并不充足,只有学长工程文件中的数据库可用,数据库中的单词音标又存在乱码的情况。他们所做的测试功能也是我们认为会影响用户记忆单词效率的一个功能,应该作为可选功能而不是主要功能。
2. 我们根据本组大神的项目编程经验,在大神的指导下,对各项任务所需的时间进行估计。各任务的分配时间有较大的伸缩空间,预估时间较长,完成情况不错。
3. 我们采用开发与测试并行的方案,每位成员在开发的同时对自己开发的部分进行测试,发布前将总的测试任务交给专门的测试人员,测试人力足够。在界面设计方面低估了难度,展示时才发现界面粗糙是软件的一个煞笔。
变更管理
1. 我们通过QQ讨论组等一些通讯工具,将变更及时告知给位成员。
2. 我们根据本项目的设想和目标来确定主要任务,从而决定“推迟”和“必须实现”的功能。
3. 项目的出口条件:实现预期功能,包括:
※ 能够准确做到随机选词、已背单词数统计、每日词汇量设置、以查看答案的形式背诵单词、单词发音等预期功能。
※ 正确实现查询输入单词(兼发音)、中英文互译功能。
4. 成员能够有效地处理意料之外的工作请求。
设计/实现
1. 设计工作在项目开始阶段,由PM和团队中有软件开发经验的人完成。
2. 设计工作碰到模棱两可的情况,团队协商解决。
3. 团队运用测试驱动的开发(TDD)、UML来帮助设计和实现,这些工具是我们的目标更为明确,使团队成员更清楚地了解自己的任务。
4. 凡是有数据库插入的操作,出现的bug最多。原因没有考虑到可能会有单词重复的情况。
5. 代码复审(Code Review)时,采用同伴复审的方法,任务相同或相近的成员之间相互审核,对代码进行改进。
测试/发布
1. 项目进行的同时执行测试,最终交由测试人员总体测试,没有详细计划。
2. 进行了正式的验收测试,但由于时间有限,并未在alpha版本发布前将不符合标准的地方一一完善。
3. 团队通过用户反馈和团队测试跟踪软件的效能的,并未使用测试工具。
4. 在发布的过程中发现软件运行略有卡顿的意外问题。
总结:
- 团队目前的状态属于CMM第三级:已管理级。能够做到针对制定质量、效率目标,并收集、测量相应指标。利用统计工具分析并采取改进措施。对软件过程和产品质量有定量的理解和控制。
- 团队目前处于创造阶段
- 目前最需要改进的一个方面是界面设计和数据库。
- 展示效果需要质的提高,一轮的展示并没有充分地展现软件的功能和体现我们所做的工作。
对比敏捷的原则,我们组做的最好的是在迭代过程中坚持做到每天做总结,检查进度,确定方向。
在下个阶段 M2 要改进的地方:完善:对界面做出调整,修改完善数据库;添加:添加单词测试和单词游戏部分。
本周具体任务分配方案如下:
|
Member |
Task |
|
张恿 |
设计新的背单词算法,优化算法设计 |
|
吴文会 |
单词测试部分算法设计 |
|
王旭阳 |
小游戏部分设计 |
|
张绍铭 |
调研添加取词、划词功能是否可行 |
|
庞梦劼 |
数据库调整 |
|
罗洪运 |
界面学习,掌握在项目中插入图表的方法 |
事后分析报告(Postmortem Report)的更多相关文章
- M1事后分析报告(Postmortem Report)
M1事后分析报告(Postmortem Report) 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们项目组所开发的软件为一个基于Andro ...
- 事后分析报告(Postmortem Report)要求
在得到M1 团队成绩之后, 每个团队都需要编写一个事后分析报告,对于团队在M1阶段的工作做一个总结. 请根据下面的模板总结并发表博客: http://www.cnblogs.com/xinz/arch ...
- Alpha阶段事后分析报告
每个团队编写一个事后分析报告,对于团队在Alpha阶段的工作做一个总结. 请在2016年11月24日上课之前根据下述博客中的模板总结前一阶段的工作,发表在团队博客上,并在课上的事后分析会上进行汇报,并 ...
- M1事后分析报告
在得到M1团队成绩之后,每个团队都需要编写一个事后分析报告,对于团队在M1阶段的工作做一个总结. 请在2015年11月24日上课之前根据下述博客中的模板总结前一阶段的工作,发表在团队博客上,并在课上的 ...
- M1事后分析报告--We have power to change the origin state
M1事后分析报告 设计与实现 我们发的软件解决的问题?是否满足后面小组的要求?是否能够完全拟合前期目标? 答: 前期我们的软件完成量并不是特别让人满意,我们组在完成这些任务量之后,发现有很多地方是在做 ...
- Postmortem Report 第一轮迭代事后分析报告
一.设想和目标 1.1 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件<BlueZ>是一款全新动作类塔防游戏.与市面上已经存在的塔防游戏不同 ...
- 事后分析报告(M1阶段)
我们的项目是自选项目,一款名为备忘录锁屏MemoryDebris的软件. 因为我们组成员在此之前都没有接触过安卓开发,于是在第一阶段花了很大的时间和精力学习安卓.又花费了较长一段时间设计软件与研究安卓 ...
- 事后分析报告(M2阶段)
我们的项目是自选项目,一款名为备忘录锁屏MemoryDebris的软件. 在第二轮的迭代中,由于各科的大作业都集中在这一段时间,所以这段时间各个组员间的负担都比较大,但是在大家共同努力,最终我们还是交 ...
- M2事后分析报告
设想和目标 1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 这次M2预想的就是解决3个主要问题,1:增加查询自己购买或者发布记录的功能,2:优化 所有的网络连接 ...
随机推荐
- [Scala] 快学Scala A3L3
Actor 通过尽可能避免锁和共享状态,actor使得我们能够容易地设计出正确.没有死锁或争用状况的程序. Scala类库提供了一个actor模型的简单实现.AKKA是更高级的actor类库. 19. ...
- VS2008 Debug与Release的本质区别(转)
如何设置:工具栏“生成”→“配置管理器”→“活动解决方案配置” 对于VS2008的初次使用者来说,常会遇到的编译问题时,Debug版本运行正常,但在Release版本则不稳定或无法运行.以下是对Deb ...
- PHP保留2位小数 格式化小数、浮点数
JS保留两位小数例子 四舍五入使用函数 toFixed() <html> <head> </head> <script language="java ...
- CentOS6.3 编译安装LAMP(3):编译安装 MySQL5.5.25
所需源码包: /usr/local/src/MySQL-5.5.25/cmake-2.8.8.tar.gz /usr/local/src/MySQL-5.5.25/mysql-5.5.25.tar.g ...
- jvm死锁解决
那我们怎么确定一定是死锁呢?有两种方法. 1>使用JDK给我们的的工具JConsole,可以通过打开cmd然后输入jconsole打开. 1)连接到需要查看的进程.
- PHP学习-链接数据库
链接数据库文件:conn.php <?php $conn = mysql_connect("localhost:3306","root","us ...
- python——连接MySQL数据库
都是照着说明文档来的,主要是为了以后忘记了能快一点想起来. 1. 连接 安装MySQL的时候,自动按照了Python的模块,如果没有的话,也可以在官网下载. 看什么都不如看代码来得快: import ...
- js框架设计1.4类型判断
这篇司徒大神介绍了很多js的 不靠谱类型判断.篇幅也是第一篇中最常的 ,经阅读后,以后一定要用框架的自带的类型判断,万万不可随便乱用js原生判断.
- 使用jvisualvm.exe 的Btrace插件介绍/使用教程
一.背景 在生产环境中可能经常遇到各种问题,定位问题需要获取程序运行时的数据信息,如方法参数.返回值.全局变量.堆栈信息等.为了获取这些数据信息,我们可以 通过改写代码,增加日志信息的打 ...
- ffmpeg-20160828-bin.7z
ESC 退出 0 进度条开关 1 屏幕原始大小 2 屏幕1/2大小 3 屏幕1/3大小 4 屏幕1/4大小 5 屏幕横向放大 20 像素 6 屏幕横向缩小 20 像素 S 下一帧 [ -2秒 ] +2 ...