星期三, 2月 27, 2008

專案管理實務分享-以軟體專案為例

  之前有位朋友公司在找企劃人員,一開始職務名稱取為網站企劃卻乏人問津,索性把職務名稱改為專案經理,結果一天就收到20幾封應徵信,效果非常好,許多資深的程式人員,長期面對無趣的電腦語言,也都想轉做專案經理,似乎轉做專案經理就可以變成一位動嘴吧不用做苦工的爽缺,因此突然發現身邊有越來越多不專業的專案經理,其專案的成員無不哀聲怨道。

  何謂專案?通常指非常態性,有特定的目的,可以用來開創新產品或服務之任務,因此其權責小到可以一個人執行一個小案子,也可以大到負責控管整個公司的產品產出,這類大型專案管理者又叫Program manager,其權責可以看公司的組織架構或高層主管的授權與否來決定,通常專案成員來自於各功能性部門,如技術部門 、企劃部門、 業務部門..等,有些公司會採用強勢授權,人員於開發階段集中交付給專案經理管哩,任務完成後歸建,也有些公司會讓專案人員仍掛在各部門,由各部門主管管理,並與專案經理協調資源運用,作法就看公司的規模及組織的成熟度來決定。

  專案經理的職責有哪些?專案的五大生命周期為起始(initiating)、計畫(plan)、執行(executing)、控制(control)、結案(close),其關係圖如下:

process

專案經理通常在專案決定執行後才開始參與,當然也有一開始就參與決策及評估的做法,通常專案形成的初步只是一個概念(Concept),需經過決策單位評估討論後,才會逐步成形,專案經理通常是在專案成型後參與,因此被賦予任務後首先要了解整個專案的狀況,如專案關係人(stakeholder)是誰,專案的目的為何,專案的範疇(Scope)有多大等,將這些定義文字化後取得授權即完成起始程序,很多新手專案經理通常會全然接受上級指派,沒有去確認Scope,而導致專案失控或結案時發現與預期相差太遠,因此於起始階段取得共識是非常重要的事,有多少籌碼做都多少事,才能讓專案進行順利,建議一定要隨時往5W2H思考(Who、 When、 What、 Why、Where、 How、 How much),將問題提出討論及確認,並確實做好記錄及文件,如:WBS(Work breakdown structure)及 Scope statement 等文件在這階段十分重要,Scope、Time、Cost、Quality其關係緊緊相依如下圖所示 。

TQSC

  起始階段完成後就進入計畫的階段,根據專案的範疇專案經理應該可以歸算出時間及成本,並規劃品質及估算風險,如果需要外包的部分就需規劃出採購計畫,人員需要訓練或確認溝通方式的部分也可以擬訂各計畫書,在軟體成本估算我們通常以人月來計算,一個人工作一個月的成本,在台灣可以採用軟協提供的成本估算,在這個階段可以用Microsoft的Project軟體來輔助,由WBS做出更細的活動清單(Activity list),設定好每個工作的負責人員,並與各任務的專家,如專業部門主管,估算執行時間,每個活動最好有樂觀、悲觀及較可能的時間估算,讓專案多一些彈性以降低風險,估算完成後做出甘特圖、里程碑、網路圖,並更新專案時程表。完成時間及成本規劃後,記得要做好品質規劃書,以軟體專案為例,通常會在品質規劃上註明執行效能、安全性、測試方式及工具、測試項目,通常為控管軟體品質可以使用Bug tracker工具以了解品質狀況,並須請技術人員規劃unit testing 、intergration testing 、functional testingusability testing計畫,讓軟體品質及滿意度提升, unit test 目前常用的工具有JUnit或用VS.net 內建工具,可以針對軟體的各功能先做自動化的測試,usability test建議隨機找目標族群,依計畫項目(test cast)做測試,測試完畢提供意見及問題回報,如果是多人執行的大系統還要加上壓力測試安全性測試,來確保品質,傳統的web-based系統不易做Unit test,這部分應用新的系統架構,盡量將程式架構轉為物件導向並與前端介面分離。

  接下來是執行階段,很多專案經理常會以為在這個階段可以輕鬆一下,讓成員去拼命,自己等著坐收成果,在這階段其實會有需多需要溝通斡旋的工作,並應該觀察專案成員狀態,適時給於鼓勵及關懷,對於不合作或不是合的成員,也應有相對的動作,如申請更換人員或提出警告,外包的部分就需要進行邀請競價,選擇廠商及簽約等動作要執行,如果本身不擅長溝通協調或缺乏同理心及判斷力,容易在這個階段被專案成員抱怨並造成執行不力。

