如何進行架構設計(一):制定戰略性指導方案
1. 引言:程式碼未動,架構先行
假如你是一名研發主管,有一個軟體產品的專案派到了你的團隊,你需要調動你的團隊開始攻克這個專案,當專案的啟動計劃書擺在你的面前的時候,立刻就有一大堆問題冒了出來,需要你去解決:
- 如何滿足軟體產品的實際需要;
- 如何合理的調配相關的開發人員;
- 如何保證工期以及軟體質量;
以上這三個問題是你首要必須考慮解決的問題,假如這個專案是一個網際網路應用專案,那麼你還必須要考慮解決如下問題:
- 如何應對產品的快速迭代;
- 如何應對產品使用者的快速增長;
- 如何應對產品規模的快速膨脹;
要想解決這些問題,其中一個必要的手段就是設計良好的軟體架構,當然設計良好的軟體架構不能保證我們解決所有這些問題,但可以幫助我們解決相當一部分問題,並且能夠輔助解決其他依靠軟體架構無法解決的問題。
因此在進行開發之前,先進行架構設計是一個良好的開端,一上來就一頭扎進程式碼中,不但無法解決上述的問題,並且沒有架構約束的開發過程將會不受控制的產生新的問題並且積累下來,這些不斷累積的問題有一個很形象的稱謂:技術債,當然無論多麼優秀的架構都無法完全避免技術債的產生,但是良好的架構可以控制技術債的產生速度、規模以及範圍,同時可以降低我們償還技術債務(通常是通過重構的方式)的成本。
那麼如何進行架構設計呢?接下來,讓我們進入正題,通過一步步制定架構設計的行動方案來講解架構設計的過程。
2. 制定戰略性指導方案
如何進行架構設計呢?首先我們需要制定一個行動方案,在制定方案之前我們先來嘗試著回答一下這個問題:
如何進行架構設計:通過分析應用系統的上下文環境,選擇使用合適的架構模式或者設計新的架構模式一步一步勾劃出整個應用系統的架構模型。
這個答案給出了一個大體的思路,這個思路提供了制定方案的依據,通過這個思路,我們可以初步制定出一個包含三個步驟的行動方案:
行動方案初版:戰略性指導方案
- 分析應用系統的上下文環境;
- 根據具體的上下文環境選擇合適的架構模式或者設計新的架構模式;
- 使用選擇的架構模式逐步勾畫出應用系統的架構模型;
到了這裡,雖然已經有了一個方案,但是我們仍然會感到很困惑:這個方案到底如何執行,架構到底如何設計?這是因為這個方案只是一個初步的方案,具有一定的抽象性、概括性,不夠明確,不夠具體,因此還不具備可行性,只具有戰略性的指導作用,是一個戰略性指導方案。通常情況下,這種方案是老闆交給下屬的方案,個人認為,理想的上下級協作模式就是由上級提供戰略性指導方案給下級,下級明確化、具體化成戰術性可執行方案後交給上級,上級稽核後交由下級執行;當然,能夠遇到一個擅長提供戰略性指導方案的老闆,說明你的運氣還不錯,因為很多老闆在分派任務的時候只是會下達諸如:我要xxx、給我做個xxx之類的指令,他們期望你是那種聽到指令就能立刻明白怎麼做,然後馬上開始執行,很快就做出成果的超人員工。當然在這次學習之旅中,我們就是我們自己的老闆,同時,我們又是自己的下屬,我們給自己下達任務,然後自己執行;我們已經給自己提供了戰略性指導方案了,下面就讓我們將他明確化、具體化成為戰術性可執行方案。
相關文章
- IBM:如何進行雲端計算安全性評估與戰略制定IBM
- 戰略遊戲設計構思:指揮官機制遊戲設計
- 如何進行雲端儲存架構框架設計?架構框架
- 該如何進行架構設計一個MQ訊息佇列?架構MQ佇列
- 設計和架構:業務開發指導原則架構
- 如何進行架構方案選型和推進【Docker】架構Docker
- 軟體架構師必讀!什麼是設計?如何進行設計?架構
- session一致性架構設計Session架構
- .NET 應用架構指導應用架構
- 如果讓你寫一個訊息佇列,該如何進行架構設計啊?佇列架構
- 概念性架構設計架構
- 企業戰略性管理溝通模式設計(轉)模式
- 企業是否適合雲端計算,又如何進行雲端計算戰略規劃?
- 架構實戰--軟體架構設計的過程架構
- 趙海鵬:如何進行 OpenHarmony 音訊特性架構設計和開發工作音訊架構
- 架構設計之一——基礎架構架構
- 騰訊系、阿里系產業架構探究(下):投資戰略“投行化”阿里產業架構
- 分庫分表架構方案設計架構
- 設計微服務架構前應該瞭解的 5 項指導原則微服務架構
- 川普政府針對加密貨幣制定“綜合戰略”加密
- 架構的思想與指導原則——架構師的思維架構
- 網站架構的伸縮性設計網站架構
- 理性關卡設計手冊:如使用RLD理論指導遊戲關卡開發?遊戲
- 實戰訓練營:傳統分散式架構如何進行容器化升級分散式架構
- 需求如何進行敏捷設計敏捷
- 如何進行直播軟體搭建計劃制定,需要注意那些問題?
- 【解決方案】多租戶技術架構設計入門(一)架構
- 如何設計一個好玩的競技遊戲——戰略空間設計遊戲
- VxWorks程式設計指導 (轉)程式設計
- 架構設計思想-微服務架構設計模式架構微服務設計模式
- 《Kafka實戰》之架構和設計邏輯Kafka架構
- 實戰解析Android架構設計原則Android架構
- 情指一體化實戰指揮平臺建設方案,合成作戰系統開發
- 【公益譯文】國家技術戰略制定、實施、監控評估(一)
- 架構設計架構
- 談談制定資料戰略的7個關鍵要素
- 如何設計一個好玩的競技遊戲——戰略時間軸設計遊戲
- 【翻譯】iOS 檢視的程式設計指導(一)iOS程式設計