posts - 262,  comments - 221,  trackbacks - 0

          最近部門為了提高工作效率,決定推行一系列規(guī)范化管理。其中之一就是版本控制。SVN作為近年逐漸興起的新一代版本控制管理工具,加上開源的特點(diǎn),當(dāng)仁不讓地成為我們的第一選擇。

          如何開展版本控制呢?剛開始的時(shí)候想得很簡單。心想“我們只要搭建個(gè)SVN服務(wù)器,配置好權(quán)限。然后發(fā)一封郵件,大家肯定會(huì)一呼百應(yīng)。畢竟這是會(huì)上領(lǐng)導(dǎo)重點(diǎn)提出的要求,再加上對(duì)他們有好處,可以提高工作效率,推廣起來肯定是不費(fèi)吹灰之力的”。可是做的往往沒有想的那么容易。

          挑戰(zhàn)1:歷史原因
          客戶的現(xiàn)有平臺(tái)是90年代搭建起來的,使用的都是古老的技術(shù),當(dāng)時(shí)沒有版本控制的概念。現(xiàn)在要重拾版本控制,談何容易!光是上百個(gè)日常應(yīng)用累都累死你,更不要說那些躺在角落九千年沒人用的應(yīng)用,有些連源代碼都沒有了!只有class文件。真想殺人!

          挑戰(zhàn)2:工作習(xí)慣
          前面提到的客戶的現(xiàn)有平臺(tái)如此混亂,其中一個(gè)最大的原因就是平時(shí)沒有養(yǎng)成版本控制的習(xí)慣。對(duì)程序的版本控制就是簡單的拷貝-->復(fù)制-->加上日期重命名。所以在一個(gè)項(xiàng)目下可以看到幾十個(gè)帶時(shí)間的備份文件,或者諸如bak1,bak2之類慘不忍睹的文件名。

          這些人由于平時(shí)松散慣了,你現(xiàn)在突然要改變他們的工作習(xí)慣和方式,他們會(huì)不自主地產(chǎn)生一種“消極對(duì)待或抵抗”的情緒。之前沒有版本控制不也是過來了,搞什么版本控制嘛?所以說項(xiàng)目管理中最大的成本是什么:是人;最耗時(shí)的改變是什么:改變?nèi)说墓ぷ鞣绞胶土?xí)慣。要強(qiáng)行推行一種技術(shù)不難,但要改變一個(gè)人的習(xí)慣很難。

          由于這種潛意識(shí)里的抵抗情緒,所以客戶同事會(huì)用各種理由來阻止使用版本控制。比如說IDE不兼容啊,操作麻煩啊。

          挑戰(zhàn)3:誤解
          在當(dāng)初部門會(huì)議上提出推行版本控制的時(shí)候,我就知道肯定會(huì)有些人事會(huì)對(duì)我們有意見,認(rèn)為我們是為了出風(fēng)頭或控制大權(quán)而故意推行的。果不其然過幾天后就開始有些同事說一些酸溜溜的話。如果沒有足夠的心里的準(zhǔn)備,這個(gè)時(shí)候的打擊是很大的。

          挑戰(zhàn)4:經(jīng)驗(yàn)
          由于整個(gè)部門之前沒有任何版本控制的正規(guī)經(jīng)驗(yàn),所以我和另外一個(gè)同事都是摸著石頭過河,不能拿生產(chǎn)環(huán)境下手,什么事情都得在自己技巧上,測試機(jī)器上測試通過,確保萬無一失才敢部署上服務(wù)器。期間我們遇到了很多瑣碎的問題,有些雖然小卻足以浪費(fèi)你一個(gè)下午的時(shí)間。

          一個(gè)負(fù)責(zé)SVN同事面對(duì)這種情況,一開始有點(diǎn)落差,顯得有點(diǎn)恨鐵不成鋼的感覺。我向他解析:別看現(xiàn)在我們是裝個(gè)工具,配置下權(quán)限。其實(shí)事件的深層次是我們要改變他們熟悉的工作方式和習(xí)慣。讓他們有了一種受威脅的感覺,從而產(chǎn)生抗拒感。這是人的一種本能,是對(duì)事不對(duì)人的。我們只能一步步來,慢慢地過渡。

          方法1:加大宣傳
          針對(duì)部門平時(shí)的工作情況,我們找出了由于不使用版本控制而帶來的一系列麻煩。因?yàn)檫@些麻煩多數(shù)人都遇到,所以在談到這些問題時(shí)首先已經(jīng)擊中他們的要害。通過培訓(xùn),交談等方式重點(diǎn)宣傳使用SVN的好處,只有讓客戶感到有好處我們才能繼續(xù)開展下去。

          方法2:主動(dòng)出擊
          剛開始我們幾個(gè)同事部署好了SVN,卻沒有人愿意使用,這確實(shí)很打擊我們的士氣。于是我們決定主動(dòng)出擊,主動(dòng)發(fā)郵件通知大家,邀請(qǐng)大家以嘗試的方式先把項(xiàng)目放到我們的版本庫進(jìn)行控制,并承諾對(duì)出現(xiàn)的問題,在力所能及的范圍內(nèi)我們都會(huì)盡快解決,這樣很快有了“第一個(gè)客戶”。

          方法3:曲線救國
          很多同事一開始對(duì)版本控制并不感冒,好既然我正面說不動(dòng)你,那我就來個(gè)曲線救國,釜底抽薪:我先說服客戶,讓客戶同意從SVN中check out/in代碼,而不從其它途徑獲取代碼;或者我直接找上級(jí)領(lǐng)導(dǎo),以行政命令的方式代替日常的說服,這樣就斷了他們的后路,你不用版本控制也不行了。

          不過我不喜歡這種方式,至今也沒有使用這種方式。因?yàn)檫@是一種半強(qiáng)迫式的做法。是失敗的管理者采用的粗暴簡單手段。俗話說:攻城為下,攻心為上。不讓同事客戶明白使用SVN的好處,他們是不會(huì)真正配合的。我還是會(huì)堅(jiān)持上面的兩種方法的。

          方法4:操作便利
          任何一項(xiàng)工具或服務(wù),假如沒有提供便利的操作,哪怕好處說破天也不會(huì)有人用。沒人會(huì)因?yàn)榧夹g(shù)而技術(shù)。所以我們?cè)谕茝VSVN的時(shí)候,除了注意強(qiáng)調(diào)SVN的好處,還必須注意如何為同事,客戶提供最便利的操作服務(wù)。因?yàn)槲覀冮_發(fā)小組和客戶一個(gè)處于廣州,一個(gè)處于香港,網(wǎng)絡(luò)不同。客戶出于安全考慮不愿通過普通公網(wǎng)訪問我們版本庫,但如果版本庫建在客戶處,我們又經(jīng)常需要以VPN的方式登陸然后check in/out,這在大數(shù)據(jù)量的check in/out時(shí)非常緩慢而且會(huì)斷開原來的網(wǎng)絡(luò)連接,用戶體驗(yàn)很差。

          針對(duì)這種情況我們將會(huì)采用Apache + SVN構(gòu)建SSL的方式,提供加密方式的SVN連接。即免去客戶的顧慮,也免除我們同事使用的麻煩。更可以脫離公司內(nèi)網(wǎng)的限制隨時(shí)隨地進(jìn)行版本控制。

          通過最近這些日子的工作,我深深地體會(huì)到項(xiàng)目管理的難處,這種難處很多時(shí)候比寫不出程序更打擊人,但更有挑戰(zhàn)性和學(xué)習(xí)意義。版本控制之路,路漫漫其修遠(yuǎn)兮,吾將上下而求索。



          -------------------------------------------------------------
          生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
          posted on 2008-12-25 18:00 Paul Lin 閱讀(2292) 評(píng)論(3)  編輯  收藏 所屬分類: 項(xiàng)目管理


          FeedBack:
          # re: 【版本控制之路】扛起SVN的大旗
          2008-12-25 20:02 | robertlyc
          新一代...lz你太火星了
          新一代版本控制是git了...  回復(fù)  更多評(píng)論
            
          # re: 【版本控制之路】扛起SVN的大旗[未登錄]
          2008-12-25 20:41 | Paul Lin
          @robertlyc

          學(xué)習(xí)了,呵呵。不過從使用程度來看。SVN還是保險(xiǎn)一點(diǎn)  回復(fù)  更多評(píng)論
            
          # re: 【版本控制之路】扛起SVN的大旗
          2008-12-26 19:57 | reeze
          git 還是不錯(cuò)的。就是缺乏GUI的支持
          不過很快應(yīng)該就有了~  回復(fù)  更多評(píng)論
            
          <2008年12月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(21)

          隨筆分類

          隨筆檔案

          BlogJava熱點(diǎn)博客

          好友博客

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 米泉市| 正阳县| 射阳县| 八宿县| 合山市| 丹棱县| 和龙市| 谢通门县| 额济纳旗| 九台市| 安溪县| 长岛县| 丰顺县| 阜阳市| 兴宁市| 莱西市| 康平县| 阿图什市| 濉溪县| 镇宁| 清水县| 福贡县| 天长市| 琼结县| 海门市| 任丘市| 涪陵区| 景宁| 湖北省| 渭源县| 五大连池市| 石嘴山市| 江安县| 玉田县| 蓝山县| 临高县| 清涧县| 北川| 乌兰县| 莫力| 临洮县|