设想和目标

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

我们要解决的目前的手写表单的电子化问题,办公电子化问题的一个key问题。定义十分清楚:

  • 输入: 手写表单的照片或者其他电子格式的手写表单
  • 输出:格式化的电子表单
  • 具有详细的典型用户和典型场景分析,可以参考我们的[用户分析]
  1. 我们达到目标了么(原计划的功能做到了几个? 按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?)
  • 目标: 一个完整的OCR后盾
  • 完成情况:初步完成
  • 交付时间:初步完成
  • 用户数量:104/100 达标
  1. 和上一个阶段相比,团队软件工程的质量提高了么? 在什么地方有提高,具体提高了多少,如何衡量的?

质量提高了,github pr的使用受到了助教和老师的表扬和支持,提高了issue的管理和线上comment交流。

我们的APP使用量也得到了高速提升。

  1. 用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?

一致,我们现在距离最终目标更近了。

有什么经验教训? 如果历史重来一遍,我们会做什么改进?

  • 要做OCR API技术调研
  • 要做OCR技术分析
  • 要做前端UI的优化设计

计划

  1. 是否有充足的时间来做计划?

其实很少,因为我们是敏捷开发

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

PM:收集意见

两个组长:提供讨论和最终决策

组员:可以随时与组长以及PM讨论

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

有没做完的:

  • 后端部署的域名:备案收到了阻碍
  • 还有多页的特殊表格
  1. 有没有发现你做了一些事后看来没必要或没多大价值的事?

没有,我们的团队还是非常自信的。

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

有,交付件我们有详细的说明.

  1. 是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?

有风险:我们OCR的训练代码比预计的跑通时间晚了四天,原因是azure是实在太慢而且很难用,最后还是连夜完成的。

没有估计到的原因:我们同学对该技术不了解。

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

有缓冲区,还好有缓冲区,不然我们可能会非常被动的度过发布ddl

我们学到了什么?如果历史重来一遍,我们会做什么改进?

  • 提前做好备案
  • 提前做好OCR预案防止OCR突然异常。

资源

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

没有,我们缺少数据库服务器,最后还是只好和后端配置在一起。

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

时间资源估计的粒度在小时级别,任务在天级别。

技术资源根据技术工作分析方法做的,还有物质资源,比如我们花钱解决的azure账号问题。

  1. 测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?

软件资源还行,但是硬件资源不够,学校提供的硬件资源确实有限。UI UX的设计是我们β的重点。

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

有的。

彭毛小民:我觉得我帮助OCR组以及前端组调试代码很有帮助 。

黎正宇:我帮助组内整理document加快进度。

叶开辉:处理完自己的工作,我就去做游客模式的APP

肖思炀:我解决了表单的处理问题。

伦泽标:我接受了队友未能完全解决的OCR工作。

乔玺华:解决了超多前端遗留问题

变更管理

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

腾讯会议通知到位的。

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

推迟:技术困难我们讨论是否可以推迟

必须实现:milestone和阻塞其他功能开发的必须实现。

  1. 项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?

有的。

出口条件:

对于测试计划这一块我也详细的说明一下:

我们的测试有两种粒度:

  • 单元测试: 面向代码级别的单元测试,具体的测试文件可以参考我们的测试报告和alpha阶段结束报告。
  • 技术功能测试: 这一块可以参考测试报告里面的内容,涵盖了功能测试、极端情况测试、用户场景测试、还有测试矩阵的设计多个层次。
  1. 对于可能的变更是否能制定应急计划?

是,变更了OCR技术计划后,我们做的更好了。

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

其实很难,PM本人觉得这点挺难的,因为大家还是有课业,我们也能李洁

设计/实现

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

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

  3. 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么? 比较项目开始的 UML 文档和现在的状态有什么区别?这些区别如何产生的?是否要更新 UML 文档?

  4. 什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?

OCR,因为确实是一个未知的技术领域。我们当时也想到了。

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

github pull request,有comment,有限制不能PR的commit,有限制merge的警告。做的很充分。

严格执行了代码规范!

测试/发布

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

有。

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

有。我们一直用gitlab ci完成。

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

如上。

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

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

意外,域名问题。感谢助教提醒。

有什么经验教训? 如果历史重来一遍,我们会做什么改进?

我们会OCR方面也做一些单元测试,会更好。

团队的角色,管理,合作

  1. 团队的每个角色是如何确定的,是不是人尽其才?

确定方案其实是同学们互相讨论,根据自己擅长的内容做的。

  1. 团队成员之间有互相帮助么?

有而且非常多,我们每个小组都是合作开发的。

  1. 当出现项目管理、合作方面的问题时,团队成员如何解决问题?

团队成员会找PM申请一起开会讨论。

每个成员明确公开地表示对成员帮助的感谢 (并且写在各自的博客里):

我感谢 _______<姓名>______对我的帮助, 因为某个具体的事情: _____________________。

彭毛小民:

肖思炀:

伦泽标:

黎正宇:

叶开辉:

赵涛:

马延:

总结

你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次? CMMI五级,优化级

你觉得团队目前处于 萌芽/磨合/规范/创造阶段的哪一个阶段? 创造阶段。

你觉得团队在这个里程碑相比前一个里程碑有什么改进? 我们实现的自己的突破。

你觉得目前最需要改进的一个方面是什么? 前端设计要加油!

正如我们前面提到的, 软件的质量 = 程序的质量 + 软件工程的质量,那团队在下一阶段应该如何提高软件工程的质量呢?

  1. 代码管理的质量具体应该如何提高? 代码复审和代码规范的质量应该如何提高?

