建立職責分工的規則
為避免這樣的問題,項目經理和技術主管必須事先決定職責分工。那么應當如何分工呢? 不同的項目千差萬別,所以并不存在的靈藥。應當綜合各種方法,并結合項目的實際來決定。 以此為前提,首先應當制定職責分工的規則。具體來說,要制定以下的規則。
(1) 在需求定義結束之前,實現哪些功能、采用什么開發工具、安全實現到什么程度、 如何應對繁忙時的業務量等,這些關系到系統需求的重要事項必須由項目經理和技術主管協商決定。
(2) 在設計階段之后,不影響進度、人員計劃的功能追加、修改等項目范圍內的事項, 首先由技術主管做出判斷,交由項目經理確認之后再做決定。可能會導致合同變動的項目范圍外的事項, 技術主管應當將判斷權交給項目經理。用這種規則,能回避職責不明確導致的混亂。
共同制作業務場景
同時,也應當建立項目經理和技術主管共享信息的方法。這里,我們以需求定義階段 項目經理和技術主管合作制作“業務場景”的方法為例進行介紹。
新業務的場景,即根據客戶詢問、頭腦風暴、JAD、原型、現有業務資料調查等方式獲得的信息, 來描述新系統的樣子的東西。
業務場景可以用講故事的方式寫成,附以圖表更完美了。也可以開發一套能實際運行的原型系統。 制作業務場景的過程中要不斷與客戶確認,以此為基礎來確定詳細的系統需求。
場景制作的材料可以完全委托給團隊成員,但場景本身必須由項目經理和技術主管協同客戶方負責人一起制作。 項目經理和技術主管經過不斷的交涉,提煉材料,從開發的角度看哪些重要,現行系統的哪一部分在新系統中如何變化等, 這些問題項目經理和技術主管都要充分認識。這樣,兩者才能獲得一致的意見。
技術主管通過制作業務場景來獲得與項目經理一致的意見,在確定需求時才能更容易地獲得客戶的新人。 另一方面,項目經理也有充分的自信能夠“完美地控制項目”。當然,場景的詳細程度需按照項目來定。
項目經理也要有技術直覺
即使明確了職責分工,也不能說是十全十美。Web開發項目要想成功,項目經理也要擁有 “技術者的直覺”。認為“近的技術全然不懂,干脆都交給技術主管吧”的話, 無法進行風險管理了。
Web系統開發經常使用大量的新技術、新產品,技術方面的風險十分大。例如,不經深刻的討論 采用螺旋形方法進行開發,很容易陷入需求膨脹、不知何時才能終完工的黑洞。 此外,面向終用戶的B2C的電子商務網站,若不在認真計劃的基礎上進行有效率的測試, 會有測試量劇增的風險。
為防止這些風險,項目經理必須擁有“技術直覺”,努力管理項目,在技術問題上與技術主管充分交流, 而不能完全委托給技術主管。
所謂技術直覺,并不是要求精通技術本身。重要的是要了解技術的“意義”, 對于技術給項目帶來的影響具有敏銳的洞察力。遺憾的是,有些項目經理抱有 “發生問題時,只要增加人手能解決”這種簡單的想法,但它正是沒有技術直覺 造成的為悲劇性的看法。
對于影響到項目進程的技術瓶頸,算是增加人手也只是徒然浪費金錢而已。
項目經理要求有“技術直覺”,同樣,技術主管也要有“項目管理直覺”。 特別是經常接觸客戶的技術主管,如果沒有項目范圍、進度、成本、質量管理這些 項目管理的基本知識,容易僅憑技術來接受客戶要求,不知不覺中會使 成本和進度失控。項目經理和技術主管應當了解的知識如下所示。
項目管理技能(參考PMBOK)
◎綜合管理
◎范圍管理
◎時間管理
◎費用管理
◎質量管理
◎人力資源管理
◎溝通管理
◎風險管理
◎資源調配管理
◎領導力
◎交涉力
◎問題解決能力
軟件技術技能
◎需求定義
◎系統設計
◎編碼、測試
◎性能計劃
◎容量計劃
◎配置管理
◎變更管理
◎問題管理
◎過程管理
◎開發手段
◎開發工具
◎質量管理
共通技能
◎一般的IT知識、業務知識