簡報:Subversion 版本管理與協同作業

這是我去年在公司內部教育訓練時教授 Subversion 時所做的簡報檔,有興趣的可以看看:

 

若您想全銀幕觀看可以點選以下網址:

http://docs.google.com/TeamPresent?docid=dfj7hts2_6g4g5zsdv&skipauth=true

 

  

此文章由 will 發表於 2008/3/1 上午 12:06:00

永久連結 | 評論 (0) | 此文章的RSSRSS comment feed |

分類: Subversion | 團隊合作

標籤: , ,

收藏:

保哥的軟體哲學

我本身帶領軟體開發團隊一段時間了,且近幾個月也在微軟技術社群討論區參與社群討論,偶爾會看到有人詢問一些軟體開發的觀念與學習的方法,我個人大致整理了一下這幾年來的心得,大略列出幾點跟大家分享:

保哥的軟體哲學(1)

在團隊中不一定要做老大,但有機會的話不要做老二,培養領導能力,學習如何建立團隊,這經驗不是每個人都有機會能得到的。 

保哥的軟體哲學(2)

培養負責任的態度,如果真的不適合寫軟體,也可以做一段時間再轉行,因為寫軟體可以培養你的邏輯思考能力。

保哥的軟體哲學(3)

有時間就多想:軟體只要規劃的好,可以節省10倍以上的開發時間。

沒時間就多做:連想的時間都沒有的話,就從寫 Code 的手感中尋找下一個靈感。

保哥的軟體哲學(4)

沒觀念就多看書,但有觀念者還是要多寫Code累積自信,寫軟體的自信是一行一行的 Code 累積起來的!

保哥的軟體哲學(5)

沒經驗就多做事、少抱怨,但有經驗者要少寫 Code 多思考 (但還是不能常抱怨)

// 做事 = 寫 Code

保哥的軟體哲學(6)

寫程式是很「個人」的事,寫程式的品質直接影響你的個人品牌,別讓負面情緒(抱怨,失望,討厭,灰心,逃避,拖延,...)影響你程式的品質。

保哥的軟體哲學(7)

寫程式是很「團隊」的事,團隊的紀律與規範非常重要,團隊成員有一致的流程與共通的習慣可以讓你避免陷入泥沼,也可以提升效率。

 

  

此文章由 will 發表於 2008/2/28 上午 12:01:00

永久連結 | 評論 (0) | 此文章的RSSRSS comment feed |

分類: 心得分享 | 團隊合作

標籤: , , ,

收藏:

請勿將某些檔案類型的檔案簽入到 Subversion 版本庫

我們在用 Visual Studio 開發專案的時候,常常都會有人將一些個人的設定檔也簽入到 Subversion 版本庫,例如說:*.suo, *.user 等。導致每次開啟 Visual Studio 的時候都會變更這些檔案的內容,造成每次簽入變更到資料庫時都會將這些檔案也都簽入,當其他團隊成員在做 SVN Update 時,會造成檔案衝突的問題,對大家來說也是個困擾。

我這裡整理出一些常見的檔案類型,請不要將以下檔案簽入(commit)到 Subversion 版本庫:

如果你已經簽入(commit)到 SVN 版本庫的話,必須用以下步驟將檔案從版本庫中移出,並從下次起忽略這些檔案:

  1. 先備份這些檔案,然後刪除這些檔案
  2. 簽入這些刪除的變更
  3. 將步驟 1 備份的檔案還原
  4. 重新簽入,但這時會看到幾個新的檔案(non-versioned),將這些檔案加入 SVN 的 ignore list ( 如下圖示 )

    重新簽入,但這時會看到幾個新的檔案(non-versioned),將這些檔案加入 SVN 的 ignore list

    加入後檔案會不見,但是卻會出現目錄的名稱,但是 Status 卻是 modified (property change only) 代表此目錄已經加上了 ignore 的屬性,必須要簽入到 SVN 版本庫後才能將此設定 share 給其他團隊成員:

    加入後檔案會不見,但是卻會出現目錄的名稱,但是 Status 卻是 modified (property change only) 代表此目錄已經加上了 ignore 的屬性,必須要簽入到 SVN 版本庫後才能將此設定 share 給其他團隊成員

 

  

