2013年5月29日

[PL的Project Management]一旦失焦,很容易失火


Project要有焦點,焦點是集中火力投入資源的地方。
焦點對了,project就可以個個擊破,愈來愈順手。
焦點錯了,project就陷入瞎忙困境,愈來愈沒力。
而PL是應該指出焦點的人,指錯了或不指,都是問題。

什麼才是焦點對的位置呢?

*、焦點放在Project的目的和特性
  PL最重要的目標就是達成project的目的,了解project的特性才能正確定位project的焦點。
  例如對平台型的project來說,穩定性和通用性是最基本的要求。平台當然也是希望功能愈豐富愈好,有時候因為客戶的要求把個別客戶的特殊功能加入平台。在Requirement phase時很容易就不小心把一堆不同客戶的功能加進來,這時如果PL沒有考慮好這些功能之間是否具有高度通用性,有沒有衝突互斥的情況,誤以為平台的功能多就是好,失去了平台型project最基本的焦點-穩定、通用,可想見RD要花多少時間和代價才能處理好衝突互斥的問題達到穩定的要求,而且未來客戶開project時,也可能搞不清楚那些功能如何使用。
  反過來客戶project追求的是獨特性和時效性,沒有特殊差異化的賣點,就沒有市場的亮點。即使技術仍不成熟,穩定性只有80分,為了Time to Market,也是可能要先推出的,如果PL是抱著做平台的心態,凡事都追求一百分,要求完美,很可能就失去了Time to Market的契機。
  另外其實不管是平台或客戶project,schedule永遠都是老闆會給的壓力,如果PL以schedule為藉口而對平台型的project便宜行事,求快而不求穩,那是不可取的,因為所有不穩定的後果只是延後到客戶的project才爆發,那時的代價會比原本的schedule delay還嚴重很多的。

*、焦點在解開未知的黑盒子
  <未知>是project最大的風險,PL不需要擔心問題太多,因為至少那些問題已經曝露出來,問題的解決只是時間的問題。PL的焦點要放在解開所有<未知>的黑盒子,想辦法把問題都攤在陽光下。



  例如VT測試的test cases是不是全部都跑過了?是否有block的現象,導致後面一大串的測試無法進行?PL的焦點要放在block的原因和未執行過的test cases,而不是放在已經測試過發現的bug。RD會很自然地去處理已知的bug,但是不會去處理那些VT還沒發現的bug,只不過沒發現不表示就不存在,一旦未發現的bug是與已知的bug是相關的,RD現在花effort解了已知的bug,很可能因為新bug而必須再重來。PL愈早解開所有的黑盒子,project風險就愈低,RD的效率也會愈高。

*、焦點在跨team合作的task
  跨team的task很容易因為溝通問題、資源衝突、彼此互相等待的情況而卡住,而通常需要跨team合作的task都是較大型且重要的功能,一旦出現卡住不順的情況,對整個project就會有很大的影響。
  跨team的協調有問題時需要更高位階的人來仲裁,當發現有卡住、彼此等待而效率提升不起來的時候,PL就必須介入當仲裁者和決策者,避免情況繼續惡化。

*、焦點在解決資源的衝突和短缺
  資源的衝突和短缺是會嚴重影響到project的效率的。
  例如工作定義不明確或切割不清楚會造成RD分工的困擾,可能導致重工或三不管地帶,PL要避免發生這樣的情況。
  例如同時多個project搶相同的人力(共用的RD或VT),PL必須協調其他project使用這些資源的時間,務必讓資源衝突對project的影響最小化。而且當這些資源對project的schedule有決定性影響時,如VT可進行系統測試的時間點,更需要盡快定案或設想其他可能備案,不然project會陷入被動不可控制的狀況。

*、焦點在最長時間的working item
  Schedule要能夠在控制範圍,PL要把焦點放在最長的working item上,也就是project的瓶頸。
  例如大部份功能可以在二個星期完成,而有一個功能A需要一個月完成,那麼功能A就會影響整個系統的整合,延後Integration Test的時間。PL要把焦點放在如何加速功能A的進行,如何讓整個project的schedule可以最佳化。
  常常造成project delay的只是少數幾個甚至只有一個功能的問題,而且往往是在project早期就預期它很可能會造成project delay,只是PL沒有早點把焦點放在它身上,才導致project後期所有的人的焦點都在它身上。

*、焦點在讓RD也都有焦點
  RD的焦點來自PL的焦點。
  當PL有明確的指示出現在project的目標時,RD的效率是會提高的。
  例如project後期解bug時,PL要求鎖定priority高的bug,RD就不會花心力在不重要的bug上。只是PL必須清楚project目前的焦點在哪?火力要往哪裡集中?


PL的指揮棒不能亂指,亂攻山頭會讓大家疲於奔命,真的佔據了高點,才能制敵機先。


沒有留言:

張貼留言