设想和目标


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

  我们的软件是基于北航MOOC网站做的Android手机客户端,用于便捷的在学校里通过手机做到随时随地学习MOOC上的课程。

  基于目前服务器借口是北航校园网,所以我们的典型用户是校园里的学生,比如在教室或者宿舍的床上不适合用电脑的时候,可以通过手机登录BUAAMOOC在线观看教学视频,或者离线相关视频。

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

  有时间。每周我们都会见面讨论开会至少一次,然后在会议上总结上一阶段的任务,安排下一阶段的分工和计划。

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

  有不同意见的时候我们都是现场提出来,然后大家说出自己的看法,一起商量觉得哪种方案更适合。


计划


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

  我们的计划里还有一些功能都没有实现。因为服务器借口拿到的时候,已经是开始的第三周了,所以很多需要和服务器交互的功能都停滞不前,导致时间不充分。不过我们已经规划到第二阶段完成。

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

  闫昊同学表示他在开始的时候写了数据库,但是到现在都没有去使用他的数据库,而且他自己也没有使用。

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

  大部分都没有。因为对于“完成”的概念我们并不是很清楚,所以与其在开始前规定好做成什么样子,倒不如自己在完成自己负责的功能的时候自己去衡量,但是不崩溃是最起码的要求。

4、是否项目的整个过程都按照计划进行?

  并没有,因为服务器借口拿到的太晚,导致了我们的工程往后推迟了一段时间,但是整个流程是按照计划进行的。

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

  有的,因为每个成员的工作进度不一样,而且互相负责的部分有相互依赖的关系,所以留有缓冲区。

6、将来计划会做什么修改?

  明确缓冲区的长度,规定每天至少工作量。


资源


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

  对我们而言最大的问题可能就是时间上的不充足,这一阶段课业压力很重,所以很多作业都是每天轮流处理。然后就是服务器部分并没有给我们足够的接口去完善需要的功能。

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

  最开始都是大致估计会花费的时间,到最后因为工作都是零散完成的,所以计时反倒没必要。

3、用户测试的时间,人力和软件/硬件资源是否足够?

  采取了直接在手机上使用软件测试,6人5台Android机。

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

  如果是根据编程能力决定,余帆同学表示那肯定是其他三个大神写这个人信息部分更快,甚至一天就能全部搞定。但是我们毕竟是学生,我们在完成这个作业的关键在于自己能够从这个过程中真正学到东西。所以都是按照个人工作能力分配的工作,即使花费时间,那也是自己学习的过程。


变更管理


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

  有需要改动的地方,我们一般在开会的时候都会通知。如果是自己工作的时间,就会在群里通知自己的改动和想法。

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

  根据我们的用户需要比如在线视频播放,课程查询等这些事必须实现的功能。还有根据服务器提供的接口可以实现的功能,比如讨论区部分我们需要自己来写这部分的功能。

3、项目的出口条件(Exit Criteria)是否得到清晰的定义?

  (出口条件是什么……)如果我们定义为可以发布的条件,我们的最低要求是不崩溃,然后是基本功能实现。

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

  并没有,但是状况发生的时候就是找人代替。比如在我们的第一阶段,负责博客的同学因为身体原因请假,他的工作其他人排空闲时间写博客。

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

  我们是只要有问题就在群里提出来,然后大家一起想解决办法,合理解决。


设计/实现


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

  设计工作在其他人开始代码编程之前就开始了,并且出了第一个版本,把主要的页面设计设计好了。然后随着我们编程人员的进行,设计人员也在细节上开始修复。我们的设计工作由金哉仁同学负责。

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

  比如关于主色调的选择,页面跳转的方式,button的颜色等等,我们在开会的时候就现场讨论这些设计,大家投票选出自己觉得好看的设计。

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

  这一部分我们并没有做。

4、什么功能产生的bug最多?为什么?

  测试人员表示登录部分bug最多。因为我们的服务器是内网的测试接口,所以并不支持外网注册的用户登录。而且必须链接Buaa-wifi才能登录使用。

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

  这一部分并没有很好的完成,代码规范也不是很具体的完成,大部分只是在函数后写明功能注释就没了。


测试/发布


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

  因为开发时间问题,所以并没有一个充分的测试计划。

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

  人员直接在手机上运行软件,折腾功能。

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

  没有。(手机算吗……)

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

  人员直接在手机上测试的时候,找到了很多不合理的设计和bug,发现之后也都做了调整和改正。

5、在发布的过程中发现了哪些意外问题?

  发布的时候要求提供北航的正式的认证说明,即证明我们的软件确实是北航的服务器。(文书内容需要询问老师)


其他问题


1、对比敏捷的原则,你觉得你们小组做得最好的是什么?

  首先我认为我们小组在配合分工方面做得很好。在最开始的计划分工讨论的时候,成员的每一个人都根据自己的个人能力以及自己感兴趣的方面去选择自己的工作方面,并且合理估计自己的编程水平负责不同程度不同类型的代码编写。

  然后在成员的积极性上我觉得我们小组成员做得很好。每一次开会的时候,小组成员都会积极发表自己的意见和想法,然后一起商量出更好的方案。

