自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析軟件項目管理中的小問題

開發(fā) 項目管理
項目在開展的過程中進度沒有預計的那么快,究竟是什么原因?請看本文為您分析軟件項目管理中的小問題。

在現(xiàn)在這個項目做了有半年的時間了,發(fā)現(xiàn)進度遠沒有想象中的快,什么原因呢?

我歸納了一下,主要有下面兩點:

1.使用敏捷開發(fā)

2.角色分配

敏捷開發(fā),這是現(xiàn)在非常時興的一個詞,聽起來挺牛逼的,敏捷,讓我們感覺用了它就會“快”。在被這種開發(fā)模式折磨了1年多的我想說,其實它跟其他所有的事情都一樣,它有自己適用的領域,假如錯誤的以為任何項目用敏捷開發(fā)都能敏捷,那就是自找苦吃。

為什么?敏捷開發(fā)的特點就是根據(jù)用戶的需求迭代,一個迭代解決一個迭代的問題,對于一個對于架構(gòu)清晰的項目來說,這樣每一個迭代都會有一些成果。而對于有些項目而言,比如說殺毒軟件,磁盤分析器等等,對于這種產(chǎn)品類的項目,很多時候它的需求都是一開始需要定義清楚的,客戶名義上是廣大的PC用戶,實際上是PM或是PGM,PM說這個項目里面我們要做3個功能,那我們就需要做3個功能,多一個不行,少一個也不行,如果PGM在你做了3個功能后告訴你,要加一個功能,而且這個功能在舊的架構(gòu)上是很難實現(xiàn)的,那么這個PGM就是不合格的,為什么?因為他加大了項目的成本。所以,我想說的是,如果需求是由我們自己定義,而且我們很清楚要做一個什么東西的時候了,采用敏捷開發(fā)的風險可能會加大,因為它過多的依賴于“迭代”,認為迭代可以解決大多數(shù)的問題,可是實際情況遠不如此樂觀!當你的PM對你我們要加這個新功能,之前的定義的功能不行這個迭代要改的時候,作為一個程序員,我們能做什么呢?去跟PM說,對不起,我們之前的底層架構(gòu)不支持這種變態(tài)的需求,PM會告訴你,我就是代表客戶,這個功能就得這么做,我說了算,為什么不支持,我們不是采用的敏捷開發(fā)嗎,敏捷開發(fā)的特點不是迭代來解決問題嗎?

老實說,瀑布模型的好處之一,就是你的PM可以少幾個變需求的理由,PM一個星期變一次需求,我們程序員就沒有幸??裳粤?,所以,我想勸有些項目經(jīng)理,別拿需求的變更當做理所應當?shù)?,你不是一個嬌生慣養(yǎng)的小孩,沒有必要變的需求就不要變,如果你把敏捷開發(fā)的需求變更當做是你隔三差五變需求的理由,那下個項目,當你的程序員聽說你要用敏捷開發(fā),肯定想抱頭痛哭。你是產(chǎn)品的設計師,這個產(chǎn)品的外觀功能,應該一開始就定義好,不要前一個月說要做個電飯煲,這個月又說要在電飯煲加個微波爐的功能,如果你手下的程序員任勞任怨,把微波爐的功能真的加進了電飯煲,那只能說PM幸運,碰到了技術牛人,并且技術確實是可行的,但是如果功能實現(xiàn)不了,那么PM可能就怪開發(fā)者,覺得他們技術不行,心想我用的是敏捷開發(fā),為什么我給了你們時間缺不能解決問題呢?

時間確實是可以解決問題,但是作為開發(fā)者更希望把時間多花在需求分析階段,而不是修改舊的代碼上。

開發(fā)模型只是一種工具,依賴敏捷開發(fā)這個工具,并不是解決所有問題的萬金油。

作為項目經(jīng)理,你不光要對客戶負責,更需要對產(chǎn)品負責,對你手下的程序員負責。其實,假如做不到后面兩點***點也不好做到,因為項目很可能經(jīng)常delay,到***客戶不滿意,或者產(chǎn)品上線的時候早已經(jīng)落于市場上其他的產(chǎn)品。

角色分配的問題在整個軟件開發(fā)過程也是很重要的,說簡單點就是分工要明確,按照博弈論的觀點,假如我們每個人的目標都是合理的,那么我們通過相互的制約很好的推進項目的周期,但是如果角色分配的不合理,比如說職責重復,缺少角色等等,那么開發(fā)的過程中就會遇到很多利益沖突,解決不好,就容易導致團隊不和諧,沒有凝聚力等等,最嚴重的情況就是大家各自為政,都聽不進別人的意見,大家都是會為別人著想的人,但是有時候想得太多,總是會覺得不合理,不公平,難免影響工作情緒。

