jim yeh on 七月 5th, 2011

最近讀到一篇文章〈不要盲目的 BDD / TDD,我對寫測試的看法〉,看完作者 XDite 反對不論如何都要導入 TDD 的理由,讓同人想提出我對這篇文章的看法。

Continue reading about 不要把 TDD 和做測試混為一談

     
jim yeh on 六月 24th, 2011

要認識系統開發的複雜性,這並不是一件很容易的事。不過,忽略它會讓我們和湊熱鬧的外行人一樣,從他人系統失敗的經驗中只能看得到表相;以為這只是犯了離譜的技術或方法論的錯誤。

Continue reading about 從公共建設的系統失常看系統開發的複雜性

     
jim yeh on 一月 19th, 2010

在軟體開發的過程中,有沒有方法可以避免我們浪費心力在無謂的堅持上,然後用比較簡單而又有效率的方式來完成我們的工作呢?經過與同事上面的對話,同人想到運用到我在分享會中所提到的觀念與實務,可以很輕易地掌握設計演進的節奏。藉由此篇文章分享出來,也算當做同人在 1/9 敏捷開發分享會後的一個註腳吧。

Continue reading about 掌握設計演進的節奏

     
jim yeh on 一月 8th, 2010

有沒有比較生活化的例子可以用來隱喻測試驅動開發和重構呢?同人覺得用最近我們搬家整理房間的經驗,正好可以隱喻這些實務的開發方法。

Continue reading about 以整理房間來隱喻軟體開發

     
jim yeh on 一月 7th, 2010

敏捷開發並不是教條式的照本宣科,開發者要懂得變通最重要的是用心思考,而非把必要的思考都看成精神層面的問題,這並非適用於敏捷開發的心智模式。以下是同人在 Facebook 的 Scrum community in Taiwan 的回應,但文辭有略為做過一番修飾,可以用來澄清我對測試驅動開發步驟的看法。

Continue reading about 測試驅動開發的步驟

     
jim yeh on 一月 6th, 2010

對 David Ko 提出 Kent 認為 Red/green/refactor 是 TDD 的三字箴言的說法,同人倒是覺得有探討的必要。以下分享我在 Facebook 回應 David Ko 的觀點,這些觀點應該可以解釋為什麼測試開發不需要徹底重構;其實重構並不是問題,而是到底什麼叫做徹底?而且如果 TDD 可以徹底重構,那麼一開始就可以讓設計一次到位,那寫好的測試程式以後也用不著了,不正是多此一舉?

Continue reading about 測試驅動開發要徹底重構?

     
jim yeh on 一月 5th, 2010

測試驅動開發的精神,不應該用一般機械論的觀點來進行工作或任務的化約,而是基於複雜理論的重要觀念;維持穩定與變化的動態平衡,不在於掌握系統核心而在於邊緣,讓變動限定在人們可以掌握的範圍內,這或許才是測試驅動開發最關鍵的精神吧!

Continue reading about 測試驅動開發的精神

     
jim yeh on 十一月 8th, 2009

分享會在台北市電腦公會舉行,看到現場互動氣氛的熱絡,以及會後學員們給予不少正面的評價,感覺大家收穫都不少。其實包括我自己在分享會結束之後也產生了一些想法,倒是想藉由此文章分享我的分享會後心得。

Continue reading about 敏捷開發實戰經驗分享會後感

     
jim yeh on 十月 26th, 2009

這篇文章是投稿 ZDNet Taiwan 的文章原稿,由 ZDNet Taiwan 以〈如何在系統異常前發現錯誤?〉、〈如何在系統異常前發現錯誤?(下)〉兩篇文章刊登。文章原稿未經 ZDNet Taiwan 編輯,內容可能與 ZDNet Taiwan 約略有所不同。 前一陣子有兩個與資訊系統失常有關,而且眾所矚目的新聞事件,也就是戴爾電腦網路購物系統與台北捷運內湖線的系統異常。相信很多人都認為這兩個系統會發生系統異常相當離譜,在系統上線之後才發現系統無法正常運作,造成系統使用者的困擾,同時也會讓人對系統可靠度與穩定度失去信心,而增加系統的失敗成本。 雖然平心而論,想要事前預料系統可能發生的問題,並加以預防或因應其實並不容易,因為開發系統,尤其是軟體開發常會碰到事先難以預料的問題。但如果能在錯誤造成危害之前,就能夠發現問題並採取適當的行動來解決它,應該就能減少系統的失敗成本。因此,看到戴爾與台北捷運內湖線的重大系統異常,讓筆者想探討如何在系統失敗前發現錯誤,以避免系統失敗的巨大損失。

Continue reading about 如何在系統失敗前發現錯誤

     
jim yeh on 七月 21st, 2009

是否代表系統開發追求速度與彈性,就必然犧牲文件與流程呢?同人認為這樣看就太過簡化了,系統開發的彈性並不是忽略系統文件與流程,而是只重視有實質效益的一切事物,當然包括文件與流程。

Continue reading about 系統開發的彈性