人在江湖

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            82 Posts :: 10 Stories :: 169 Comments :: 0 Trackbacks

          周末去聽Hadoop大會,看見的都是玩兒開源項目的好手,突然就想起敏捷了。敏捷強調溝通,尤其是面對面的溝通,并且有每日例(立)會,iteration plan meeting, 還有retrospect meeting。突然就在想,開源項目常常聚集來自不同國家的人,他們很多時候根本互相不認識,兩個不同公司不同時區不同國家的人咋面對面溝通啊?咋聚齊開會啊?人家平時溝通全靠mail, 但是他們做大項目也能成功,人家是怎么做到的?我們搞敏捷,這么神奇的武器,開發過程仍然捉襟見肘,還不如開源項目有序,為什么?

          猜想世界范圍的開源項目溝通成本高,所以他們必須千方百計降低溝通需要,通過一些手段可以做到,比如

          一,清晰,自然的架構。

          二,高質量代碼,代碼像文檔一樣流暢。

          三,模塊化,面向接口。

          四,務實的文檔。

          五,自動化測試。

          ……

          有些溝通是必然免不了的,比如需求的溝通,我覺得最復雜的需求溝通往往起因于程序員不了解行業領域知識,而開源項目往往是工具類,框架類的項目,絕大多數不涉及特定行業領域知識,了解“domain”的門檻不高,所以需求方面的溝通要求天生就相對較低。我們平時工作的很多溝通來自于技術問題的溝通,我絕不懷疑,技術手段能夠降低溝通技術問題的需求,而一個不那么倚重程序員溝通技術問題就能把技術做好的項目,才說明技術風險低,技術好。一些事情,比如技術選型,的確需要Involve比較多的人討論。但是當技術選型確定,模塊劃分清楚,接口清晰之后,技術溝通的需求就應該比較低了。有的時候技術上會遇到一些dilemma,這樣寫程序不好,那樣寫也不對,有時候確實是因為技術本來也沒有完美的解決方案,總要trade off掉一些事情。但更多時候是因為架構不好,才引發了隨后的種種麻煩。程序員之間扯皮什么事情該誰做,是不是因為模塊化做得不好?“xx,你給我講講某塊代碼實現吧,我懶得看了”,是程序員懶還是程序實在是一團漿糊,慘不忍睹?同一個問題A給B解答一邊,給C解答一邊,后面還有E,F,G….是不是早該寫好文檔?

          coding的工作不神圣,但確實不同的人做出的設計可以大相徑庭,同一個功能背后的代碼也可以天差地遠。做產品不是靠人堆出來的,三個臭皮匠頂不了一個諸葛亮,三個臭皮匠還不如一個臭皮匠,因為安排一個諸葛亮可以帶好一個臭皮匠,三個臭皮匠能把諸葛亮也熏臭了。開發團隊應該是全高手陣營,人不必多,但要個頂個而的強。玩兒開源項目的人都是有熱情的程序員,往往都是高手,程序員用程序說話就好了,電話不用天天打也不耽誤溝通。

          跑下題說team work. 最近在想,team work表面上看是相對于個人英雄主義來說的,仔細一想,其實個人英雄主義應該是team work的前提。程序員就是要有這樣的本領,當他把手放在鍵盤上的時候,就能源源不斷創造價值。一個人沒單打獨斗的能力,就沒資格談team work, 笨蛋當然喜歡team work了,不然很容易暴露自己的無知和無能。

          posted on 2011-12-04 22:39 人在江湖 閱讀(2106) 評論(10)  編輯  收藏 所屬分類: process

          Feedback

          # re: 一點兒也不敏捷的成功 2011-12-05 01:28 allenny
          這個1.2.3.4.5是你開源項目中經驗的總結還是你猜想出來的?  回復  更多評論
            

          # re: 一點兒也不敏捷的成功 2011-12-05 09:37 人在江湖
          @allenny
          純猜想,很可能說的不對,請指教。
            回復  更多評論
            

          # re: 一點兒也不敏捷的成功 2011-12-05 13:10 kevin lee
          其實個人英雄主義應該是team work的前提。程序員就是要有這樣的本領,當他把手放在鍵盤上的時候,就能源源不斷創造價值。一個人沒單打獨斗的能力,就沒資格談team work, 笨蛋當然喜歡team work了,不然很容易暴露自己的無知和無能。

          說的好!!  回復  更多評論
            

          # re: 一點兒也不敏捷的成功 2011-12-07 17:12 女鞋
          說的不錯  回復  更多評論
            

          # re: 一點兒也不敏捷的成功 2011-12-13 21:03 zzg
          有點意思  回復  更多評論
            

          # re: 一點兒也不敏捷的成功 2012-12-21 12:53 dohkoos
          笨蛋當然喜歡team work了,不然很容易暴露自己的無知和無能  回復  更多評論
            

          # re: 一點兒也不敏捷的成功 2012-12-21 12:57 dohkoos
          >我們搞敏捷,這么神奇的武器,開發過程仍然捉襟見肘,還不如開源項目有序,為什么?

          背景不同呀!公司項目和開源項目能一樣嗎?開源項目延期就延期,架構有問題就重寫,你公司項目能這樣做嗎?  回復  更多評論
            

          # re: 一點兒也不敏捷的成功 2013-01-29 05:42 Skywalter
          敏捷只是一個神奇的武器為幾個所謂的專家騙名騙財而已。我的經歷證明敏捷只是誤人而已。你聽說過造成汽車,幾個工程師和工人坐在一起,‘敏捷’一把, 討論這樣造輪子, 那樣造方向盤,然后立刻動手做?如果這樣能高效高質量造成汽車,太陽不打西邊出也得從地下冒出來。軟件也是一種產品,居然能“敏捷”一把。
            回復  更多評論
            

          # re: 一點兒也不敏捷的成功 2013-08-08 17:09 francisliu
          lz說得太精辟了,我佩服得五體投地啊。其實很多東西一再推敲到最后都是文化基因的問題。但是基因的問題豈是一蹴而就的呢。而往往國人就是喜歡一針頂破天的簡單的做法,而且往往這種做法短期的成本還非常低,擺在國內的市場環境中還往往很有可能成功。呵呵。就是這樣了。然后就是不斷的輪回了,用程序猿的說法就是不停的遞歸直到棧溢出咯。。  回復  更多評論
            

          # re: 一點兒也不敏捷的成功 2013-08-09 11:05 francisliu
          @Skywalter
          一般敏捷不過只是維護項目的一個方法論罷了,僅此而已,等到這些項目枯死在硬盤或者其他介質上面后,敏捷便將被拋棄,不過很多小人往往就是這樣,到那個時候往往詆毀敏捷的往往就是那群現在捧著敏捷猶如飯碗的那群人而以。  回復  更多評論
            

          主站蜘蛛池模板: 苏尼特右旗| 嵩明县| 东乌珠穆沁旗| 保亭| 叙永县| 舒城县| 沈丘县| 慈利县| 兴海县| 天柱县| 朝阳县| 华宁县| 西峡县| 扬州市| 积石山| 上杭县| 香港| 达孜县| 汤阴县| 嘉荫县| 乐昌市| 子长县| 同江市| 盈江县| 临夏市| 河津市| 永定县| 漯河市| 都匀市| 达孜县| 永昌县| 开阳县| 甘谷县| 甘肃省| 屏东市| 南充市| 麻城市| 武乡县| 文山县| 会理县| 宜宾县|