發表文章

目前顯示的是 一月, 2009的文章

Open source 與文件

自由軟體盛行多年,近年來國科會也開始再推自由軟體,初期僅允許技職院校申請計畫,最近也允許一般大學的申請。大部分教授還是喜歡申請一般型的研究計畫,不喜歡申請自由軟體計畫,我分析原因有幾個:國科會的自由軟體計畫必須遵守輕量級 CMMI 的規定,產生許多文件(例如計畫書、規格書、設計文件、測試報告),工作量相對比較高。不能只是理論,必須真的實作出來。期末必須做實體展示,而且接受委員的審查。如果是整合型計畫的話,還需要接受期中審查。相對於一般型計畫,只要有論文產出,自由軟體的計畫的確要花費很多的功夫。最近有聽到一些聲音:『整天都在寫文件,哪裡有時間作系統?』。我個人是贊成寫文件的,也期望國科會要堅持下去,不要因此就妥協了,原因如下: 可以讓參與計畫的學生練習寫文件。出社會文件是絕對少不了的。一些研究型的計畫所產出的系統因為不需要長期維護,所以文件相對不重要,造成學生的誤解。研究成果需要寫成論文發表,其原因就是希望後人可以延續其研究成果繼續發揮。自由軟體寫成文件後,後人才有辦法繼續的擴充。輕系統文件而重研究論文是不公平的。絕大部分知名的 open source 軟體,都有完整、及時更新的文件說明。文件是軟體的一部份。今年 1/14 日的理監事會議中,郭譽申教授 也提到一個台灣自由軟體計畫的問題。國外的自由軟體的發展都是心甘情願的、無償的開發,等到做出了一些規模,再徵求 donate。國內反倒是透過國家的力量來推廣,大家申請了計畫來做系統,做完了卻任其荒廢在 open foundry,實在可惜。
順道,想請問各位,有哪些 open source 是適合軟體工程使用的?

Process (包括CMMI) 可以休矣

去年12月初去參加在北京舉行的 Asia Pacific Software Engineering Conference,Ivar Jacobson (UML的開發者之一)的Keynote Speech令我印象深刻,推薦大家到 APSEC 2008 的網站下載他的演講投影片。

摘錄幾句他對Process的觀點:
Every process tries to be complete.
– As a consequence every successful process will grow until it dies under its own weight.
• Every process usually becomes just shelf-ware.
– Law of Nature: People don’t read process descriptions.
• The process is out of sync with what the team does…
– …and the project – process gap get wider and wider
• The project has to adopt an entire process.
– No-one uses an entire process or limits themselves to practices from one process.
It’s no wonder no-one likes process.

Jacobson認為practice比process重要:
Practices are First Class Citizens. Process is just a package of practices.
什麼是practice?
A practice provides a way to systematically address a particular aspect of a process.
Practices focus on the essentials. It is the key things to do and the key things to produce.

個人的感想是:
沒有一個process是特別好的,包括CMMI。
真正能執行的是program code,有助於…