一、基本情况
组长博客链接: |
-
现场答辩总结
总体上达到既定目标,按照柯老师的指导,我们在后续会进行较为全面的测试。
面对难关,我们要有的放矢,要考虑全面,不能纠结在一款软件的上,要做大做全 。 -
全组讨论的照片
- 评估团队中每个人对本次作业的贡献比例,描述为本次作业的工作流程、组员分工、组员工作量比例
姓名 | 工作任务 | 工作占比 |
---|---|---|
高靖涵 | 后端组 | 16% |
赵文涛 | 后端组 | 12% |
吴永铭 | 后端组 | 12% |
刘双 | 测试组 | 10% |
王佳明 | 测试组 | 10% |
陈静 | 前端组 | 9% |
杨寓荃 | 前端组 | 9% |
刘苇 | 前端组 | 8% |
王亿平 | 产品经理 | 7% |
黄建玮 | 软件分析,文档设计,博客更新 | 7% |
二、总结思考
2.2.1 设想和目标
- 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述 ?
我们计划研发的APP———AdKiller,是一款可以自动快速跳过手机APP起始页广告的APP
秉承绿色安全非盈利的态度向Android手机用户开放使用
对典型用户和典型场景都有清晰的描述 - 我们达到目标了么?(原计划的功能做到了几个? 按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?)
我们第一阶段达到了原定计划的85%
原定开发功能现阶段只剩下自定义跳过功能还有待完善,
计划用户暂未达到预期,因为在我们组内测试的过程中,
我们发现原本手机自带的提示信息与我们的产品同时工作时,会产生一些bug,
秉承着对用户负责的态度,我们只是小部分群体试用,用户数量到达75名。 - 用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?
75名体验者的反馈比较良好,但是面对一些“顽固”的APP起始页广告,
我们毫不忌讳地承认暂时还不能达到100%成功率,但是小步的成功也令人欣慰,我们离成功更进一步。 - 有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
我们最大的问题是前期准备工作不足,没有做成良好的软件分析,导致功能设计的过程中进度迟缓,
除此之外,对技术的学习和掌握不够扎实,导致研发周期漫长,前几次现场答辩效果也不理想。
如果能够重来一次,我们会前期做好严谨的软件需求分析和技术分析,做到事半功倍 。
2.2.2 计划
- 是否有充足的时间来做计划?
在AlPha冲刺阶段,都会在站立会议过程中进行对未来两天的小计划
- 团队在计划阶段是如何解决组员对于计划的不同意见的?
通过线上QQ群,腾讯会议,时刻交流,针对大家提出的意见,产生的分歧,共同讨论。
- 原计划的工作是否最后都做完了? 如果有没做完的,为什么?
因为一些不可抗力,我们原计划的工作完成度为85%,局限于技术手段原因,一些APP的跳过暂时做不到。
- 有没有发现做了一些之后看来没必要或没多大价值的事?
没有,毕竟时间紧迫,做大做全 都没有时间做很多事......
- 是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?
并没有意外,一切都在按部就班进行。
- 将来的计划会做什么修改?
完善界面设计,完成自定义功能,修复bug,进行大范围测试,包括用户群体和APP种类,数量
认清现实,毕竟有些技术暂时无法掌握,就不要想太多...... - 学到了什么? 如果历史重来一遍, 会做什么改进?
我们学到了AndroidStudio的开发知识,
更重要的是团队合作的重要性。
2.2.3 资源
- 我们有足够的资源来完成各项任务么?
有,我们前期都是在虚拟手机上进行,有很多好用的软件,例如:夜神模拟器,AndroidStudio自带的手机模拟器。
- 各项任务所需的时间和其他资源是如何估计的,精度如何?
因为都是统一时间,一起工作,所以工作时间稳定,
精度很高;我们尽量不加班,以便不占用大家其他科目的学习时间。 - 测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?
我们有设置专门的测试组,发动同学,舍友,亲朋好友这些人际关系进行初步测试。
我们也有设置前端组,对界面进行逐步美化。 - 你有没有感到你做的事情可以让别人来做(更有效率)?
虽然我们大家都会遇到一些困难,可能让更适合的人做会有效率,
但是,这是一个学习的过程,如果一直逃避那就违背了学习的初衷。 - 有什么经验教训? 如果历史重来一遍, 会做什么改进?
最大的经验教训就是要尽早做好计划,同时不能急于求成,要考虑到自身的能力。
要保持良好的心态,面对困难心态要稳住,面对技术上的欠缺,要有“等我发育再打团的心态”。
2.2.4 变更管理
- 每个相关的员工都及时知道了变更的消息?
通过QQ群的群公告
- 我们采用了什么办法决定“推迟”和“必须实现”的功能?
通过分析用户的需求“迫切程度”
- 项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
我们对Exit Criteria是有清晰的定义的,
对完成的模块进行测试,如果测试组结果反馈良好,无bug,我们就可以称之为“做好了”。 - 对于可能的变更是否能制定应急计划?
可以
- 组员是否能够有效地处理意料之外的工作请求?
大家都很自觉负责,会熬夜加班,我们想睡觉!!!!
2.2.5 设计/实现
- 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
由组长分化模块,组员主动认领。
- 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
有,但不完全有,我们会进行“民主”讨论,得出统一的意见,
所以整个“Alpha冲刺”是一个peace and love的过程。 - 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
有用到UML进行分析设计,后续过程中会进行单元测试等其它手段进行全面分析。
- 比较项目开始的 UML 文档和现在的状态有什么区别?这些区别如何产生的?是否要更新 UML 文档?
有很大区别,后面的更加完善,具体。因为随着开发的进行,我们的功能设计会发生改变。
- 什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?
没有发现太大的bug,
唯一发现的bug是在使用我们软件进行工作的时候,其他软件弹出的一些类似更新信息,会导致我们的产品崩溃>___<
为啥前期没想到?这个问题问得好,下次不许再问了。意外总是很突然......
疑惑
2.2.6 测试/发布
- 团队是否有一个测试计划?为什么没有? 是否进行了正式的验收测试?
有,我们在后续的过程中,会具体的公布我们的测试结果。
- 团队是否有测试工具来帮助测试?
通过不同机型的安卓手机进行测试。
- 在发布的过程中发现了哪些意外问题?
暂时未全面发布
2.2.7 团队的角色,管理,合作
-
团队的每个角色是如何确定的,是不是人尽其才?
大家都尽力地做好了自己的部分。
-
小组成员之间有互相帮助么?
of course
-
当出现项目管理、合作方面的问题时,团队成员如何解决问题? 每个成员明确公开地表示对成员帮助的感谢 (汇总至组长博客):
- <高靖涵>:我感谢 文涛永铭对我的帮助, 因为某个具体的事情:一起帮我解决代码中的bug。
- <赵文涛>:我感谢吴永铭对我的帮助,因为某个具体的事情:他帮助我一起查询资料和文档,解决了很多问题。
- <吴永铭>:我感谢 高靖涵 赵文涛 对我的帮助, 因为某个具体的事情: 在前期学习安卓开发过程中给予了我很多帮助。
- <王佳明>:我感谢刘双对我的帮助, 因为某个具体的事情:作为搭档互相分担任务,一起做软件测试,学习JAVA的时候也给我提供不少的建议让我少走弯路。
- <黄建玮>:我感谢高靖涵对我的帮助, 因为某个具体的事情: 帮助我学习安卓开发,并帮助我修改博客中的问题,帮助我查阅资料和文档。
- <王亿平>:我感谢高靖涵对我的帮助, 因为某个具体的事情: 博客的格式之前并不了解,导致文本并入到组内文本时一直格式错误,他告诉了我博客应该使用Markdown编辑器,同时教了我相关的格式,从而保证了Alpha冲刺报告没出现格式上的问题。
我学到了对于自己认为正确的东西,实际上很可能并不正确,有一个人帮忙指正可以纠正自身的错误认知,减少不必要的扣分。如果历史重来一遍,我应该去提前去了解小组博客的文本格式和编辑器的统一规范是什么,好好的完成自己的任务,减少组长的工作量。 - <刘双>:我感谢王佳明对我的帮助, 因为某个具体的事情:在我想偷懒或者松懈的时候总能督促和提醒我,而且也在完成作业的时候给予我一些指点,帮助我解决了难题
- <刘苇>:我感谢刘双对我的帮助, 因为某个具体的事情: 每次我向他请教相关问题,他总是耐心的向我解释,比如我询问我们的软件设计需要的相关语言知识,他推荐了Java,JavaScript并解释了它们的作用,给我指明了学习的方向。
我学到了不懂就问,没必要浪费时间自闭死磕,不要害怕合作交流的精神。如果历史重来一遍, 我会提前做好相关知识的了解,争取也能帮助到其他队友。 - <陈静>:我感谢王佳明对我的帮助, 因为某个具体的事情: 提供测试建议。
- <杨寓荃>:我感谢 赵文涛 对我的帮助, 因为某个具体的事情: 第一次做安卓开发,前期什么都还不熟悉,学习安卓开发的时候给了我不少帮助。
我学到了一个人的能力是有限的,只靠自己不靠团队注定是走不远的。如果历史重来一遍,我会提前着手开发,摸索中不断学习,而不是仅仅学习冰冷的语法、理论。
2.2.8 总结
高靖涵 |
通过这学期的软工实践,我收获颇丰。了解了新的开发技术,
更重要的是磨练心态,这学期选的课巨多,每天处于易燃易爆的状态。。。。。。
这段经历会成为一个难忘的回忆。peace yoh!~
赵文涛 |
Alpha冲刺给我最大的感觉就是时间非常紧迫,尤其是两天一次的汇报,
有时候想实现一个功能,查了一天,写了一天,进度却没有多少,就感觉非常的焦虑,
再加上冲刺过程碰上其他科考试,紧张度更上一层,生怕完成不了任务,
好在最后是把项目肝出来了,还真是熬夜能解决一切问题,累并快乐着。
吴永铭 |
这次作业学到了很多Android和无障碍相关的知识
要了解具体学什么技术可以完成本次作业,不要盲目的学
不要自己一个人瞎琢磨,要多跟队友沟通
刘双 |
大家都是第一次做有关Android应用,刚开始比较迷,不知道从哪着手,
多亏组内大腿推荐相关的教学视频学习,
在完成作业的过程中学到了很多,非常感谢队友的照顾。
王佳明 |
因为学习安卓需要用到java,作为一个只会一点c++的人只能先学习java,加上正好有好几门考试导致没时间学习安卓算是一个遗憾
但是作为测试组成员也很高兴,和搭档一起做测试,我的两个手机下载到发烫有时候时间紧任务重第二天就要结果,通宵做测试也挺爽的
这个课程挺好的,虽然挺累的(实话实说),但是和队友相处融洽,在我敲代码(Auto.js)时因为学的不多函数不太会用,队友疯狂上网给我找函数用,太好了
陈静 |
通过这次Alpha冲刺学到了很多,比如软件测试规范,安卓应用开发,无障碍服务等
同时也认识到自己的不足,大一大二时没有花时间去学习新东西导致现在要花更多时间才能跟上项目进度
更重要的是这两周期间有各种课程考试 和大作业,通过这次冲刺学会如何更好地安排学习时间.
杨寓荃 |
由于是第一次团队作业,也是第一次做Android,不仅很多技能不会而且前期与队友交流比较少,直接就裂开了,特别是在alpha冲刺的时候,很多事、很多ddl堆在一起,心态直接就崩了,不过好在队友确实比较靠谱。通过这段时间的学习实践、团队交流,学到了不少东西,也意识到团队的重要性,同时也提高了一些抗压能力。
刘苇 |
第一次做Android应用,没有什么经验,不过队友比较强,可以询问请教。
还可以通过网站学习和实践,总之要多动手多询问多合作交流,越不会越要主动问。
软件必须要做大范围测试,自己不一定有更多用户想得周到,不要自以为是。
王亿平 |
在本次Alpha冲刺中我学习到了很多有关于安卓开发方面的知识,和团队一起做项目感觉很充实,激发了每一个人的热情,虽然有很多大作业缠身,但还是挤出了时间去学习本次开发的知识,参与讨论和测试。
我感受到了一个有凝聚力的团队对于软件的开发是相当重要的,倘若要一个人只能自己去开发一款软件,不仅效率低,效果差,且没有精力去除bug,一个团队相互合作可以将每个人的特长集合起来,使得软件既美观同时又兼具良好的功能性,大大吸引可能存在的用户群体。
软件还可以让身边的其他同学帮忙测试,除了可以帮助其他同学广告的困扰外,还可以得到更充分的测试样本,帮助我们更快的锁定软件的bug,帮助我们去分析和修改,使产品做得更好。
黄建玮 |
这学期的软工实践,让我在极短的时间内学习了大量的知识,并且增强了自己的学习能力
学习需要多实践,多查阅资料,不能闭门造车。
感谢所有帮助过我的组员,respect!