控制階段會橫跨起始及執行階段,主要必須控制及驗證專案計畫,建議定時招開專案會議確定進度,多使用輔助工具來觀察專案的進行狀況並做必要的調整,遇到需求更改時,應該進行需求更改的確認及其他資源如時間 成本 的調整,讓專案盡量不受需求更動影響,這階段比較容易被忽略是風險監控,在開發的過程中如果沒有定義查核點(checkpoint),或缺乏風險規劃,如只把軟體開發交給一個programmer,而該成員而專案進行中離職,可能造成非常大的損失,要學會控制好專案其實需要經驗累積。

  結案的部分,一般會交付各項開發文件、使用手冊、測試報告,做教育訓練,廠商或需求單位會進行驗收程序,驗收無誤後即可完成結案,軟體專案通常會有保固期或維護期,需看合約狀況安排人力做日常維護及問題修復,當然若驗收出問題,也得依合約或專案計畫書來追究責任,不管專案是否圓滿,應該都要寫一份結案報告,評估執行效率及專案問題,做為下一個專案的參考。

  不管你是否為專案經理的職務,建議都不要放棄執行專案的修行,例如 老闆指派的新任務,自己可以由專案的觀念來執行看看,辦party 、規劃旅行也可以試著把他視為專案去規劃,專案其實無所不在,找尋好的機會做磨練,相信專案執行的素質會提升的很快。

參考文件 : PMI PMBOK

尋找大自然的四葉幸運草

常看到許多漫畫或小說喜歡用四葉幸運草代表幸運,許多人喜歡畫幸運草代表祝福,看似簡單的樣子,仔細研究才發現,大自然裡其實相當難找到四葉幸運草,四葉草通常是一種突變,我們可以觀察一下動物,2條腿 、4條腿、 8隻腳、 2隻角都是偶數,因此自然會覺得四葉幸運草應該可以找得到,但仔細觀察一下植物,卻發現大部分的花瓣數為3、 5、 8、 13、 21、 34、 55,就連切開蘋果、 梨子等水果也會發現種子剛好是五角形排列,而4這個數字剛好不在這個數列裡,懂數學的人應該可以發現,這些數字剛好跟Fibonacci數列很接近,而Fibonacci數列的任意連續對數比又趨近於黃金率1.618,大自然冥冥中有著一些規律可以用數學來表示,難怪許多科學家沉迷於研究這些公式,牛頓被蘋果打到後發現地吸引力就是個好例子,生活中其實處處有驚奇可以發現,幸不幸運就看個人怎麼想了。

flower

星期五, 2月 22, 2008

論網路三國無雙 Google VS Yahoo VS Microsoft

  2008/2/1 的新聞 , 微軟提議以現值446億美元的現金加股票,以每股31美元的價格,也就是以62%的溢價收購全部Yahoo股票,Yahoo2008年1月31日收盤價為19.18美元,但新聞宣佈完隔天股價馬上大漲到29美元,Microsoft當天股價卻下跌[link]。

  Microsoft 併購Yahoo 的訊息去年就開始有耳聞,今年終於有大動作,對於Microsoft的購併提案,Yahoo董事會的回應是價值被低估,認為40美元才合理,並放話不排除與Google合作,而創辦人楊致遠也發信聲明會以股東及公司的權益為重,避免被購併,也有傳言Yahoo可能會出售給News crop.而Google則提出反托拉斯法來抗議這起涉及壟斷的購併案。

Yahoo為何從第一品牌的網路公司成為弱勢的併購對象? 去年楊致遠重新上台操刀的績效似乎令人失望,難以扭轉頹勢,主要Yahoo錯估了近年網路主要的演進 :

