優秀實踐之項目管理

軟件項目管理方法與項目需求流程緊密相關。項目經理應當根據需要實現的需求,規劃項目時間表、資源以及做出承諾。另一種策略是將開發週期納入“時間盒”,即團隊估算出他們在固定迭代時間內能夠完成的工作範圍。敏捷開發項目採用的就是這種方式。範圍可以在計劃時間範圍內協商。這樣一來,範圍蔓延就成了“範圍選擇”,產品負責人可以按其意願提出要求,但是必須爲這些要求排定優先級,當團隊開發時間耗盡時則停止開發。然後團隊再爲餘下的需求制定下一個發佈計劃。

1、選擇一個合適的軟件開發生命週期

組織應當根據不同的項目類型以及需求的不確定程度指定多種相應的開發生命週期。每個項目經理都應當選擇並採納最適合其項目的生命週期。將需求活動納入生命週期。如果可能,就增量細化和開發功能集,力求儘早想客戶交付有用的軟件。

2、規劃需求活動

每個項目團隊都應該計劃如何進行需求開發和管理實踐活動。需求獲取活動計劃可以保證你用最合適的技巧在恰當的項目階段找到適當的干係人並從他們那裏獲得信息。業務分析師要與項目經理協同工作,確保與需求工程相關的任務以及可交付物都會出現在項目管理計劃中。

3、估算需求工作量

干係人一般都需要知道項目中需求開發階段需要多少時間以及花在需求開發和管理上的工作量佔總工作量的比例。當然這取決於很多因素。考慮一下那些指標性的因素,它們能給你一個參考,告訴你需要花更多還是更少的時間確保需求能夠成爲開發可依賴的基礎。

4、基於需求確定項目計劃

隨着項目範圍和需求細節的逐漸清晰,以迭代方式制定計劃和時間表。首先估算完成初始產品願景和範圍內的用戶需求所需的工作量。早期基於模糊需求的成本和時間估計很不可靠,但隨着對需求理解的加深,可以逐步修正估算。敏捷項目中,迭代是固定時間長度的,做計劃就意味着不斷調整範圍,這樣才能符合固定的時間和資源約束。

5、識別需求決策人

軟件開發需要做很多決策。我們要解決用戶需求輸入的衝突,選擇商業組件包,評估變更請求,等等。因爲需求問題需要做大量的決策,所以項目團隊需要找出決策者並給他授權,最好是在首次做出重大決策之前就做到這一點。

6、當需求變化時重新協商項目承諾

項目團隊承諾在預定時間以及預算內交付特定的需求集合。隨着你在項目中加入新的需求,需要重新評估基於現有資源是否仍然能夠完成原來的承諾。如果不能,將項目的實際情況告知管理層,並且商定一個現實且可行的承諾。還有一種情況是,在開始階段,需求的理解不那麼清晰,估算也處於初始階段,而隨着演化,需求會逐漸明晰並經過驗證,這時就需要重新協商承諾了。

7、分析、記錄以及管理與需求相關的風險

如果項目準備不充分,突發事件和情況就可能對其造成災難性的破壞。作爲項目風險管理活動的一部分,要識別並記錄與需求相關的風險。我們要想辦法降低甚至消除這些風險,實施能夠降低風險的活動,記錄活動進展和功效。

8、跟蹤在需求上花費的工作量

爲了能夠在未來項目中提高對需求所耗資源估算的準確性,要記錄團隊在需求開發以及管理中所花的工作量。監控需求實踐對項目產生的影響,從而判斷在需求工程方面的投資有多少回報。

9、借鑑其他項目中關於需求的經驗教訓

學習型組織會定期組織回顧會,收集以往項目或當期項目早起迭代中的經驗教訓。從以往的需求迭代中學習經驗教訓,可以使項目經理和業務分析師對未來充滿信心。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章