论软件开发中的三种重要角色

3

从表面上看,XP方法论似乎抵制了传统的分工体制。但是,仔细考察就能发现,这里仍保留着对“商业”、“技术”和“管理”三种职责的划分,而“客户”、“教练/顾问”和“跟踪员”身上也还存有一些我们熟悉的角色的痕迹。只不过,决策权被最大限度地交给了实际开发人员。这是一种“轻装上阵(Travel Light)”式的开发体制。受益于扁平的权力结构,开发者能够以最小的初期代价开始开发,并及时反馈客户意见和变更需求。

在此我乐意给XP方法论和传统分工体制的区别做一个浅显的哲学解释。柏拉图以来的一派哲学认为理念/本质(Eidos)先于、而且高于实际事物。以建筑为例,抽象、初始的蓝图中蕴含了建筑物的整个存在。本质主义倾向于认为本质是静止而奥妙的,只能为少数人所领会,而把握了本质,也就穷尽了事物的一切方面和一切发展可能。由此,传统的集权式分工体制就对应于这种本质主义态度。

另一方面,不少人也认为,很多事物无本质可言,事物并非在初始、根源中就蕴含了其后的所有变数,而是一直处于偶然、不可预知的演进之中。如果一个事物渐趋完善,那也不是因为它达到了自身的本质,而是在反复尝试-修改之中,在对于外界变化的不断自适应调整之中逐步发展的结果。显然,XP方法论更接近于这种非本质主义的渐进论态度。

不同哲学态度之间的争论,似乎已经有两千年以上的历史,至今仍是教授们热衷的论文题目。在实践中,人们可能在某些场景下偏爱本质论,在其他地方则倒向渐进论。无论如何,二者都已成为我们重要的思想资源。而不同方法论之间的优劣看似比这更为显而易见。通常的论调是,随着新方法论的问世,旧方法论失去了原来的价值。软件行业在方法论上的逐新倾向,似乎与时尚女性对衣着的关注属于同一个病理学范畴。

而以我个人所见,不同方法论的有效性,只能根据具体情形判断。XP方法论对变化的拥抱和对轻装上阵的强调固然可喜,但是,在不少场合,它的分工原则也是可疑、甚至成问题的。比如说,XP开发过程中“客户”扮演着非常重要的角色。而一旦缺乏现场客户的支持,或是客户不具备完成“素材”的能力,自适应的需求获取就很难奏效。再如,与集中决策相比,分散决策虽然能够鼓舞士气,但产品的概念完整性和技术构架的一致性都会受到威胁。一个专职的产品经理肯定会比客户、程序员的合作更能有效地设计出简洁、明确的人机交互模式。

也许,在需求不确定的场合,或是当团队中没有哪个开发者在产品设计/系统构架设计方面有足够经验时,采用XP模式开发是规避风险的最优选择。在变数较大的情形下,如果沿用传统的重量级方法论,势必大量的前期文档、设计工作在多次迭代中被抛弃,从而导致高昂的投入。但是,当业务需求清晰,团队较为成熟时,传统的分工体制不失为稳健、高效的工作模式。另外,不同的开发领域也会对分工产生不同形式的要求。游戏开发的团队构成肯定与嵌入式开发不同,这二者又都与企业应用开发相差很远。如果根据某个先验的“软件”定义,而推导出所有这些领域都共通的方法论原则,那只能是上面提到的“本质主义”幽灵对我们心智的一次最新侵袭。

就我个人熟悉的企业应用领域而言,一个优秀的领域专家/产品经理能保证较高的成功率。另外,快速原型法(而不是简单的User Stories)、迭代式的发布计划(而不是一步到位)、成熟的技术框架(而不是每次都从头设计)和温和的项目管理(而不是盲目施加压力)能起到正面作用。如果允许比喻的话(就像我们在其他拙于描述的场合做的那样),我感到与写诗、谈恋爱或练气功相比,这个领域的软件开发更接近于写长篇小说、设计建筑或拍电影的过程。

这是我的意见。

(T111)

<<上一页 1 2 3 4 数据挖掘研究院

最全面的笔记本导购资讯,给您全方位的笔记本导购平台
[数据挖掘专家] [数据挖掘研究院] [数据挖掘论坛] [数据挖掘实验室]
上一篇:论软件开发中的三种重要角色
下一篇:项目管理案例剖析
最新评论共有 0 位网友发表了评论 , 查看所有评论
发表评论( 不能超过250字,需审核,请自觉遵守互联网相关政策法规。 )
匿名?
数据挖掘网站导航 数据挖掘论坛导航
  • 数据挖掘工具
  • 数据挖掘论坛
  • DataCruncher - Cognos
  • MineSet - MathSoft
  • Intelligent Miner - GainSmarts
  • Sqlserver - SAS - Clementine
  • CART - Weka - WizSoft
  • NeuroShell - ModelQuest
  • data mining tools - Darwin
  • 数据挖掘交友
  • 数据挖掘博客
  • 数据挖掘工具
  • 数据挖掘资源
  • 数据挖掘技术算法
  • 数据挖掘相关期刊、会议
  • 研究院联盟合作专区
  • 数据挖掘基础与相关技术
  • 数据挖掘厂商与就业
  • 数据挖掘研究者乐园
  • 知名厂商数据挖掘工具资料
  • 国内数据挖掘实验室
  • Foreign Data Mining Lab
  • 热点关注
  • 基于.NET开发和运行环境架构校园信息系统(
  • 基于.NET开发和运行环境架构校园信息系统(
  • 基于.NET开发和运行环境架构校园信息系统(
  • 基于.NET开发和运行环境架构校园信息系统(
  • 基于.NET开发和运行环境架构校园信息系统(
  • 软件开发中项目需求管理简述
  • 基于.NET开发和运行环境架构校园信息系统(
  • 基于.NET开发和运行环境架构校园信息系统(
  • 细谈软件需求分析过程
  • 商场荧屏导购展板系统软件需求说明书
  • 论坛最新话题
  • Foundations of Statistical Natural Langu
  • Game Theory meet Data Mining: A Recent P
  • System Building: How does it help or hin
  • 数据挖掘与Clementine培训
  • 新手报到
  • 求 SASEM 客户流失预测分析
  • 数据挖掘工程师/搜索研究院—北京——无线
  • 数据挖掘入门介绍(如何着手数据挖掘)
  • Information Overload Survey Results
  • The INEX 2005 Workshop on Element Retrie
  • 相关资讯
  • 软件开发中项目需求管理简述
  • 面向服务架构(SOA)的原则
  • “再用式”软件开发方法
  • 细谈软件需求分析过程
  • 客户关系管理的三大纪律
  • 需求调研分析中的项目干系人概念
  • 获取用户需求的沟通技巧之一
  • 获取用户需求的十大沟通技巧
  • 新产品开发项目中的需求问题
  • 谈谈软件开发中的调研对象与被调研对象
  • 数据挖掘实验室资料
  • 数据挖掘博客地址
  • 数据挖掘实验室网站地址
  • Prepare for Medicare audits by using dat
  • 注册成为SAS用户与爱好者俱乐部会员
  • 水南梅
  • 明日烟
  • 新人报道
  • 下载
  • 厦门服务器托管,450元/月—0592-5177319 高
  • 买空间送域名--0592-5177319 高静