GHawk

          對"UP是正楷,XP是草書"的反思

          “UP是正楷,XP是草書。先學好了UP,才能學好XP;先學XP再學UP就會亂套。?”

          老師曾這么說。最近,對這句話有了深刻的體會。

          軟件過程是一個以人為中心的活動。人是項目中最難確定和控制的因素。休息的質量、情緒的起伏都會影響整個活動。為了盡可能地約束這種個體的不確定行為和減少開發(fā)過程中不必要的誤會。"UP"采用了大量的文檔來對整個開發(fā)過程進行控制。這些文檔主要分為以下幾類:

          • 計劃文檔——項目的開發(fā)計劃、迭代計劃、測試計劃等。
          • 技術文檔——項目的設計文檔、某個操作的說明文檔等。
          • 記錄文檔——日常的會議紀要、每日進度反饋、評估報告等。

          文檔成了UP活動的主要部分。在UP中,往往大量的資源用于文檔的制作。這些文檔的目的是為了盡可能減少不必要的溝通成本和誤會,也為了在發(fā)生問題的時候能夠盡快確定原因找到解決方法。

          而正是因為如此繁重的資源消耗,導致真正的設計和代碼只占到了總開銷的很少部分。這對很多人來說不可理解,甚至覺得本末倒置。于是很多敏捷方法誕生了,最具代表性也是對UP思想最具顛覆性的就屬XP了。

          對外,XP以快速的反應速度來響應客戶的需求;對內,XP以高質量的代碼和設計來確保盡可能不產(chǎn)生不必要的文檔和資源開銷。

          從表面上看,在當今,XP確實是一種非常理想的開發(fā)過程。

          但是,從沒有過程到XP往往會非常失敗。這是為什么?問題的關鍵還在于人。

          • 無過程-->UP -->XP

          UP利用文檔來約束和規(guī)范人們的開發(fā)活動。當一個沒有經(jīng)驗的團隊經(jīng)歷UP后,就等于把性格各異、習慣差別不同的人統(tǒng)一成了“相對較一致的開發(fā)人員”。

          他們有一致的編碼習慣,有共同的用語,有嚴格的規(guī)則。隨著經(jīng)驗的積累,這個團隊間的默契越來越高。此時,如果過程由UP向XP切換,付出的代價就會相對較低。

          • 無過程-->XP-->UP

          XP主張快速反應。如果一個沒有經(jīng)驗的團隊在一開始就嘗試XP,那么后果可能是慘痛的。因為一個沒有經(jīng)驗的團隊其成員間的相互了解頗少,對于一件事,往往十個人有十種想法。當缺少文檔約束時,在以代碼和設計為中心的活動中,成員之間往往因為水平的參差不齊導致無休止的討論甚至爭論,代碼被不必要地頻繁改動。這是因為,在團隊建設早期,成員之間往往連最基本的尊重和信任都不存在。 這種無意義的活動往往會嚴重影響項目的正常進行。

          所以,學習和應用過程不僅僅是個體的事,而是整個團隊的事。只有當團隊采用嚴格文檔化的過程并且經(jīng)過磨合后,才能漸漸向輕量級的過程遷移,逐漸將不必要的文檔刪減掉,采用更靈活的過程。但是,此時并不是“沒有文檔”而是“心中有文檔”。

          posted on 2006-03-01 16:25 GHawk 閱讀(1656) 評論(4)  編輯  收藏 所屬分類: 軟件過程

          評論

          # re: 對"UP是正楷,XP是草書"的反思 2006-03-01 17:08 leolife

          感覺上很有道理!  回復  更多評論   

          # re: 對"UP是正楷,XP是草書"的反思 2006-05-11 17:17 SpiderMan


          XP建立在對團隊充分信任的基礎之上,對團隊成員的尊重信任是項目開展的基礎。團隊成員間的這種信任必須是相互的、平等的,這些信任又是基于團隊成員都具備較豐富的項目經(jīng)驗、具有同等的知識廣度與深度、接近的價值觀理念而建立起來的。在這個基礎之上,才能最大限度發(fā)揮團隊的創(chuàng)造力和協(xié)作能力,進行高效率、高質量的開發(fā)。這就是以人文本的思想,鼓勵發(fā)揮每個人、整個團隊的主動能動性,激勵進步。

          而UP強調規(guī)范、約束、控制,重流程的管理,對于人員素質要求相對XP來說并不高,因此是建立在不充分信任團隊的基礎上的,各種措施,諸如:詳盡的文檔、大量的評審、各種度量 都是為了避免團隊成員在項目過程中出現(xiàn)異常情況而帶來的風險。因此UP和很多傳統(tǒng)方法一樣,是被動模式的,因此,團隊成員在項目中很可能能力參差不齊、差別很大。由于在UP中,有規(guī)范的約束,一些成員造成的故障、缺陷能以其他方式、由其他成員來協(xié)助彌補。因此UP不是以人為本的。不能充分客觀的 挖掘每個人的潛能、發(fā)揮每個人的特長、評價 每個人的價值。
            回復  更多評論   

          # re: 對"UP是正楷,XP是草書"的反思 2007-01-05 10:35 mabo

          質疑一:為什么要從xp-->up?
          質疑二:難道團隊間的信任和尊重是靠文檔建立起來的?笑話
          質疑三:如果項目成員水平不行,能指望靠類似up的過程管理取得成功?作者口口聲稱“人是最重要的”,結論卻是“過程可以彌補人的不行”。我老婆都說“自相矛盾”  回復  更多評論   

          # re: 對"UP是正楷,XP是草書"的反思 2007-08-20 16:10 Justin

          其實對于人員素質之言,我覺得在這里談高低好像也沒有什么根據(jù)。軟件行業(yè)不是建筑行業(yè),就超過百年歷史。軟件行業(yè)實在是小弟,所以,既然是參與軟件行業(yè),必定需要有過人的智慧,渾水摸魚的不在此列啊。
          XP和UP,其實我覺得用主動和被動兩個詞分別形容,比較恰當。UP好像不關心你對項目,對軟件有多大熱情,按部就班。XP呢,如果你沒有十足的熱情,就是想拿份工錢,是干不下去的。  回復  更多評論   

          主站蜘蛛池模板: 行唐县| 滨州市| 怀化市| 安宁市| 天台县| 民权县| 望城县| 南阳市| 宁明县| 临沭县| 临猗县| 开平市| 潍坊市| 体育| 建水县| 仙居县| 黄陵县| 肇州县| 太白县| 虎林市| 罗定市| 塘沽区| 钦州市| 府谷县| 阿合奇县| 封开县| 资阳市| 晴隆县| 仪陇县| 府谷县| 丹寨县| 古浪县| 天峻县| 周至县| 嘉黎县| 项城市| 如东县| 丰宁| 资阳市| 灵宝市| 健康|