星期一, 7月 31, 2006

讀書心得備存三

奧卡姆剃刀
一分鐘系列
無痛三部曲

無痛三部曲 2006/2/25 (這篇同樣是因顧問公司電子報而寫的)
Joel寫的無痛三部曲:「無痛錯誤追蹤」、「無痛軟體時程」和「無痛功能規格」。很久以前就看過而且很久以前就志願做中文翻譯。前陣子因為顧問工作要發電子報,為了寫介紹的文字就重新看了一遍,所以把想法再補完整放在這裡。

無痛錯誤追蹤
公司(指當顧問的公司)才剛剛導入錯誤追蹤系統不久,有很多人還不習慣這樣的作業方式。可是不論是大型團隊還是一個人獨立作業,錯誤追蹤系統都能給開發人員很大的幫助。我最初就是從這篇文章接觸到錯誤追蹤的觀念,各位可以看看裡頭FTP的例子,想想你身邊真實發生過的事,應該能會心地瞭解錯誤追蹤系統的用意。

無痛軟體時程
從過去的經驗來看,寫軟體的人一般都很討厭定時程。基本上排時程似乎是違反直覺的,我怎麼可能知道要把某個遊戲由Windows移植到OS/X要花多久呢?這是個蠻極端的例子,不過反過來「怎麼可能」這個答案其實代表了我對這個問題的無知。我其實說的是:我不知道這個遊戲中有哪些部份不用改?哪些模組可以經過小修改移植?哪些地方必須完全重寫?這些我通通都不知道才會出來這種答案。

如果我愈瞭解問題就愈能定義出合理的時程,不過如果完全清楚就不用定時程了,因為等於差不多都做完了,所以時程有其不確定性。另外就是時程的更新維護很麻煩。這篇文章介紹了一個簡單可行的方法,即使你的部門沒有正規的時程,自己做也是很好的訓練。

無痛功能規格
以前有陣子曾想對工程師來說什麼最重要,答案很多,不過規格絕對是其中最最重要的一項。在以前的電子產品公司有三種規格:市場需求規格,功能規格,以及工程規格。市場需求規格是讓專案經理寫出大約需求,功能規格是由開發單位寫出答應要做的事,而工程規格是寫功能規格裡每件事要怎麼做到。要寫到工程規格其實太辛苦了,往往時間和人力都不容許。不過功能規格還可以。

摘錄其中兩段給大家參考:
「當你以人的語言設計產品時,只要花幾分鐘就能考慮多種可能,並且修訂及改進自己的
設計。沒有人會覺得在文書處理器裡刪掉一段有啥大不了的。不過當你用程式語言設計產
品時,光是反覆設計就得花上好幾週了。更糟糕的是,某段程式可能只花程式員兩週就寫
出來,可是他會一直死抱著那段程式而不管程式錯得有多麼離譜。」

「當你有寫規格時,對於程式應有的作用只需要講解一次,團隊裡其他人只要讀規格就好
了。品保人員讀了規格就知道程式的動作同時也知道如何測試,行銷人員讀了規格就能寫
出曖昧的資料,放在網站上宣傳尚未出現的產品...」

這好像有點理想,其實是可以達得到的,只要同意這個看法其實並不會很難,想清楚寫下來再,讀幾篇再想清楚,反覆幾遍就好了。我認為寫規格本身並不是問題,在實施上最大的問題其
實和寫程式文件一樣,就是文件的「維護」。在專案進行的各個階段都有可能要修改規格,因此在反覆的討論及修正後要時時記得去更新規格,否則規格只要份無用的文件罷了。這通常需要某種系統或流程上的解法了。

不過我還寧願問題是出在這裡地方,而不是因為「不想寫」或甚至「不會寫」而沒有規格。在我上個工作分派工作給較資淺的工程師時,會請他想清楚後,在紙上或寫或畫向我解釋清楚想怎麼做之後才能繼續。一來希望他做的東西是有想清楚再做。二來訓練表達能力。希望可以給各位參考。
=== 本文結束 ===

