一個項目消耗時間的一些因素

一個項目消耗時間的一些因素

  • 整合不同的技術。

一個大的項目不可能只使用一個或兩個技術,你要使用Spring, Hibernate, Web Flow, SiteMesh, ACEGI, Taglibs
你要使用一些適合自己的Design Pattern, Cache,
你要將這些東西優雅的整合起來需要消耗很多精力,這個主要花在項目前期上。

一個新的項目你也可以修改一個已有的項目來節省精力,但修改項目就象在一件新衣服上打補丁,修改的地方越多,
系統的結構性和可維護性就大大降低了。因此除非是兩個項目需求和功能極其相似,否則採用修改的辦法不會產生好的代碼。

由於整合了不同的技術,又要面對這些技術升級帶來的影響。雖然有Maven這樣的工具來減少升級帶來的影響,
但大部分情況我們需要自行了解每個單獨的技術升級所帶來的變化和進行調整。

  • 開發人員需要使用自己不熟悉的技術。


每一個項目都有一些獨特的功能和需求,而且隨着技術的更新,開發人員在進入一個新項目的時候不可避免需要使用新技術。
程序員熟悉一個新技術的過程需要消耗大量精力,但項目的進度要求不可能允許開發人員花大量時間徹底研究一項技術。
在沒了解新技術的詳細使用之前,程序員粗略看下相關的例子便倉促上馬會帶來很多潛在的問題。
所以這裏總結成兩個問題:熟悉新技術所花費的時間;解決技術不熟練所帶來的問題花費的時間

  • 使用先進技術的渴望和壓力


因此雖然使用開發人員已經熟悉的老的技術會使開發速度提高好幾倍,但項目通常還是需要使用新技術來開發。
由於受大環境的影響,程序員一方面渴望使用新技術,因爲只有不斷的更新自己才能立於不敗之地。
另一方面由於主流的技術不斷的更新,如果不更新很多功能的開發就會受到制約。

因此對於一些需求簡單的項目,最簡單的完成方法是使用一個已經存在的項目修改,這樣就可以大量節約時間。但對老的項目有很多限制:

  1. 需求和功能大致相同。
  2. 程序結構清晰,代碼規範,文檔完備,便於修改。
  3. 修改的人員最好參與了老的項目或者可以很方便的同老項目的人員溝通。

這些條件都不容易實現的,所以軟件開發始終都是一項消耗的工作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章