简时——alpha阶段问题总结随笔

这个作业属于哪个课程 2020春|S班
这个作业要求在哪里 团队作业第六次——beta冲刺+事后诸葛亮
团队名称 TimeMaster
这个作业的目标 描述项目进展状况
作业正文 简时——alpha阶段问题总结随笔
其他参考文献 ……

一、设想和目标

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

设想解决自制力比较弱需要借助该软件进行专注处理事务的问题;定义清楚;有清晰描述。

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

达到专注使用目标,但是原计划的附属团队以及宠物并未很好实现。

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

时间上出现紧迫;对进度安排更加合理,对代码架构更加层次分明,对任务分工更加合理,对具体的代码编写有一个更清晰的认识。

二、计划

1.alpha 阶段是否每天有充足的时间来做规划安排?

用于规划安排的时间还是比较足够的。

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

我们会在每天的会议上讨论下一天的计划安排,如果出现了不同意见,我们会进行讨论,决定出一个大家都满意的计划,如果无法达成一致,会根据不同的计划进行投票,少数服从多数。

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

基本都完成了,但是还是有部分没有解决;因为一些技术上的问题短时间内不知道怎么去解决,只能先放一边。

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

编写代码时提前写下很大无用的接口。

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

基本清楚。

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

大体按照计划进行,但是可能任务是并行的,计划是串行的,整体进度基本一致。

7. 在计划中有没有留下缓冲时间(加班),缓冲时间有作用么?

有预留了缓冲时间;作用就是最后阶段我们可以更从容得解决一些突如起来的bug,不会手忙脚乱。

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

对于项目要有整体的计划和进度安排得当,避免出现项目无法按时交付,同时管理团队要积极活跃,多多交流;加强团队之间的交流,问题都是可以合作解决的。

9.beta 阶段安排概览

继续完成之前的任务,然后完成的组员可以进行增加任务的编码

三、资源

1.有足够的资源(可以是时间、开发资源等)来完成各项任务么?

开发资源比较足够,时间稍微有点紧凑。

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

根据自己以往的经验来判断代码量的多少以及一些类似项目的经验进行所需的时间和其他资源的估计的。

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

测试的时间,人力和软件/硬件资源相对比较足够;对于美工设计低估了一定的难度,因为发现一个好看的页面不是那么容易设计的。

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

的确存在分配上的不合理。

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

要提前学习项目使用的工具和资源,避免冲刺阶段的时间浪费导致紧迫;在开始冲刺前先进行所要用到的工具的学习。

四、设计/实现

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

由从前面的几次作业完成,大家讨论根据功能完成;是。

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

出现过分配任务表达不清,但是有在后续汇报中点明。

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

应用了IDEA的JUnit;有效;根据答辩和小组讨论进一步完善UML。

4.什么功能产生的 Bug 最多,为什么我们在设计/开发的时候没有想到这些情况?

基本都有BUG,但是都有解决,出现BUG主要是代码编写上的问题,对框架的不熟练,在功能逻辑上BUG较少,出现的原因可能是前后端对功能的具体用法存在些许分歧。

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

通过小组会议,基本执行代码规范。

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

设计要达到正确有效,不要模棱两可,会存在很多问题,提前熟悉开发工具对实现很有必要;更加严谨的设计和熟练的使用开发框架。

五、测试/发布

1.团队是否有一个测试计划?

测试由编码人员自行进行测试。

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

JUnit、postman

3.团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?

进行压力测试;有用;加强压力测试。

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

存在缺陷功能以及不完全符合需求的功能。

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

测试是十分重要的,我们并没有专门的测试人员,每个人进行自我测试可能会出现盲区,所以测试需要进一步学习;加强测试,进行更多的测试。

六、团队的角色,管理,合作

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

任务分配前先进行前后端开发的分离,自行选择前后端开发,而后分配具体功能模块。

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

有,会在会议上进行问题提出和解决。

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

进行线上交流。

七、自我总结