我们这边的做法是在code review阶段会有很多comment。

  1. 其它软件工具的应用,应该如何提高?

我们在做百度、腾讯多个云服务的调研。

  1. 项目跟踪用户数据方面,计划要提高什么地方?例如你们是如何知道每日/周活跃用户等数据的?

后台有API调用统计,未来会建立feedback

  1. 项目文档的质量如何提高?

需要专人复审,需要定时修改和讨论。

  1. 对于人的领导和管理, 有什么具体可以改进的地方? 请看《构建之法》关于PM、绩效考核的章节, 或者 《人件》等参考书

感谢《构建之法》。PM参考了很多。

[no_code][Beta]事后分析的更多相关文章

  1. Beta——事后分析

    事后总结 NameNotFound 团队 项目 内容 北航-2020-软件工程(春季学期) 班级博客 要求 Beta事后分析 课程目标 通过团队合作完成一个软件项目的开发 会议截图 一.设想和目标 软 ...

  2. 【二食堂】Beta - 事后分析

    事后分析 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? Beta阶段我们首先要对文本标注方式进行优化,其次时添加好友系统,实现邀请好友共同标注的功能. ...

  3. [no_code][Alpha]事后分析

    $( "#cnblogs_post_body" ).catalog() 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们要解决的 ...

  4. beta事后分析

    设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 软件要解决的问题是是开发一个简易方便,为用户带来便捷且功能齐全的表情包管理小程序: 预期的典型用户 ...

  5. 团队作业10——复审与事后分析(Beta版本)

    Deadline: 2017-6-13 22:00PM,以博客发表日期为准 评分基准: 按时交 - 有分,检查的项目内容为后文的两个方面 Beta阶段项目复审(单独一篇博客) 事后诸葛亮分析报告(单独 ...

  6. 团队作业10——事后分析(Beta版本)

    团队作业10--事后分析(Beta版本) 目录 一.设想与目标 二.计划 三.资源 四.变更管理 五.设计与实现 六.测试与发布 七.总结 八.图片和贡献分分配 一.设想和目标 1.我们的软件要解决什 ...

  7. 【集美大学1411_助教博客】团队作业10——项目复审与事后分析(Beta版本)

    写在前面的话 软件工程课结束了,大家开心吗?是不是再也不用熬夜写代码了?如果这门课你真的熬夜写代码了,相信你一定有收获,如果这门课结束了你觉得是自己一个全新的开始,那么这门课的意义就实现了.团队作业全 ...

  8. 【2017集美大学1412软工实践_助教博客】团队作业10——项目复审与事后分析(Beta版本)

    写在前面的话 转眼轰轰烈烈本学期的软工实践就结束了,这个过程中想必在熬夜敲代码,激烈讨论中留下诸多回忆的同时,也收获了不少.恭喜所有团队完成了本阶段冲刺,此外,由于大家的贡献分给的都很平均,将个人贡献 ...

  9. 集美大学网络1413第十五次作业成绩(团队十) -- 项目复审与事后分析(Beta版本)

    题目 团队作业10--项目复审与事后分析(Beta版本) 团队作业10成绩 --团队作业10-1 Beta事后诸葛亮  团队/分值 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队的角色 ...

随机推荐

  1. openswan协商流程之(一):main_outI1()

    主模式第一包:main_outI1() 1. 序言 main_outI1()作为主模式主动发起连接请求的核心处理函数,我们可以通过学习该函数的处理流程来探究openswan中报文封装的基本思想.如果之 ...

  2. Nginx:无处不在的Nginx的八个应用场景与配置

    --- 阅读时间约 15 分钟 --- Nginx概述 众所周知,互联网已经离不开  WEB服务器  ,技术领域中  WEB服务器  不止  Nginx  一个,其他还有很多如  Apache  . ...

  3. 小白也能看懂的dubbo3应用级服务发现详解

    搜索关注微信公众号"捉虫大师",后端技术分享,架构设计.性能优化.源码阅读.问题排查.踩坑实践. 本文已收录 https://github.com/lkxiaolou/lkxiao ...

  4. 密码学系列之:bcrypt加密算法详解

    目录 简介 bcrypt的工作原理 bcrypt算法实现 bcrypt hash的结构 hash的历史 简介 今天要给大家介绍的一种加密算法叫做bcrypt, bcrypt是由Niels Provos ...

  5. Spring Cloud Eureka 之常用配置解析

    [原创内容,转载.引用请注明出处] 1. 配置项解析 1.1 通用配置 # 应用名称,将会显示在Eureka界面的应用名称列 spring.application.name=config-servic ...

  6. 解决idea debugger Frames are not available

    现象:idea2017.3.7 sofaboot项目debugger报错 Frames are not available. 之前好用,不知道为啥突然不能debugger,run能正常运行代码.如下图 ...

  7. linux命令(用户)

    一.常用命令 1.1 ls ls 命令是 linux 下最常用的命令,ls 命令就是 list 的缩写. ls 用来打印出当前目录的清单.如果 ls 指定其他目录,那么就会显示指定目录里的文件及文件夹 ...

  8. PHP的Sodium加密扩展函数了解

    这是本次加密扩展系列的最后一篇文章,也是我们要学习了解的最后一个 PHP 加密扩展.Sodium 出现的目的也是为了代替 Mcrypt 这个原来的加密扩展.在 PHP7.2 之后,Mcrypt 已经被 ...

  9. js不记录某个url链接历史访问,返回时不返回该链接

    (function(){ var fnUrlReplace = function (eleLink) { if (!eleLink) { return; } var href = eleLink.hr ...

  10. css3 图片变黑白 filter

    /*图片黑白*/ .img-gray { -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: gray ...