開發管理,是對開發團隊開發活動的管理,開發活動佔據整個研發工做量的50~70%,有的甚至更高,是研發活動的核心。所以,理順開發管理工做,提升開發的效率,提高開發的工做質量,是開發管理者所追求的,也是見仁見智,這裏把個人理解寫出來,權當拋磚引玉。程序員
開發活動的範圍很廣,主體活動包括但不限於以下:編程
具體要結合開發團隊的實際狀況,進行適當的裁剪。單元測試
注1:此處將用戶需求調研和產品需求開發歸於產品部門,不歸屬開發團隊。若是爲定製開發的軟件項目,大多數歸於開發團隊。測試
注2:測試工做歸於測試團隊,不在此列。測試工做量能夠按開發工做量的50%估計。編碼
軟件開發,是一羣人(開發團隊)在一個時間階段內進行開發活動的過程。因爲涉及人力資源、時間節點,以及任務目標,爲了不無序、低效和混亂,須要有開發計劃管理。
但制定開發計劃,是很是傷神的事情。通常按下列步驟進行:設計
1)開發任務分解;接口
2)評估工做量;資源
3)肯定工序;開發
4)將工做安排給合適的人員;文檔
5)檢查約束條件,在開發時間、人力資源和需求集合三者之間協調。
開發任務分解,是開發計劃的起點。計劃的可行性和有效性,首先依賴於開發任務分解。
開發任務分解,即分解獲得開發任務集合的過程,有下列關鍵點:
1)完整性,即開發任務是否覆蓋整個開發活動;
2)任務的粒度粗細程度。
開發任務分解,既與開發流程涉及的各個節點有關,如軟件需求分析、整體設計、編程實現、單元測試和聯調測試、用戶文檔編寫等;也與軟件的需求項的數量和開發工做量有關。
有時候只有產品需求,就必須給出開發計劃。此時也只能進行粗粒度的任務分解,工做量估計須要經驗,還要留有餘量,這種計劃通常是項目報價時採用。畢竟不少商業決策都是在信息相對不完整時就必須進行的,如定製開發軟件的報價,就高度依賴於行業應用的開發經驗。
而作了軟件需求分析後,肯定了軟件的規模,以及須要劃分幾個子系統以及每一個子系統的模塊組成,此時任務的分解粒度能夠比較細化。
在公司內部,不妨容許開發計劃迭代,先給出大體的計劃,而後分階段細化計劃。
在產品需求肯定時,輸出粗粒度的開發計劃。在軟件需求分析後,再行細化和修正。或者按MVP迭代或敏捷開發的Sprint迭代方式,給出每一個迭代週期的開發計劃。
若是工做任務分解比較細,如每一個工做任務的工做量在0.5天到3天之間,開發成員的工做狀況的觀察點就多了,對控制項目進度風險和質量風險都有好處,這個粒度不妨稱爲「可管理任務量級」。但這對計劃制定帶來更大的挑戰,要求進入開發實施前,工做任務分解粒度達到「可管理任務量級」。
開發任務大多數爲智力能力類型的,如分析、設計、評審審閱、編程開發、單元測試、聯調測試、問題診斷等,也有一些會議類的,如討論會、評審會、項目覆盤會議等。
對於智力能力類型的任務,只能根據經驗來測算工做量。
若是有績效考覈制度,就須要將工做量評估作到儘可能客觀。這個儘可能客觀的方法,就是多人評估方法。
針對編程開發類任務,在部門創建專家組(高級程序員),評價任務工做量時,抽出2個高級,加上team leader,再臨時召集2箇中級,做爲工做量評估小組。
針對一批任務,先有team leader講解任務內容,而後你們各自寫出工做量(以代碼開發任務以中級程序員能力爲基準),以小時爲單位,而後你們亮出結果,若是最高和最低相差較大,則須要闡述理由,你們以爲理由充分,就投票決定工做量;若是相差不大,取中位數的工做量便可。評估後的工做量,做爲標準工做量,無論誰來完成該任務,其標準工做量是不變的。
對於編程開發類任務,除了程序編碼,還應考慮單元測試的時間。
針對系統分析設計類任務,由2個高級,加上team leader,來評估。
任務的工序安排,即肯定某個任務的前置任務和後置任務,哪些任務能夠並行開展。
這要求計劃編制者對任務的前後次序很是清楚,而且要重點關注高優先級的任務,和容易形成瓶頸的任務,若是這些任務延誤,會形成嚴重影響。
工序安排,實際是運用運籌學的方法,提升並行能力。
粗的開發計劃,只須要對每一個任務肯定人員資質水平要求便可,如某個任務要求系統分析員、高級程序員或中級程序員。
但在項目實施前,全部的開發任務需指定具體的開發團隊成員,一人或多人。
做爲開發小組Team Leader,比較清楚成員的能力水平,對業務的熟悉程度,以及出於人員培訓和後備的考慮等,安排合適的成員來負責具體的任務。這裏就考驗開發小組Team Leader的管理水平了。
開發計劃有約束條件,須要在開發時間、人力資源和需求集合三者之間平衡。
若是開發時間有限制,即項目交付時間點有限制,就須要人力資源和需求集合來平衡。若是時間緊,就要求或者更多的人力資源,或者更少的需求項。更多的人力資源,並非指更多的人,而是有效人力資源,在項目後期加入人員,因爲對項目的不熟悉,效果每每不盡人意。所以,在計劃階段,就須要清楚人力資源的需求狀況,考慮到人員到位並不能一廂情願,所以須要持續評估風險,並及時採起對策。
至此,若是肯定計劃的開始日期D0,實際上能夠給出開發計劃的甘特圖了。