1.组员们自我总结

  • 陈俊延:在这次的冲刺中,我了解到了我在编码中的不足之处,因为我比较喜欢先按要解决的问题编写基础的代码,之后才会对问题的细节进行分析处理,这导致我的代码后期要经过多次的修改,浪费了宝贵的时间。并且,我还知道了,我自己之前以为已经掌握的JavaEE还存在着大量我不理解的内容,如果没有百度的帮助,大多的问题我都解决不了,这坚定了我要认真学习的决心。除此之外,我们组员之间的交流还是不够,很多代码写完后,才发现不达标,要重新写。所以,在beta冲刺中,我认为要加强会议之下的交流。而不是什么问题都在会议上提出,这样会加快问题解决的速度。

  • 叶如茵:在进行团队alpha冲刺编码中,由于没有过安卓项目开发及前后端分离开发的经验,整个冲刺阶段需要学习的知识还是很多,由于自己的基础并不是很扎实,编程能力也不是很强,加上时间比较紧迫,整个过程还是有点难的,压力也很大。但是通过慢慢边学边实践的过程让我学会了很多新的知识,也提高了自己的编程能力,对于遇到的困难和bug也更加从容应对,通过查找各种资料及论坛解决问题。整个冲刺过程让我get了很多新的知识。但是目前的界面做的还不够完善,希望在beta冲刺中能够更加优化。

  • 陈伟杰:是我第一次进行冲刺项目团队合作编码,以前没参加过类似的编码活动,收获还是很多。首先对于这次冲刺,无疑是一次非常好的机会进行项目开发体验,我很开心可以直接就结合本学期学习的spring配合开发,这是两开花,锻炼了项目后端开发同时进行j2e的实践帮助很大;其次是冲刺是线上进行的,往后肯定会遇到这种情况的,线下合作的实践很多而线上却很少,感觉大赚一笔,毕竟越来越往网络合作发展了;然后就是我学会基本的使用了很多新的工具,例如postman、redis数据库、ngrok等,这是一个不错的体验,了解了如何进行后端控制层的测试和本地服务器转外网的操作;最后是在冲刺中体验了类似工作的感觉,每天都有目标和回忆,这是极好的,当然在前面的收获中也有困难,自己的专业知识仍旧很匮乏,需要再不断的学习,为了开心打代码,还是需要更加努力,团队合作也需要更加紧密一些在这种隔着屏幕的情况下,所以还是希望在beta可以带着饱满的热情对待。

  • 许俊鑫:这是我第一次进行团队合作编程,过程中因为自己一个人独来独往久了,和队友的沟通较少,还是得加强沟通。还有就是对于Java EE技术的知识掌握不够多扎实。

  • 林羽希:安卓端,接下来有待实现和优化的部分还有很多:待办部分,没有完成不同状态下不同颜色的设定;数据统计部分,统计的点较少;白名单还没有实现;锁屏部分疑似出现bug,alpha冲刺的时候没有注意到。还有就是在和服务器进行连接的时候,时快时慢。一开始的时候脑子里设想过很多效果,但由于水平有限,不能完全实现。做到后面的时候,会觉得之前的一些设计很鸡肋,不太想去实现,例如积分,不过大概已经砍掉了。总得来说,是很神奇的经历,在短时间内学习一门技术并应用在团队项目中。感觉身边学过安卓的人很少,如何真正的做一个app也是摸着石头过河,也挺担心自己做的架构到后期会不会自我冲突,不过就目前来看比预计的顺利。

  • 高雨欣:这次团队作业没能真正参加前端部分,感到非常遗憾,错过了一次团队合作的体验,以及经验。即便如此,接触新的编程知识还是很充实。这一次的工作量还是相当大,整理起来并不简单,计划表上的每一个完成背后都是复杂的编码,还有遇到的困难。希望下次可以调整好状态,冲冲冲!

八、在 Beta 冲刺提高软件工程的质量

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

按照前后端分为两小组,由组长进行审查。
代码复查是有代价的,甚至有时是巨大的,因此代码复查不宜频繁,最好一份代码只审查一次。同时,代码复查者应当对所审查的代码负有责任,即能够大胆地审查并指出被审查者的问题,并要求被审查者限期整改。毫无疑问,项目开发小组的组长来担当此责任是最合适的。组长可以有效地审查和管理小组成员。通过以上的组织形式,代码复查可以简便有效地在项目组中开展起来,从而从管理上有效地提高软件开发的代码质量。

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

提前学习使用,由组长提前带头使用,然后交予组员。

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

严格按照规范模板编写,切合实际的记录每一个要点

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

加强团队沟通交流。

5.什么是在下个阶段要改进的地方?越具体越好

  1. 完善功能,将上一个阶段没有做好的功能进一步完善改进,例如团队宠物待办使用逻辑和完成判定等
  2. 补充还没有完成的功能,例如找回密码,专注成就等
  3. 优化前端界面,使得更加美观,交互更人性化
  4. 完善前后端对接,例如团队的前后端对接
  5. 加强进一步测试
  6. 优化代码结构
posted @ 2020-05-26 22:21  Tmasters  阅读(255)  评论(0编辑  收藏  举报