• 设想和目标

1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
我们的主要任务是将35w+个符合条件的网页,问答,文章放入数据库;爬取功能定义为以下几种:通用型爬取,聚集型爬取,综合型爬取,问答页爬取,pdf爬取,doc爬取,ppt爬取;对于典型用户和典型场景有清晰的描述,这从我们爬取的类型分类就可以看出。
2. 是否有充足的时间来做计划?
大三上后期时间略有些紧,有编译和数据库大作业,还要准备期末考试,不过组员们还是抽出了不少时间来完成beta版本的各项任务。
3. 团队在计划阶段是如何解决同事们对于计划的不同意见的? 
我们会协商讨论,一般情况下会通过讨论得到一致意见,少数情况则按照少数服从多数的原则来进行取舍。

  • 计划

1. 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
基本上都按照计划完成了,后面下游小组又向我们提出了一些新的要求以及相应是需求变更,我们也都完成了相应的修改与调整。
2. 有没有发现你做了一些事后看来没必要或没多大价值的事?
在alpha版本之后,我们深入的思考和反思了自己的得失,发现一些功能的确多余了,在beta版本中,我们事先进行了功能的分析和取舍,基本上我们的工作都有其用处。
3. 是否每一项任务都有清楚定义和衡量的交付件?
大部分时候是有的。
4. 是否项目的整个过程都按照计划进行?
基本上是,一是大家比较自觉,团队凝聚力比较强,二是PM与DEV之间,DEV相互之间都会互相督促。
5. 在计划中有没有留下缓冲区,缓冲区有作用么?
有,在吸取了alpha版本的经验教训后,我们组留下了大约一周的时间作为缓冲时间,来进行和其他学霸团队的协调和对自身功能的完善。

  • 资源

1. 我们有足够的资源来完成各项任务么?
有,网上的爬虫软件很多,能够供我们参考学习的样例也不少。我们团队还有2名参加过实验室爬虫项目的队员,他们给我们提供了不少宝贵的经验。

网上pdf、ppt和doc的数量比较少,但是在罗杰老师的帮助下,还是爬取到了不少专业的文档。
2. 各项任务所需的时间和其他资源是如何估计的,精度如何?

根据M1阶段完成任务的时间和效率,给每位dev分任务,并在每次daily scarm上进行调整,精度由于daily scarm基本可以接受。

3. 用户测试的时间,人力和软件/硬件资源是否足够?
足够。有三个测试分别从不同的方面做黑盒以及白盒测试,充分模拟了用户的情况。

  • 变更管理

1. 每个相关的员工都及时知道了变更的消息?
每天都有daily scarm,我们QQ群会经常聊天以沟通最新的变化或进展,同时出现重大的bug的时候会召集成员进行面对面的交流。
2. 我们采用了什么办法决定“推迟”和“必须实现”的功能?

参考不断完善中的需求分析文档来判断哪些功能是“必须实现”的功能,通过分析功能的紧急程度,任务的时间剩余以及人员能力来讨论哪些功能必须做哪些可以推迟。
3. 对于可能的变更是否能制定应急计划?
可以,我们留出了足够的缓冲时间来应对可能出现的种种问题。
4. 员工是否能够有效地处理意料之外的工作请求?
能,新的意外的工作请求会发到群里讨论分配给新的人做或延长原负责人的规定时间。

  • 设计/实现

1. 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
使用了单元测试,我们会对不同的模块进行测试,看他是否已经完善没有bug且符合规格。这些工具都是比较有效的。
2. 什么功能产生的Bug最多,为什么?

主要是爬虫频繁访问造成的503错误以及使用多线程所产生的bug。
我们后期基本上修复了各种类型的bug,目前发现的bug基本上都能够很好地避免或修复。
3. 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
这个是从头到尾一直在进行的,测试人员和开发者A,B,C会对开发者D写的代码进行审核,因为首先复审是测试分内的事,而A,B,C一是要二次检查D的代码是否有一些幼稚的错误,二是确定D写的代码有没有对整体代码架构造成不良的影响,确保整体代码保持一个高内聚、低耦合的特质。

  • 测试/发布

1. 团队是否有一个测试计划?为什么没有?
我们有测试计划,而且测试的效果比较好。
2. 是否进行了正式的验收测试?
进行了。
3. 团队是否有测试工具来帮助测试?
单元测试使用了Junit以及Emma工具。
4. 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
TFS 还是很有用的,至于改进,有这样一些建议:
(a)输入Bug 还是步骤比较多,很多需要手动重复填写的字段。
(b)不是所有的Bug 或 task 都记录在TFS中。
5. 在发布的过程中发现了哪些意外问题?
基本上没有出什么意外。

会议讨论图片记录:

