超越外包 了解分布式敏捷

2021-04-13 02:45:15 字數 790 閱讀 7938

把工作拿到別的地方去做,這不是什麼新鮮事。從上個世紀起,人們就知道:如果按照歐美的**收費,同時把一部分工作拿到亞洲(印度、馬來西亞或者中國) ,你就能賺到更多的錢。這件事由於軟體的物流成本約等於0,因此在軟體業裡更成規模、成體系。這件事就是外包。從人力成本高的地方拿到專案,外包到人力成本低的地方生產,從而降低成本增加收益。從美國外包到印度、從日本外包到中國、從北京外包到西安,都是乙個道理。

但軟體有另乙個特點:它需要交流。越有價值的軟體,在開發的過程中需要的交流越多。軟體開發,很大程度上就是發掘使用者的需求,這個發掘過程只有通過交流才能完成。而距離,乃是交流的天敵。隨著距離的增加,交流成本飛速上公升,有時甚至會超過人力成本的節約——此時外包就無法繼續進行了。

要繼續獲得降低人力成本的優勢,就必須解決交流成本過高的問題,必須想方設法把不同地域的團隊(包括客戶、需求、開發、測試……)融為一體。從技術角度來說,全球範圍內的交流已經不成問題:西安的程式設計師隨時可以跟多倫多、倫敦和班加羅爾的同事召開**會議。但如果沒有高效的團隊管理方法和溝通機制,再加上時差搗亂,即便用上**、msn、skype……等等工具,分布式專案還是困難重重。

重視交流、關注團隊、聚焦價值的敏捷方法對此不會保持緘默。作為敏捷方法的乙個重要分支,分布式敏捷的理論和實踐在過去幾年中已經逐漸成熟。以

thoughtworks為代表的一批公司已經在全球各地成功地實施了許多大規模的分布式專案。諸如迭代開發、測試驅動、持續整合、重構等敏捷實踐都在分布式敏捷中找到了各自的位置。

在全球化的資訊時代,「價值」將取代「地域」,在團隊元件中佔據越來越重要的地位。隨著越來越多虛擬化軟體開發團隊的形成,分布式敏捷將會受到更加廣泛的關注。

了解分布式系統

分布式系統 distributed system 由多台計算機和通訊的軟體元件通過計算機網路連線 本地網路或廣域網 組成。分布式系統是建立在網路之上的軟體系統。正是因為軟體的特性,所以分布式系統具有高度的內聚性和透明性。因此,網路和分布式系統之間的區別更多的在於高層軟體 特別是作業系統 而不是硬體。...

了解分布式鎖

主流的實現方式有三種 1 利用資料庫實現 2 利用快取 redis 實現 3 利用zookeeper實現 優點 簡單 易理解 缺點 高併發時,效能差,增加了資料庫開銷 方法一 方法二 優點 效率高 缺點 設定過期時間過長過短都不合適,需要根據實際情況權衡 大概思路 優點 有效的解決單點問題,不可重入...

分布式 各種機制了解下

1.重試機制 retry 案例 httpclient 在閱讀 深入分布式快取 從原理到實踐 2.2章節 2.2.7 系統重發與冪等性,以httpclient為例說明重試機制,為了減少失敗次數,內部設計重試次數為3次,次數在乙個私有變數中儲存。具體場景沒有遇到。積累下來。2.確認機制 案例 rabbi...