事后分析报告(Postmortem Report)

小组讨论照片

事后分析报告(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

张恿

设计新的背单词算法,优化算法设计

吴文会

单词测试部分算法设计

王旭阳

小游戏部分设计

张绍铭

调研添加取词、划词功能是否可行

庞梦劼

数据库调整

罗洪运

界面学习,掌握在项目中插入图表的方法

上一篇:在PHP中如何使用消息列队


下一篇:深入理解java虚拟机系列初篇(一):为什么要学习JVM?