尋求最佳開發模式,免得落得“精”盡人亡 (轉)

團隊開發中,核心靈魂是什麼?

  大家異口同聲的說是凝聚力,或是團結,從小老師就教導我們“團結是鐵,團結是鋼,團結是不可摧毀的力量,衆人划槳開大船“,我們回答這個問題,想都不想,就像回答 1 + 1 = ?一樣簡單。

 

現在我假設一個簡單的場景:

開發人員:項目經理,程序員A,程序員B, 程序員C。

項目模塊:一個投票模塊(發佈投票,投票,查看投票三個功能頁面)

開發時間:3 天

 

開發方式A:

Step1:項目經理作需求分析,建模,創建數據庫等。

Step2:項目經理考濾到做發佈投票,投票,查看投票等功能均有難度。所以安排程序員A,程序員B,程序員c 一起做發佈投票功能,再做投票,然後做查看投票。

 

開發方式B :

Step1:同上

Step2:項目經理安排程序員A 做 發佈投票, 程序員B做投票, 程序員c做查看投票。最後項目經理丟下了一句,做時遇到問題,下班後開會討論解決問題。

 

很明顯,兩種開發方式主要區別在於:開發方式A主要體現在“團隊的合作“,開發方式B主要體現在”職責的分工“。

 

1.首先從人性角度來分析:

  開發方式A,項目經理很體貼人,項目經理擔心做這些模塊時遇到問題,所以安排三個人一起做好討論。開發方式B,顯示出項目經理很職業化,沒有人情味。

 

2.從責任角度分析:

  在開發方式A中,項目經理髮現,發佈投票功能頁面上有一個錯別字,吩咐下邊的小弟把這個錯別字給改了,但是沒有明確指定是誰改,A以爲B改了,B以爲C 改了,c以爲A改了,最後錯別字還在。每個人的責任都可以推卸掉。在開發方式B中,責任是誰的很明顯。

我認爲即使這個項目再爛,只要找得到承擔這個責任的人,這個項目是成功的項目。

 

3.從動力角度看:

   在開發方式A中,反正都是我們三個做這個東西,管得哦,看會兒新聞,偷會兒菜(這兒就讓我想起了一個和尚挑水喝,兩個和尚擡水喝……)。在開發方式B中,這個模塊都分到我頭上了,我要趕緊做出來了,我還有自己想做的事呢。

 

4.從薪資待遇角度來解析:

  在開發方式A中, 程序員A,程序員B,程序員C的薪資很有可能是不相同的,但是他們做的事是相同的,很有可造成程序員之間的心理不平衡。很有可能,這個項目正在進行時,其中某個工資低的程序員突然走了,項目經理還不知道是怎麼一回事。在開發方式B中,可以很完美的實現我們初中政治中講的”按勞分配”原則,工資高的做複雜的,工資低的做簡單那個模塊。

 

5.從技術角度來分析:

    在開發方式A中,一個功能三個人做,造成代碼的書不規範。開發方式B中,不會出現這個問題。開發方式A中,沒有潛意識的 模塊內的高內聚,和模塊間低耦合的概念。在開發方式B中潛意識的就會形成這種概念。……

 

以上是用我地方話來描述了一下我做項目時開成的一些觀念。顯而易見的,很具有侷限性。 之所以用地方語言來描述,其原因有二,其一是我的普通話說不好,其二是爲了避免大家都能看懂,引起全國程序員的抨擊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章