M1阶段事后总结

  • 设想和目标

1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
我们组要爬取网上的内容供下一组使用,定义的不太清楚,因为用户只有下一个团队所以没有进行详细的需求分析,而且和下一个团队做的交流也有限,没有及时得到下个团队的需求反馈。
2. 是否有充足的时间来做计划?
有时间,我们组在展开工作之前总共开了两次很长会,进行了大量的讨论。
3. 团队在计划阶段是如何解决同事们对于计划的不同意见的?
我们会协商讨论,直到计划得到大家的认可。

  • 计划

1. 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
学长遗留下来的诸多bug均已经修复,而且所有几个新增功能都做完了,但有些功能模块没做好,仍有BUG需要改。因为剩下的时间不太够了。
2. 有没有发现你做了一些事后看来没必要或没多大价值的事?
有。比如选择存储路径的功能我们做了之后又删掉,因为我们一开始对总体规划不够,而且与下一个组沟通欠佳。
3. 是否每一项任务都有清楚定义和衡量的交付件?
有些有,比如爬虫爬取数据量的要求(十万级页面)、过滤无关页面的准确率这些都能从已经存在的一些爬虫软件中获得清楚定义和衡量的交付件;而有些没有,因为一些新增功能的评判我们大家都不知道做到多少才叫“好”。有些情况下,大家对细节过早地进行讨论,花了很多时间。不如等到后来再讨论。
4. 是否项目的整个过程都按照计划进行?
基本上是,一是大家比较自觉,团队凝聚力比较强,二是PM与DEV之间,DEV相互之间都会互相督促。
5. 在计划中有没有留下缓冲区,缓冲区有作用么?
没有,因为展开工作之前我们已经开了两次长会,充分考虑了各个功能的完成时间,功能我们觉得自己可以按时写完,而且事实上我们也实现了所有预计的功能。
6. 将来的计划会做什么修改?(例如:缓冲区的定义,加班)
首先我们要留下缓冲区,以备进度完成情况不好。
然后是要在动手开发前做更多的计划,避免开发过程中做无用功。

  • 资源

1. 我们有足够的资源来完成各项任务么?
有。
2. 各项任务所需的时间和其他资源是如何估计的,精度如何?
开始精度很粗略,后来随着项目任务的加重,大家只顾得上干活,没时间考虑精度问题。
3. 用户测试的时间,人力和软件/硬件资源是否足够?
足够。有三个测试分别从不同的方面做黑盒测试,充分模拟了用户的情况。

  • 变更管理

1. 每个相关的员工都及时知道了变更的消息?
我们QQ群会经常聊天以沟通最新的变化或进展,同时出现重大的bug的时候会召集成员进行面对面的交流。
2. 我们采用了什么办法决定“推迟”和“必须实现”的功能?
综合1、紧急程度(讨论协商定) 2、时间剩余 3、人员能力 来讨论哪些功能必须做哪些可以推迟。
3. 对于可能的变更是否能制定应急计划?
一般不能,直接告诉具体负责人要做哪些变更,没有应急计划。
4. 员工是否能够有效地处理意料之外的工作请求?
能,新的意外的工作请求会发到群里讨论分配给新的人做或延长原负责人的规定时间。

  • 设计/实现

1. 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
使用了单元测试,我们会对不同的小模块进行测试,看他是否已经完善没有bug且符合规格,前者是比较有效的(无法下载pdf功能),但是我们没有做UML的测试。
2. 什么功能产生的Bug最多,为什么?
url爬取识别过程的BUG最多。因为这是我们最难的核心功能,总不同的URL有不同的形式,容易出现各种BUG。
3. 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
这个是从头到尾一直在进行的,测试人员和开发者A,B,C会对开发者D写的代码进行审核,因为首先复审是测试分内的事,而A,B,C一是要二次检查D的代码是否有一些幼稚的错误,二是确定D写的代码有没有对整体代码架构造成不良的影响,确保整体代码保持一个高内聚、低耦合的特质。

  • 测试/发布

