我们的团队项目《激斗红潮》的开发就快告一段落了,经过几个月的合作开发,我们团队取得了令我们自己满意的成果,基本在web端实现了付千山(张行健)同学在高中设计的游戏。我们学到了很多软件工程相关的知识,也积累了一些失败的教训。
首先从技术上说,经验丰富的架构师会给团队的技术选型带来巨大的红利。技术栈没有好坏之分,适合的才是最好的,选择技术栈时,一定要综合考虑不同团队成员的掌握的不同技能,让大家都能在团队中发挥出最大的效果。分工与合作也是很重要的。在开发过程中,技术难点的突破,隐含 bug 的发现与修复,架构设计和重构,api 的设计对分工与合作的要求都不尽相同,例如,技术难点的突破和架构设计就应该让经验丰富的工程师来做,而隐含 bug 的发现则需要群策群力。我们的小组中没有一个成员有过页游开发的经历,而且好几个成员没有大型项目的开发经历,经过这次训练,我们对游戏开发和团队协作开发都有了一定的了解。
再说项目管理。首先是任务分配,我们采用 issue 的方式分配任务,类似于大公司的工单制。在 issue 中,我们可以提出新特性,可以报告 bug,可以记录 api 使用方式等。在快速迭代开发的过程中,一个 issue 约等于一次小的迭代,即修改一个新功能,或修复一个 bug。issue 配合 milestone 使用时还可以显示当前进度,和燃尽图有异曲同工之妙。项目的开发过程我们力求规范,在项目开始前,我们就认真学习了阿里的《Java 代码规范》,并针对我们项目的具体情况,拟定了我们自己的代码规范,并认真执行了。针对 git 的使用我们也拟定了一套工作流程。刚开始的时候大家对 git 的使用还很生疏,后来我们就都能很好地处理冲突、分支、合并、回滚等问题了。团队的考核也是相对规范的,我们每个工作日都会让大家在群里总结自己今天的工作,让大家看到自己和别人的差距。在开发过程中,组长会对一些工作进行点评,既有褒扬,也有善意的批评。除了工作上的合作,我们有时还会一起玩我们自己设计的游戏,一起吃零食,一起聚餐,总之,我们团队相处得非常融洽,工作效率也很高。
最后,我们再次对张世聪同学和陈其华同学表示感谢,虽然你们没有选这们课,但你们也是和我们一起并肩作战的组员,真心谢谢你们的付出!
原文地址:https://www.cnblogs.com/NoWarningNoError/p/9416960.html