August 2006
人的工作切換有害無益
by YukuanMark在管理一個程式團隊時,第一件要學的事就是任務配置(task allocation)要正確。「任務配置」只是把事情分給大家做的誇大說法。用希伯來文的普通話來說就是「倒檔案」(因為你會把檔案倒在某人
揭露冰山般的秘密
by YukuanMark「我不知道我的開發團隊怎麼了,」執行長在心裡對自己說:「剛開案時情況還很順利的。整個團隊像瘋了一樣,前幾個星期就做出一個很好的可用原型。可是從那之後事情似乎慢得像在爬一樣
策略書之五
by YukuanMark我讀大學時修了兩門經濟課程:總體經濟和個體經濟。總體經濟滿是「低失業率導致通貨膨脹」等現實中不太能成立的理論,不過個體經濟則是酷又有用。裡頭都是討論供需間關係而且真正可用
回歸原點
by YukuanMark我們在這個站花了很多時間討論讓人興奮的大局概念,像是.NET對Java、XML策略、鎖住客戶、競爭策略、軟體設計、架構等等。這所有的概念就某方面來看就像是個夾心蛋糕。最上層有軟體策略。再下來可以想想.NET之類的架構,然後再下面是個別的產品:像Java之類的軟體開發產品或Windows之類的平台。
工匠技藝
by YukuanMark軟體製作並不是種生產程序。在1980年代每個人都在心驚膽跳,害怕日本軟體公司建立「軟體工廠」,然後用生產線大量製造出高品質的程式。這在當時行不通,現在也一樣行不通。把一大群程式師塞進一個房間再排得整整齊齊的,並沒有真正的降低臭蟲的數目。
雙元文化主義
by YukuanMark到目前為止,Windows和Unix在功能上的相似之處比不同的要多。他們都支持同樣的主流程式作法(由命令列到圖型介面到web伺服器);他們所依循的系統資源基本是完全一樣的,比如幾乎完全相同的檔案系統、記憶體、sockets,還有行程和執行緒等等。兩套作業系統的核心服務,還有開發者能寫的應用程式類型也沒多大的差別。
達到卓越
by YukuanMark在二千年的三月,我架了這個站並以有點不可靠的聲明 (<a class="linkification-ext" href="http://www.joelonsoftware.com/articles/fog0000000074.html%29%E8%AA%AA%EF%BC%9A%E3%80%8C%E5%A4%A7%E9%83%A8%E4%BB%BD%E4%BA%BA%E4%BB%A5%E7%82%BA%E4%B
抽象滲漏法則
by YukuanMark你每天不可或缺的Internet裡有個關鍵的小魔法,這個魔法就在TCP通訊協定這個internet的基礎協定裡。
TCP是一種可靠的資料傳輸方法。我說可靠是指如果用TCP在網路上傳一個訊息,訊息一定會到,絕不會亂掉或壞掉。
TCP的用途很多,比如抓取網頁資料或傳電子郵件都是。由於TCP這麼可靠,連那些挪用錢的東非人電郵(譯註:指有陣子常見到的騙人信)都能完整無缺的到達,真是好笑。
程式設計領域的帕麥爾斯頓勳爵
by YukuanMark曾經一度如果讀過Peter Norton的一本書 (<a class="linkification-ext" href="http://www.amazon.com/exec/obidos/tg/detail/-/067130948X%29%EF%BC%8C%E5%B0%B1%E8%83%BD%E5%AE%8C%E5%85%A8%E7%9E%AD%E8%A7%A3%E5%9C%A8IBM-PC%E4%B8%8A%E5%AF%AB%E7%A8%8B%E5%BC
設定優先順序
by YukuanMark在開始動手前,我們想加的新功能多到可以讓 1700 個程式設計師做個幾十年都沒問題。不幸的是,我們總共才三個程式設計師,而且我們希望在下個秋天就能出貨。所以我們必須排定優先順序。
無痛錯誤追蹤
by YukuanMark擁有記錄問題的資料庫是優秀軟體團隊的標記之一。事實上只有極少數團隊有實際進行,這一點一直令我很驚訝。程式人員似乎全都自認能用腦袋或立可貼記住所有錯誤,這件事實在錯得離譜。
約耳測試
by YukuanMark聽說過SEMA (<a class="linkification-ext" href="http://www.sei.cmu.edu/sema/welcome.html%29%E5%97%8E%EF%BC%9F%E9%80%99%E6%98%AF%E4%B8%80%E5%A5%97%E7%9B%B8%E7%95%B6%E6%B7%B1%E5%A5%A7%E7%9A%84%E7%B3%BB%E7%B5%B1%EF%BC%8C%E5%8F%AF%E4%BB%A5%E6%B8%AC%E9%87%8F
策略書之一
by YukuanMark正在建立一家公司嗎?那你得做一個很重要的決定,因為這個決定會影響其他所有的事情。不管做了什麼其他事,你絕對一定要找出自己屬於哪個陣營,然後一切都照著進行,否則就會大難臨頭
你絕對不應該做的事
by YukuanMarkNetscape 6.0第一個公開的beta版終於出來了。5.0版從來沒出現過,最後一版重大改版是大約三年前發行的4.0版。在Internet世界裡三年的時間長得可怕。就在這段時間中,Netscape只能無望地坐看市場佔有率直線下降。
我這樣批評他們在兩個版本間等了很久,似乎有點惹人厭。他們並不是故意的這樣的吧。真有人會故意這樣做嗎?
呃,沒錯,他們是故意的。他們做了一個每家軟體公司都可能犯的一個最糟的策略錯誤
無痛軟體時程
by YukuanMark所以說你一定得定時程。幾乎沒幾個程式員想做這件事。以我的經驗來說,絕大部份人都完全不訂時程,直接做了才說。至於那少數幾個有做的,多是因為老闆一定要,只好敷衍著做一做,而且除了那些同時相信「軟體專案一定會延誤」及「幽浮」的上級管理階層外,沒人真的相信排出來的時程。
軟體人員面試教戰守則
by YukuanMark錄取合適的人對於Fog Creek軟體公司來說是非常關鍵的。在我們這個領域,有三類人可以挑選。在一個極端,是哪些混進來的 (<a class="linkification-ext" href="http://slashdot.org%29%EF%BC%8C%E7%94%9A%E8%87%B3%E7%BC%
兩個故事
by YukuanMark我要說兩個故事,都是我過去工作時發生的。我認為這兩個故事足以清楚闡明,管理良好的科技公司與一團亂的科技公司間有何差別。最終的差異在於相信員工並讓他們把事情做好,還是把他們
為非我發明症辯護
by YukuanMark非我發明(NIH)被公認為典型的管理病狀,指某個團隊拒絕使用不是自己創造的技術。NIH症的患者顯然只是很小家子氣,只因為沒辦法居功就拒絕為整體組織的利益貢獻(對吧?)。你可以在當地大書店的沈悶商業史區找到一堆故事,說愚蠢的團隊花了幾百萬美元和12年的時間,卻只做出某些只要9.99元就能在 Egghead(譯註:線上零售商)買到的東西。任何人只要有注意過去三十年間電腦程式設計的進展,就會知道重用是所有現代電腦系統的聖杯。
五個世界
by YukuanMark有一件重要的事幾乎在所有程式設計和軟體開發文獻裡都沒提到,所以我們之間有時會有誤解。
你是個軟體開發者,我也是。不過我們的目標和需要可能並不相同。事實上軟體開發有幾個不同的世界,而且每個世界的規則都不一樣。