福大软工 · 第十一次作业 - Alpha 事后诸葛亮(团队)

组长博客链接

现代软件工程 项目Postmortem 模板

设想和目标

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

    .我们的软件是聚合多个平台的音乐。主要还是模仿以有的音乐软件的进行设计的。

  2. 我们达到目标了么(原计划的功能做到了几个? 按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?)?

    目前只实现了原计划的几个界面。主要的好多功能都没实现。没有在deadline之前完成任务。

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

    目前还没有做推广,所以没有用户。如果有完善的版本,我们将考虑推广。

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

    在最开始的时候就没有定下很具体,可实现的计划。组内成员的沟通也有很大的问题。我想做的最大的

    改进就是能加强沟通,这样对任务的完成具有很大的帮助。

计划

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

    有是有,但是制定的计划不合理。

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

    无非是大家多讨论,通过合理的假设来推断计划的可行性。

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

    并没有做完。第一次做,难免会有不熟悉的地方,所花费的时间多,也没有他人帮助。

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

    由于没有沟通好的原因,会导致组员之间的工作有重复的地方。目标的不明确也会导致做了许多的无用功。

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

    没有,只有某些的任务具有清楚定义。

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

    根本没有按照计划去实现,组员的积极性实在是不高。

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

    有计划过留个缓冲区,缓冲区的作用是帮助大家整合所作的成果,以及制定下一步的计划,这样能更好的为后面的工作做铺垫。但好像反而增强了大家的惰性。

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

    每过一段时间我们将会开一次会议,会议上将会讨论一些问题,针对这些问题做出对将来计划的改善。

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

    软工实践确实是需要团队成员之间互相协作才行的。如果重新再来一次,我觉得首先需要有一个值得信赖的团队。

资源

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

    无,人力资源尤为不足,服务器负载较差。

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

    根据以前的经验来估计的,精度总体匹配良好,存在部分差异。

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

    人力完全不够,日常只有3个人在干活。无,难度在范围内。

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

    爬虫方面交由队员更为合适。

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

    该花钱就花钱,该抱大腿就别孤芳自赏。

变更管理

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

    是的,变更消息我们会优先在群内发布,之后会对无反应的人员再单独联系

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

    做好计划并保留接口

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

    够达成项目发布时的基础目标,并通过了一定的测试,额外目标可以先保留之后陆续测试和更新

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

    目前还在具体商榷等待后续公布方案

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

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

    对软件的开发需要更严谨的协调,我们会在团队协作和任务进度规划上进行改进

设计/实现

  1. 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
  2. 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
  3. 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
  4. 比较项目开始的 UML 文档和现在的状态有什么区别?这些区别如何产生的?是否要更新 UML 文档?
  5. 什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?
  6. 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
  7. 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

测试/发布

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

    有的,但因为基础性的开发并没有完成,在后续会有一个测试。

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

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

    有,android studio自带的虚拟机以及4个不同厂商(覆盖Android5-9)的测试机

  2. 团队是如何测量并跟踪软件的效能的?

    虚拟机以及实体机测试。

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

    产品基础性的开发并没有完成,暂未发布。

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

    有一个合理的测试对项目的修改和完善有很大的帮助。

团队的角色,管理,合作

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

    根据各自的意愿,例如队员本身对于某个方面的精通或是兴趣,尽量保证能够加快进度。

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

    有的,例如开发组在安装android studio期间会进行交流、沟通、情感宣泄以及对于某404公司的感激之情。以及爬虫组在爬取歌曲资源时与亲密伙伴的肢体接触,偶尔存在亲密伙伴需要重启的情况。

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

    冷战

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

我感谢朱跃安对我的帮助, 因为他等了我很久。

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

学到了管理学的重要性。不偷懒,不漠不关心。