1. 团队是否有一个测试计划?为什么没有?
我们有测试计划,而且测试的效果比较好。
2. 是否进行了正式的验收测试?
进行了,发现了bug,于是又清空了数据库并修改了bug。
3. 团队是否有测试工具来帮助测试?
单元测试使用了Junit工具。
4. 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
TFS 还是很有用的,至于改进,有这样一些建议:
(a)输入Bug 还是步骤比较多,很多需要手动重复填写的字段。
(b)不是所有的Bug 或 task 都记录在TFS中。
5. 在发布的过程中发现了哪些意外问题?
比如,由于我们采用的是google pagerank算法,他是根据网页之间相互的超链接计算每个网页的热度,录视频的时候由于时间不够,所以爬取了很少url,我们发现热度排序功能的算法在抓取数据量不大时迭代次数较少,不能很好地将网页都按热度排序,算法适用性低。

  • 两个问题:

1) 对比敏捷的原则, 你觉得你们小组做得最好的是什么?
我们觉得我们小组做的最好的地方是敏捷原则中的“拥抱变化”。
每当有新的问题出现时,我们都可以最迅速地解决。
在代码刚拿到手我们大概读了一遍后,我们发现整个项目与我们想象的完全不同:代码质量没想象中的好,功能实现差的很多,没想到的还有要学服务器、数据库还有TFS得使用。但是我们通过1次网上讨论,两次全员会议和多次部分人员会议迅速地制定了下一步地方向。
开发过程中,我们又遇到很多没想到的新问题:1最开始测试的时候,发现怎么爬都爬不到pdf文件,即使爬到的pdf也只是数据库中的坏项,最后发现是学长保存pdf文件的bug2由于是多线程程序,新增的热度排序功能实现起来难度很大,BUG很多、3临展示发现选择本地文件功能没用、4临展示下一组告诉我们数据库有问题
可我们都通过及时地内部讨论、变更计划、重新规划计划完成了最终的ALPHA版本,这是我们小组最棒最自豪的地方。

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

下一阶段我们必须改进的是要做好整体地规划:
在这一阶段,我们需求讨论阶段做了大约两天,讨论出结果后以为可以开始干活了,可是之后进行过程中发现事实不是如此。或者是做的功能多余,或者是做完已有功能后不知道下一阶段干什么,导致软件开发过程中走了很多弯路。
因此,我们下一阶段必须在整体地架构上多费功夫。这个不是会不会的问题,而是用心不用心的问题。我们要花大约3天的时间来仔细地探讨我们得需求,尽可能多地罗列,然后为每个需求得重要性、可行性进行评估,得出实现每个需求的性价比。然后结合我们可以开发的时间,来确定最终需求。同时留出缓冲区时间,以防止意外需求或某些不可控因素干扰进程。这样我们就可以保证我们的需求对症下药、药到病除,以最少地精力达到最好的效果。

会议讨论图片记录:

时间: 2024-10-12 08:24:23

M1阶段事后总结的相关文章

M1阶段事后总结_

M1阶段的开发结束了.我们的努力得到了应有的回报,下面我们将针对M1阶段产生的一些问题进行分析和反思. 一.设想和目标 1.我们的app更像是一款针对北航学子的“知乎”应用.这款app可以实现基本功能:用户管理.搜索.分类.上传下载.用户贡献与交互等. 2.在alpha阶段,我们利用第一周的时间对学长的代码进行解读和分析,制定出相应的计划.我们认为制定计划的时间是非常充裕的,但是由于我们的经验不足,在测试原有网站的功能时出现了一些问题,导致后期修改原代码中的bug占据了过多的时间. 3.由于团队

M1阶段事后分析

M1阶段的开发结束了,在周四的课上我们组也进行了alpha阶段的汇报.我们的努力得到了应有的回报,下面我们将针对M1阶段产生的一些问题进行分析和反思. 一.设想和目标 1.我们的app更像是一款针对北航学子的“知乎”应用.这款app可以实现基本功能:用户管理.搜索.分类.上传下载.用户贡献与交互等. 2.在alpha阶段,我们利用第一周的时间对学长的代码进行解读和分析,制定出相应的计划.我们认为制定计划的时间是非常充裕的,但是由于我们的经验不足,在测试原有网站的功能时出现了一些问题,导致后期修改