2、什么是在下个阶段 M2 要改进的地方?越具体越好。

  首先是代码开发的问题,因为还有几位成员对于Android开发的一些功能并不是很了解,所以会增加成员一起的代码时间,主要用来解惑钻研功能实现。

  其次是博客攥写,有的时候因为课业压力所以经常忘记更新团队博客,但是M2阶段会作调整,努力每天更新工作进度或者心得感想。

  最后是功能的实现,在M2阶段实现剩下还未实现的功能后,(如果时间剩余),我们计划开发一些其他实用的小功能。


讨论照片


软件工程 BUAAMOOC项目Postmortem结果的更多相关文章

  1. WereWolf项目 Postmortem

    WereWolf项目 Postmortem (博客园的MarkDown编辑器好像有些问题,编号都显示1..) 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描 ...

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

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

  3. 2021S软件工程——结对项目第一阶段

    # 2021S软件工程--结对项目第一阶段 2021春季软件工程(罗杰 任健) 项目地址 1020 1169 --- ## 1 结对感受 总体来说,结对编程与之前的个人编程感觉有很大的不同.有如下几个 ...

  4. BUAA软件工程结对项目作业

    BUAA软件工程结对项目 小组成员:16005001,17373192 1.教学班级和项目地址 项目 内容 这个作业属于哪个课程 博客园班级连接 这个作业的要求在哪里 结对项目作业 我在这个课程的目标 ...

  5. BUAA软件工程个人项目作业

    BUAA软件工程个人项目作业 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人项目作业 我在这个课程的目标是 学习软件开发的流程 这个作业在哪 ...

  6. BUAA 2020 软件工程 个人项目作业

    BUAA 2020 软件工程 个人项目作业 Author: 17373051 郭骏 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人项目作业 ...

  7. 数据处理项目Postmortem

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

  8. Pipeline组项目Postmortem

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

  9. 2021S软件工程——结对项目第三阶段

    2021S软件工程--结对项目第三阶段 2021春季软件工程(罗杰 任健) 项目地址 1020 1169 1 实践反思 1.1 问题分析 两人习惯不一致 没有具体制定时间节点 写完代码才开始" ...

随机推荐

  1. Oracle_spatial的空间操作符介绍

    空间操作符 一.主要空间操作符 1.SDO_FILTER SDO_FILTER(geometry1, geometry2, param); 判断两个几何体是否有相交 SELECT c.mkt_id, ...

  2. 借助强大的IDEA开发ide高效实现equals,hashcode以及toString方法

    IDEA工具提供多种生成hashCode与equals的代码方案,注意:尽量不要使用第一个方案,第一个方案对于null不做判空处理,容易NNP问题. 对于生成toString方法方案,默认使用的是+拼 ...

  3. Postman-自动化传参

    一,自动化传参 在实现接口自动测试的时候,会经常遇到接口参数依赖的问题,例如调取登录接口的时候,需要先获取登录的key值,而每次请求返回的key值又是不一样的,那么这种情况下,要实现接口的自动化,就要 ...

  4. nodeJS---模块与npm包管理工具

    nodeJS---模块与npm包管理工具 一:从模块外部访问另一个模块内的成员; 假如我现在还在D盘中的node文件夹内中的app.js代码改成如下: var msg = 'hello'; var f ...

  5. 在ASP.NET Core上实施每个租户策略的数据库

    在ASP.NET Core上实施每个租户策略的数据库 不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻喷,如觉得我翻译有问题请挪步原博客地址 本博文翻译自: http://g ...

  6. js 按指定属性给对象数组排序(json数组)

    有时,我们有一个json对象的数组集合,如何按指定对象属性来进行排序? //fieldArr为一个json对象数组 var fieldArr = fieldArr.sort(compare(" ...

  7. golang交叉编译:Linux - Windows

    环境:Debian jessiego 1.7.4Windows 7 背景: 在debian中写好的程序编译后在windows上运行. 程序中使用了sqlite3 import( _ "git ...

  8. 非const引用不能指向临时变量

    没找到具体原因,MSDN看到下面这句,VC是从2008才有这一限制的,感觉就是从语法上对临时变量增加了限定,因为一般说来修改一个临时变量是毫无意义的,通过增加限定,强调临时变量只读语义.虽然实际上修改 ...

  9. c# HttpWebRequest Cookie 设置到 webBrowser 控件

    [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)] public static exte ...

  10. js开关插件使用

    一.简介 本篇文章介绍一个比较好使用的js开关插件Switchery,该插件的样式是ios7的滑动按钮插件,并且将很多功能加入到配置项,简单.灵活,支持的绝大部分浏览器(Chrome, Firefox ...