此文章由 will 發表於 2008/2/20 上午 12:06:00

永久連結 | 評論 (0) | 此文章的RSSRSS comment feed |

分類: Subversion | 團隊合作 | 專案管理

標籤: , ,

收藏:

我對「溝通成本」的定義

我認為溝通成本包括:

  1. 製作成本:溝通過程中的產出成本。
  2. 時間成本:溝通過程中所花費的時間多寡。
  3. 機會成本:花時間在溝通的過程中所流失的機會。
         例如:溝通所花的時間可否去做其他更有價值的事
  4. 情緒成本:溝通所衍生的複雜情緒以致於影響溝通的品質。

通常來講,一般的老闆只知道第1點與第2點,很少會去注意第3點與第4點,我個人很在意機會成本與情緒成本,尤其是情緒成本很難被量化,但影響一個團隊的運作甚鉅!

  

此文章由 will 發表於 2007/11/21 上午 11:28:00

永久連結 | 評論 (0) | 此文章的RSSRSS comment feed |

分類: 團隊合作

標籤: ,

收藏:

從團隊中學習合作精神

我相信許多人都有過這樣的經驗,就是在製作學校專題的時候,不知道為什麼人數越多,就會有某些人的做的越多、越累,要說是有人懶惰呢?還是說有些人真的不會做?還是有些人就是能者多勞天生勞碌命?

想當年我們在做專題的時候,還真的不知道什麼是【合作】,也從來沒有人教過我們怎麼合作,不過大家都還蠻認真的,一開始就先把工作分配好,然後就各自分工把事情做完,等下次 meeting 的時間到來,幾次之後才發現事情不是我們想像的那樣順利,好像有些工作當初沒有分配到,這下子糟了,有些做到一半才"生"出來的工作不知道要怎麼辦才好,想要把工作分配出去,但其他組員卻不了解我的工作內容,所以大多是自己認虧,乖乖的把工作做完,當作是學經驗練功,吃苦當作吃補,反正吃虧就是占便宜嘛!

然後越到專題末期,做事的人數越來越少,有些人越做越深入,但有些人卻離專題越來越遠,這一切看起來就是如此的「自然」,好像事情就是應該這樣發展似的。抱怨總是有的,不過我還是認為快樂的時光比痛苦的時光多太多了,何必拘泥於一個負面的想法呢!畢竟是自己選擇的專題,有興趣就應該堅持下去,而且我發現,專注於自己的目標,反而能讓心情平靜!最重要的,在過程中你學到的技術或技能不久之後就會變成廢物,但累積解決問題的經驗與培養正確的心態......無價。

說了這麼多,還是沒提到如何「從團隊中學習合作精神」?沒錯!我真的沒學到!我不是「莊孝偉」,而是當時真的沒學到,即便走出校園出社會工作,我還是不知道怎麼合作,而且不只是我,跟你共事的人也不知道!你會發現三個人合作一個專案可能要花三個星期的時間完成,但若只有一個人做可能只要一個星期就可以做完了!根據可靠民調顯示有80%的人看到這段話會莞爾一笑,不要懷疑,事實就是如此,我當時就是這樣,能夠一個人工作就一個人工作,效率百分百,要品質有品質,要時間有時間,一個人當五個人用,長官、同事都很開心,自己也很有成就感。不過,這樣的狀態久了,慢慢發現當任務越來越大,才會發覺自己的工作時間越來越長,為了解決一個問題,所花費的時間不計其數,因為總習慣於自己解決問題,所以也不知從何尋求協助,終究落的彈性疲乏,反而得不償失。

 說到這裡有個小插曲,就是我當時專題結束後就到校外打工,做寫程式的工作,工讀生是算時薪的,做沒幾個月主管就已經發現我領的薪水已經超過全職員工了,所以即便我還沒畢業,主管已經主動幫我轉換成全職員工了,雖然隔月的薪水馬上縮水 10%,不過自己能被肯定也蠻開心的啦,反正吃虧就是占便宜嘛!^^

