1. 首页 > 单机排行 >

敏捷开发适合大项目吗 敏捷开发适用范围

基金行业的业务系统适合敏捷开发吗

不适合敏捷开放。基金行业的业务系统是需要高度可靠性和安全性的,因此敏捷开发可能并不是最适合的开发方法。敏捷开发强调快速迭代,注重反馈和变化,非常适合那些不确定性较大的项目,例如开发新产品或快速响应市场需求。

敏捷开发适合大项目吗 敏捷开发适用范围敏捷开发适合大项目吗 敏捷开发适用范围


敏捷开发适合大项目吗 敏捷开发适用范围


什么是敏捷开发

在敏捷方法其独特之处以外,他和其他的方法也有很多共同之处,比如迭代开发,关注互动沟通,减少中介过程的无谓资源消耗。通常可以在以下方面衡量敏捷方法的适用性:从产品角度看,敏捷方法适用于需求萌动并且快速改变的情况,如系统有比较高的关键性、可靠性、安全性方面的要求,则可能不完全适合;从组织结构的角度看,组织结构的文化、人员、沟通则决定了敏捷方法是否适用。跟这些相关联的关键成功因素有:

组织文化必须支持谈判人员彼此信任,人少但是精干,开发人员所作决定得到认可,环境设施满足成员间快速沟通之需,要最重要的因素恐怕是项目的规模。规模增长,面对面的沟通就愈加困难,因此敏捷方法更适用于较小的队伍,20、40人或者更少。大规模的敏捷软件开发尚处于积极研究的领域。

另外的问题是项目初期的大量定或者快速收集需求可能导致项目走入误区,特别是客户对其自身需要毫无概念的情况下。与之类似,人之天性很容易造成某个人成为主导并将项目目标和设计引入错误方向的境况。开发者经常能把不恰当的方案授予客户,并且直到发现问题前都能获得客户认同。虽然理论上快速交互的过程可以限制这些错误的发生,但前提是有效的负反馈,否则错误会迅速膨胀。

敏捷开发的核心思想是什么?最有用的是什么?是不是什么行业都适用?

敏捷开发的核心思想,我认为是拥抱变更和快速迭代。敏捷不是什么行业都适合,我觉得比较适合软件行业、广告行业,那些客户需求变化比较快活着前期不明确的行业。同时敏捷对开发团队和项目参与者的要求特别高,如果行业高素质人群缺乏,也是很难实现敏捷的。

[敏捷开发:人比流程重要] 软件敏捷开发流程

与传统软件开发方法相比,敏捷开发更重视人在软件开发中的作用,强调快速迭代、持续集成以及测试驱动开发等,从而满足不断变化的业务需求。 20世纪60年代开始的软件危机引发了人们对软件开发的思考,并由此诞生了《软件工程》这门学科。它将软件开发分为需求分析、设计、编码、测试、维护等几个阶段的瀑布式开发软件方法至今仍然在大多数软件开发组织沿用。然而,《软件工程》学及其瀑布式开发方法并没有解决软件危机。如何满足不断变化的软件需求一直就是传统软件开发方法无法解决的难题。

而敏捷开发正是为了解决上述问题而提出,从2001年敏捷开发方式出现以来,越来越多的开发人员开始接受这一方法,市场也出现了一批以敏捷开发为主要方法的软件开发和咨询服务公司。ThoughtWorks公司就是其中的佼佼者,日前,本报记者专访了ThoughtWorks公司区郭晓,请他就如何实施敏捷开发等问题进行介绍。

传统软件开发方法

敏捷开发作为一种开发方法始于2001年,当时全球非常有名的10多位软件开发的集中在一起,对当时出现的一些新的编程方法进行归纳,并用敏捷这个词来概括这几种类似的方法流程。

“只要你的软件开发方法遵循敏捷的四条原则(即个体和交互胜过过程和工具、工作的软件胜过面面俱到的文档、客户合作胜过合同谈判、响应变化胜过遵循),就算是敏捷一类的开发方法。比如ThoughtWorks自身的实践就集成了Scrum和极限编程,是这两种方法的组合体。” 郭晓告诉记者。