总结:

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

    成熟度级别3 - 已定义

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

    磨合

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

    回应比较整齐划一

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

    不漠不关心

  • 评估团队中每个人对本次作业的贡献比例,描述为本次作业的工作流程、组员分工、组员工作量比例(禁止一锅端平的情况,如果没有评估,全组平均后,组长得分减 50%)

    杰 33

    跃安 33

    佳炜 18

    淇 5

    松 5

    泓 3

    裕翔 3

  • 求出本组的现场答辩得分:去除最高总分,最低总分,求平均分(保留2位小数)

    (72+40+52+72+45+53+55+50+61-72-40)/7=55.43

  • 收集其他组对本组提出的问题,并回答(每少回答一点,该项得分扣除5%,扣完为止)

    答1组:

    **1. 是否针对组内分工不明的情况提出相应办法? **

    接下来pm计划亲自深入整个项目,努力成为全栈

    **2. 就目前的进度来看,小组在协作方面似乎遇到了困难,是否考虑如何解决? **

    还在商讨

    答2组:

    1. Alpha版本完成了哪些内容能否有具体的展示?

    已有的内容展现于ppt上

    **2. 你们认为在beta冲刺结束前大概能完成大部分功能吗? **

    暂时无法给出答案

    3. 你们组内是否拥有明确的分工?

    有的,各小组的讨论组都建好了呢

    答3组:

    1. 就目前的进度而言,你们或许后续的工作量挺大,能否有一个合理的初步规划,具体到目标时间内将要完成的成果。

    基础功能先进行完成

    2. 在后续的进度里你们打算怎样去实现你们原先设定的功能,会有与之前期望相异的地方吗?打算做那些变动?

    有的,功能方面会进行精简,保留主体功能。

    3. 目前的瓶颈是什么,导致组内进程缓慢的原因有哪些?后续会怎么调整呢?

    一群懒癌患者,工作人员不超过3人,调整会在近期完成

    答4组:

    无问题

    答5组:

    1. 目前遇到的最大的困难是什么?

    懒,沟通不顺畅

    2. 成员的任务是否落实到位

    3. 有没有对接下来未完成的任务进行明确的计划?

    先保证主体功能的完成

    答6组:

    1. 预计在多久时间内能结束?

    遥遥无期

    2. 预计时间内完成目标是什么?

    全部

    3. 如何看待这次任务没完成?

    非常惭愧

    答7组:

    1. 目前为止组内的最大问题是什么

    不闻不问

    2. 对不同平台的音乐内容是否能有效爬取,为什么没有展示出来,遇到了什么问题

    只完成了一个,不能算不同音乐平台

    3. 核心功能的实现可能性有多大

    极大,但是需要漫长的时间

    答8组:

    1. 对于团队内成员漠不关心的态度,如何采取有效的方法push到每个人?

    方法即将出现

    2. 在已经落后这么多的情况下,最终你们拟定要将app做成什么样子?

    好看的样子(大雾)

    目前的计划是先将主体功能完成。

    3. 对于近期有什么具体的规划?

    还在商讨中。

    PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
    Planning 计划 60 60
    · Estimate · 估计这个任务需要多少时间 60 60
    Development 开发 95 125
    · Analysis · 需求分析 (包括学习新技术) 5 5
    · Design Spec · 生成设计文档 5 5
    · Design Review · 设计复审 (和同事审核设计文档) 5 5
    · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 5 5
    · Design · 具体设计 5 5
    · Coding · 具体编码 60 90
    · Code Review · 代码复审 5 5
    · Test · 测试(自我测试,修改代码,提交修改) 5 5
    Reporting 报告 245 340
    · Test Report · 测试报告 120 180
    · Size Measurement · 计算工作量 5 10
    · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 120 150
    合计 640 775

    学习进度条(2分)

    第N周 新增代码(行) 累计代码(行) 本周学习耗时(小时) 累计学习耗时(小时) 重要成长
    1 500 500 12 12 单元测试的编写
    2 200 700 16 28 Axure原型设计工具的使用、Python的文件读写
    3 500 1200 20 48 Python爬虫的编写、词云图的绘制和Python的文件读写
    4 300 1500 20 68 尝试使用Python深度学习框架
    5 400 1900 14 82 绘制思维导图、利用Qt构建Linux可视化界面
posted @ 2018-12-02 22:45  懋虚  阅读(223)  评论(0编辑  收藏  举报