當提及企業級軟件,質量是關鍵。軟件開發過程是漫長的,開發商還需要在發布新版本時做很多的考慮。
開發商都在忙著開發更便宜、更快也更好的軟件,但IT專家們更關心軟件質量的標準。
最近我看到一篇關于CIO與云計算技術的調查報告。這些CIO們表示,產商需要加快腳步以增加云功能。
我也注意到一些蘋果粉絲的起義。他們不滿蘋果軟件的質量,認為軟件很多都是半成品、充滿bug且粗糙。鑒于近期還有針對iOS空間消耗問題的訴訟,情況都挺令人擔憂的。
最后,還有很多關于VMware未發布其vSphere版本的討論。這對一些人來說是一種災難。其他人則更更寬容,建議VMware多花些時間來修復錯誤,或者是在vSphere中加入更多驚喜功能。
那么,為什么我還提及這三樣事情?簡單地說,他們代表了我們對軟件與產品開發不切實際的預期——尤其是但涉及到企業軟件廠商與軟件開發過程。
軟件供應商一次需要完成許多事情:他們要開發軟件未來版本的新功能,診斷與發布現有版本的bug,并試圖通過質量保證(QA)對所有的變更進行測試,以確保他們修好的東西比搞砸的要多。
公司發布的每個版本都需要提供支持,這是更艱難的任務。某個版本中出現的bug往往在其他版本同樣能再現,而且固定在那里。新版本的亮點在于新功能。這意味著代碼庫可能不同。修復某個版本問題的代碼可能不適用于另外一個版本,即使兩個版本都存在相同的錯誤。
接著還有測試。每個變更都需要測試來確保這個變更能夠滿足需求,而且不會影響現有的軟件功能。QA測試與bug修復的難度都有相同原因:太多的版本,各版本之間有太多的不同。
梅特卡夫定律指出一個網絡的價值相當于連接用戶數目的平方。隨著軟件發展,我們將“價值”變成了“保持一切同步的難度。”
只選一個,選好的
選擇“更好的”。質量更好的軟件在安裝與維護上都更便宜。廠商不必花費所有時間去同步關于bug的修復問題,因為不存在bug。IT人員可以花費時間來解決有價值的問題,而不是在電話中要求供應商支持。這樣也更便宜,因為花費時間去溝通IT問題,不僅浪費金錢,也浪費時間。
“更好的”意味著更長的發布時間,但有著較高質量的代碼,能夠讓公司走的更遠。好在VMware正在執行18個月的Sphere發布周期,而且也建議蘋果如此操作。花更多時間來穩定系統生態穩定,修復錯誤與通信。與直覺相反,這意味著組織所發布的新產品能夠被用戶接受,因為他們會對新發布版本投入更多的信任。如果CIO們要求“更多的功能”也不會更奇怪,“更快”實際上只會在數據中心里的舊版本軟件上,因為這些新發布版本確實更好用。