一、请参考第一次作业,当初你对课程的承诺和期望都兑现了吗?
对于这个课程,我个人觉得还是收获蛮大的,虽然没有达到最开始的期望,能够在代码上面的到提升,但是也算是花尽量多的时间在这门课上。最大的收获莫过于和一个小组的同学一起干一件事情,本科的时候打酱油打的太边缘化,一点也融入不进去,这次至少能有融入感,这个也算一个完整的团队,即使不会编码,你也可以写文档,做测试,总会有参与感。其次,能够做PM,给予我一个锻炼管理的机会,也是很感谢的。
虽然我一直想走上一个良性循环的道路,但是一直没有实现,因为前面落下的太多,不能一蹴而就,就像习大大讲的,要有历史耐心,这门课只是一个开始,未来还很长。
二、总结这门课程的实践给你带来的提升
在这门课上,会使用的新工具:
leangoo:协同工具,强推它,也是老师推荐的。列出项目的计划,将任务细分,写入看板,让自己的任务很明确,并且每天的燃尽图,自己睡觉之前看一下,如果完成当天的任务,莫名的成就感;如果没有完成,也会给自己增加适当的紧迫感,就是一个很好的能督促自己完成任务的软件,并且你还能看到小组其他成员的进度,当你自己没有完成时,自己也会不好意思的。
Axure RP8:一个前期设计界面的软件,室友推荐,学会了就非常好用,看他们组设计的界面很好看,就是她在寝室用这个设计的,虽然我最后没有学会,因为我发现,你首先要想好构图,构图也是个大问题,尴尬了。
磨刀:原型设计也很不错,一个在线的原型设计和协同工具。设计的时候直接有手机端、网页端的分类。
ProcessOn:到了这个阶段,大家最排斥的就是在电脑上安装软件,就想的是能在线编辑就在线编辑,自从知道了它,再也不用Visio,很多图都能画,当然甘特图目前没有,不过Markdown和leangoo都能画。leangoo自动生成更省事。
关于代码量,总体加起来,应该有500行左右吧,应该和我考研阶段的代码量了......但是说实在,做的都是很常规的,所以并没有什么收获,难的就交给小伙伴,不过小组的好处就是,你用什么技术解决的,考研直接交流,然后互相进步。
还有就是,课本,给一个思想,然后在这么课程中实践,指导和实践兼具。课本也不枯燥,就是一个解决问题的思路,4个主人公想法组不完善的过程。读起来不枯燥,也跟着他们一起思考,整本书下来,还是很全面的,不光对技术,对解决问题的过程和方法,以及道义上面都设计。
三、项目实践中的经验总结+实例/例证结合的分析
1.多交流,一方面,是在需求分析阶段,要尽量保证大家都能达成一致想法。另外,特别在敏捷开发阶段,团队之间一定要每天交流,面对面,在我们组,最后一周的时候,大家都有事情,晚上很晚回学校,所以很少能够见面交流,在微信讨论组交流的时候,都是有一腔没一腔的,花了时间,效率也不高。当然关键问题,就是在敏捷开发阶段,尽量静下心俩待在学校。
2.前期考虑,尽可能的全面,调研后,也能站在一个程序员的角度思考,可以参考其他软件设计。在前期我们,分析的不够透彻,只想打用户可以搜索和发布,却没有想到用户登录后,能查看自己的活动,就像淘宝看自己购买的商品一样。在β阶段才意识到。还有,用户也是需要给系统反馈的,比如我们在最开始,想到统计出完的次数,只是想,过了时间节点,就算出行成功。没有考虑到有些人加入了,但是没有出行,那么我们的数据就不准确,我们需要用户给主动给我们一个反馈,在后期才添加的出行成功按钮。
3.前期界面设计很重要,因为这个既可以让后台知道前台需要哪些东西,也能给设计界面的同学一个模板,具体怎么写界面。有一个具体的东西,在小组讨论中,也能更有效果,满意或者不满意,缺少什么东西,或者应该怎么修改。对后期帮助会很大。
四、分析一下自己所处的团队。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?
我们小组算是,没有萌芽和磨合,直接进入到规范和创造期。
因为小组成员都是很好相处的人,第一次见面,一开口,就进入一个轻松的氛围;又因为有结对编程的经历,所以大概知道每个人的能力。
我们提前做了简单的调查,然后在开会的时候,每个人都提了自己的idea后,逐个分析后,就确定了题目。然后大家一拍即合,将项目分为前台、逻辑层、和数据库层和项目文档,成员刚好每人认领一项任务,我就在里面编辑文档和功能测试,当然单元测试,在他们自己写完接口的时候,自己就测了。
规范期:在第一次会议上,我们就对最后确定的主题,进行分析,确定需要哪些功能,确定工具和框架,估计工作量。因为我也没有做过项目,小伙伴的帮助下,我们做出分工,确定命名规范等。第二周会议,就更深入具体聊一下项目计划,咱们接下来怎么做。完成项目需求分析文档,测试用例设计等。
创造期:在敏捷开发期间,组员也基本按照计划来,暴扣,有一个小伙伴本来去亲戚家,打算住一晚的,但是由于任务在身,就当天晚上回来了。也没有抱怨,还是开开心心的干事情。每次需要什么接口或者变量需要做什么修改,都直接在讨论组发,成员看到是自己负责的东西,都能及时的修改。
在整个项目进行中,相处融洽,有什么问题,提出来,互相积极配合的,虽然有时候是没有时间及时修改。
五、建议
(1)课程的建议,就像老师在课堂上讲的,可以有更多的选择性。因为毕竟很多同学的方向不一样,并不需要在这门课程上面耗费这么多的时间来coding。
(2)学弟学妹的建议,时间真的过得很快,转瞬即逝,如果想提高,还是要做的东西,让自己忙起来。如果想提高动手能力,又没有好的方式,选择这门课程就是一个很好的方式。可以选到系统的知识,在实践中,督促自己学习。
六、你对助教老师的工作可以提一些意见和建议吗?
助教们已经做得很好了,无意间。因为大家都很忙,在自己很多事情的同时,能够花这么多时间来看我们写的一些东西,并且很多时候,我们写的东西并不能使他们有收获,已经很好了。还有老师每次布置的任务以及很人性化了,任务博客很详细,很清楚。能够让我们按照每一步回答,有东西可写。站在我自己的角度,我提不出什么好的建议。