正確的軟件開發進程有助于處理不可預見的問題
軟件開發常常是不可預測的。有時候基礎架構和庫發生變化了,有時候bug突然出現了,又或者忽然發現項目時間不夠了,等等。為了能有效處理這些不可 預測的問題,我們必須在某些特定的時候將軟件的開發過程規范起來。處理不可預測的問題是一方面的作用,另一方面的作用是一旦需要隨時升級系統中的任何部 分,我們都能胸有成竹。
一般而言,我們的感知依賴于類庫的水平,因為我們每天都要和類庫打交道。不及時更新數據就意味著技術落后。當系統已經成熟,再加上建立一個合適的自 動化測試和持續交付進程,那么你會發現更新數據庫其實真的very easy。但是這個工作流程往往不會擴展到基礎架構的其他更基本的部分,例如我們在機器上使用的操作系統。有的程序發布的周期非常長,支持也需要很長時 間,而見怪不怪的我們漸漸視之為理所當然。但是根據其支持程度,如果沒有一個深思熟慮的計劃就去更新這些部分,必將將會成為管理的陣痛。
當我們在構建工作流程時,不能用全面的觀點去考慮整個系統,那么即使再好的自動化測試和持續交付進程,也不能讓我們有效處理各種不可預見的問題。
版本管理
日前我們正在更新服務器上所用的Ubuntu版本,整個過程著實用了很多時間,因為這不但是一個我們一直殷殷期盼為了提供高水準品質的技術挑戰,也是能讓我們逐步完成目標、發現未知bug的過程。
這樣一來,我們就知道怎么樣的操作系統配怎么樣的基礎架構了,然后可以正確決策應用哪個版本。這使得我們能夠更徹底地測試和了解整個基礎架構,確保我們不會貿貿然地打斷客戶的部署。
我們需要大力推廣和技術支持整個進程。但是,在問題的初期就想明了具體的更新路徑和以后的處理方式,是很難的。不過有一點我們要清楚產生問題就跟我 們喝水吃飯一樣是自然的結果,關鍵是組建一支優秀的團隊,有一個正確的發展理念。我們要始終堅持這一點,這也是一個企業發展和技術前進的著力點。我們應該 時刻準備著應對各種變化和問題。
也許你會說你并不需要一開始全部改動基礎架構,那么你就得清楚你的所作所為會給你帶來什么樣的后果。
結論
在軟件項目中,我們常常對這個那個不甚滿意,但是一旦真的要著手去改,又會覺得痛苦異常。所以我們應該及時盡早地處理問題,哪怕它只是一個并不打算 制成產品的邊際試驗。即使最終無關緊要,也能讓人增加這方面的經驗,掌握相關數據,而且要是真的“夢想成真”,你也有如何處理的進程。
每個人都會遇到不可預見的問題,關鍵是要及時更新自己的信息儲備和程序的基礎架構。有時候,這些問題會最終消失湮滅,但是有時候,隨著我們研究的深入,問題反而像貪吃蛇一樣膨脹了。
如果你因此而嚇破了膽,將它們束之高閣,那么問題將會氣勢洶洶再次狠狠地給你一拳。一個微妙的改動、一個細微的進程改進或是一個小小的技術更新都會成為你的得力助手,節省你的時間和精力,提高生產效率。
大家一起團結協作,推廣正確的進程,更新技術,才能勇往直前、無所畏懼。要知道畏懼是一種會減少行動力和創造力的負面情緒,只會扯我們的后腿。通過充足的準備,我們才能無畏無懼無所顧忌地發明創新,設計出為廣大用戶喜愛的產品。
你是否也有這樣必須迎難而上的經歷?你又是如何處理的?歡迎分享。
本文鏈接:http://原網站已經失效/article/develop-problems.html
本文作者:碼農網 – 小峰