是否有最好的软件开发方法?

原创 2006年06月05日 20:24:00

ThoughtWorks的开发方法

传统的说明性方法论采用的是一种由上而下的项目管理途径,来建立一种命令和控制的体系。这些方法论的假设基于,只要有了足够的计划和管理,成果就可以预测,风险就可以避免。

当客户的业务和技术都保持相对稳定的时候,这些方法论很有效。然而,对于那些与日俱增的战略性软件项目来说,说明性的方法都既不能提供企业所需要的灵活性,也不能提供企业所需要的市场进入速度。太多的时候,最终的结果不是高价值的软件,而是一大堆分析结果,只会在某个经理的书架上积满了灰尘。这和在白板和键盘上发生的变化……或者,真正的商业需要来说,相差太远了。

敏捷方法基于非常严谨的过程。实际上许多这些实践都已经有着充分的定义,能够直接纳入开发工具之中。例如,单元测试框架,持续集成工具,带重构的开发环境,就构成了新的一套新开发工具,让人们能够更快更好地创建软件。

很早以来的研究已经证明,唯一能对软件生产力产生重大影响的,是人。然而,奇怪的是,敏捷方法是第一套基于人们实际软件开发特点的软件工程实践。

同时,ThoughtWorks认识到方法论不是万能的。作为采用敏捷方法的几个先驱者之一,我们十分了解这些方法的利和弊。不过,敏捷方法包括了许多近期史上最成功的软件成果中演化而来的有用的实践。极限编程(XP),SCRUM, Crysta等等敏捷方法都推崇脚踏实地,切实可行的各种实践,如持续集成,测试驱动编程,和重构

联合技术开发FTD

一种方案是:美国软件开发组花了一年的时间研发CRM软件。在美国总部试用时没有任何问题,该软件完全能够满足产品生产的需要。软件开发组于是将软件推向中国市场。由于对中国市场缺乏了解,他们花了大量的费用和工作对软件系统进行改进。在经过一年的改进后,终于完善了软件功能。此时中国本地产品也开发出来了。

  第二种方案是:组建两个软件开发组,他们相互独立而又同时开展工作。但是中国软件开发组团队既缺乏技术、又缺少经验。由于公司规定中国是受控国之一,中国软件开发组难以及时获得新产品线的有关信息,致使开发工作进展十分困难。因此,客户关系管理软件CRM软件在中国市场的推广工作非常不理想,致使大量客户十分不满。公司不得不花了两年多的时间,才消除了市场的负面影响。

  假设还有第三种方案:与当地软件开发组采取松散的方式联合工作。美国软件开发组具有的丰富支持产品线的软件开发经验,他们把这些经验快速地传递给中国软件开发组。CRM软件在美国照常按计划投入使用,而在中国的软件开发组继续后面的工作,解决软件系统适应在中国使用的有关问题。CRM软件最多晚三个月,就能够在中国市场顺利投入使用。

  以上三种假定的开发方案中,方案一是高度集中化,方案二是高度分散化,而方案三是最优化。其中第三种软件开发方案,特别适用全球化公司的软件开发,称之为联合开发FTD(federatedtechnologydevelopment:联合技术开发)。应用软件集成仅仅是FTD发挥作用的领域之一。FTD方法不仅适用于信息技术和业务处理,而且适应软硬件开发和产品开发。

  FTD是优化业务产出的方法之一。采取这种方法,一是本地组织可以自主作出决定,不同组织之间是平等关系而不是联盟。二是要有一个中心机构负责工作协调,每一个分支都能够在统一的命令和安排之下开展工作。

 

RUP(Rational Unified Process)

Rational统一过程,定义了一系列的过程元素,如角色,活动和产物,通过适当的组合,能够帮助软件开发组织有效地管理软件过程。RUP的特点体现在它是以用况驱动(use case driven)的,以体系结构为中心(architecture-centric),迭代和增量(iterative process)的。在系统的整个开发生命周期内共有4个阶段:初始(inception)、细化(elaboration)、构造(construction)和移交(transition),随着时间的推移,每个阶段所注重的焦点也不断发生变化,同时这四个阶段也是不断迭代完成的,每一次迭代都有增量的任务完成。