郭晓从20世纪90年代开始接触极限编程等敏捷开发方法,其后的10多年一直从事敏捷开发,后来又从事软件开发的管理工作,这使得他可以从更高的层次上来看敏捷这种对大多数程序员仍然比较陌生的开发方法。郭晓认为,敏捷宣言最为核心的思想有两点。

一个是人比流程重要。敏捷和传统的开发方式的不同点在于,传统的软件开发方式遵循了20世纪大规模工业化生产的思路: 每个人在这个流水线上负责一项工作,只要流程设计得完美,人就不重要,这也是《软件工程》学所追求的一种境界。而实际上,软件开发是一个知识性、创造性的工作,是不可能完全模仿流水线的。敏捷开发强调一批有软件开发能力的人组成一个团队,至于团队使用哪种敏捷方法,完全由团队根据自己的特点来决定。它强调流程是为人服务的,重视发挥人的创造力。

另一个是能够工作的软件其价值要比文档重要。传统的软件开发方法分为需求分析、设计、编码等不同的阶段,分别由不同的人负责,文档在其中扮演驱动力的角色,不同角色通过文档来进行知识传递和交互。而敏捷开发认为文档是为软件服务的,强调通过快速迭代和持续集成,让各种不同角色的人员可以基于目前已经开发出的软件进行直接沟通交流。这就带来了两个好处: 快速反馈和紧密的协作。

“重视交付、紧密协作、快速反馈正是敏捷的特殊之处,这些特点保证了敏捷开发能够满足变化的需求。”郭晓说,“而用传统的软件开发方法开发出的软件成功与否很大程度上建立在需求分析是否有足够的远见,能把未来的需求都考虑在内,而实际上,这几乎是不可能的。”

结对编程

有必要吗?

说起敏捷开发也就不能不提到它的结对编程,敏捷开发要求代码的编写应该同时有两人参与,两人共同使用同一台电脑、一个键盘和一个鼠标。在采访过程中,记者特意向郭晓提出了这一疑问: 结对编程有必要吗?

郭晓告诉记者,结对编程在大多数情况下是适合的。在正常情况下,一个程序员并不是整天都在敲键盘输代码,他要思考,实际上真正敲键盘的时间只有20%~30%。因此,两个人共同使用同一套电脑,并不意味着效率下降。敏捷开发要求一个人在编写代码的同时,另一个人对这个代码进行评审,评估代码是否正确、是否有更佳的编写方法,然后相互沟通交流。这样写出的代码质量要远远高于单个人写。

结对编程的另一个好处是降低了项目风险。现代软件开发分工很细,每个软件开发人员负责一部分,一旦程序员离职或者换岗对于软件开发会很不利。而结对编程时,每段代码都至少有两个人了解,人员变动给项目带来的风险要低得多。

结对编程还有一个好处是有助于传、帮、带。通过结对编程,项目新来者可以很容易地融入进来,而这个过程不损失代码数量,还能够带来知识的共享等好处。

郭晓补充说,虽然敏捷开发强调敏捷编程,但并不是机械地要求任何代码都要结对完成。对于一些很简单、众所周知的代码,也可以只由一个人负责。

实际上,记者曾参观过ThoughtWorks公司的软件开发现场。记者看到,在大多数公司常见的格子间不见了,取而代之的是一个个长方形的大圆桌。这里的开发人员以两个人为一组,虽然两个人面前各有一个显示器,但都接在同一个主机上,其中一个人在编代码,另一个在进行评审。

“我们的实际经验也证明了这种方法的先进性。我们有员工反映说,结对编程增加了他们的工作压力,因为结对时,两人几乎不再会做与工作无关的事情了。” 郭晓笑着说。

敏捷开发

能走多远?

敏捷作为一种软件开发方法其先进性和合理性毋庸置疑,但是这种方法的适用范围如何?它适合大型软件开发组织采用吗?

“敏捷开发从2001年正式提出来的时候就有人提出,它不适合于大型软件开发团队、不适合于周期长的项目。事实上,这些年来,这些说在不断地被突破。”郭晓说,“当然敏捷本身也在不断扩展,从而能够适应越来越广的领域。”

郭晓介绍说,ThoughtWorks公司自己就曾在100人的项目上采用过敏捷开发。实际上,ThoughtWorks就是因此才和敏捷开发结缘的。