一分鐘系列 2006/3/27
最近看了好幾本小書:「一分鐘管理」,「一分鐘提高績效」,還有「一分鐘領導」。這三本書就像童話故事,內容很短,言簡意賅而且意義深遠。可能是為了縮短與讀者的距離吧,很多作者選擇以小說體裁撰寫管理書籍。Goddratt的名作系列:「目標」、「絕不是靠運氣」、「關鍵鏈」都是小說,另外 Tom DeMarco(Peopleware的作者之一)也有一本專案管理小說「最後期限」。小說形式的管理書籍有個最棒的地方,就是讀起來可以十分投入。就我自己的經驗,這幾本看到精彩處真是會想手舞足蹈。不過說實在的,關鍵鏈的精要之處我是從來沒有真正搞通過。過度精彩的情節掩蓋了真正的重點,或許這就是管理小說的弱點吧。不過這三本小書倒是不會如此,因為沒什麼特別精彩的。

很久之前就讀過「一分鐘管理」,離職前接任主管職位的同事惶恐地詢問管理的事情,經驗的事情雜七雜八說不完也講不清,想起這本書就去買了一本送他,自己也重看了一遍。這本書講的是一分鐘管理的三個秘訣:一分鐘目標設定,一分鐘讚賞和一分鐘懲戒,就這樣而已。不過簡單的事往往不如想像中的簡單,我第一次看這本書和現在重看,心裡的感想可是差了十萬八千里。

為了買這本書而在網路上看到其他同系列的書,於是陸續買了「一分鐘提高績效」和「一分鐘領導秘訣」。前者說的是工作改善的方法GAPS:
  • G: 做該做的事(Go for the SHOULDS)
  • A: 分析現況(Analyze the IS)
  • P: 確定原因(Pin Down the Causes)
  • S: 選擇正確的解決之道(Select the Right Solutions)
有趣的是,這就工程上似乎是理所當然的作法,可是在工作上卻並不是每個人都能做到。

「一分鐘領導秘訣」則是說三種領導技巧:「靈活運用」、「分析判斷」與「約定合作」。靈活運用是說領導者應該因材施教,因為屬下差異而運用指揮式、督導式、協助式、授權式四種領導風格。這四種風格基本上是指導性行為和支持性行為的組合,分別對應能力和工作態度的變化。

分析判斷講的是如可判斷下屬的狀況,把員工的發展分為四個階段並對應四種領導風格:
  • 能力差意願高(完全不瞭解狀況)
  • 能力稍佳但意願不高(較瞭解現實所以受打擊)
  • 能力強但態度游移(夠熟練但沒有方向)
  • 能力強又敬業(自己知道要做什麼)
約定合作則是說這種因材施教的動作絕非單向,必須是主管和下屬的共同約定,否則當主管改變風格時,員工一定會感覺疑惑困擾。

這些都是非常簡單的觀念,但就作者而言也是最重要的原則。換一種方法來說吧,當你只有一分鐘時,要做什麼要怎麼做呢?套句某人的口頭禪:除此之外無非詮釋。

其實一分鐘系列還有其他書,比如「一分鐘銷售」,不過現階段對賣東西並不是很有興趣,因此雖然在舊書店看到還是沒有下手。
=== 本文結束 ===

奧卡姆剃刀 2006/04/01
逛網路就是這個壞處,東連西連到最後都搞不清楚為什麼會連到這裡。這個連結翻譯了一篇有關奧卡姆剃刀的文章:
Entities should not be multiplied unnecessarily.
翻譯為「如無必要,勿增實體」。基本上就是有相同結論的理論以較簡單者為佳。不過最值得注意的是文末指稱這是主觀而非真理,雖然被偏好但非無所不能。
=== 本文結束 ===

沒有留言: