內蒙古java團隊

          j2se,j2ee開發組
          posts - 139, comments - 212, trackbacks - 0, articles - 65
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          有效編寫軟件的75條建議(七)

          Posted on 2008-08-01 16:09 帥子 閱讀(258) 評論(0)  編輯  收藏 所屬分類: J2EE技術專區
          61.你們的每個人都了解項目的商業意義么?
          ?????
          ????? 要。這是Vision的意思。別把項目只當成工作。有時候要想著自己是在為中國某某行業的信息化作先驅者,或者時不時的告訴team member,這個項目能夠為某某某國家部門每年節省多少多少百萬的納稅人的錢,這樣就有動力了。平凡的事情也是可以有個崇高的目標的。
          ?????
          ????? 62.產品各部分的界面和操作習慣一致么?
          ?????
          ????? 要這樣。要讓用戶覺得整個程序好像是一個人寫出來的那樣。
          ?????
          ????? 63.有可以作為宣傳亮點的Cool Feature么?
          ?????
          ????? 要。這是增強團隊凝聚力、信心的。而且,“一俊遮百丑”,有亮點就可以掩蓋一些問題。這樣,對于客戶來說,會感覺產品從質量角度來說還是acceptable的。或者說,cool feature或者說亮點可以作為質量問題的一個事后彌補措施。
          ?????
          ????? 64.盡可能縮短產品的啟動時間要這樣。
          ?????
          ????? 軟件啟動時間(Start-Up time)是客戶對性能好壞的第一印象。
          ?????
          ????? 65.不要過于注重內在品質而忽視了第一眼的外在印象。
          ?????
          ????? 程序員容易犯這個錯誤:太看重性能、穩定性、存儲效率,但忽視了外在感受。而高層經理、客戶正相反。這兩方面要兼顧,協調這些是PM的工作。
          ?????
          ????? 66.你們根據詳細產品功能說明書做開發么?
          ?????
          ????? 要這樣。要有設計才能開發,這是必須的。設計文檔,應該說清楚這個產品會怎么運行,應該采取一些講故事的方法。設計的時候千萬別鉆細節,別鉆到數據庫、代碼等具體實現里面去,那些是后面的事情,一步步來不能著急。
          ?????
          ????? 67.開始開發和測試之前每個人都仔細審閱功能設計么?
          ?????
          ????? 要做。Function Spec review是用來統一思想的。而且,review過以后形成了一致意見,將來再也沒有人可以說“你看,當初我就是反對這么設計的,現在吃苦頭了吧!”
          ?????
          ????? 68.所有人都始終想著The Whole Image么?
          ?????
          ????? 要這樣。項目里面每個人雖然都只是在制造一片葉子,但每個人都應該知道自己在制造的那片葉子所在的樹是怎么樣子的。我反對軟件藍領,反對過分的把軟件制造看成流水線、車間。參見第61條。
          ?????
          ????? 69.Dev工作的劃分是單純縱向或橫向的么?
          ?????
          ????? 不能單純的根據功能模塊分,或者單純根據表現層、中間層、數據庫層分。我推薦這么做:首先根據功能模塊分,然后每個“層”都有一個Owner來Review所有人的設計和代碼,保證consistency。
          ?????
          ????? 70.你們的程序員寫程序設計說明文檔么?
          ?????
          ????? 要。不過我聽說微軟的程序員1999年以前也不寫。所以說,寫不寫也不是絕對的,偷懶有時候也是可以的。參見第56條。
          ?????
          ????? 71.你在招人面試時讓他寫一段程序么?
          ?????
          ????? 要的。我最喜歡讓人做字符串和鏈表一類的題目。這種題目有很多循環、判斷、指針、遞歸等,既不偏向過于考算法,也不偏向過于考特定的API。

          ??????????
          ??? 72.你們有沒有技術交流講座?
          ???
          ??? 要的。每一兩個禮拜搞一次內部的Tech Talk或者Chalk Talk吧。讓組員之間分享技術心得,這筆花錢送到外面去培訓劃算。
          ???
          ??? 73.你們的程序員都能專注于一件事情么?
          ???
          ??? 要讓程序員專注一件事。例如說,一個部門有兩個項目和10個人,一種方法是讓10個人同時參加兩個項目,每個項目上每個人都花50%時間;另一種方法是5個人去項目A,5個人去項目B,每個人都100%在某一個項目上。我一定選后面一種。這個道理很多人都懂,但很多領導實踐起來就把屬下當成可以任意拆分的資源了。
          ???
          ??? 74.你們的程序員會夸大完成某項工作所需要的時間么?
          ???
          ??? 會的,這是常見的,尤其會在項目后期夸大做某個change所需要的時間,以次來抵制change。解決的方法是坐下來慢慢磨,磨掉程序員的逆反心理,一起分析,并把估算時間的顆粒度變小。
          ???
          ??? 75.盡量不要用Virtual Heads最好不要用Virtual Heads。
          ???
          ??? Virtual heads意味著resource is not secure,shared resource會降低resource的工作效率,容易增加出錯的機會,會讓一心二用的人沒有太多時間去review spec、review design。一個dedicated的人,要強過兩個只能投入50%時間和精力的人。我是吃過虧的:7個part time的tester,發現的Bug和干的活,加起來還不如兩個full-time的。參見第73條。73條是針對程序員的,75條是針對Resource Manager的。
          主站蜘蛛池模板: 双峰县| 乌拉特前旗| 汝州市| 洞口县| 芜湖市| 廉江市| 靖边县| 翼城县| 新蔡县| 南陵县| 界首市| 十堰市| 泰州市| 会昌县| 丰镇市| 富川| 青铜峡市| 甘泉县| 年辖:市辖区| 资讯 | 饶平县| 英超| 隆子县| 灵宝市| 扎兰屯市| 普洱| 云霄县| 达日县| 临泉县| 融水| 平湖市| 黄陵县| 繁峙县| 平乡县| 启东市| 顺昌县| 潼南县| 申扎县| 佛教| 玉门市| 姚安县|