第01组 Alpha事后诸葛亮
一、组长链接
https://www.cnblogs.com/tong-/p/11923104.html
二、现代软件工程 项目Postmortem
设想和目标
1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
我们的软件要解决的问题是对福大校内各个任务群、拼车群的资源整合,方便校内学生以更高的效率拼到车或发布任务。另外还有一个板块用来给大家讨论。定义得清楚。有。
2.我们达到目标了么(原计划的功能做到了几个? 按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?)?
目标达到了。功能都完成了,也按计划交付了,但是尚未对外开放。
3.用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?
用户对重要功能的接受程度和我们事先的预想一致。我们离目标更近了。
4.有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
比如需要更早的开启项目,否则后面会比较赶时间。
计划
1.是否有充足的时间来做计划?
有充足的时间来做计划。
2.团队在计划阶段是如何解决同事们对于计划的不同意见的?
通过集体讨论、投票解决同事们对于计划的不同意见。
3.你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
做完了。
4.有没有发现你做了一些事后看来没必要或没多大价值的事?
没有发现你做了一些事后看来没必要或没多大价值的事。
5.是否每一项任务都有清楚定义和衡量的交付件?
是。
6.是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?
都按计划进行。
7.在计划中有没有留下缓冲区,缓冲区有作用么?
否。缓冲区为整个项目的按计划完成增加了保障。
8.将来的计划会做什么修改?(例如:缓冲区的定义,加班)
在每一步计划中留下缓冲区。
9.我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
我们学到了关于微信小程序开发的整个流程。再来一遍,我们会增加计划的预留时间等等……
资源
1.我们有足够的资源来完成各项任务么?
有。
2.各项任务所需的时间和其他资源是如何估计的,精度如何?
根据困难程度估计。精度大致符合预期。
3.测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?
足够。低估了。
4.你有没有感到你做的事情可以让别人来做(更有效率)?
有。
5.有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
做任何事情前要更加了解项目后再入手。
变更管理
1.每个相关的员工都及时知道了变更的消息?
知道。
2.我们采用了什么办法决定“推迟”和“必须实现”的功能?
小组讨论。
3.项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
可以完整实现某项功能的时候算做好了。
4.对于可能的变更是否能制定应急计划?
可以。
5.员工是否能够有效地处理意料之外的工作请求?
能。
6.我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
我们学到了当功能变更的时候需要让其他人员即使了解方便他人手头上的工作。
设计/实现
1.设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
作业发布初期黄皓同学和孙庭鑫同学就开始进行产品的原型设计,是合适的时间和合适的人。
2.设计工作有没有碰到模棱两可的情况,团队是如何解决的?
有,有些界面似乎可存在又没必要,最后又团队内讨论决定的最终方案。
3.团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
是,很有效。
4.比较项目开始的 UML 文档和现在的状态有什么区别?这些区别如何产生的?是否要更新 UML 文档?
现在的uml更加详尽也更加贴近实际需求。这些区别是在产品的开发过程中渐渐对原来的设计有了更实际的改动后产生。
5.什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?
都挺多的。因为作业太难了。发布后没有什么重要的bug。因为大家都是第一次做这种类型的作业所以没有经验于是没有想到这么多情况。
6.代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
一个模块一个模块,一个组件一个组件的来熟悉,掌握。实现一个比较大的功能,尽量严格遵循规范。
7.我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
遇到困难,不要害怕,微笑地面对它。消除恐惧的最好方法就是直面恐惧。坚持才是胜利。加油,奥里给。如果历史重来一次,我们一定会节省很多尝试地时间。
测试/发布
1.团队是否有一个测试计划?为什么没有?
没有,开发时间不是很充足。
2.是否进行了正式的验收测试?
是,完成后第一时间进行了测试。
3.团队是否有测试工具来帮助测试?
无。
4.团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
没有测量跟踪。
5.在发布的过程中发现了哪些意外问题?
账号连接有些问题。
6.我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
再来一遍,我们遇到什么困难,也不害怕,微笑着面对它,消除恐惧的最好办法就是面对恐惧,坚持才是胜利,加油,奥里给!
团队的角色,管理,合作
1.团队的每个角色是如何确定的,是不是人尽其才?
大家报名完成,是的。
2.团队成员之间有互相帮助么?
团队成为之间常常互相帮助。
3当出现项目管理、合作方面的问题时,团队成员如何解决问题?
没有这方面的问题。
4.每个成员明确公开地表示对成员帮助的感谢 (并且写在各自的博客里):
我感谢 杨蓝宇______对我的帮助, 因为某个具体的事情: 他显得很凶,让我不敢说话______。
5.我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
还来,我们遇到什么困难,也不害怕,微笑着面对它,消除恐惧的最好办法就是面对恐惧,坚持才是胜利,加油,奥里给!
总结:
1.你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?
CMMI一级,完成级.
2.你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?
团队目前处于磨合阶段。
3.你觉得团队在这个里程碑相比前一个里程碑有什么改进?
这个里程碑挺好的。比上次作业人更多了,合作更顺利了。
4.你觉得目前最需要改进的一个方面是什么?
代码编写能力。
5.对照敏捷开发的原则, 你觉得你们小组做得最好的是哪几个原则? 请列出具体的事例。
无论是团队内还是团队间,最有效的沟通方法是面对面的交谈这一原则。当出现交互上的问题时,组员们能快速的互相交换信息解决问题。
三、答辩总结
团队贡献
成员 | 分工 | 贡献比例 |
---|---|---|
孙庭鑫 | 原型设计 | 9.8% |
黄皓 | 原型设计 | 9.8% |
张泽宇 | 产品经理 | 10.3% |
李至恒 | 后端编写 | 10.3% |
林易丰 | 后端编写 | 10.3% |
江斯强 | 后端编写 | 9.8% |
杨蓝宇 | 后端编写 | 9.8% |
沈鸿骁 | 前端编写 | 9.8% |
蔡嘉懿 | 前端编写 | 9.8% |
刘伟楠 | 前端编写 | 10.3% |
本组现场答辩得分
26
无人对本组提出问题
四、PSP与学习进度条
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟 ) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 45 | 80 |
Estimate | 估计这个任务需要多少时间 | 900 | 1500 |
Developm | 开发 | 400 | 500 |
Analysis | 需求分析(包括学习新技术) | 100 | 300 |
Design Spec | 生成设计文档 | 30 | 30 |
Design Review | 设计复审 | 10 | 10 |
Coding Standard | 代码规范(为目前的开发制定合适的规范) | 10 | 10 |
Design | 具体设计 | 40 | 120 |
Coding | 具体编码 | 180 | 500 |
Code Review | 代码复审 | 10 | 30 |
Test | 测试(自我测试,修改代码,提交修改) | 60 | 120 |
Reporting | 报告 | 60 | 60 |
Test Report | 测试报告 | 10 | 10 |
Size Measurement | 计算工作量 | 30 | 30 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 30 | 30 |
合计 | 1915 | 3050 |