使用敏捷管理項目
人們無法普遍理解一些細微的區別。如果你理解了那些簡單的區別,就可以成功地使用敏捷來管理項目。你需要做以下三件事情:
知道項目管理與產品管理的區別
規劃好碰到項目/產品管理差異的臨界點時應該做些什么
每一步都與管理層溝通
項目管理中需要管理三角約束:范圍、進度、預算(有時人們把質量和/或資源也加到約束中)。產品管理也關注這些約束,只是對產品而言,它們是一些更加寬松的概念。
圖 1
如果你用于開發產品的錢花完了,只要這個產品還在為客戶創造價值,那么公司很可能在下一年制定一份新預算,讓產品負責人去實現上一年沒能實現的功能。而項目卻不會如此,錢用完了,項目也就結束了。類似地,時間進度對產品也會比對項目更寬松一些。項目經常要關注時間表。項目經理要按時滿足里程碑要求,并按時結束項目。產品也關注時間表,也關注滿足里程碑要求,但不關注結束的時間,因為產品開發更關注下個版本中的優化工作。
你該做些什么?
使用敏捷的方式管理項目時,了解了項目管理和產品管理處理三角約束的不同,計劃好下一步要做什么是非常重要的。
這里是一些來自于我個人經驗的建議和技巧。首先,你需要確定對于你的項目什么是真正最重要的。是范圍最重要?還是進度、預算?這聽起來很容易判斷,但在現實中,很難讓項目發起人保證只有一件事情最重要。(Rob Thomsett的滑塊是一種很有用的工具,通過它我們可以識別出最關鍵的驅動因素)不要讓他們告訴你有兩個。我做過美國聯邦政府委托的一個健康保險公司的項目。當說出了項目日期,人們就開始站在桌子上叫喊,讓我們不能誤了這個日期,可實際上只有項目內容全部完成后,項目才能算完成。如果日期到了,而范圍沒完成,項目就會被認為失敗了,而只有內容完全實現了,項目才能算完成。你知道了什么最重要,才可能知道你需要管理些什么。例如,如果你在做一個純研發項目,那么范圍、進度、預算確實不會是驅動因素。如果你做的是即將到來的假期的項目,那么進度對你就是最重要的。一旦你知道了這個問題,你就會更多地關注最重要的因素。你應該基于最重要的因素來調整你的管理方式。
在敏捷項目中,你仍然可以管理范圍、進度和預算。然而,因為在項目管理和產品管理中,處理這些因素的方式會有根本的不同,所以我們就要仔細規劃當發生沖突時我們應該做些什么。做好準備,當沖突發生或將要發生時,管理起來會更容易。
圖 2
在敏捷項目中,范圍管理是最常讓人產生誤解的問題之一。敏捷實踐者會告訴你,在敏捷中,范圍可以隨時改變。的確如此,敏捷宣言的四條價值準則之一就是“響應變化勝過遵循計劃(Beck,et al.,2001)”。對客戶和市場要求的需求變化能及時響應,是組織接受敏捷的首要原因(Version One,2010)。用敏捷方式管理項目時,你會定義項目backlog和產品backlog。在項目開始前,你會就項目與產品的功能列表,與項目發起人進行討論,如果可能的話,在整個項目生命周期中再與發起人進行多次討論。項目backlog是項目需要做的具體的工作集合。當這些工作做完了,項目也就完成了。產品backlog是另外的一些特性,它們可能將來成為產品的一部分,但不是當前項目的一部分。在管理時,要非常清楚哪些內容在項目backlog 中、哪些內容在產品backlog中,并且需要與發起人反復溝通。如果識別出新的產品特性,就愉快地接受它們,并毫不猶豫地把它們加入到產品 backlog中——而不是項目backlog中。如果項目領導要求把它們加入到項目中,那就通過變更流程,把它們加入到項目backlog。變更流程可能像批復郵件一樣簡單,但是你有必要記錄下來:新特性加入到了項目中、它對進度和預算將產生怎樣的影響。盡管它可能是一個更簡潔的流程,實際上這種做法與傳統的管理范圍的瀑布方式并無不同。
關于范圍管理的最后一句話是:對產品backlog的優先級要持續地進行再評估。產品負責人可能想重新調整產品backlog,在項目或產品 backlog中加入或去除一些特性。這與管理上述的新工作沒有差別。弄清楚這些變化的影響,并通過盡可能簡單、輕量級的流程把它們文檔化,這是我們作為項目經理的職責。注意,產品負責人不要試圖增加或去除當前正在開發中的工作項,那是不可行的,因為這些工作已經被團隊選走了。如果對正在進行中的工作要做的變更十分重要而且必須要做,那么就要終止(在Scrum中)當前的這次迭代,然后再去規劃新的迭代。我們可以通過減少“打回”來鼓勵迭代范圍的穩定性。
對進度和預算我們也可以采用類似的處理方式。你需要清楚地界定什么是項目預算、什么是運營中的產品預算;什么是項目的進度、什么是運營中的產品生命周期的進度。然后你需要就此與項目發起人頻繁且清楚地交流,這樣不久后,項目發起人就能銘記這兩者的區別,并且成為項目/產品 backlog、進度、預算的捍衛者。
溝通
你需要做的第三件事,是頻繁地與產品負責人溝通項目與產品間的分界線。與產品負責人緊密合作,確保他們清楚地理解這個分界線。你要非常注意自己的語言,講清楚“項目”和“產品”,清楚地描述產品backlog和項目backlog。這是你作為項目經理能最大地發揮價值的地方:你幫助公司在產品的背景下,保持對項目交付物的關注。
敏捷/瀑布連續體
“敏捷和瀑布 ——哪種方式正確?”我每天都會看到很多諸如此類標題的博客文章。這樣的陳詞濫調仍然有人談論。“敏捷Vs.瀑布”制造了非此即彼的命題。把敏捷和瀑布視為戰爭中的敵人,只能有一個勝者。大量的文章糾纏于敏捷與瀑布辯論的兩個核心問題:迭代VS.線性計劃,命令式管理 VS.交互式管理???關于兩個團隊的一個故事,2008)下面的例子: