如何在敏捷中交付可靠的架構?
如何在敏捷世界中交付可靠的架構?這是一種建立適應不斷變化的架構的方法。
有很多關於敏捷架構的文章,但我認為我們還沒有一個公認的實踐。
好的架構必須考慮許多不同的觀點(技術和人的),並不斷地權衡一個與另一個。
MVP 論點
有一種觀點認為不需要架構,開發人員可以構建最小可行產品(MVP)。
對於簡單的解決方案,這可能是一個有價值的練習。如果做得正確,MVP 可以提供許多幫助定義客戶需求的經驗。從這個意義上說,它是原型設計的一種形式。
但是,MVP 的任何增長都需要某種形式的架構。
備註:如果您有客戶為解決方案付費,並且您建議向客戶提供最低可行產品,這聽起來像是“我們將根據的資金提供最低限度的產品”。但是,如果您說您將首先構建一個 MVP 以加速需求收集過程,然後最終會交給他們的一個強大解決方案,那是一個非常不同的提議。
作為交付 MVP 的專案的架構師,您需要幫助正確確定其範圍。確保 MVP 是一次性的,或者更常見的是,當 MVP 回答問題時有一個明確的點,並且有一個結構化的演變成一個完整的產品。
未來交付的架構意圖願景
當今世界沒有大前端設計 (BUFD) 的空間,這是一件好事。BUFD 在沒有明確價值的情況下花費了數百萬美元,而且通常,當(或如果)完成時,設計就已經過時了。
解決方案是開發架構意圖Architecture Intent。
架構意圖是全域性的東西。
鑑於您的專案、客戶、解決方案或企業的需求,處理所有“功能”的最終架構是什麼?哪些可能的產品可以幫助實現目標?
從表面上看,這可能聽起來像 BUFD,但你所做的是制定長期的架構願景。並非所有細節都已充實。確定可能需要更多充實的架構上重要方面將取決於您的具體解決方案。
它只是為將來大的架構來設定方向。
除了少數(現在很少見的)政府 IT 專案外,沒有人能夠從一開始就實施完整的架構。
架構意圖為整個架構設定了方向。然而,架構意圖可以並且將會改變。
與所有敏捷或增量交付一樣,需求也會發生變化。需求變化可以改變架構意圖設定的方向。
此外,轉型計劃可能需要數年時間。當您交付架構意圖的某些方面時,可能會使用與您開始時不同的技術。
即時當下的架構
已經確定了架構意圖,那如何首先滿足當下即時需求?
此外,鑑於開發團隊目前的技術能力,需要縮減多少意圖以避免交付風險?
再一次,架構就是權衡。這些是具有業務意義的權衡,而不是架構師孤立地做出的事情。
與架構意圖不同,即時架構是具體的。針對需要發生的事情制定了精確的規範或政策。
即時架構到架構意圖
毫不奇怪,從即時架構到架構意圖的步驟構成了您的路線圖並定義了產品或釋出增量。
根據專案的敏捷程度,只有路線圖中的後續步驟可能會得到很好的定義。目標是不要做太多的BUFD;當需求改變時浪費精力。
是不是在一開始時就沒有基本架構的解決方案嗎?
不是。作為架構師,您仍然需要確保所有必需的“功能”都在即時架構中。但是,可能會與客戶就初始增量進行一些協商。
您可能還會發現最初的資料量和使用者數量很少,因此可以採用分階段的方法來支援可擴充套件性和併發性。
相關文章
- 敏捷交付中的自動化測試 | IDCF敏捷
- 交付架構師工作指引架構
- 實用的解決方案架構交付成果 - Chiu架構
- 架構思考:不靠譜的元件與可靠的系統架構元件
- 聊聊我對敏捷專案交付的理解敏捷
- 聊聊持續交付與軟體架構架構
- 從 Etsy 團隊看敏捷架構的設計敏捷架構
- 敏捷開發,如何編寫架構文件敏捷架構
- 如何在Java中實現事件驅動的微服務架構Java事件微服務架構
- 分散式架構-可靠通訊-服務安全分散式架構
- 如何在敏捷開發中實現更好的需求管理敏捷
- 如何做好一個系統架構師:抓住敏捷架構中幾個關鍵決策點架構敏捷
- 軟體架構生態化-多角色交付的探索實踐架構
- 敏捷實踐經驗分享,企業如何在敏捷開發中實施DoD敏捷
- 架構中的“大象”架構
- 如何在微服務分散式架構中刪除資料? - bennorthrop微服務分散式架構
- 億級流量系統架構之如何在上萬併發場景下設計可擴充套件架構(中)?【石杉的架構筆記】架構套件筆記
- “阿里架構師”kafka 資料可靠性深度解讀阿里架構Kafka
- DevOps下微服務架構連續交付部署CI/CD流程dev微服務架構
- 如何在MySQL資料庫中進行網際網路常用架構的搭建?MySql資料庫架構
- 單體架構&微服務架構&中臺服務架構架構微服務
- 採用 TOGAF標準的企業架構和企業敏捷性架構敏捷
- 實踐分享 | 資料中心敏捷交付的五大挑戰敏捷
- EdgeBoard中CNN架構的剖析CNN架構
- DNS在架構中的使用DNS架構
- Xilem:Rust中的UI架構RustUI架構
- 我們如何在Adyen做出架構決策 - Adyen架構
- Nestjs系列 Nestjs中的AOP架構JS架構
- C#中的微服務架構C#微服務架構
- 自動化測試在敏捷開發中的核心地位:確保高效交付與高質量敏捷
- 如何透過DevOps 實踐更快、更可靠地交付軟體dev
- 如何在短頻快的節奏中做好技術?業務開發必會的架構思維架構
- 億級流量系統架構之如何在上萬併發場景下設計可擴充套件架構(下)?【石杉的架構筆記】架構套件筆記
- 億級流量系統架構之如何在上萬併發場景下設計可擴充套件架構(上)?【石杉的架構筆記】架構套件筆記
- 中興通訊測試專案實踐:敏捷測試特性文件的交付過程實踐探討敏捷測試
- 架構設計中的基本原則架構
- MongoDB中的分散式叢集架構MongoDB分散式架構
- Clean架構中不好的部分 -James Hickey架構