M2阶段事后总结的更多相关文章

  1. M2阶段事后总结报告

    会议照片: 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 开发一个快捷方便的记事本App.从用户体验角度出发,在一般记事本App的基础上进行创新 ...

  2. 事后分析报告(M2阶段)

    我们的项目是自选项目,一款名为备忘录锁屏MemoryDebris的软件. 在第二轮的迭代中,由于各科的大作业都集中在这一段时间,所以这段时间各个组员间的负担都比较大,但是在大家共同努力,最终我们还是交 ...

  3. “北航学堂”M2阶段postmortem

    “北航学堂”M2阶段postmortem 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 这个问题我们在M1阶段的时候就已经探讨的比较明确了,就是 ...

  4. sixsix团队M2阶段Postmortem

    设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 要解决的问题:目前外卖网站比较多,用户很难快速找到合适的外卖,我们集合各个网站的外卖信息,为用户提 ...

  5. [Alpha阶段]事后分析博客

    目录 Alpha阶段事后分析博客 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队的角色,管理,合作 总结 讨论照片 Alpha阶段事后分析博客 作业要求:Alpha阶段事后分析 设想和 ...

  6. 【个人阅读】M1/M2阶段总结

    1.以前博客的链接 http://www.cnblogs.com/zyctsl/p/4028006.html http://www.cnblogs.com/zyctsl/p/4094011.html ...

  7. 【个人阅读】软件工程M1/M2阶段总结

    这次作业是好久以前布置的,由于学期末课程设计任务比较重,我在完善M2阶段的代码的同时又忙于数据库的实现和编译器的实现,一度感觉忙得透不过气来....到这些都基本完成的时候,会看自己以前的阅读心得,觉得 ...

  8. M1/M2阶段总结

    之前提问的博客 问题解答 问题 1 关于代码复审,复审者是否应该参与编码?如果复审者也参与编码的话,那么难免任务量较多,但如果不参与编码的话,工作分配的似乎不太均衡. 我们的团队项目在M1和M2阶段没 ...

  9. M1阶段事后分析

    M1阶段的开发结束了,在周四的课上我们组也进行了alpha阶段的汇报.我们的努力得到了应有的回报,下面我们将针对M1阶段产生的一些问题进行分析和反思. 一.设想和目标 1.我们的app更像是一款针对北 ...

随机推荐

  1. zabbix监控磁盘IO

    我这里有两种方法,感觉都不错.我这里主要是写一下监控的脚本. 1.使用iostat命令监控 1)首先打开配置文件的自定义脚本功能,然后编写脚本. #!/bin/bash ];then echo &qu ...

  2. Linux远程访问及控制(SSH)

    1.ssh协议:用于远程登录,端口号:22/tcp 配置文件: 1)服务器端口:/etc/ssh/sshd_config 2)客户端 :/etc/ssh/ssh_config 2.服务器监听选项: U ...

  3. Python用户名密码登录系统(MD5加密并存入文件,三次输入错误将被锁定)及对字符串进行凯撒密码加解密操作

    # -*- coding: gb2312 -*- #用户名密码登录系统(MD5加密并存入文件)及对字符串进行凯撒密码加解密操作 #作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.co ...

  4. JDK动态代理源码解析

    动态代理.静态代理优缺点     关于JDK的动态代理,最为人熟知的可能要数Spring AOP的实现,默认情况下,Spring AOP的实现对于接口来说就是使用的JDK的动态代理来实现的,而对于类的 ...

  5. 深入浅出RxJava(三:响应式的好处)

    在第一篇中,我介绍了RxJava的基础知识.第二篇中,我向你展示了操作符的强大.但是你可能仍然没被说服.这篇里面,我讲向你展示RxJava的其他的一些好处,相信这篇足够让你去使用Rxjava. 错误处 ...

  6. 【转】android IDE——通过DDMS查看app运行时所占内存情况

    在Android内存优化方面,我们不可能做到没有大内存的占用情况. 所以有时候要清楚我们的app到底占用了多少内存,哪一步操作占用了多少的内存. 这时候,android的ddms中提供了一个工具,是可 ...

  7. select * 和select 所有字段的区别

    文章取自http://blog.csdn.net/u014305991/article/details/44964171 MySQL 5.1.37 表记录数41,547,002,即4000w行 使用远 ...

  8. strlen的容易tle情况

    for(int i=1;i<=strlen(**);i++ 这很容易tle 因为 strlen很大 int m=strlen(**)

  9. jmeter(十一)JDBC Request之Query Type

    工作中遇到这样一个问题: 需要准备10W条测试数据,利用jmeter中的JDBC Request向数据库中批量插入这些数据(只要主键不重复就可以,利用函数助手中的Random将主键的ID末尾五位数随机 ...

  10. Linux DNS原理简介及配置

    Linux DNS原理简介及配置 DNS简介 DNS原理 域名解析的过程 资源记录 DNS BIND安装配置 一.简介 一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访 ...