2009-01-29 99 views
6

你如何管理你的項目生命週期?你如何管理你的項目生命週期?

例如:你是否從模板開始?您是否使用SVN等版本作爲權威來源?你是否將項目歸檔,如果是的話,何時以及如何歸檔?當一個項目恢復(工作恢復)時,這是如何處理的?你是否使用自動腳本來完成諸如創建IIS站點,數據庫,存檔,啓動等?

特別感興趣的是在不同的發展點管理許多項目。

回答

6

開發:我們並非從模板開始,因爲世界變化足夠快,可以使模板維護成爲全職工作。我們鼓勵每個人使用相同的IDE(Eclipse),以便他們可以幫助他們的環境。

項目管理:我們正在使用GForge來管理我們的項目。 Sourceforge略勝一籌,但GForge便宜得多,並有不同的許可費模式。 GForge集成了CVS,SVN,文檔存儲,問題跟蹤器,並且很好地集成了一切。這可以很容易地看到項目在哪裏。開放的問題,並關閉代碼更改的問題,一切都集成了。

版本控制:儘管我們嘗試過SVN,但我們轉而使用CVS,因爲它更符合我們的需求並且工作良好。

備份:我們的GForge服務器,包含我們所有的項目和源代碼,運行在VMWare EX服務器上。備份每天在虛擬機上完成,如果我們覺得由於某種原因需要更頻繁的恢復點,我們會創建虛擬機快照。

復興項目:這在我們的業務中非常普遍。每個項目都具有CVS中的庫和構建需求。該項目總是有一個最新的開發手冊,它描述了開發環境的所有步驟,並且有一個章節包含所有非默認的內容,需要注意。我們嘗試在儘可能默認的環境中構建軟件,以便開發人員不必花費數天時間來調整設置。

幾乎所有的項目都是使用Maven構建的,這也爲我們的開發人員提供了方便。通常遊戲的復活項目只需要幾個步驟:通過SSH

  • 下載Eclipse
  • 連接到CVS(extssh內置到Eclipse)
  • 退房項目(默認爲「退房」選項)
  • 運行「Maven Eclipse」並刷新Eclipse
  • 在Eclipse中運行unittests以查看一切是否正常。

構建:我們所有的項目都建立在一個單獨的構建服務器上。每天早上,如果所有的單元測試成功,構建服務器會完成一個完整的構建並標記CVS。白天,每小時製作一次,當出現故障時,團隊自動收到一封電子郵件。通常我們每個項目使用一個構建服務器,它是一個簡單的luntbuid服務器(Linux,Tomcat,Luntbuild)。

構建服務器甚至開發者機器都是虛擬機。這使得重建項目變得非常簡單。從文件服務器獲取虛擬機,啓動虛擬機,然後就可以開始了。

構建服務器創建顯示單元測試覆蓋統計信息,複雜度測量,CVS活動和開發人員活動(誰更改什麼時間以及何時更改)的每日網站。

我們所有的軟件都帶有內建的自建數據庫腳本。將配置文件指向數據庫,啓動軟件,並找出需要對數據庫執行的操作。這真的很方便,因爲buildserver可以啓動軟件。不需要特殊的步驟。我們的客戶也很高興,他們從不需要擔心他們的數據庫或升級腳本。

整個項目生命週期在GForge中進行管理,記錄和跟蹤,並添加了一些用於預算跟蹤的外部電子表格,因爲這樣做更簡單。

無論你有沒有集成的項目服務器,我認爲有一個系統真的很重要。這使您可以在項目之間切換開發人員而不會迷失方向。它節省了時間。特別是當客戶在2年或3年後回頭修改舊軟件時(是的,發生這種情況)。

我們使用的所有東西都是開源的(您甚至可以使用GForge的開源叉)。它不在工具中,而是你如何使用它們。

2

這取決於工作的性質。在私人客戶的家中工作時,我首先爲客戶打開一個文件夾,其中包含我自定義的一些標準文檔,例如合同,發票,報告,要求,測試,代碼存儲庫等。隨着項目的發展,根據需要添加/修改目錄。

如果我不得不回到一個項目,我會重新打開該目錄,並且對於任何非公共組件,請創建一個新目錄。例如,如果我的客戶端已構建Web應用程序,並且現在他們需要第二個應用程序,那麼我將使用相同的目錄來存儲發票和合同,併爲代碼庫,需求和測試創建新目錄。

就備份而言,除了代碼外,我還會在任何時候將工作歸檔到任何一個里程碑處,而且每天至少備份一次。在每個項目結束時,當我關閉合同時,我將整個目錄壓縮並存儲在遠程服務器上。

+0

謝謝你Elie。好點,讓我補充一點工作的性質。 – ccook 2009-01-29 21:13:37

1

我創建了包含像「初始化軟件過程」這樣的項目階段的文件夾,如果我們放置了像商業提案這樣的文檔,我們使用另一個用於需求另一個用於構建,發佈,一個用於會議紀要等等。

我們將這些保存在subversion版本庫中,但這取決於您正在使用的metodology,還取決於您如何處理配置管理以及您希望如何組織。是的,我們對大多數工件使用模板,所以我們以某種方式保證我們產品的質量。

+0

這是在一個共同的文件共享?管理層是否與svn有問題? – ccook 2009-01-29 21:48:46

+0

是的,我們有一個Subversion服務器。如果管理層需要我們通過電子郵件發送給他們的文件。 – 2009-01-29 21:53:06

1

至於源代碼,我們把它全部放在Subversion版本庫中。每次發佈後,我們都會創建一個分支 - 只有新功能纔會添加到當前分支(下一個版本將基於此分支),重要的bug修復將在當前分支和舊分支中完成(因此我們可以爲該版本提供修補程序客戶目前擁有)。

對於所有文件屬於釋放 - 從規劃&資源板材規格,測試用例,用戶和技術手冊的軟件,我們創建等 - 我們將其存儲在SharePoint門戶網站。這個Sharepoint網站的優點是用戶可以通過網站訪問(所以不需要授予管理訪問您的存儲庫;-),你可以很好地控制訪問權限,你可以打開版本控制。我們還使用標記來標記文檔是屬於特定版本(例如Service Pack xy)還是產品,或者它是否通常有效。

關於腳本,我們使用幾個來執行例如,每晚構建和單元測試(我們通常會爲最後版本和當前版本進行測試),還可以在測試服務器上部署完整的軟件解決方案(包括IIS站點創建,數據庫數據模型升級等)。這些是nant腳本,它們爲路徑,版本號等使用了許多變量,因此可以很容易地爲新版本進行復制和修改。

相關問題