团队作业M1反思
经过这两个多月以来的软件工程的学习,还有团队项目的经历,总结反思如下:
首先,一个月的软件工程团队项目的进行让我对软件开发有了比较实际的认识,以前我们的编程多是个人编程,两人编程,程序难度低,代码量少,也很容易配合。这次团队作业,我们6个人一块做一款app。我们组实力还算可以,虽然没有能够独自承担起全部任务的大神,但大家在编程方面基础都还不错,还有两人有过些项目经验。同时我们每个人都是认真对待这次作业的,不只是为了期末的分数,更是珍惜这个能够一块参与编程的机会,同时还有这我们对这款活动平台app的共同希冀。
在团队编程中,任务量是很繁重的,如果只是一个人来承担,自然是十分困难的,这就需要凝结团队中的每个人的力量。团队中的每个人应该按时完成pm分配的任务。同时多沟通,彼此知道别人在做什么,这在一个不超过10人的小组,并不是困难的。而且多沟通能够节省很多自己研究代码的时间,符合敏捷开发的思想。
由于是团队开发,每个人都需要修改版本的代码,所以一定要学会用好仓库管理,这样可以让多个人共同开发,同时容易知道代码变动,避免了繁重的不同的代码的合并。
当然,团队编程有时候也会存在一些问题。比如说我们往往把任务细化到每个人的身上。但通常会有各种各样的原因导致不同的任务进度不同,这就会造成有的进度会出现延期现象,给整个项目的进度造成影响,这就需要在分配任务时做到合理化,使得彼此之间可以有效的衔接上,这样团队项目的实现就会变得迅捷许多。最好团队编程中也存在结对编程,这样可以保证如果一个人有事情,另一个人可以补上这个缺口,我们组就是这样做的,我和另外两个人都结对编程过。
同时还在必要的时候承分担某一慢进度的开发工作。除了PM的协调,当然还需要各个模块负责人之间的沟通和交流,做好模块间的通讯工作,方便一方出现变化时另一方能够迅速做出调整。
我们组的pm统筹能力比较强,他能够合理给每个人分配任务,力求做到进度之间彼此衔接。
关于个人的建议,其实我不太建议选学长代码的完善,我更倾向于选一个新的问题从头做起,这样我能够从头到尾经历一次比较完整的开发过程,才能真正体会到团队项目的特点和交流,整合以及优化测试的重要性,这样也让我认识到了大工程不仅仅要重视算法,更要重视架构上和变化上对软件目标实现的综合整合。
付出越多,收获越多,这门课程很难得,需要珍惜。