在我現(xiàn)在這個項目就有類似的問題,首先,就是沒有一個架構(gòu)設計人員,經(jīng)驗豐富的開發(fā)和經(jīng)驗較淺的開發(fā)做的事情是差不多的,整體架構(gòu)的設計名義上是大家一起來做,但是在開發(fā)過程中就發(fā)現(xiàn)了問題,對于一個架構(gòu)變動,沒有人有決策能力,TM只會說,有問題跟我說,然后你發(fā)現(xiàn)了問題告訴他,他卻不知道和誰來商量,經(jīng)過和一個個的開發(fā)者進行了討論,認為這個架構(gòu)的變更確實是必須并且可行的時候又要開一次會,來討論怎么來做這個變更,由誰來負責這個變更,所以說,SD是必須的。而在一次會議上我聽別人說做SD必須要有10年的經(jīng)驗,我覺得有點可笑,有很多優(yōu)秀的開發(fā)在很早就做上了架構(gòu)師,我認識的人里面就有一個,其實我覺得邏輯思維能力較強,有整體架構(gòu)思想,并且對項目中使用技術有一定研究就可以做SD了,倒是我不明白現(xiàn)在為什么很多軟件公司都特別在乎工作年限,認為做了10年IT就是萬金油了,什么事情都可以解決,真是大錯特錯。

我認為,做什么事情都有一個精與不精的區(qū)別,假如那句什么語言不重要,重要的是思想,一通百通的話我覺得真是沒什么意義。我們都知道C和JAVA.NET的側(cè)重點不一樣,一個偏向底層,一個偏向應用,讓一個做C做了10的人去做一個網(wǎng)站可能都做不好,為什么?因為他沒有對網(wǎng)站應用根本就不了解,用戶需要什么他都不知道,他腦袋想的只是如何使用戶體驗更加的絢,但是卻不知道網(wǎng)頁上能不能實現(xiàn)這個絢的效果,網(wǎng)頁上上傳做個進度條能不能實現(xiàn),實現(xiàn)的難度大不大,他都不知道,這樣的架構(gòu)師能做好網(wǎng)站嗎。同樣讓.NET程序員去做JAVA的事情也不一定做的好。聞道有先后,術業(yè)有專攻,這句話是有道理滴。

角色分配的問題還體現(xiàn)在我們不能越庖代廚,如果你是RD,你就不要過多的去擺弄需求,覺得需求不該這么做,因為這個問題不該你想,想這個問題只是浪費時間,如果你是PM,你就不要過問架構(gòu)和技術細節(jié),因為你始終不如開發(fā)了解實際的問題,如果你是一個做了十幾年開發(fā)的PM,自己手下的技術不如自己,硬要按照自己的想法去做事,那么不要做PM,你可以做個SD。我以前就碰到過這樣一個PM,讓我去做一個圖片處理的程序,他想讓我把一張圖變清晰,我覺得一張從100K壓縮成了10K的圖你還想讓他變清晰仿佛是不可能的事情,用腳趾頭想問題也知道那丟的90K是干什么的,PM要我多測試幾次,經(jīng)過測試確實是不可行的,但是PM不相信,因為他做了一年多的開發(fā),于是中午不吃飯跑到我的機器上寫代碼,口中還念念有詞的,等我吃完飯睡好午覺,他終于認輸了,雖然如此,但是從這件事上我就覺得有點不痛快,多的就不想說了。

上面我對自己項目中的問題做出的一點總結(jié),也算是一點牢騷吧,作為一個小小的RD只為了讓自己把問題記錄下來在以后的項目中盡量避免,可能想法有些偏激,希望各位網(wǎng)友多多指教,我會虛心學習。

原文鏈接:http://www.cnblogs.com/nero/archive/2011/07/04/2097030.html

【編輯推薦】

  1. 新手軟件項目經(jīng)理該如何入門
  2. 項目經(jīng)理的力量應該從哪里來?
  3. 軟件項目管理總體流程設計
  4. 新手軟件項目經(jīng)理之***期限的迷局
  5. 軟件項目經(jīng)理該不該多一些人情味
責任編輯:桑丘 來源: 博客園
相關推薦

2011-09-27 09:50:46

軟件項目管理

2011-07-13 09:14:09

項目管理

2011-09-02 09:16:10

IPD

2023-05-30 07:50:56

項目管理權(quán)限

2009-04-01 09:33:00

問題項目經(jīng)理項目管理

2015-04-28 11:19:15

C++ C++分析 C++問題

2011-07-08 08:37:05

軟件開發(fā)

2012-04-28 10:19:00

網(wǎng)絡管理網(wǎng)絡管理軟件網(wǎng)管軟件

2014-01-16 10:39:36

網(wǎng)絡管理網(wǎng)管軟件

2011-06-29 15:52:14

友情鏈接

2011-07-14 09:03:41

軟件開發(fā)項目

2011-06-01 09:20:10

軟件項目

2011-11-09 09:29:03

軟件項目

2022-02-14 10:05:07

軟件供應鏈開源代碼

2011-10-11 09:27:25

軟件項目

2009-01-16 09:58:07

C#編程C#內(nèi)存管理垃圾收集

2009-06-04 09:47:48

MySQL隱藏控件TMPDIR

2013-01-28 11:21:41

開源軟件

2021-02-18 22:07:08

Python項目文件

2011-07-26 10:44:32

開發(fā)項目
點贊
收藏

51CTO技術棧公眾號