聊完了軟體工程估算時間的問題,工程師薪水的問題,今天來和大家分享兩個很不錯的程式設計「做」與「不做」列表。首先,是 Andres Taylor (安綴斯‧泰勒) 寫的「Top 10 Things Ten Years of Professional Software Development Has Taught Me」,翻成中文就是「十年的程式設計經驗教我的十件事情」。
原文不長,裡面有很多不錯的觀念,我鼓勵你們去讀讀。以下是中文版:
- 物件導向比你想像中的還難,很多
- 程式設計師最重要的技能:溝通
- 你必須要學會說「不」
- 如果所有的事項都一樣重要,那意思是它們都不重要 — 無論如何必須把先後順序排出來
- 千萬別把事情複雜化
- 深入問題的核心,但是不要被困住了
- 非常清楚的了解其他人在做的事情,無論是行銷、設計、客服
- 你的同事就是你最好的老師 (你該試試 Pair Programming)
- 無論如何最後的產品必須是好用的
- 這世界上總會有一些混蛋
而至於什麼事情應該要避免,大家可以參考 Dare Obasanjo (戴爾‧歐巴桑侯) 寫的「Top 10 Signs Your Software Project is Doomed」,翻成中文就是「十個軟體專案注定失敗的跡象」。
- 第一個版本就想做太多功能
- 採用太新的技術平台
- 「複雜的問題,需要複雜的解法…」
- 團隊人手不足
- 成員開始隱藏進度落後的事實和原因 (Schedule Chicken)
- 不斷更改、增加的需求 (Scope Creep)
- 不知道客戶在哪裡
- 2.0 症候群 — 後繼版本非要更大、更強、更美 (Second System Syndrome)
- 與公司裡面另一個很有份量的產品競爭 (這在創業團隊應該不可能發生)
- 根本從一開始就選了一個你無法解決的大問題
以上,跟大家分享,希望能夠幫助你們在做的產品更順利、更成功,加油!
(via Coding Horror, photo via stianeikeland CC license)