等到了自己開了一間軟體公司,老實說,我還是不知道如何「從團隊中學習合作精神」,雖然從學生時代到出社會上班,又從雇員變成老闆,跟大家一直都是以「團隊」的名義相稱,卻沒有真正的感受過所謂的「合作的精神」,創業的前幾年,還是自己苦幹實幹,完美的落實「校長兼撞鐘」這一句話,把自己能做的事都自己做完,憑著一己之力,自行研發產品、洽談業務、客戶服務、開發票、向客戶催帳,也在深夜裡辛苦的抓著軟體的臭蟲,只想隔天能給客戶一個滿意的答覆。而且還不只自己這樣,我還要求員工跟我一樣,要獨立自主、不屈不撓的一個人把專案給close掉!我不太確定這樣是不是作孽,但我確定我訓練出來的員工各個都是箇中好手,但似乎無法成就一個偉大的團隊?!

在一個偶然的機會裡,認識了幾位台科大資管系的學弟妹,他們說想來我公司打工學寫程式,由於我沒有請過工讀生,另外公司也剛好有人力的需求,且對台科大的學弟妹也有種莫名的親切感,就讓他們來公司工作了。別懷疑,訓練「超人」是我的看家本領,短短幾個月的時間,大家的能力也提升到了一定程度,但畢竟學生的經驗不足與默契也不夠,三個人做一個案子就開始亂了,好幾次都是我在深夜裡替他們寫的程式收尾,無論是程式的除錯、改寫、重寫、加註解、重新排版,總總的苦工我都幹過,有時候心裡會想:「怎麼好像我才是工讀生喔?」,而我就是在這個時候才開始思考「團隊合作」這件事!

不過還好,這幾個學弟妹都蠻爭氣的,通常講一遍就知道,也願意隨時改變作法,共事一段時間後團隊的狀態已經慢慢在改變,無論是程式的品質或是工作的態度都越來越棒,彼此合作的默契也越來越好,一個人不在的時候,另外一個人隨時可以接手,也不會排斥彼此寫的程式,在軟體這個行業,看別人的程式已經很痛苦了,要主動能去改別人寫的程式更是值得嘉獎阿!所以建立團隊的過程中,一開始大家能力不一,甚至總是有人在狀況外,合作起來何其困難,重點是團隊成員如何相互扶持、互相拉拔,讓每個人都能夠在一個團隊中不斷成長,彼此相互尊重、相互支援、培養默契、擁有共同的目標,即便一開始錯誤百出,但因為有清楚的目標,讓每個人能夠專注,淡化合作的痛苦,當目標達成時,決不僅只有成就而已,而是成就的N次方(N是團隊人數);即便目標無法達成,大家也能互相鼓勵,期待下一次的成功,絕對不是世界末日,正所謂「這個世界沒有失敗,只有暫時停止成功」。

我個人認為,合作的精神就在於維持一個「正向的循環」。在團隊中,個人的成長要快,但團隊的成長卻要慢,為什麼呢?那是因為每個人學習成長的速度不一,為了讓團隊成功,唯一的辦法就是讓每個人的能力都不斷的提升;不過團隊的成長就不是這麼一回事了,團隊的成長需要默契、信任、付出、承諾,這些都需要時間,不太可能短時間內就達到一定水準,所以才需要慢,還要慢的有品質。所以要維持正向的循環,必須從每個團隊成員出發,學習正向思考,擁有正面力量的人才能影響其他人走向正向的循環。

如果你能夠參與一個團隊,你應該感到幸運!把握你的時間,從現在開始培養你的合作精神,在團隊中尋找你的定位與責任,也試著了解別人的需要與進度。讓你自己成為一個領導者,除了要求自己以身作則外,還能夠隨時伸出援手,讓成員感受溫暖。最後,不但是讓團隊不斷的成功,擁有健康心態的團隊成員,也將在良好的團隊環境下自然快速成長。


◎ 本文於日前投稿至台科大校友季刊,並刊登於第39期的校友專欄單元,文章有經過刪減潤飾,目前發表在這裡的是完整全文。

  

此文章由 will 發表於 2007/11/6 上午 10:22:00

永久連結 | 評論 (0) | 此文章的RSSRSS comment feed |

分類: 團隊合作

標籤: ,

收藏: