寻求最佳开发模式,免得落得“精”尽人亡

长平狐 发布于 2013/03/28 14:58
阅读 21
收藏 0

团队开发中,核心灵魂是什么?

大家异口同声的说是凝聚力,或是团结,从小老师就教导我们“团结是铁,团结是钢,团结是不可摧毁的力量,众人划桨开大船“,我们回答这个问题,想都不想,就像回答 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中潜意识的就会形成这种概念。……

 

以上是用我地方话来描述了一下我做项目时开成的一些观念。显而易见的,很具有局限性。 之所以用地方语言来描述,其原因有二,其一是我的普通话说不好,其二是为了避免大家都能看懂,引起全国程序员的抨击。


原文链接:http://www.cnblogs.com/xcj26/archive/2010/07/15/1777696.html
加载中
返回顶部
顶部