|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
中小型软件开发项目一般都具有任务急、工期短的特点,要在确保满足时间、质量、成本和效益的情况下交付给客户满意软件产品, 必须保证团队与客户、团队成员之间能良好的沟通与协作。沟通与协作是团队开发活动的基础,它贯穿于软件开发的整个生命周期。是软件开发项目速度、成本、效率的关键。1 C0 K/ D: x& k0 q: {# r& L$ z
随着Web服务技术和面向服务的体系结构(SOA)的发展,要求软件开发必须从使用本地丰富的内部应用资源向联接外部广泛分布的服务资源过渡。" D: E7 s/ l! q$ j) b+ K) r; A
这一转变却正面临一些新的困难,新时期的软件开发必须回答如下三个问题:如何使包装为Web服务的软件资源协同工作、如何在技术演进的过程中保持平台的中立性、如何在当前动荡的Internet时代适应需求的变化?/ h+ N9 X/ K' n# g; V; o; ?, H
通过与这三个问题相对照,不难发现:传统的软件开发方法难以重用和协同软件资源,难以保持平台的中立性,也难以满足变化的需求。因此,迫切需要一种能够克服这些困难的新方法,那就是——协作开发。
! M+ p. Q/ {" r2 ^ 今天的大多软件工作能否获得成功,取决于团队的协作,而不是个人的突出表现,特别是在中小型软件企业当中,创建并维护一个高绩效的团队,以产生潜在的杰作是非常重要的一项工作。团队成员彼此都影响着整个团队的成功,他们必须要向着一个共同的目标而合作。
; c6 ^+ ]8 }- b! q% m- A7 Q 孤军作战已经成为历史; u1 s1 I; j% C$ I
几年前,“软件开发是一项团队活动”是Rational提出的口号之一。可以说,直到今天,这个标语更为正确了,个体开发者在单独完成一个重要项目的时代已经成为过去了。
% Y; F J; [6 y" a( Y 然而,简单地将一些人分配给某项目并不意味着你拥有了一个团队。要想创建一个有效的工作组,团队成员必须相互“检入”且配合。敏捷开发中提到,团队成员应当可以认识到彼此的优点和缺点,并相互配合以取得成功。7 @9 U8 |; K, M3 C( e' D& u& N- q. ^
多年来,人们仅将软件局限在应用工具的狭小区域,这种片面的理解致使人们很难联想起大规模的软件工业。因而,软件开发往往与编写程序等同起来,而调研分析、建模、测试、部署和全局管理等工作却被忽略。) N# \) r2 n2 {
这种局面在一些中小型软件开发项目当中非常明显,特别是对任务认识的片面性也体现在对软件开发角色的划分上,程序编写者(开发人员)是主力军,代表了一切。如此以来,在开发工作中就呈现“独木难支”的局面。
% j9 J9 u$ |( S7 P0 W, g) B- Q 可见,今天的软件开发已不单是一种技术或工具的应用,抑或一种灵感的迸发。资源的调配、协作的布局、流程的设置在软件开发中占据越来越重要的地位。技术、工具、人和管理方法以开发对象为核心,要达到水乳交融的境界。
" e! C" m/ A# }1 Z/ J R! t; g 在潜心经营软件开发工具多年后,IBM Rational力求通过整合将软件开发的要素粘合在一起,提供一种功能强大的平台,促进软件工艺的发展。
& p: {2 R6 ]' `! |, n' [9 v, J 从角色入手管理团队2 r1 z2 Y# s! F% b( m2 t
虽然充分的协作开发具有很多优势,但这在事实运行当中却存在很多问题,例如,对于一个管理者而言,一类挑战是在既有协作团队中增加新的成员。有些小公司起步于一个核心团队。当公司发展壮大时,该核心团队需要吸收新的成员,这时,就有可能发生一些冲突。结果可能是,新成员会被驱逐出来或者核心团队成员选择放弃并离开公司。 |
|