1. 搜尋演進 : Yahoo未能持續研發更精進的搜尋引擎來對抗Google,, 也未把握重要時機收購Google,目前其搜尋結果的精準度及深度遠不及Google,況且Google的搜尋已經前進到語音辨識 、光學辨識、 電子書搜尋、個人化搜尋,並應用到內容頻道上,如新聞(Google news) 上,簡化編輯上搞流程及人力,最近還有雲端計畫(Cloud Computing) ,勢必將搜尋的進入門檻再提高,Yahoo未能即時察覺搜尋引擎可以帶來的新營運模式,而把其歸類成無法賺錢的工具,在與Google結束合作後也沒有強力有效的動作去補強。

2. web2.0演進 : Yahoo作為最大入口網站的做法一向是蒐集各式內容,經營頻道,集中於入口,提高流量,然後販售各分頁廣告,過度重視自己產生的內容忽略了使用者產生的內容(UGC),這是身為龍頭內容不能出錯的包袱,也是致命傷,雖然Yahoo知識+ 做得不錯,但卻未有持續的演進,如家族 交友 個人profile  造型精靈(Avatar)..等服務就停滯不前,以至於facebook myspace ...等社交社群 Blog網站大幅興起,雖然這些網站還不到獲利的階段,但卻已搶走網站經營最重要的流量及人氣。

3. 廣告演進 : Google的adsense 及 adwords 廣告服務的大成功,除了讓網路作家 小網站也有廣告可以賺外,也狠狠的瓜分了Yahoo的廣告市場,並於去年超越Yahoo成為網路最大廣告媒體,至今Yahoo雖然已有了關鍵字廣告,但還是沒有分紅回饋的機制,也沒有線自行上下廣告統計效果的服務,要挽回頹勢難上加難。

4. 多媒體演進 : 音樂(music)及影像(video)的市場都有看到yahoo著墨,但推出的服務大都不夠深入,除了收購Flickr穩住photo的服務流量外,音樂及影像的部分的服務實在乏善可陳。

Yahoo的網頁就像是Yahoo這家公司為大家整理好的內容,對於被動式的使用者其實還蠻好用的,不用想隨便逛,但對於主動搜尋資料的使用者就沒有很大的幫助了,而Google利用搜尋引擎所產生的內容就像是由全球的用戶為你所整理好的內容,只要你提問就能夠找到最佳解答,加上Google的服務大都是以免費為導向,以廣告為收入來源,不同於Yahoo各種服務都有價目,在策略上就有顯著的不同,Yahoo無法及時的應變就只能讓用戶決定命運。

為何現在的微軟要併Yahoo , 微軟最擔心的事莫過於若失去了網路上的優勢,其金雞母Windows系統可能會被Google OS所取代,個人認為Google未來會朝開放式的OS平台前進,尋找協力廠商,發展新的OS系統及PC,內建Google各類免費的服務及程式,這樣的OS應該以公開 、免費及相容為精神, 並進而降低PC的售價及個人軟體授權費用,這樣的模式我們已經可以在G-phone平台Android看到,以這樣的方式挺進市場,足以顛覆微軟長期的獲利模式,與PC搭載作業系統,向PC系統廠商索取授權金,擴大PC搭載率,再販售office等商用軟體。

Yahoo加Microsoft就會贏Google嗎? 按照以往大型公司合併的時程及中間的溝通時間,即使2家公司合併也需要不少時間消化,Yahoo內部的系統架構大都以反Microsoft為主,就是盡量用open source的solution , 因此大都是用FreeBSD PHP , 微軟的系統大都為Microsoft的solution , 在系統整合方面一定要花費不少功夫,2家的搜尋引擎都不如Google , 2家的廣告平台也都不完善也不夠開放,而且2家的廣告客戶及會員交集處應該頗高,如果2家公司合併後不能產生有效的對策,恐怕只是2個輸家抱在一起哭。

身為局外人觀看這場戰局,深覺e採破壞性的創新果然可以在市場覓得生機,也足以讓市場霸主易位,過分自大及不求新求變,很容易痛失主導地位,Google近期提出的服務都同留在beta階段,使用後的感覺都覺得有點陽春及失望,不像是宣稱擁有一堆怪才所開發出來的成果,如果這些一流的怪才無法聽到使用者的聲音,我想5-10年內會有新興的平台能讓Google 嚐到目前Yahoo的窘境。