2009-05-05 36 views
3

當新版本的框架或語言出現時(例如.NET 3.5,SQL2008),人們採取何種方法來採用/升級?何時升級到語言或框架的新版本?

通常情況下,開發者會盡快說(他們希望在他們的簡歷和管理角度給他們他們想要的東西提供動力),但商業上往往沒有激勵(很少有客戶要求最新版本)和從成本的角度來看(重新測試,培訓)往往是一種阻礙。

我特別想的「正在進行的」系統和項目(如軟件公司)的存在和發展多年來這裏走的是「新項目使用新技術」的方法是行不通的。

是否由特定需求驅動(需要使用新功能,潛在客戶或現有客戶需要支持),他們是否正式評估(在哪種情況下是什麼標準)還是升級爲常規問題(在哪種情況下 - 前緣與出血邊緣)?

人們是否認爲不可正對某事的最新版本,應考慮技術債務,因此管理?

或者是「如果不破不修」的有效方法?

回答

5

請閱讀Technical Debt。這是一個簡單的成本效益決定。

「如果沒有破產就不能解決問題」是一種常見的管理政策,即「明天的美元不像今天這麼值錢,所以不要爲將來的改善做計劃。」最終技術性債務累積到產品不能再一瘸一拐的地步。

最常見的突破點是當某些基礎設施不再受支持時。屆時,增量更改是不可能的。

從頭開始重塑一個新的資本投資。修復現有代碼是一項費用。這些賬戶迫使管理層做出技術上瘋狂的決定。

在開源軟件的情況下,需要仔細的技術管理,因爲有一個從甲骨文/ Sun沒有官方的「支持日落」公告。不好的技術管理當然會導致技術破產。

1

當升級(更多的功能,或者您需要一個bug修正)的收益大於所涉及的風險/成本(新的問題,打破現有的代碼)。

+0

那麼基於此,如果沒有特定需求,您可能會永遠停留在舊版本上? – 2009-05-05 11:03:45

+0

絕對是的。 – PaulJWilliams 2009-05-05 11:08:30

2

我們看看支持生命週期成本。舊版本支持多久,費用是多少?與大型機環境相比,像Windows和Java這樣的平臺往往移動速度很快,而在這些平臺上開展業務的部分成本是執行定期升級。在理性的世界裏,那就是!

新版本可以有我們需要的殺手鐗 - 但這是在企業發展中罕見。新版本的主要積極賣點(相對於過期支持等負面消息)往往是更大的開發效率,這很難衡量。與此相反,正如您所表明的那樣,必須考慮重新培訓的成本,不僅僅是最初的開發人員,而且關鍵還在於維護。在每次升級過程中,一些應用程序往往被拋在後面,對於退休來說過於關鍵,而且升級太昂貴/脆弱。隨着時間的推移,您必須支持的平臺和版本的號碼會增加整體技術債務(無論其年齡)。

升級到新版本(您注意到)的另一個標準是吸引和留住員工的能力。隨着目前的經濟階段,這是第二次小提琴,但仍然不能完全忽視。你希望至少有一個充滿熱情和知識的開發人員的調料。

2

我覺得這個要命的問題是你的應用程序是否能長期生存,如果你從來沒有升級平臺/語言版本。如果你認爲它不行,那麼你可以儘早升級而不是稍後升級,因爲它只會變得更難。

想想多久你的應用程序應大力發展,直到你需要一個完整的重寫。如果您從未打算重寫它,我會不斷升級。考慮一下,如果你正在使用過時的技術,找到最好的開發人員將會變得多麼困難。考慮一下新的框架/語言功能如何加速您的開發過程,從而避免短期的痛苦。

1

當您開發基於Microsoft平臺,就像一個Windows窗體應用程序的Windows或Web應用程序ASP.NET爲Windows Server,漂亮的時間遷移是OS.For例如每兩個主要版本,如果你的應用程序已經爲Windows 2000開發,你應該遷移到Vista,儘管XP可以被忽略。同樣,如果它被設計爲XP SP2,您可以放心地忽略Vista和目標贏7.通常微軟從來沒有休息(或不易破裂)增量操作系統的更新。所以在今天的操作系統上運行的應用程序肯定會運行在下一個。但從來沒有跟隨它。 (如果它運行如何M $賺錢???)

來源:自籌...... Windows 8開發者超過5年)

2

當你真的需要。 .NET 1.0很糟糕,1.1是一個不錯的升級,但VS2003的Web開發並不那麼流暢。用VS2005和.NET 2.0改進了一些東西 - 我發現還有很多開發人員和公司都堅持使用.NET 2.0。以前的版本是如此新鮮,2.0版本是成熟的技術。所以,如果你對1.1感到滿意,爲什麼要升級?如果你現在開心2.0,爲什麼升級到3.5或4.0?

0

我正在儘快升級陣營(雖然我可能會在一個新版本發佈後等待一個月,以防未被發現的問題)。有你需要考慮幾件事情:

1.安全發佈的

許多誰告訴我,如果不破不解決它的人也都是同樣的人誰也當安全補丁發佈時關閉他們的兩隻眼睛。考慮Equifax。

對我來說,至少在安全支持的框架版本上是一種道德責任。我們有責任保護他們的數據。

2.吸引&留人

有很多講的關於如何使用的編程語言或框架並不重要。但根據我的經驗,對於Web應用程序而言,最簡潔的代碼和設計通常是由那些對編程語言充滿熱情的人撰寫的,因爲他們具有專業知識,所以他們使用的編程語言是&。

如果你堅持一個非常舊的版本,這些人不可能長期呆在家裏或加入你的公司。請考慮你的開發者的幸福。通過新版本

提供

3較新的,更簡單的方法很多時候一個框架的新版本使過去堅硬的東西要容易得多。如果我們不升級,我們錯過了很好的新軟件包/功能,並且我們以舊的令人沮喪的方式編寫我們的代碼,知道有一種更簡單的方法來實現相同的功能。而當升級時,我們可能最終不得不再次改變新的方式。那麼爲什麼不升級和使用新的更好的方式,浪費更少的時間呢?