设想和目标

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

解决外卖信息的碎片化和多平台化,通过信息整合的方式来给用户提供一个更优惠更快速方便的外卖平台。

  • 我们的客户定向于现在所有的外卖服务的购买者,尤其是最近的一波外卖打折风波让外卖这种独特的信息网的的信息价值攀升,是否有充足的时间来做计划?

有时间,但是我们第一次面临7个人团队来进行一个我们完全未知难度的项目,我们认为在最开始我们已经做好了充分的计划和准备,但是我们在途中还是遭遇了很多的苦难与变化,还好我们最后都一一解决,但是这样也极大的减缓了我们的进度。

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

在团队运作的过程中,我们遭遇了非常多的分歧,我们对于不同意见的处理方法,是在我们集体讨论后,进行一些技术验证,然后去决定一个争论的结果。

计划

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

原计划的部分功能没有实现,只有在M2进行实现,我们在途中遭遇了很多技术的困难,耽误进度。

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

其中很多突然的变化,让一些工作成了无用功,但是在某些方面也有一定价值

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

这个方面我们没有做好,我们在内部之间的交付没有做好代码上的约定,导致了高耦合,花了大量的时间去解决这些本来可以避免的细节问题。

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

没有,我们的计划过于理想,其中有些部件的完成进度被耽搁,导致了整个项目的延迟。

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

没有,我们是交付之间的人员直接对接与沟通,两人在deadline的一定弹性范围内就开始联系交付。

  • 将来的计划会做什么修改?(例如:缓冲区的定义,加班)

将来希望对我们的任务做更小,更细节的分类和定位,更准确的时间预计,更灵活、正确的人员安排,让交付的耦合度降低。

资源

  • 我们有足够的资源来完成各项任务么?

我们对于我们这次项目的知识储备相当缺乏,对于项目需要的技术也是未接触过,另外,服务器这一重要的硬件设备我们也是缺乏,最后学校配给的服务器还是无法满足我们的需求。

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

最开始非常天真理想的去估计,时间估计很短,但是实际过程中发现需要的时间远远不止那么少。

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

我们使用了开源平台来进行app的兼容和运行测试,没有大问题,对于客户测试,我们团队内部和周边的朋友也投入了一些时间进行使用。

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

UI这方面的工作我们最后分配挺乱的,最后由我们几个同学进行了UI元素的创作与编辑,由android开发人员进行筛选和编排,这些业务的重叠区应该分离开,将相关的任务分配到该分配的人员。

变更管理

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

我们会第一时间和相关人员说明更新

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

我们根据项目本身的功能来决定,对于多个网站信息这种可以重复劳动得到的就决定推迟。

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

大家都不太懂“出口条件”是什么,经过这一个项目之后,稍稍清楚了一些。但是说实在的,在这个项目里面我们没有用到太多。

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

尽量主管的人员继续解决,如果速度太慢我们就会分配更多的人员

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

能,我们尽量对工作进行科学的分配。

设计/实现

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

像数据库的设计工作在最开始就着重研究了,因为作为核心型的数据点,我们希望数据库和爬虫与设备都有良好的连接约定,android设计师在android端开发的时候设计的有些界面的设计过早,大家为了字体的大小,按钮的尺寸争论,事实上这些事情不应该由开发人员在项目早期来做。

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

大致上没有

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

数据库使用了ER图来辅助设计,单元测试未采用,我们对于每一个组件在交付前都会做一些测试。

  • 什么功能产生的Bug最多,为什么?

爬虫涉及的信息流变化大,数据杂,Bug也最多。

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

代码主要是相关的开发人员进行复审,我们希望最了解代码的人去负责自己的区域。

测试/发布

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

我们的测试计划是在开发时同步测试,然后再整合后结合现在存在的开放性测试平台和人工测试同步进行测试。

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

我们在验收阶段都会对功能进行一个全面的诊断,在项目交付时用了1问中的方法进行测试。

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

有,百度BTC开放平台。

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

我们是在在开发完成的时候运用相关的性能工具对软件进行效能测试,再进行进一步开发。有用,解决我们几个内存占用太多的问题。

我们希望对单元增加更多测试。

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

发现了app之前没有发现的bug,有几个app崩溃的问题,另外,获得发布资格的过程中我们也遇到了很多问题,很多发布平台的审核标准太严格,不严谨,没有给开发者正确的答复。

敏捷开发原则:

  • 以有进取心的人为项目核心,充分支持信任他们

我们团队在这一点上做的很好,我们团队的app点子最早是张明同学的一个点子,他也为这个项目的开发做出了很多,我们充分信任他,并把服务器和app后台的开发交给他,并由他做最后的整合,他把各个内部交付的组件都理解的很好,我们因为他的开发实力弥补了我们之前的一些进度的推迟。

  • 无论团队内外,面对面的交流始终是最有效的沟通方式

我们团队在开发的时候总是选择进行面对面交流,负责爬虫的小伙伴总是选择结对编程,面对面的交流让两个人的沟通更好,互相进行想法的评估,同时也加快了代码的开发速度和提高了正确性。

