主要谈一谈团队管理方面的体会吧。首先团队如何分工是一件非常有挑战的事情,一方面需要让每个人都愿意做自己承担的部分工作,同时还要尽量使每个人都擅长自己的部分,这样的开发团队才是最高效的。但这其实是很难的一件事,尤其是在学校里,在一门课上组成的学生团队中。对于所使用的开发技术,我们是从头开始学;此外,团队成员的固定性决定了团队的不足,比如我们组就缺乏在设计方面有兴趣且有经验的成员。所以无论最后我们开发的结果如何,我觉得课堂上的团队其实很难真正体会到作为“软件工程”的软件开发过程,软件工程首先得以项目团队各尽所能为基础,同时项目经理还可以充分利用各种渠道去寻找需要的人员和资源,这和课堂团队是很不一样的。此外,企业中的项目团队可以有绩效考核等类似的指标,通过决定薪水高低的方式敦促团队成员竭力开发,而课堂上的团队则没有这种东西。并且,我们每个人都各自有其它课程的压力,很难说整个团队能够像真正的团队一样对项目全力以赴。
从技术上来说,团队分工也不简单。一开始,我们是按功能划分,结果导致几个人会去修改同一个文件,不仅相互影响工作,而且代码风格差异巨大,使得整个代码完全失去可维护性和扩展性。后来我们调整成1个人写后端+4个人写前端的按功能+模块的方式划分,才使得开发加快了速度。
当然,抛却以上种种困难,同时尽管受到2个bug长达10天之久的困扰,我们小组仍然按既定目标完成了迭代一的工作,有了之前的经验教训,迭代二的开发过程应该会更快更顺利一些。期待我们能做出好的作品。