2008-09-18 90 views
4

我很快就要領導一個新項目。我一直在思考軟件項目的基礎設施是什麼。這些是我認爲每個項目應具備的東西:軟件項目的基礎設施

-Coding風格約定

-Naming公約

- 標準項目的目錄結構(如Maven的標準目錄佈局,等等)

- 項目管理和問題跟蹤(如trac,redmine等)

- 連續集成服務器(如哈德森,巡航控制等)

我不確定我是否錯過了任何東西。有人願意補充嗎?

回答

2

除了你我會把:

  • 單元測試策略
  • 集成測試策略
  • 定義過程
  • 發佈(交付)的策略(如里程碑,工作包等)
  • 源控制分支策略
3
  • 版本控制系統(例如,顛覆,CVS,GIT)
5

作爲一個初步的答案,檢查出的喬爾測試: http://www.joelonsoftware.com/articles/fog0000000043.html

只是一道開胃菜:

  1. 你使用源代碼控制?
  2. 您可以一步完成構建嗎?
  3. 你是否每天都做造型?
  4. 你有錯誤數據庫嗎?
  5. 在編寫新代碼之前是否修復了錯誤?
  6. 你有最新的時間表嗎?
  7. 你有規格嗎?
  8. 程序員有安靜的工作條件嗎?
  9. 你使用錢可以買到的最好的工具嗎?
  10. 你有測試人員嗎?
  11. 新訪問者在面試時是否會編寫代碼?
  12. 你會做走廊可用性測試嗎?
1
  • 什麼文件 - 如何(在代碼中,高層次的規格評論)的時候,量,誰
  • 您將如何測試 - 單位/驗收/用戶測試
  • 代碼版本有些SVN/Git的(或者是包含在TRAC?)
  • 團隊的角色和責任 - 在ocntext做你的項目
0

知識manageme的需要nt是至關重要的。正如您已經計劃使用wiki(如Trac或Redmine),您也可以將其用於KM。

0

功能測試是任何項目的強制性部分。單元測試很棒,對於敏捷項目來說效果很好,但功能測試仍然是必要的。您至少需要一個基本的測試計劃。如果您計劃有多個項目或子項目,則測試策略文檔或Wiki頁面將會很好。 測試用例,驗收測試用例等可能由您的用戶故事或其相應內容驅動,但它們仍然必須以某種形式存在。

0

我也會把一個文件共享服務器加入到混音中。我認爲版本控制非常基本,我甚至懶得把它放在列表中。但它是一個很好的版本控制。

0

配置管理計劃。您需要對您的開發流程有一個文檔化的方法,您將如何在之間進行合併等。