从后端入手,推动项目开发
终于要开始写回顾了,感觉我们小组的项目总体上来说还是非常不错的,我是觉得非常满意,因为在别人都赶着在ddl前把项目开发完成的时候,我们已经在两周前结束项目的开发,然后平时玩玩自己的产品,写写文档了。
在我看来,赶ddl的小组都是由于组内的积极性不高导致的。在我们小组前期的时候也有这种情况。小组前期的时候,也有每周都开一次会,但每次会上讨论的都是一些文档和收集前期的学习情况,当然我不是说讨论文档没用而是在开始的前几周需求差不多都明确了,已经可以开始进行开发了,而且我们是基于“敏捷开发”的方法,我们不需要把需求想得非常完善才进行开发,而是对需求有了比较清晰的认识后就可以动手了,后面如果有新的需求或者想法,再在下一次迭代中实现。基于此,我觉得我们项目组的积极性比较低,为此,我也想了很多种方法,比如一些奖赏机制来激励大家,但发现并没有什么作用,还是没有人开始动手。后来我回顾了一下,发现我们有个问题——前端开发需要测试自己的数据,后端开发也需要测试自己的数据,这样前端等后端,后端等前端就构成了一个死锁。因此总有一方要先开始,同时开始行不行?应该可以,但经过仔细分析和实践检验,笔者觉得从后端入手更好!原因如下:
- 后端逻辑更加清晰
相对于前端的复杂的页面联系和用户交互设计,后端的逻辑更为清晰,因为后端知道输入和输出,那其代码的逻辑结果就基本不会变化,且后端的接口容易模块化,没有很复杂的联系。后端的代码也更为简洁,大部分都是对数据库的操作,在技术上难度不是很大,可重用性强。而前端有多种表现形式
-
后端开发速度更快
就目前的技术来看,实现后端并不难,因为有很多库,一些语言开发后端也比较简单,如python和java的spring boot,我是选择后者的,我开发的一个感受是有点像是在搬砖,因为其语言难度很小,而后端很多操作数据库的语句都大同小异,代码的可重用性强。而我开发第一次迭代的后端应该不到一个星期,其中还包括配置和学习Spring boot,测试和写接口文档。
-
后端容易测试
后端有较多的测试工具,如postman,java的单元测试等。完成测试的API具有持久可用性,因此很容易以文档的形式把接口描述写下来,供前端开发使用。
当然,后端的接口也不是很容易写得很全面,没有bug或逻辑错误,所以后端的接口我们也是采取不断更新的方法,根据迭代和修改次数给接口文件命名,如下:
因为接口文件大部分内容都是不变的,只有少部分修改或者添加的接口才是开发者需要注意的,所以每次更新都会体现在文件的更新说明上:
、
当然这样也会有一些麻烦,因为文件太多,每次都要下载文件查看很麻烦,所以每次更新后可以把文件上传到项目网站上
就这样,在写好了接口文档后,我们整个团队的开发就开始了。我们制定了每周两次线下开发,每两周一次迭代的制度,每次迭代目标我们也大都能顺利完成,所以我们用了3次迭代完成了项目的完整功能的开发,测试服务端搭建和后期的产品微调。所以在后期我们过得比较轻松,而没有向其他组那样赶ddl。
以上只是个人见解,且只是项目能够顺利完成的一个小原因,更重要的一点是队友愿意在这个项目上花费时间和经历,所以很幸运有这么可靠的队友!
Hope it help!