第10组 Alpha事后诸葛亮
一、组长博客链接
二、总结思考
设想和目标
- 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
- 我们的APP主要解决大学生闲置物品处理问题,定义的很清楚,用户清晰,我们的APP现阶段主要针对的是福州大学学生,典型场景有闲置物品过多无法处理。
- 我们达到目标了么(原计划的功能做到了几个? 按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?)?
- 达到了一部分目标,除了社区分享功能我们大部分都实现了,ALPHA版本已经初步完成,现阶段还没有投入使用,还处于待测试阶段。
- 用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?
- 还未到此阶段。
计划
- 是否有充足的时间来做计划?
- 由于考试和其他课程的安排,我们的时间很紧张,因此计划匆忙,并不是十分完备。
- 团队在计划阶段是如何解决同事们对于计划的不同意见的?
- 通过会议讨论和线上交流。
- 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
- 没有全部做完,主要是因为时间紧张,技术方面有些欠缺。
- 有没有发现你做了一些事后看来没必要或没多大价值的事?
- 有一点,比如我们的交易功能中的某些模块。
- 是否每一项任务都有清楚定义和衡量的交付件?
- 是,每日的任务都已经在计划中明确。
- 是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?
- 项目基本是按照计划进行,意外就是社区功能没有添加进去,没想到会有考试及课程的时间冲突。
- 在计划中有没有留下缓冲区,缓冲区有作用么?
- 在计划中没有留下缓冲区。
- 将来的计划会做什么修改?(例如:缓冲区的定义,加班)
- 在将来的计划中,会尽量做到考虑的全面一些,同时留下缓冲区,加强风险管理。
- 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
- 学到了很多新技能。我们会量力而行,减少不必要的功能模块。
资源
- 我们有足够的资源来完成各项任务么?
- 我们的资源目前足够我们来完成现阶段的各项任务。
- 各项任务所需的时间和其他资源是如何估计的,精度如何?
- 开始时精度很粗略,后来因为任务的逐步加重,也因为大家这些日子一直忙着课程考试,抽出时间写任务已经是最大,所以没有再去想细化精度问题。
- 测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?
- 人力资源是足够的,硬件资源在现阶段也是足够的,而对于美工和文案我们最开始的确都低估了难度,真正上手才发现并不简单。
- 你有没有感到你做的事情可以让别人来做(更有效率)?
- 我们现阶段的事情都是可以自主完成的,而且一些设计如果交给别人来做反而会没有办法事后沟通修改,反而会加大工作量。
- 有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
- 我们会认真做资源分配。
变更管理
- 每个相关的员工都及时知道了变更的消息?
- 能,会议的交流和QQ群的沟通都比较顺畅。
- 我们采用了什么办法决定“推迟”和“必须实现”的功能?
- 根据功能的重要程度和难易程度,如果是关系到后续工作或者其他同学工作的核心功能必须按时实现,以免拖慢整体进度。对于工作量很大但是并不影响其他工作和后续进行的可以适当推迟。这些功能的确定由小组讨论决定。
- 项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
- 有。经大家的讨论,考虑到时间问题和大家技术水平,在alpha阶段我们只关注于交易的核心功能。包括发帖模块。我们的出口条件就是:选择日期、类别进行交易,可以准确记录当天的订单和选定日期查看当天的明细,选择年月查看消费类别的比例。
- 对于可能的变更是否能制定应急计划?
- 在进行这个项目时由于时间关系并没有制定应急计划。但在我们计划与实际出现偏差时,我们会及时调整计划。
- 员工是否能够有效地处理意料之外的工作请求?
- 大部分能。组长会把工作请求给相应的技术人员实现。
- 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
- 我们学到了Android开发的相关知识。
设计/实现
- 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
- 设计工作是在需求确定之后,有团队中擅长这一方面的同学来完成的,是合适的时间和合适的人。
- 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
- 很多,大家都不知道如何解决,也有时候会出现一些小问题但是能个人解决也就没有影响团队。
- 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
- 我们暂时还没有用这些工具来测试,因为这一阶段大家对自己的工作也只是勉强完成。
- 比较项目开始的 UML 文档和现在的状态有什么区别?这些区别如何产生的?是否要更新 UML 文档?
- 项目开始时的UML和现在的状态有一点小区别,只要在于有些功能还没有实现,暂时还不需要更新UML文档
- 什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?
- 像是不知道Android有没有方便快捷直接调用的Http,部分接口操作难以完成之类的出现了一堆bug。
- 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
- 学到了很多的专业技术,学会了代码规范,接下来在代码的规范控制上要做的更多。
测试/发布
- 团队是否有一个测试计划?为什么没有?
- 有,但是没有很规范。
- 是否进行了正式的验收测试?
- 是,有邀请同学等作为用户和测试队员对软件整体的功能在发布平台上进行测试。
- 团队是否有测试工具来帮助测试?
- 没有。
- 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
- 我们通过邀请室友、朋友或者假扮用户来测试并跟踪软件的效能,并询问反馈或得出结论,再根据这些来继续改进完善。这些测试工作是有用的,去测试后发现要改进的还是很多,有一些还是之前没有发现的。而我们找到的改进有:界面不够完善/功能有所欠缺。
- 在发布的过程中发现了哪些意外问题?
- 出现一些之前没注意的bug。
- 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
- 要注重测试,测试人员要熟练掌握测试工具的使用,能够使项目的完成事半功倍。
团队的角色,管理,合作
- 团队的每个角色是如何确定的,是不是人尽其才?
- 根据每个成员的擅长领域和技术能力决定。做到了人尽其才。
- 团队成员之间有互相帮助么?
- 有,遇到问题大家都会一起讨论、一起想办法,解决问题。
- 当出现项目管理、合作方面的问题时,团队成员如何解决问题?
- 通过集体会议来解决管理问题。
- 我感谢朱晓倩对我的帮助, 因为某个具体的事情:感谢小朱陪我一起熬夜教我Java,熬不下去的时候真的很需要一个小伙伴的鼓励。
我们学到了什么? 如果历史重来一遍, 我们会做什么改进?- 学到了团队互助。
总结
- 你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?
- CMM/CMMI一共分为五个等级,(1)初始级(initial);(2)可重复级(Repeatable);(3)已定义级(Defined);(4)已管理级(Managed);(5)优化级(Optimizing)。我觉得我们处于CMMI二级,有明确的任务分工。
- 你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?
- 我们团队目前还处于磨合阶段。
- 你觉得团队在这个里程碑相比前一个里程碑有什么改进?
- 对于团队来说,大家的凝聚力要比前一个里程碑时强很多,自觉性、自主性、学习能力都有所提高。对于项目来说,改进很大,因为上一个里程碑时我们只有形没有状,经过了ALPHA阶段后,我们有了一个较完整的结构。
- 你觉得目前最需要改进的一个方面是什么?
- 目前最需要改进的方面是APP的附加功能。
- 对照敏捷开发的原则, 你觉得你们小组做得最好的是哪几个原则? 请列出具体的事例。
- 原则:在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。事例:我们团队每隔几天都要开一次会议,如果有什么疑问,可以直接面对面提出。
原则:每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。事例:我们团队每隔几天都要开一次会议,探讨工作进度和工作任务等,大家会提出使工作更有效的建议,如是否调整计划,修改工作任务,调整任务分配等。
- 原则:在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。事例:我们团队每隔几天都要开一次会议,如果有什么疑问,可以直接面对面提出。
三、答辩总结
贡献比例
|||||
|:-----😐:----😐------😐
|姓名|总分|贡献比例|
|童景霖|43|12%|
|黄永福|45|13%|
|郑志强|45|13%|
|许宏健|26|4%|
|刘御帆|26|4%|
|叶泽林|39|5%|
|陈鸿立|45|13%|
|侯熠珉|26|4%|
|陈心怡|38|8%|
|唐 怡|38|8%|
|万本琳|38|8%|
|朱晓倩|38|8%|
现场答辩得分
|||||
|:-----😐:----😐
|组号|分数|
|01|54.6|
|02|54.6|
|03|49.8|
|04|48(除去最低分)|
|05|51|
|06|52.2|
|07|52.2|
|08|54.6|
|09|56.4(除去最高分)|
|10|55.8|
|平均分|53.1|
建议及改进总结
第一组
无问题
第二组
Q:转让质量问题
A:我们的APP只是提供一个线下二手交易的平台,而质量问题则是要由用户之间自行沟通。
第三组
Q:演示内容不够充足
A:我们下次会更加充足准备。
第四组
Q:对原始的产品进行优化改进
A:我们会对我们二手交易功能进一步优化。
第五组
Q:实现更多的功能,把服务器搞好
A:我们服务器已经基本搞定,但是前端的功能还需要进一步完善。
第六组
Q:功能还有一些欠缺,可以继续加油完善,图形界面可以
设置的更好
A:好的,谢谢!
第七组
Q:进一步完善,并修改bug
A:会继续加强完善。
第八组
Q:后端数据库交互完善
A:会继续加强完善。
第九组
Q:前端、后端功能还未完善
A: 会继续加强完善。
小组讨论合照
PSP表格
PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
** Planning ** | 计划 | 15 | **20 ** |
· Estimate | · 估计这个任务需要多少时间 | 15 | 20 |
Development | 开发 | 490 | **380 ** |
· Analysis | · 需求分析 (包括学习新技术) | 300 | 200 |
· Design Spec | · 生成设计文档 | 10 | 10 |
· Design Review | · 设计复审 | 10 | 10 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 10 | 10 |
· Design | · 具体设计 | 30 | 40 |
· Coding | · 具体编码 | 100 | 80 |
· Code Review | · 代码复审 | 10 | 10 |
· Test | · 测试(自我测试,修改代码,提交修改) | 20 | 20 |
Reporting | 报告 | 30 | 40 |
· Test Repor | · 测试报告 | 10 | 10 |
· Size Measurement | · 计算工作量 | 10 | 15 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 10 | 15 |
total | 合计 | 530 | 415 |
学习进度
第N周 | 新增代码(行) | 累计代码(行) | 本周学习耗时(小时) | 累计学习耗时(小时) | 重要成长 |
---|---|---|---|---|---|
11 | 300 | 2200 | 8 | 98 | 学习Java和Android studio |
12 | 200 | 2400 | 3 | 101 | 学习Java和Android studio |
12 | 500 | 2900 | 8 | 109 | 熟悉html和css |