1999年的ThoughtWorks还只是一个从事软件开发的公司。当时有一个100多人参与的大项目陷入了被动,不得已请来了业界颇负盛名、后来被称为敏捷开发“教父”的Martin Fowler和Ward Cunningham来做咨询工作。他们通过引入敏捷开发让公司摆脱了困境。这也让ThoughtWorks感受到敏捷开发方法的魔力。另一个例子是英国电讯(BT),它在印度有一个1.8万人的开发团队,在英国本土和其他地方也有几万人的开发团队,它现在几乎所有的软件项目都是用敏捷的方法来开发的。

当然,敏捷开发作为一种软件开发方法也并不是的,也存在一些局限。换句话说,要保证敏捷开发成功需要一些前提条件。

郭晓说: “敏捷开发要和客户紧密地沟通,才能够不断地获得客户的反馈。而实际上,通常客户很忙,抽不出这么多时间。另外,还有一些产品开发依赖于产品来了解需求,而他其实并不是真正的客户,这给敏捷开发带来困难。”

此外,客户对开发方的充分信任也是敏捷开发成功很有必要的一个条件。敏捷开发的应用场景是用户不断提出新的需求,而项目合同价格也随着需求不断调整。郭晓说,这在实际开发过程就是一个问题,特别是次合作时,客户就会很担心项目的最终成本。而如果是公司自己的开发队伍,这将不是问题。从这个角度上说,敏捷开发的市场是公司内部的开发团队。

“不管怎么说,这几年我们已经明显感受到接受敏捷开发思想的人越来越多,从要求我们提供咨询服务的客户数量可以看出这种趋势。我们相信,敏捷开发一定会确立自己在软件开发领域的一席之地的。”郭晓信心十足地说。

敏捷开发是什么,优缺点

简单的说,敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。

敏捷确实是项目进入实质开发迭代阶段,用户很快可以看到一个基线架构版的产品。敏捷注重市场快速反应能力,也即具体应对能力,客户前期满意度高。

但敏捷注重人员的沟通,忽略文档的重要性,若项目人员流动大太,又给维护带来不少难度,特别项目存在新手比较多时,老员工比较累。

需要项目中存在经验较强的人,要不大项目中容易遇到瓶颈问题。

在项目管理中为什么敏捷开发不适用于大中型IS项目?

你能做能学还能赚到钱的就是好项目!

为什么这么说呢?

在这个互联网的冲击下,好项目其实很多很多,有一些需要投资,有一些需要人际关系网,有一些需要技术技能。所以,很多项目虽好,但不一定适合你!

所以,对于一个好项目,我的看法是:

1、能做

a、您要加入这个项目,并不会太过影响你现在的生活档次。

您提这个问题,那么您是想去做的。不论哪种原因,也好,创业也罢。都需要您能先迈入这个门槛。不论资金,技术,还是团队。至少你要有信心能做好这个事情。

还要能通过这个来赚钱,不说多少,养活自己或者团队总是要够的。

b、除此之外,要顺应趋势。

这决定了这个项目的发展你的付出。是事半功倍还是事倍功半!

c、启动迅速

世界瞬息万变,机会抓到了要马上行动,在蓝海变成红海之前的这个阶段,要早人一步。也要了解下一个项目,准备退出。

吃着碗里的,看着锅里的,瞄着锅外的。

2、能学

这个就很好说了,他跟工作一样。对于年轻人来说:你在这个工作中已经学不到东西了,那么你应该考虑一下是不是要跳槽。

就像爱情,没有得到,就要学到!

余生再好,也不能一直错过!

通过它,你要学会下一次遇到应该怎么做,怎么决策?

3、团队好

大部分现在的项目到您手里不一定是个接手的。

那么您就要了解这个团队是怎样的,是不是“分享”的团队。

团队之间竞争关系强不强。

这点也很重要,前车之鉴,后人之师。

有人帮助就可以走的更顺利。

在此之前,我也遇到过了很多个项目,也错过了很多个项目。

有些项目的实效性很短,但是做了就能赚一笔;有一些很难做,花费很多的精力不一定就能做好;有一些轻松,只要跟着做就可以了;等等,这些都要根据自己的情况去判断!

我是90后首次创业者,愿我的经历,能让您有所感悟!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息