我们M2需要注意的:

对第二阶段的更充分的计划,对任务的准确划分和拿捏

提前的部件设计和约定,避免后期开发的一些苦难。

对新加入的成员慢慢带入团队,逐渐增加融入感。

对于测试的严谨,希望在时间允许的情况下,单元测试能够实施。

M1事后总结报告的更多相关文章

  1. M1事后分析报告(Postmortem Report)

    M1事后分析报告(Postmortem Report) 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们项目组所开发的软件为一个基于Andro ...

  2. M1事后分析报告--We have power to change the origin state

    M1事后分析报告 设计与实现 我们发的软件解决的问题?是否满足后面小组的要求?是否能够完全拟合前期目标? 答: 前期我们的软件完成量并不是特别让人满意,我们组在完成这些任务量之后,发现有很多地方是在做 ...

  3. M1事后分析报告

    在得到M1团队成绩之后,每个团队都需要编写一个事后分析报告,对于团队在M1阶段的工作做一个总结. 请在2015年11月24日上课之前根据下述博客中的模板总结前一阶段的工作,发表在团队博客上,并在课上的 ...

  4. 事后分析报告(Postmortem Report)要求

    在得到M1 团队成绩之后, 每个团队都需要编写一个事后分析报告,对于团队在M1阶段的工作做一个总结. 请根据下面的模板总结并发表博客: http://www.cnblogs.com/xinz/arch ...

  5. Alpha阶段事后分析报告

    每个团队编写一个事后分析报告,对于团队在Alpha阶段的工作做一个总结. 请在2016年11月24日上课之前根据下述博客中的模板总结前一阶段的工作,发表在团队博客上,并在课上的事后分析会上进行汇报,并 ...

  6. 事后分析报告(M1阶段)

    我们的项目是自选项目,一款名为备忘录锁屏MemoryDebris的软件. 因为我们组成员在此之前都没有接触过安卓开发,于是在第一阶段花了很大的时间和精力学习安卓.又花费了较长一段时间设计软件与研究安卓 ...

  7. 【Alpha阶段】M1事后报告

    时间:2015-11-13 23:30 地点:七公寓一楼会议室 参与人员:窝窝头全体成员(王若愚因事请假) 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述 ...

  8. M2事后分析报告

    设想和目标 1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 这次M2预想的就是解决3个主要问题,1:增加查询自己购买或者发布记录的功能,2:优化 所有的网络连接 ...

  9. M1事后分析汇报以及总结

    一.设想和目标 1. 们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件主要是为了提供周边美食和菜谱查询功能,为“吃货”们提供便利.对典型用户和场景有清晰的描 ...

随机推荐

  1. SQLite简单使用记录

    SQLite,一种轻量级的数据库 想要使用的话首先下载安装包. https://www.sqlite.org/download.html 下载sqlite-netFx20-setup-bundle-x ...

  2. Python pandas & numpy 笔记

    记性不好,多记录些常用的东西,真·持续更新中::先列出一些常用的网址: 参考了的 莫烦python pandas DOC numpy DOC matplotlib 常用 习惯上我们如此导入: impo ...

  3. SDN2017 第三次实验作业

    实验目的 在给定如上实验拓扑情况下,用vlan得到下列虚拟网段 h1--h4互通 h2--h5互通 h3--h6互通 其余主机间无法通信 实验步骤 1. 创建拓扑 #! /usr/bin/python ...

  4. BZOJ5369:[PKUSC2018]最大前缀和(状压DP)

    Description 小C是一个算法竞赛爱好者,有一天小C遇到了一个非常难的问题:求一个序列的最大子段和. 但是小C并不会做这个题,于是小C决定把序列随机打乱,然后取序列的最大前缀和作为答案. 小C ...

  5. MyBatis实战之解析与运行

    本次所谈的原理仅仅只涉及基本的框架和核心代码,并不会全部都说到,比如关于MyBatis是如何解析XML文件和其他配置文件从而的到内容,还有就是JDBC如何使用,关于JDBC如何使用,可以参考我的这篇博 ...

  6. 初学者在Mysql8.0连接时的几个常见基本问题

    最近在做一些java web整合时使用的最新版Mysql8.0.3,发现Mysql连接中的几个问题,总结如下: package db; import java.sql.*; public class ...

  7. day61

    Vue 八.重要指令 v-bind <!-- 值a --> <div v-bind:class='"a"'></div> <!-- 变量a ...

  8. jqgrid 获取选中行主键集合

    如何获取选中行的主键集合呢? 使用  getGridParam(selarrrow) 方法可获取所有选中行的主键集合. 注意:此处的主键集合是指-设置为主键的列(key: true).再次提醒:一个j ...

  9. 第43章 RTC—实时时钟

    第43章     RTC—实时时钟 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fireg ...

  10. 牛掰本机限速软件appband

    带宽调度器AppBand可以为Windows应用程序分配网络带宽并指定数据收发的优先级,用软件的方式实现桌面应用的简单QOS调度.(1) P2P方式的下载软件(BT/eMule/迅雷等)或者在线播放占 ...