究竟什么样的方法最适合今天的互联网开发?或者如何综合运用?欢迎评论!

10 款最好的远程桌面软件

程序员必上的开发者服务平台 —— DevStore 远程,如其名意味着能够控制设备,能够访问计算机或设备的所有的应用、软件、文件。今天我们来讨论一下能够帮你来访问计算机或智能手机的一些软件。 远程...
  • deepwishly
  • deepwishly
  • 2014年07月19日 19:47
  • 2207

如何快速制作App应用软件?国内有哪些比较好用的App制作平台?

如今,各类App让大家像淘金似往自个儿的爱机里装,无论是Apple Store还是安卓市场,应用商店总是手机控们的发烧地。但是这类门户却满足不了满脑子想法的动手一族,可惜他们只是梦想家,却不是程序猿,...
  • ddwendy
  • ddwendy
  • 2015年09月02日 11:26
  • 2412

PDF转CAD到底哪个软件比较好?

通常,我们都是直接把设计好的CAD图纸转换成PDF文档,因为这样我们用手机打开图纸更加方便。但是,偶尔我们会需要反其道而行,把PDF转换成CAD图纸。PDF转CAD需要专门的第三方软件,市面上比较好用...
  • qq_39473868
  • qq_39473868
  • 2017年07月20日 17:43
  • 936

有哪些比较好的中文分词方案?

原贴:https://www.zhihu.com/question/19578687 作者:沈沉 链接:https://www.zhihu.com/question/19578687/...
  • soipray
  • soipray
  • 2016年12月08日 16:23
  • 1127

给大家推荐几款个人觉得特别好用的编程及日常用的软件(持续更新!)http://blog.csdn.net/lisenyang

给大家推荐几款个人觉得特别好用的编程及日常用的软件(持续更新!)
  • yangyisen0713
  • yangyisen0713
  • 2014年09月11日 11:15
  • 14744

最好用的pdf转ppt软件

我们经常会遇到这种类似的案例,网上论文数据库有很多不错的PDF论文,当下载下来后一部分文件竟然打不开或是下载下来的内容出现了排版混乱的局面。因为这样的错误,不少用户不得不重新制作,投入更多的时间和精力...
  • q2667526037
  • q2667526037
  • 2014年08月04日 10:38
  • 623

推荐几款比较好的手机流量监控软件

推荐几款比较好的手机流量监控软件 目前的手机,用途是越来越大,上网,QQ、微博、微信、各种手机版的网络应用都需要网络的支持。尽管各种手机网络应用都一再宣称不消耗流量,免流量等等,不过相信很多人在月中...
  • toweryangtao
  • toweryangtao
  • 2014年07月27日 22:17
  • 2640

盘点国内外几款免费好用的远程桌面工具

通过远程桌面可以极大地方便我们进行远程技术支持、远程办公,然而我们熟知 QQ 远程、Windows自带的远程协助,使用起来并不理想,不是连接不顺畅就是操作技术高,相比之下,专门的远程桌面软件的体验更佳...
  • kekuihuazi
  • kekuihuazi
  • 2017年05月16日 16:22
  • 2206

一些好用的Mac软件推荐

又到了月末,也是这一年的年末,按照计划我要完成这个月最后一篇博客,那么2016也算是圆满了,虽然开始很多宏伟的计划都渐渐搁浅,但是我每月四篇的博客却没有停下,这是2016年我唯一坚持下来的事情了。由于...
  • dp948080952
  • dp948080952
  • 2016年12月30日 21:43
  • 575

软件设计是怎样炼成的(8)——用户感觉好才是真的好(用户体验设计)

软件设计是怎样炼成的(8)——用户感觉好才是真的好(用户体验设计) 原文地址:http://www.cnblogs.com/umlonline/p/3585562.html 摘要: 软件的U...
  • deverwh
  • deverwh
  • 2016年12月14日 22:41
  • 1482
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:是否有最好的软件开发方法?
举报原因:
原因补充:

(最多只允许输入30个字)