艾伟也谈项目管理,【项目管理】关于异地开发中的源代码管理问题

最近在带领一个异地的团队在进行.Net B/S系统开发工作。两地相隔1000多公里, 两地都有开发人员,源码的统一管理就成了需要解决的问题。针对这个问题,想到如下的解决方法:

一、利用Microsoft Visual SourceSafe的Internet功能

优点:

1.考虑使用VSS是因为他与Microsoft Visual Studio集成的很紧密。可以在编译器中对源码进行直接Check in 和 Check out.使用的效率很高。

2.团队成员入手容易。在对需求清楚的情况下,可以快速溶入团队,进行编码。

缺点:

1. 对团队中的契合度及团队制度要求比较高。

比如,异地的一个同事周周下班前,没有签入,周末又不开机,或者不愿意去公司做check in,会让你这编编译不过。整个程序无法跑通。当然可以忽略该功能。但是如果涉及到流程方面的,会避之不及。

2.如果某个团队成员在没有签入的情况下,开发的机器崩溃了。重新装系统。那么该部分就无法被重新签入了。

3.对网络的要求比较高。因为异地的网络比较差,当涉及图片等大一些文件操作时。很慢。

二、单人汇总

让一个人来进行汇总,保证他这里的是最新版本的源码。

优点:

1.代码被集成是值得信任的,可以通过时间和文件大小判断是否最新版本。

2.在有人员变更时受到的影响很小。

3.不会因硬件的损坏而受到很大的影响。制度上可以要求每日备份。这样受的影响只有一天的工作量。

4.当网络环境不好时,可以通过邮件、MSN等工具来传递。

缺点:

1.开发环境和框架需要是固定的。如果环境有变动,配置起来容易不统一。

2.效率不稳定。受汇总人个人因素的影响很大。

3.时效性不是最高的。

最后,说一下,我最后的采用的处理方式:

1.在做设计时,需要对模块划分尽量细化。在文件结构中,最好一小类功能就用一个文件夹,这样方便模块的分配和汇总。

2. 两地都有VSS来进行本地的源码管理。

3.两地都设一个负责人。然后由一地的负责人来总体汇总。这个人选需要对VSS、VS2005、环境搭建、需求理解有较丰富的经验。

3.选择对人。人选对了。问题将不再是问题。

4.定义好接口部分。尽量多的文档化。

5.特殊问题特殊解决.比如在更新比较频繁时,对汇总人工作量压力比较大。可以通过放缓汇总时间来解决。

6.多沟通。保持好团队的沟通顺利和团队的融洽度。大家互相熟习和气氛良好。就容易沟通。可以把一些隐藏的问题爆露出来。

最后,还请有异地开发经验的朋友们,给些建议和其他的思路。

时间: 2024-10-13 11:25:13

艾伟也谈项目管理,【项目管理】关于异地开发中的源代码管理问题的相关文章

Cocos2d-x开发中C++内存管理

由于开始并没有介绍C++语言C++的内存管理当然也没进行任何的说明为了掌握Cocos2d-x中的内存管理机制是有必要先了解一些C++内存管理的知识.C++内存管理非常复杂如果完全地系统地介绍可能需要一本书的篇幅才能解释清楚.这里只给大家介绍C++内存管理最为基本的用法. 内存分配区域创建对象需要两个步骤第一步为对象分配内存第二步调用构造函数初始化内存.在第一步中对象分配内存时候我们可以选择几个不同的分配区域这几个区域如下栈区域分配.栈内存分配运算内置于处理器的指令集中效率很高但是分配的内存容量有

详解iOS App开发中Cookie的管理方法_IOS

一.何为Cookie Cookie是网站为了便是终端身份,保存在终端本地的用户凭证信息.Cookie中的字段与意义由服务端进行定义.例如,当用户在某个网站进行了登录操作后,服务端会将Cookie信息返回给终端,终端会将这些信息进行保存,在下一次再次访问这个网站时,终端会将保存的Cookie信息一并发送到服务端,服务端根据Cookie信息是否有效来判断此用户是否可以自动登录. 二.iOS中进行Cookie管理的两个类 iOS中进行HTTP网络请求Cookie管理主要由两个类负责,一个类是NSHTT

Cocos2d-x开发中Ref内存管理

