事后诸葛亮分析报告

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

  • 我们的软件要解决什么问题?
    当你需要一个工具时,打开我们的APP就对了;
  • 是否定义得很清楚?
    是的,它的作用就像是是一个工具,当你需要某项操作时,它就在那里;
  • 是否对典型用户和典型场景有清晰的描述?
    设想如下情景:
    小明需要将PDF转为word(功能待完成)于是下载一个专门的工具或打开浏览器寻找在线网站;
    小红需要翻译一个单词,她要么下载专门的单词APP或打开浏览器寻找在线网站;
    ......
    然而如果你拥有我们的APP,你只需要打开它就对了,它会帮你解决你的烦恼;

1.2我们达到目标了么?

目标基本达成,现有功能需要继续优化,后续将加入更多功能;

1.3用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?有什么经验教训? 如果历史重来一遍,我们会做什么改进?

  • 用户量, 用户对重要功能的接受程度和我们事先的预想一致么?
    当前产品存在诸多问题导致用户部分期待落空;
  • 我们离目标更近了么?
    我们不会放弃这项产品,我们会继续优化改善该产品直到用户满意;
  • 有什么经验教训?
    不该盲目自信,应当多想多问;
  • 如果历史重来一遍,我们会做什么改进?
    如果时间能够倒流,我们将投入更多的时间研发优化产品,以期带给用户更好的体验。

2.计划

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

是的,我们每周都会花十五到二十分钟的时间开一个会议以进行规划;

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

我们会针对该问题进行更细致的讨论说明,不断寻找大家都能接受的妥协点;

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

基本完成,但仍有一小部分功能由于存在恶性Bug导致需要大量时间进行修复,无法在α先行版本中体现;

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

基本没有,我们由于花了大量时间在讨论会议上,可以避免此类情况发生;

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

是的,我们的带头大哥亲历亲为;

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

基本按照计划推进,大家都很尽职地完成了各自的任务;

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

在计划初期有这项规划,但由于能力等原因,有些Bug修复时间较长;

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

团队合作真的很重要,一个合作良好的团队对项目的开发其促进是巨大的;如果历史再来一遍,我们会花更多的时间开会议进行讨论规划;

3.资源

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

鉴于Android Studio、appium等开源工具,我们有足够的资源来完成各项任务;

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

在每周会议上我们会针对该部分进行讨论,大多数情况下时间都很充裕;

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

鉴于开源诸多工具,资源还算充足;在美工方面我们团队的UI女神能力出众,能够解决几乎所有这方面的困难;

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

在编程方面笔者曾无数次幻想过;

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

资源基本充足,开源万岁;

4.变更管理

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

是的,我们的带头大哥每次都会在群里@好几次;

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

我们会在每周会议上讨论这个问题;

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

首先要在编程工具上跑起来,之后在不同的环境下跑起来;

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

是的,我们会召开紧急会议;

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

我们每周都会召开会议,每项在会议上决定的请求都将是合理的,大家都会尽职的完成;

5.设计/实现

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

每周会议上我们都会进行讨论,同时我们分工明确,大家都能谋其位,司其职;

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

我们在每周会议上会花充分时间的进行讨论,不存在这种情况;

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

我们在每周会议上会总结上一周的成果,同时在这周同步更新文档;

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

文件清理功能;由于需要检索文件,占用较大内存,没有考虑到移动端的情况;

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

先是个人复审,之后再由团队中职能相同的成员互相复审;

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

代码规范很重要;如果时间能够倒流,一定要投入更多时间在代码规范这块;

6.测试/发布

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

在立项初期我们就针对这个问题进行过讨论并制定了测试计划;

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

是的;

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

我们采用了自动化测试工具appium来帮助把我们进行测试;

6.4团队是如何测量并跟踪软件的效能(Performance)的?压力测试(Stress Test)呢? 从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?

应该多采用几款软件并结合人工测试以达到测试全面化;

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

由于部分功能修复需要较长时间,导致在α版本中部分功能缺失;

7.团队的角色,管理,合作

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

我们在最开始的立项会议上结合个成员能力分配相应工作,充分发挥各成员能力;

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

是的,我们每周会议上会提出各自遇到的难题进行讨论、解决;

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

大家会在每周会议上进行充分的讨论调解;

8.总结

8.1你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?

管理级;

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

规范;

8.3你觉得团队在这个里程碑相比前一个里程碑有什么改进?

大家的合作能力、团队沟通能力都有了极大的提高;

8.4你觉得目前最需要改进的一个方面是什么?

在每周会议上投入的时间太少了;

8.5对照敏捷开发的原则, 你觉得你们小组做得最好的是哪几个原则? 请列出具体的事例

在项目冲刺阶段,大家都会及时反馈进度以及之后的安排;

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

在立项会议上应制定合理规范的制度;

8.7整个程序的架构如何具体提高? 如何通过重构等方法提高质量,如何衡量质量的提高?

在开发前规划好各个模块,保证一个模块只提供一个功能;

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

熟练掌握自动化测试工具以减少基本的bug;

8.9项目管理有哪些具体的提高?

代码更加规范;

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

由于我们的APP是离线产品,我们后续将通过如官网、论坛等收集用户反馈;

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

多写多练;

8.12对于人的领导和管理, 有什么具体可以改进的地方?

暂无;

9.会议照片及角色贡献

9.1 会议照片

会议照片

9.2角色贡献

名字 角色 团队贡献分 可验证贡献
吴佩泽 带头大哥 114 架构,博客,程序功能
孔繁威 编程大牛 101 程序功能
陆梦龙 编程泰斗 100 程序功能
邓霖 编程渣滓 90 程序功能,博客
罗欣彤 UI女神 104 前端界面
陈树东 bug发掘者 98 测试
posted @ 2021-12-12 22:45  VodkaDL  阅读(19)  评论(0编辑  收藏  举报