讀古今文學網 > 程序員必讀之軟件架構 > 第29章 軟件架構是對話的平台 >

第29章 軟件架構是對話的平台

如果寫軟件是你日常工作的一部分,那麼你的軟件很可能不會孤立存在。在項目小團隊裡,我們會感到安全,特別是當每個人都相互認識、團隊情緒高漲的時候。我們甚至建立起開發流程來幫助更好地溝通,設定優先級,最終交付更好的軟件。然而,很多軟件項目仍然由遠離用戶和運行環境的團隊孤立地開發。

敏捷方法的成功告訴我們,要定期與最終用戶或他們的代表溝通,才能確保我們構建的軟件符合他們的需要。但其他的利益相關者怎麼辦?項目團隊對軟件應該做什麼可能有清晰的願景,但你經常會聽到下面這樣的說法,交付週期總是延遲。

  • 「沒人告訴我們你需要在這個服務器上創建一個生產數據庫。」
  • 「我們不能在那台服務器上升級到[Java 7|.NET 4],除非X系統兼容。」
  • 「我們沒有多餘的生成許可證。」
  • 「對不起,這違反了我們的安全政策。」
  • 「對不起,在把你的應用程序推送到生產環境之前,我們需要做一些操作驗收測試。」
  • 「我們到底應該怎樣支持該應用程序?」
  • 「我不在乎你是否有一個完全自動化的發佈流程……我不會把你的配置文件所需的生產數據庫憑據給你。」
  • 「我們需要運行這個才能通過風險和合規團隊。」
  • 「絕對不能讓你的系統運行在公有雲上。」