目前,随着网络的发展,很多的IT项目开发者与管理者或开发者与开发者有可能不在同一地点办工。如何协同合作,共同开发,完成项目,是很多人都遇到过的问题。我目前也遇到这方面的问题。
我们公司开发人员都在上海,我本人在一个省,另外还监管另一个省的项目。项目进行了几年了,零碎的需求较多。上线版本较多。如何管控这些需求,公司有一套规章制度。但在各方协作时,也会存在一些问题。比如,每一个人都是复用,包括开发者和维护者。多项目的进度协调,资源协调,与客户的协调等等。
首先,我们来说一下,IT项目远程开发存在的问题:一是开发环境与生产环境的不统一;二是开发人员对生产环境的不熟悉;三是交流沟通过程中存在的信息丢失和不对称。
对于开发环境与生产环境的不统一,由于生产环境的变化很快,很多顶目的配置管理或变更管理做得并不是很好,也加巨了这方面的问题。如果再加上现场为迎合用户紧急需求做的临时调整,问题就更加麻烦。随时修正开发环境,使之与生产环境保持一致,也不是一个现实的做法。所谓的不一致,主要是指两方面,一是代码的不一致,目前对于很多应用,除了相关的程序代码外,还有大量的存在于数据库中的过程、函数、触发器、job、contab、sheel脚本和windows的at脚本等。这些代码的版本控制有时就没有程序代码控制严格。代码版本也有可能在交接时发生一些问题。二是数据不一致,我这所说的数据不一致是指,由于每一次版本的更新,一些关建数据字段,在生产网可能做过数据割接,而在公司的环境中却没有做数据的割接;另外还有可能存在测试用的数据不能完全模拟生产环境的所有情况。日积月累,造成数据的不统一,在初期,还表现得不是很明显,但是当到达一定量时,将会造成很多的问题。
如何使开发环境与生产环境统一呢?主要要做到以下几点:
一是做好相关的加强代码规范,加强配置变更管理,完善版本控制;做好代码的双向同步。代码的规范,这是老生长谈的事,有做得好的,有做得不好的,大家都想做得很规范,但有时不一定能做得很好,但最好不要在不应当出现代码的地方出现代码,如:job中直接写具有逻辑的代码、jsp或asp中操作数据库等这些绝对不能出现。维护人员最好是不改动任何的代码,含过程等代码。如果不能做到这一点,请修改后及时将最新版本发给公司,更新公司的版本。并做好相关的记录。配置变更管理都是具有严格流程和要求的,我在这就不多述了。
二是定期检查版本源代码提交请况,有条件的可以与生产环境比对;目前版本控制的工具相当多:VSS、SVN、MOSS等等。但是总有程序员忘记提交代码,造成代码不统一;定期检查提交情况,可有效避免这个情况。如果有条件与生产环境的代码进行比对,效果会更好。
三、加强工作变动交接的审查,目前对离职员工,可能这方面做得要好一些,但是由于正常工作中的工作交接,可能会忽略审查。
|