M1阶段个人总结

M1阶段工作分析及总结 团队负责开发北航MOOC网站的手机客户端,虽然上一届的学长们也已经做过一个APP,但是试用之后确实并不是很喜欢,从UI到功能设计,都觉得很简陋,所以我们计划是重新写.不过又让我想到<构建之法>里新人想要推翻前辈写的程序,结果自己写的还不如的成果.所以抱着忐忑和期待我们规划了我们的工程进度计划表. 因为选定的主题是北航MOOC,所以主色调还是选择了代表性的北航蓝.分工的时候大家一起画草稿图,设想大概的页面的设计,然后分工,UI设计一个,Coder四个,Blog一个. 我负

团队项目M1阶段个人反思

郑培蕾: 作为项目的PM,我前期的工作还是有很大的缺陷的,因为没有在开发之前对项目进行一个合理的评估,所以后来分配任务的时候就很不科学, 而且任务分配的比较粗糙,没有细化到每个人每天应该做什么,这就导致我们在后来的工作中因为联网部分造成项目卡顿,这是项目最终失败一个 很重要的原因:其次是我们团队内部成员之间的交流比较少,几名主要负责开发的成员都是在自己摸索自己的那部分,没有进行良好的沟通,所以 后来我们在展示之前费了很大的功夫去修改:还有就是团队的积极性没有调动起来,有些同学没有认真地投入进去,

Alpha阶段事后分析报告

Alpha阶段事后分析报告 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 网站能够采集专业化社区中的问答数据.高质量课程资源.专业技术文档中的内容,为使用者提供一体化的.精准的.高质量的搜索内容2. 是否有充足的时间来做计划? 计划得比较仓促3. 团队在计划阶段是如何解决同事们对于计划的不同意见的? 分析可行性以及向学长以及有经验的老前辈咨询 用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么? 不一致未达到预期

团队Beta阶段事后分析

团队Beta阶段事后分析 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件要解决用户的休闲娱乐问题,为用户提供好玩的模拟经营类的游戏,游戏主题是软件开发公司的成长历程.对典型用户和典型场景有清晰的描述. 我们达到目标了么(原计划的功能做到了几个? 按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?) 我们的功能达到了基本目标,总共5个功能做了3个,但没有按照原计划按时交付延期发布,并因此用户没有达到基本目标. 和上一个阶段相比,

Alpha阶段事后诸葛分析

1.事后诸葛分析 一.设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 要解决的问题:我们的软件需要解决用户打卡的问题. 定义清楚:包括具体的新建活动.新建打卡.首页搜索.奖励机制等功能. 清晰的描述:在之前的部分博客对于典型用户和典型场景有着清晰的描述. 2. 我们达到目标了么(原计划的功能做到了几个? 按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?) 我们没有全部完成预期的目标. 原计划的功能做到了:新建活动.新建打卡.我的活

M1阶段的开发过程的一些反思

今天八组队伍都做了项目的展示,和他们相比,我们的团队项目是显得最单薄的了,这里面的原因很多,固然我们团队整体的实力 比较弱,但是我们在M1项目开发过程中的种种错误表现也是导致我们项目失利的重要原因.下面我分析一下这些经验教训,作为对M1阶 段的总结,我们会在M2阶段规避这些错误,也希望能给将来的学弟学妹的项目规划作一些参考. 首先,我认为我们所犯的最致命的错误是项目任务的草率分配.我们刚拿到学长IOS代码的时候,完全是属于晕头转向的阶段,就连 苹果的虚拟机都安装不好,学长代码跑成什么样子也是完全

beta阶段事后分析

设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的网站希望提供一个课程评价平台,帮助同学更好的了解每一门课的信息和评价.也提供了一个同学发表自己关于课程的想法的平台. 网站定位清晰.我们面向的典型用户就是每一个选课存在困难的学生,帮助他们在选课时间段很好的了解到上一届学生每一门课的评价. 我们达到目标了吗? 我们beta阶段的目标是在alpha阶段的基础上实现功能的扩充和界面的美化.在实现过程中,我们实现了对评价增删改的支持,对评价下讨论功能时