更新於 2024/07/28閱讀時間約 5 分鐘

良好的專案管理需要選擇合適的生命週期


本文基於作者Robert K. Wysocki 的 《Effective Software Project Management 1st Edition 》一書編寫而成。

我們可能會有一種迷思,不管開發什麼系統,開發團隊都袛會有一種方式來工作。反正不管怎麼樣,系統最終也一定是能開發出來的。那麼選擇開發生命週期又跟我何干?

如果你有碰到上述情況的話,別擔心,這一篇的最後我會用我的經驗來做一個解答。

本系列的上一篇文章介紹了一些軟體專案特性的分類。如果不知道軟體專案的分類的話,可以回到上一章看看哦。本篇將會介紹專案經理應該如何按專案的特徵選擇在管理時最合適的策略,即生命週期。

專案分類

專案分類四像限

專案已經有明確的目標和方案

如果你是這個專案的管理者的話,那麼我要先恭喜你,因為現今這個快節奏的世上應該沒有那個專案能如此明確的了。為什麼我會這樣說呢,我未來會在另外一篇Blog內作詳細說明。回到正題,如果團隊能夠明確知道客戶想達成的目標和他們已經清楚軟體的功能和特性的話。那麼團隊要面對的問題就袛是把目標軟體開發出來並投入使用即可。

專案經理在實際投入開發前要做的,就是按步就班的把專案的每一步排好。然後確保在某個時間點能有人把工作完成就可以了。因為所有都是確定的,那麼除了不可抗力以外,理應不會有太大的變化。因此在管理方法的選擇上,只要以計畫為導向(Plan-Driven)的管理方法就足夠了。所以回到最開始的那個問題,身為專案經理的你,真的已經確定目標和方案的每一個細節都足夠明確嗎?請問你是如何確定的呢?

專案的目標清晰卻缺乏明確方案

對於標題中的專案,專案經理已經清楚每位專案關系人他們各自的目標,並在一定程度上做好目標管理了,這當然是一個很好的開始。但另一方面,要開發的軟體的情況則相反,現在專案團隊並未有一個完全合適的系統能滿足客戶。於最好的情況下,團隊可能已經有一個能工作的軟體系統了,可能袛需要對它做一些改動就能達到目標(雖然並不知道應該修改的地方是那裡)。另一方面,最壞的情況是現有根本沒有任何符合需求的軟體系統,一切都要從零開始開發,每一個功能都需要重新設計。

專案經理需要做的,就是評估現在軟體的現況。如果是最好的情況的話,則可以在專案規劃時加入一個或多個疊代,把不清楚的也方搞清楚。那麼,在後續的管理和運作上,就可使用上述所說的方式來管理了。但如果目前你碰到的是最壞的情況,即並沒有軟體能滿足目標,那麼你將要面對的,是風險極高的專案。你能規劃的,就是最初可以確定的部份,並在完成確定的部份後,向客戶討論並尋求後續可實踐的方案。通過一步步的方式來把專案由充滿不確定到完全落實為止。雖然這是一個充滿挑戰的專案,但是相對來說,如果客戶最終能夠感到滿意的話,滿足感也是最高的。

專案缺乏明確的目標和方案

一般來說,專案不可能沒有目標。因此這裡想表達的,是在專案開始時目標可能太過於空泛,以致於專案相關的人都不知道何謂達成目標或達成目標後的狀態是怎麼的。

要管理這種專案,專案管理者和團隊要像研究人員一樣工作。通過各種討論、資料收集和嘗試,用盡一切的辦法來盡可能的靠近或收歛到較為具體的目標。專案管理者能做的,就是適時確認能投入的時間、預算和資源到底有多少,並注意產出物的管理。專案經理已經不能夠使用一般的方式來管理這一類型的專案了,它需要更具彈性的管理方法,讓它不至於失去控制和能夠有合適的產出。

專案的軟體已經完成,但沒有明確的目標

處於這種情況的專案應該袛是理論上存在的,我想沒有人或組織在不知道要解決什麼問題的前提下先把東西做出來。然後就像姜太公一樣等待有心人士前來認領。而且專案經理也不能夠在這類型的專案發揮任何管理的作用。

選擇使用合適的方式進行專案

要解釋為何需要了解選擇開發專案的生命週期,首先需要釐清的是為何專案需要管理。如本文最初所講,軟體最終還是能做出來的,只要有資源的話。那麼選擇管理方式不就是多此一舉嗎?管理的存在,就是為了能讓投入的資源能夠產生最大的價值。例如某些開發工程師一直在某個充滿問題的專案,而不能處理其他專案了。那麼他能產生的價值就會減低。透過良好的管理,我們就是希望能讓每一位參與專案的人都能發揮他們最大的價值,且專案的產品也能達成它最初所設定的目標。當專案經理有意識地選擇管理方式,可謂有效管理的第一步,並往成功專案的目標前進。

在開始專案前評估現況

在讀過上面的介紹後,各類型的專案應該用那些方式來管理開始有初步的認識了吧。需要注意的是在接手專案後,要先評專案的現況。例如客戶的目標是不是已經清楚呢?有沒有在專案開始前或後和客戶了解他們想做的或是夢想中的未來狀態是怎樣的。專案經理有沒有和團隊了解現有系統的功能和特性,從而能夠掌握現在的系統有那些地方是已經能滿足客戶所需,又有那些欠缺的呢?或者軟體開發一切都是從零開始,但管理上又使用了傳統的計劃導向式管理?到頭來又是一切都超過預算然後客戶也是勉強買單或是直接不驗收了,改好再說?在評估現況後,才能按實際選擇最適合的管理方法。未來我會繼續介紹各種具體的管理方法(如瀑布式、增量式和疊代式等)和各方法下的實踐步驟。

結語

不管怎樣,專案都需要先作好規劃才應該開始工作。而不是只要老闆一叫,就立即投入人力開始開發。專案管理者需要緊記的是,在真正揚帆出海前,第一件要做的事,是了解現狀。只有在知道自己現在身處何方後,才能展望將來。共勉之。

如果各位讀著有任何問題,也煩請留言指教,謝謝各位!

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.