共用方式為


啟動的架構

建立新創公司是一項獨特的挑戰。 核心任務是為創新在市場上找到一個作為產品或服務的定位。 此程式需要測試創新內建的多個假設。 成功的初創公司必須反覆驗證這些假設,並在產品達到產品與市場契合時成長與擴展。 找到這個適合之後,初創公司必須擴展規模以抓住市場需求。

在不同的創業生活階段,開發人員、建築師和首席技術官(CTO)處理不同的開發階段。 這些階段需要基本不同的方法和不同的技術選擇。 工作的一部分是確定您的新創公司所處的階段。 選擇符合該階段的技術、方法和架構。

創新階段

肯特·貝克描述了軟體產品創新的三個階段。 這些階段是 探索展開擷取。 您可以將此程式的不同部分視為圖表:

顯示產品開發探索、展開和擷取階段的圖表。

顯示針對 Y 軸「確定/投資/變更風險」和 x 軸「時間」繪製的 sigmoid 曲線圖表。 圖表醒目提示了三個區域:上升拐點前的初始部分標示為「探索」,sigmoid 曲線的高成長部分標示為「展開」,以及平臺期標示為「擷取」。

  • 探索階段從低斜率開始,在這個階段中您需要嘗試找出有效的方法。 確定性很低,您只投資少量,而您所做的任何變更的風險也很低。

  • 當找到產品市場契合點時,圖表會迅速上升。 這種快速增長是 擴展 階段。 你的確定性大大增加,你投資更多,你更了解風險。

  • 最後,當圖形趨於平緩,並且公司達到成熟期時,您會進入提取階段。 變化的確定性、投資和風險都很高,但增長率已經停滯不前。

探索

當您的新創公司處於探索階段時,您應該將少量的時間和精力投入到許多不同的產品想法上。 大多數想法不正確的事實推動了探索。 只有通過迭代和學習,您才能找到產品市場契合。 通過做許多小賭注,你的目標是找到一個得到回報的產品理念。

此階段需要自律。 很容易過度投入一個想法,這個想法其實可以用比較少的時間和精力來測試。 一位技術專家發現,很容易陷入這個陷阱。 當您做出有助於簡化探索的架構選擇時,請記住您是在進行探索。 您還不知道這個產品構想是否能夠擴展。

從架構的觀點來看,選擇針對速度、成本和選項優化的服務。 使用受控服務和平臺即服務 (PaaS),例如 Azure App Service 快速開始使用,而不必擔心複雜的基礎結構。 在您探索的過程中,選擇免費方案和較小的實例規格來管理成本。 容器支援使用適合您的任何工具進行開發,併為您提供未來彈性的部署選項。

建置您的第一個堆疊

如同您的第一個產品版本,您的第一個技術堆疊應該牢牢地植根於探索。 這表示技術堆疊應該能夠輕鬆快速進行產品反覆專案,而不會浪費精力。 您不想花費時間或精力在不必要的基礎結構或架構上,只為了回答當前問題。

在探索階段期間,您必須針對速度、成本和選擇性進行優化。 速度是關於您能多快建構並推進一個想法,或轉向下一個想法。 成本是您執行基礎結構所花費的成本。 選擇性描述您可以根據目前架構變更方向的速度。

平衡成本、速度和選擇性很重要。 過於專注於成本限制速度和選擇性。 過於專注於速度可能會導致成本增加和選項較少。 針對太多選項進行設計會建置複雜度,進而增加成本並降低速度。

請考慮使用我們建議 的第一個技術堆疊。 此架構使用 PaaS 服務輕鬆實作、可透過最小規模啟動,並使用容器和開放原始碼技術,在您成熟時可以輕鬆地部署在不同的技術堆疊上。

展開

一旦您的初創公司找到產品市場契合度,並透過探索獲得隨後的成長,您便會轉向擴張階段。 您專注於移除阻礙公司與產品持續成長的任何障礙。 從技術觀點來看,您可以解決基礎結構規模挑戰,並提升開發速度。 目標是要符合新客戶的需求,並推進您的產品藍圖。

擴充您的架構

當您不斷改進產品時,您必然會發現需要擴充架構的地方。 您可能需要在背景中完成長時間執行的工作,或處理來自物聯網 (IoT) 裝置的頻繁更新。 您可能需要將全文搜索或人工智慧新增至您的產品。

您可能需要架構變更,以容納藍圖上的專案。 抵制提前做出這些變化的誘惑。 擴充套件可能會在架構中新增複雜性,並使基礎設施成本增加至您的資產負債表。

在早期啟動階段,任何架構延伸模組都應該是即時的。 延展應該只需花費必要的時間和精力來測試下一個假設。 準備好移除延伸模組以減少複雜性。 尋找您的客戶未使用的產品功能,以簡化您的架構並減少基礎結構支出的機會。

您的架構可以透過許多方式擴充,例如:

提取

在擷取階段,當您達到市場機會的限制時,增長速度會放緩。 由於您在上一個階段擴展,因此現在有很多可以失去的,您會採取更謹慎的方法。 擷取階段的特徵是邊界擴充、成本降低和效率改善。 在提取階段,請小心不要影響您在擴展階段中吸引的客戶所購買的產品。

管理成長並使您的技術堆疊成熟

一旦產品達到產品與市場適合,許多需求就會推動其架構。 使用量增加可能需要基礎結構調整來處理負載。 新的企業合規性需求可能需要更大的隔離。 這些變更是成功應用程式成熟時常見的步驟。

您為處理成長和新增成熟度所做的變更,與擴充架構不同。 這些變更不是功能需求,但與解除鎖定規模相關。 規模增加可能來自凈新客戶、現有客戶的使用量增加,以及法規需求較高的客戶。

抵制過早優化的誘惑。 請務必採取成長和成熟的策略,協助您不斷改進和提升產品。

後續步驟