|
1、飛快的版本發(fā)布
保持活躍的開發(fā)速度,經(jīng)常進行版本發(fā)布,甚至幾天之內(nèi)就從前一個版本開發(fā)到下一個版本。這樣是保證軟件遠離Bug的最好的辦法,也可以讓用戶感到很放心,確信Hibernate的開發(fā)十分活躍,另外這樣做也有一大好處,就是可以發(fā)現(xiàn)哪些功能是用戶真正需要的。
2、回歸測試
我想現(xiàn)在整個Java社區(qū)一定都很重視自動回歸測試。如果軟件的功能和設計有比較大的修改,那么一個綜合性的test suite對于軟件可維護性和穩(wěn)定性來說實在是太重要了。我們應該有這樣的意識:如果對軟件的一個新功能沒有進行回歸測試,我們根本就不該去做它。
3、把一個功能做到最好
要么不做,要做,就一定做到最好。那些我們做不到最好的功能,我們根本不去做,扔給其他軟件去做吧。
4、避免過度設計
浪費大量的時間和精力進行軟件功能的抽象和擴充軟件的靈活性,還不如多花點時間來解決你的用戶面臨的實際問題呢!簡單一點! 軟件能跑起來就OK,不要嘗試去解決你的用戶根本不關心的問題。就算你的軟件設計的不夠優(yōu)雅也沒有關系,反正還是initial階段嘛!以后再 refactor,你應該關注的問題是及時的把有用的功能給做出來。
5、集權
在你需要由民主投票來下決定之前,至少你已經(jīng)把軟件輪廓做好了。軟件開發(fā)需要由一兩個開明的人來領導,這樣可以保證軟件開發(fā)的連貫性而不至于產(chǎn)生太大的分歧,可以保證開發(fā)團隊集中火力把要實現(xiàn)的功能做到最好。我覺得,OSS軟件最大的風險就是意見不統(tǒng)一,攤子鋪的太大,結果最后搞的什么都沒有做好。
(譯者按:非常贊同,凡是成功的OSS軟件,都是在某個牛人已經(jīng)把軟件做好了之后,發(fā)布出來,然后由大家往里面添加功能的,并且在牛人的領導下不斷進步。缺乏牛人的OSS軟件都不算很成功,比如Mozilla)
6、文檔
沒有什么比文檔更重要的了。如果你的用戶不知道你的軟件有這么一個功能,就等于沒有這個功能,干脆把它去掉得了,省得給源代碼增加復雜度。
7、避免標準化
好的標準可以帶來軟件的互用性和可移植性,壞的標準能夠窒息軟件創(chuàng)新!“支持XXX標準”根本就不是真實的用戶需求,特別是當這個XXX標準是那些在其位不謀其政“所謂”的專家委員會制訂出來的。(譯者按:莫非指Sun,IBM等幾個big name?)最好的軟件是在不斷的嘗試,不斷的出錯,不斷的經(jīng)驗積累的過程中產(chǎn)生的。 事實上的標準往往更加貼近用戶需求。
8、10分鐘之內(nèi)把Hibernate跑起來
潛在的Hibernate的用戶在他們下載了Hibernate,第一次使用的時候根本就不可能花半個小時那么多時間來安裝、配置和 troubleshooting,他們早就喪失了對Hibernate的興趣了。我們的口號就是新用戶(假設有足夠的JDBC知識)5分鐘之內(nèi)把 Hibernate的Demo跑起來,而他們能夠在1個小時之內(nèi)寫出“Hello World”式的最簡單的Hibernate程序并且正常運行。
9、開發(fā)人員的責任感
用戶總是不可避免的碰到問題,開發(fā)團隊有責任有義務提供幫助。用戶讓我們知道了文檔的漏洞,用戶讓我們知道了測試用例的小bug。此外,沒有用戶來用我們的Hibernate,我們還開發(fā)它做什么,不是浪費時間嗎!
有個關于bug的笑話:用戶根本不介意發(fā)現(xiàn)新功能的bug(譯者按:Windows的用戶好像都是如此),只要你能迅速的改掉bug。“責任感”意味著 bug修復應該在1周之內(nèi)。從收到bug報告到bug修復代碼提交到CVS上要做到平均在24小時左右,這才是一個理想的目標。
10、易用的、可更新的wiki網(wǎng)頁
jsp技術:Hibernate獲得成功的十大理由,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。