關於基於在線Web的軟件應用,我們在確定產品開發方法時面臨困難。需要幫助來決定產品開發的軟件設計/體系結構?
我們正在使用的系統設計必須被提供作爲SaaS服務的潛在的在線Web應用程序。在決定遵循系統設計和實施相關決策時,我們在這裏面臨困難,也有很多成本考慮。
解決方法A:
我們設計和開發的一切考慮,這只是履行手頭給出問題的基本要求,解決了很基本的要求,並啓動它。一個足夠好的系統可以支持幾百個用戶,而不用過多地關注微觀優化的一切。
我們通過添加新模塊添加新功能,當客戶端請求時。
所以,簡單的設計,單一的開發,規模在必要時由要麼升級基礎設施或需要時,還不如在未來的需要,總的新系統替換系統優化。
我們保持相同的服務器,但客戶端帳戶有不同的分貝。同樣,爲每個訪問單獨數據庫的客戶端託管不同的應用程序,等等。需要時,我們可能會添加新的服務器雖然很難管理/維護和升級。
方法B:
我們研究所有要求,可能的功能補充,可能會增加額外的價值(儘管我們仍不能確定上述附加功能添加多少價值?),並設計系統支持從一開始就有大量的用戶(擁有大量硬件)。
我們推出全功能應用程序,從一開始就非常優化。
我們設計,它支持在單個數據庫和應用託管多個客戶帳戶,並與像一個成熟的SaaS應用程序的架構實現它的雲服務器/負載平衡服務器上。雖然這使得編碼和維護非常困難。絕對需要更多時間來實施。
需要注意的是,
我們正在與功能列表,用戶界面和可能的技術設置,我們可能會使用準備。我想了解什麼是解決這種情況的最佳方法。
正如前面我已經看到了一個其他產品開發項目,與集合的所有功能,它花了太長時間來完成,甚至它有這樣的功能,是不是在所有使用之中。對於這樣的項目,成本考慮非常高,我寧願採用方法A,因爲這是快速,簡單和可預測的。此外,與第二種方法相比,我很快就會收到用戶反饋,這可能會幫助我確定要重點關注哪些功能以及爲什麼。此外,當需要出現時,我們可能會重新編寫完整的應用程序,重點是類似於方法B的系統。
我想了解其他公司如何管理這種情況,以及可能是最佳方式實施這樣的項目?
這聽起來像是針對programmers.stackexchange.com的主題。我已經在那裏舉報。 – ArjunShankar
方法A聽起來不錯。在用戶真正使用它之前,您不知道用戶真正關心哪些功能。方法B聽起來像是在*錯誤*問題上投入大量資金的好方法。 – ArjunShankar