进行远程协同开发的几点感想

最近的两个星期,业余的时间都在忙一个朋友的项目,忙的焦头烂额,最后项目交付的成品也不能完全符合客户的需求。这个项目是基于Andoird的Pad上的应用,主要完成一些在线学习和考试的功能,还需要配合有后台数据的展示和统计。前台有一些特殊要求是在Anroid的Pad上能对不同格式的office文档进行处理(主要是阅读),后台使用SpringMVC+Spring+Hibernate传统的架构。

这次开发面临最大的问题是,

(1)开发人员的技术参差不齐,导致代码部分质量比较差,在集成测试的过程发现许多问题,而且改动比较困难。

(2)开发人员分布在不同地域,代码管理通过google code 的svn进行管理。google的svn非常不稳定,经常连不上,导致代码同步滞后,影响代码的同步和项目测试的推进。

(3)前后台接口事先没有协议和制定好。这次的项目有前端的Android程序和后端的Web服务,前后端通过JSON和Key-value对通讯。我们使用了JSON框架来解析,所以前后台通讯接口的指定包括:实体的统一(主要字段数量和名称)、调用的URL请求、需要发送或接受的参数。这个三个要素协商好,就可以开始干活了!但在开发过程中还是要不断地沟通和优化。

(4)没有做好迭代式的集成测试。这次项目,由于时间比较紧张,从一开始就商量好初步的需求就开工开发了。项目团队里面没有专门的测试人员,所以由一名工程师兼职做测试。后来跟他聊了项目的感想,他提到影响这次项目的质量,很大的原因是集成测试没控制好,没有做好阶段性的交付。每次交付给客户的测试品都是部分开发编译出来的。但到后来发现之前测试通过的代码因为svn的提交出现问题,又做了很多重复劳动去修复。如此反复了几次后,内耗特别大。客户的抱怨也增大。

总之,经过这次项目,得到很多教训,也收获了一些经验。最大的收获是要更好地进行远程协同开发的项目管理要做好以上四点,并且要在开发过程加大沟通的力度。

原文作者:一名平凡的Java客 www.javake.net

猜你喜欢

转载自javake.iteye.com/blog/1848435