軟體開發的核心技術?分類:系統
您曾經舊地重遊,發現就只是一年沒有回去,發現面目全非嗎?一套軟體系統,比較不容易有這種感覺,但是一個網站,經常會有這個動作,不斷地換版來吸引人潮,但是只要是服務的精神或產品的架構沒有改善,這種經常裝潢的動作,是沒有用的。
如果把軟體系統的開發拆成很多的面向來看,使用介面、管理核心、系統架構、危機風險、避免錯誤、對外溝通......等等,我們往往常會用工作進度的導向方式來管理軟體的研發團隊,而忽略的其他的過程,而其他部門看到軟體的問題往往就是舊的系統有問題、新功能未能趕上市場的速度等等,這些部門的互動之後,往往產生惡性的循環,有洞補洞,而補出越來越大的洞。
所以說,要快速的達成軟體系統的開發,最好能注意所有的面向,而一個成功的網站之所以吸引人潮,除了門面之外,背後的自動化管理系統,是最重要的一環,隨著網路服務的拓展要同步開發的系統,而一套運作良好的軟體系統要同時怎樣兼顧速度呢?除了撰寫程式碼物件導向化之外,上述的所有活動都要朝向物件化的精神----繼承重用,寫程式碼最簡單的是用別人的元件,但是,系統架構、避免錯誤、對外溝通要拿別人現成的,要拿別人現成的成果,必須花一番功夫消化吸收後,才能套用到一項產品或專案的開發程序,而這種開發的過程,就是一家軟體公司的核心能力 ,有人做會計進出貨管理系統,有人做汽車保養場的管理系統,都有各自的核心技術能力。
這些軟體開發的過程針對不同的產品,有非常不同的控制機制,為什麼一家公司可以生存重要的也是這些控制的過程,一個網站的使用介面重要,但重要的是他的內容方便使用,一套軟體系統除了畫面夠炫使用方便之外,重要是他的實用性切重要點。
開發軟體重要的創新,是以人為主的創新,開發系統創新在使用介面,也在使用的架構,但是也在團隊的合作與對外緊密的溝通,不同產品有不同的創新,多多觀摩應該是最好的學習做法。