讀古今文學網 > 程序員必讀之軟件架構 > 多少預先設計是太少 >

多少預先設計是太少

  • 不瞭解系統邊界是什麼,在哪裡。
  • 團隊中對「大局」沒有形成共識。
  • 無法交流整體願景。
  • 團隊成員對需要做的事情不清楚或感到不適。
  • 沒有考慮非功能需求/質量屬性。
  • 沒有考慮(現實的)環境約束如何影響軟件(比如部署環境)。
  • 沒有考慮主要的風險,比如非功能需求、外部接口等。
  • 尚未確認重大問題及其答案。
  • 沒有考慮關注點分離、適當的抽像層次、分層、可修改性,拐點等。
  • 對架構師要扮演的角色沒有共識。
  • 解決問題的方法不一致。
  • 團隊缺乏控制和指導。
  • 項目生命週期中本應預先考慮到的重大架構變化。
  • 過多的設計選擇和選項,往往伴以團隊成員對解決方案或前進方向的反對。
  • 對於設計是否管用的不確定(比如,設計過程中沒有執行原型的部分)。
  • 缺乏技術選擇(即不必要的延遲)。