软件工程与团队

每个团队都有它更为适合的软件工程,因此不可一概而论,谈谈自己对于XP以及重型软件工程象CMM这种更为适合的团队。
XP,作为敏捷型软件过程的代表者,我觉得它志在于发挥团队的力量,挖掘团队成员的潜力,共同提升团队成员的能力,快速响应客户的需求,但就自己对XP实施的经验而言,我觉得XP对于团队成员有一定的要求,要求团队成员具备一定的职业水准,象基本的OO思想、TDD、重构技术,同时XP要求团队成员拥有一定的自主能力、足够的上进心以及责任心,如果不是一支这样的团队,实施XP会碰到很多的困难,甚至会导致项目的失败,对于XP,我认为它是一种攻击型的软件过程,^_^
CMM,作为重型软件过程的代表者,它志在强调要做到对于软件过程步骤的可控性、计划性等,它强调的是明确的分工,每个步骤都需要通过一定的标准才算完成,每个步骤的成员和其他步骤的成员的接口为文档,CMM对团队成员的要求则为分开的,各个步骤需要相应的专业化人才,流水线式的作业,对于CMM,我认为它是一种防守型的软件过程。
作为一个技术人员,以我自己对XP和CMM的各自了解来说,我认为一个技术方面的人员会更喜欢XP,因为XP可以让人自由的、快乐的工作着,去享受工作带来的乐趣,而作为公司而言也许会更喜欢CMM,因为公司会认为这样更可控制。
但就像人件而言,我也同样认为软件开发过程中最重要的人,而不是过程,要充分的发挥人的作用,人的作用只有在快乐的、享受的开发环境中才可获得,在那样的情况下往往能发挥人最大的潜力,所以我推崇XP,我向往敏捷式的软件过程。
但事实上来讲,我同样认为,对于一支不具备一定水准的团队来说,XP并不适合,而CMM则更为适合,而且如果团队成员不具备足够的上进心以及钻研精神的话,我同样认为实施CMM更为适合,让整个项目的运作只是变成流水线式的过程,让参与的项目组只是作为工人一般的工作。
想快乐的享受技术带来的乐趣,想快速的响应客户的需求,就让我们拥抱XP吧,而且我认为真正的一支有能力实施XP的团队将是非常幸福的,技术人员的工作将是非常快乐的,同时他们输出的成果必然是高质量、高效的,这样就可以产生“客户满意、公司满意以及员工自己也满意”的良性结果,^_^
但其实我们可以去思考下,国内有多少家公司具备这样的条件去实施XP呢,从业人士中有多少人具备可参与到XP这样的敏捷过程的能力呢....

posted on 2006-03-12 16:49 BlueDavy 阅读(2573) 评论(4)  编辑  收藏 所属分类: 软件工程

评论

# re: 软件工程与团队 2006-03-13 08:20 Lucifer's mystical garden

防守型的软件过程?不错,我喜欢这样的名词
不过,仔细想想觉得不是那么贴切,应该说敏捷更注重人的因素,而CMM更加注重流程的因素。偏重点不一样而已。对于一个大型的公司来说,一般都会喜欢CMM这样的过程方法论,因为流程是相对来说可控的,而人的因素恰恰是不可控的。他们喜欢把人的因素在整个过程中减低到最小,这样才可以更加容易的实现整个过程的控制最大化。至于敏捷所体现的其他好处,则并不是他们的切肤之痛,so,忽视之……  回复  更多评论   

# re: 软件工程与团队 2006-03-13 12:54 BlueDavy

^_^,对我而言,我觉得强调人的软件过程很容易形成一种的好的公司文化,好的工作环境,当然,就像我所说的,不是任何公司都适合采用敏捷过程的  回复  更多评论   

# re: 软件工程与团队 2006-03-22 09:16 Watson

很有同感,对于初级水准构成以及外包为主的团队中,CMM是最适合的  回复  更多评论   

# re: 软件工程与团队 2006-03-27 17:16 http://yoyozy.com

公司中个人能力较强的人只占少数,能力水平中下的占的最多,如果采用xp开发很大一部分人的能力很难体现,项目也很难控制。  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

公告

 









feedsky
抓虾
google reader
鲜果

导航

<2006年3月>
2627281234
567891011
12131415161718
19202122232425
2627282930311
2345678

统计

随笔分类

随笔档案

文章档案

Blogger's

搜索

最新评论

阅读排行榜

评论排行榜