Ref类是Cocos2d-x根类Cocos2d-x中的很多类都派生自它例如我们熟悉的节点类Node也派生自Ref.我们介绍Ref内存管理.内存引用计数Ref类设计来源于Cocos2d-iphone的CCObject类在Cocos2d-x 2.x中也叫CCObject类.因此Ref类的内存管理是参考Objective-C手动管理引用计数Reference Count而设计的.如图所示是内存引用计数原理示意图.  每个Ref对象都有一个内部计数器这个计数器跟踪对象的引用次数被称为"引用计数"

Android(安卓)开发中AudioManager声音管理用法

AudioManager 类位于 android.Media 包中,该类提供访问控制音量和钤声模式的操作 以下分别是AudioManager设置声音模式和调整声音大小的方法.  如何获取声音管理器:  代码如下 复制代码 AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);   里面主要的方法: A.设置声音模式  代码如下 复制代码 //声音模式 AudioManager.setRingerMod

浅谈CSS响应式图片运用中的srcset属性

  介绍 在整个网站的开发中,在管理图片上较为困难.注意,图片要在各种设备上平滑过渡显示,它们将会碰到的问题有: 适当的优化和减少图片的体积 注意不要浪费带宽(网站的成败与否加载速度是其中主要因素之一) 设备使用相应的解决方案 对于第一个问题,使用TinyPng和JPEGmini工具可以帮助减少图片的体积和优化图片. 对于第二个问题,在一些场合下我们可能要使用到强大的媒体查询.多亏了有他们,我们可以很简单的处理背景图片的问题.但是,有些地方使用的是img来显示图片,这也是我们要解决的第三个问题,

艾伟也谈项目管理,给敏捷软件开发的26条建议

我经常收集各种各样的至理名言,最近我重温敏捷软件开发:真正的问题是什么?下面是一份26条关键原则的清单,以指引敏捷软件开发团队. 1.完整地干完一件事后在开始另一件事:用厨房比喻来说就是:"先上这道菜,再开始做下一道".软件开发的最大问题就是同时开始几件事情,这将不可避免的造成某些工作被废弃,从而造成浪费.专注于一件事:完整地实现其功能:运行测试:编写文档:签入所有,把这当做一项工作完成,然后再开始下一件事. 2.不要破坏构建:非常明显,但必须被包含在任何软件开发建议清单中.程序员在签

艾伟也谈项目管理,利用简单的一元线性回归分析估计软件项目开发时间

引言       前两天一个朋友给我打电话,问我如何估计项目开发时间.对此我很诧异,问他以前他们是怎么估计的,他说以前基本都是大家开个会,大约都说说自己意见,最后负责人一拍脑袋,给出一个时间.不过这次遇到一个非常认真的客户,要求不但要估计出项目开发时间,还要明确说明具体的依据和估算方法,这下我这朋友有点犯难,才询问我.后来我翻阅了一些数理统计和项目估算方面的资料,告诉了他利用一元线性回归分析估计软件项目开发时间的方法.想到这种估算需要在一些开发团队很常见,所以在这里整理成文. 问题的定义及数学模

艾伟也谈项目管理,敏捷开发,在路上

如果有一种方法能使你的软件缺陷率降低63%,核心缺陷率降低79%,整体投入减少62%,整个项目开发的时间缩短69%,你会采用这种新的软件开发方法吗? 在回答这个问题之前,你可能会问:是什么方法能达到这样的效果?答案是:敏捷开发.你一定会开始质疑:这是真的吗?或者你会说:我们也在用敏捷,但没有以上提到的这么夸张. 以上提到的一些数据来自Forrester,一家善于用数字说话的咨询公司.他们对多个采用敏捷开发的项目与传统开发方式进行对比,得出以上数据.而这些项目来自敏捷刚刚开始起步的2002年. 不

艾伟也谈项目管理,编程习惯

文/Alexey Radul 译/程显峰 原文地址:http://web.mit.edu/~axch/www/programming_habits.html 近年来,我对编程艺术有很多体会.过后,我发现有些体会是错的:有些体会我遗忘了但又重新感受到:而另外有些则是必然会发现的.我还完善了一套项目管理的好习惯,这些习惯包括我自己的,或者小组的,抑或是更大的,公司内部的.一方面,这些习惯对软件的成功开发是至关重要的(太小或者纯粹巧合的不算),另一方面,这些习惯也不是什么高深莫测的东西,较小的篇幅就可