如果我们把需求确定下来以后,按照需求一步步做,设计、开发、测试、部署,任何客户提出任何需求,我都不管他 敏捷式开发能在质量上有很大的提高,比如整体的缺失率降低13%,核心成本降低62%,开发时间降低69%这些数据是建立在很多我们公司包括其他公司使用的开发案例基础上的 敏捷开发我再做一次定义,敏捷开发不是一个单一的方法,包括编程等这些方法的开发创始人他们在一起开了一个重要的会议,提出了敏捷开发的概念,敏捷开发,只要你的方法跟它相似的开发哲学,这些开发哲学叫做敏捷式开发原理 从另外一个角度,开发商有需求分析、设计、代码测试等等,最后交给客户,敏捷式开发在初期也会做高层的需求分析,或者架构设计,这个设计非常粗略,非常高层,脑力开发工具有哪些针对一小部分高层设计开发,每一次一旦得到的可以发布的软件,一步步做下去,最后达到客户满意为止最大的是客户不用等到做完的时候,而是在每一个环节都可以让客户来测试使用软件开发的过程控制起来完全在客户手里,由他决定开发的方向往哪里走因为他是一个软件开发的关键人 刚才上午很多的报告中,都说现在中国软件市场发展速度非常快,整个经济发展非常迅猛,随之而来的机会比较多而且历史包袱很少,这有一个好处,在西方几十年来犯了一些错误,得到的一些经验可以在中国实施如果说中国能把握这个机会,在开发方法或者其他方面采用了最先进的技术,而不是根据它以前做的,很可能使得中国企业本身在全球范围内竞争 敏捷开发还有一个很大的特点就是开发脑力游戏有哪些它是以人为本,而不是以方法为本的我们的软件开发是脑力劳动,而不是简单的工作如果你设计出一套方法来,不管什么方法,让每个人去适应的方法,最后开发效应反而不如你组建一个具有进取心的团队,这个团队通常情况下是先选择一种方法,细节也一样,在开发过程中,不断对方法反思,直到达到这个团队的最高开发效应为止 如果他满意了,又要花半年或者一年时间,重新对这个设计分析,还是这个结果,客户得到的永远是他半年或者一年以前想到的东西 郭晓:大家好,我是来自思特沃克的郭晓,我今天主要的演讲题目是敏捷开发的成功应用以及对中国软件产业的影响 下面大家都知道,我们对于软件产业的发展过程中,软件的质量等等问题是非常重要的下面我们有请脑力开发秘诀有哪些国际上一个著名的公司叫思特沃克thoughtworks软件公司,它在软件开发方面是一流,也有好多新的方法有请思特沃克软件技术西安有限公司总经理郭晓 思特沃克软件技术西安有限公司总经理郭晓 从软件投入使用的角度讲,产品上市的时间是非常重要的尤其是竞争非常强的行业里,你如果一个产品提前上市的话,对一个产品的作用是不可忽略的从架构来讲,它对体系架构的应征可以极大的减少风险 2005年6月14日,第九届中国国际软件博览会在北京国际展览中心召开,网易科技在现场做了现场报道图为思特沃克软件技术西安有限公司总经理郭晓做主题演讲 来自分析师的声音:使用敏捷式方法要求it和业务方面的参与者紧密沟通,更快的交付业务需求从而更快的获取效脑力开发工具益降低改变的成本,提高系统的灵活性,降低投资的风险 迭代式开发也并不是没有尝试过,但是修改成分太高我们现在可以进行迭代式开发有很多原因,最主要是我们有修改的代码oo技术,瘦身式的管理jit带来的新概念,可以通过快速的反馈来提高质量通过设计和编程可以使编程对设计形成反馈 你如果采用敏捷式开发,你的产品上市时间可以达到提高,第二客户满意度得到提高很多公司不会抱怨,我确实告诉你这么做的,你也不会做的这么差如果一个软件的交付不是真正的成功,而是一个客户满意是真正的成功 下面我简单把一些相关的案例稍微介绍一下,比如美国一家比较大的保险公司,有一个项目需要做当时印度有一家公司非常有名,他们使用cmm,他们觉得做脑力开发时期出估测这个项目大概两百万美元,最后这个项目是公司用敏捷式方法做出来的一共花了8个月时间,整个项目成本一共是110万美元印度这家公司很奇怪,又派了另外一批人来,结果他们做确实需要200万美元需要12个月时间所以他们也开始逐渐使用敏捷式的开发应用方法 如果说,要真正赶上最新一轮的创新浪潮有几个重要的标志,一个是要赶上最新的cmm的转向敏捷开发,印度已经开始这方面的工作从体系架构角度讲,除了一些先进的架构理念,还有一些架构模式等等,还有开源代码的应用,不仅仅是操作系统,包括数据库、应用服务器、各种开发工具等等有很多的开源工具我们公司也做很多的开源代码,我们公司是做定制软件的,在这个基础上我们有一些核心的东西 在开发的过程脑力开发秘诀有哪些中,修改成本的降低是核心的你可以任何时候对系统做任何的修改敏捷式是不排除设计的,只不过设计不是由架构师单独想出来的,而是这些设计非常简单,而是在开发过程中,每一次开发都要进行设计,设计开发不断循环,技术从简单到复杂,最后逐渐形成一个完整的过程这个过程不是非常容易演示,有很多技术需要支持这种设备的改进最重要是测试、开发、重购和自动化测试扮演着非常重要的角色,最简单说,对任何一个功能,开发过程中,作为一个程序员,既要写出测试程序,也要写出功能程序,他写出这个测试程序,先怎么样测试,然后这个时候再写功能程序很简单一点,他确实减少了很多的浪费,因为写的过程中,对需求的考虑通常会使程序员写出很多没有必要脑力开发游戏的东西,因为这些测试是可以不断的重复执行的这些功能程序是不断增加的最后到你系统开发快结束的时候,你可以很随便的运行一下所有的测试程序这就使得我们现在提到这个概念就是重购的概念重购是通过技术修改进行设计,它不是说想把三层的架构改成四层的架构,而是小范围的改动,使得程序保持灵活性和非常干净的基础上,第一它使你的细节设计提高,第二使你的大幅度改动变成轻而易举的事情,使设计是在不断的改进过程中也成为可能这种方法,作为一个综合客户来说,最后拿到东西,发现其实这是一年以前或者本年以前的东西,他的满意度可想而知 在过去从60、70年代到现在,软件的应用规模越来越大,过去几十年当中出现了几十次核心浪潮,比如在70年代中期,脑力开发游戏有hll、烟筒式的方法,90年代出现的是规则引擎等方法,在最近几年这种波浪式的发展情况又到了一个高峰的时刻要提到敏捷式管理方法,就要提到cmm,它对开发的过程不断的改进,很多公司通过改进确实得到了很大的提高,在西方,对cmm的最主要的意见是它的成本太高改动起来很困难,还有一个就是cmm的创始人最早在美国军方工作,后面被我们合并后,要在软件工程学的基础上进行很多印度公司会最快取得cmm认证,取得越早的公司已经开始改变方法,从烟筒式的方法转到cmm方法里 另外我们有一个案例研究五客户有1370个营业网点,他爱把全部的店铺系统都更换一下,而且他的时间非常紧,因为在前期他请了一个非常大的很有名的软件咨询公司帮助做了脑力开发时期一个项目,花了两年的时间,最后还有8个月产品要上市了,因为我们在美国做了很多这方面的工作,结果在8个月时间里,一个两百人的团队就把这个工作完成了而且到现在为止,在最近一两年,有大概一百人是我们的员工,有一百是他们的内部员工在他们it部门里已经开始完全使用敏捷式的开发方法整体做出来的效果非常好 实际上我们软件产业要发展就要创新,在当前这种形势下,具体讲我们怎么样创新和融合,我觉得胡主任的报告做了一个非常好的报告和研究我觉得是值得大家借鉴的 从工程学来讲,不管需求也好、构建也好,在开始的时候改动设计非常容易,但是你如果在投入生产的时候,再进行改动,成本是非常高的所以工程学里一个核心的概念,变化是最可怕的一开发脑力游戏有哪些件事情,从设计角度也好、分析的角度也好,不管怎么,不要变化,这样就使成本增加 敏捷式开发最核心的东西是它对变化采取的是适应性的态度,不是排斥性的我们作为开发方法来讲,不应该避免它的变化,而应该想到使变化成为轻而易举的事情敏捷式的开发针对一小部分进行设计测试,对每一个循环时间非常短,软件从小到大,从很小的一点到不断的增加扩大,而且增长的过程中是对软件不断修改的过程,修改不是可怕的事情,而是必须做的一件事情 客户可以对哪些功能开发给予优先,开发的程度可以根据市场来调整,他说这些东西不想要了,可以调整 我们同时也做技术咨询和管理咨询,我们没有一个固定的行业,客户都将thoughtworks掌握的技术知识 脑力开发误区[返回首页] 敏捷开发项目结束的时候和开始的时候方法已经不一样了,这个方法是团队使用的方法,而且方法的改进不是一个项目经理或者管理人员的事情,而是所有人的工作 通过在中国开展业务差不多四、五个月时间,我们发现中国市场有它自己的特点很多不同的软件在使用,而且它们的生命周期通常很短一些定制软件很少有第二、第三个版本以上的最主要的原因是因为它的维护成本太高所以与其对这个软件维护,还不如买一个新的软件 最近几年来,cmm已经成为一项逐渐的主流开发技术大概80%的财富500强企业已经开始使用,有60%的企业全部都是使用这个技术比如我们公司十几年来做了上百个项目,所有的软件项目都是用这个方法来做的我们的客户包括比较大的,包括英国开发脑力工作石油、微软、ibm、壳牌石油等等,这些小的有几个人,大的一两百人,我们都用这个技术 这是一个施工管理的应用,一共有125行的java为的程序,另外是戴尔电脑内部也开发有一个it项目,很多是和第三方一起做几年之后,他们基本上把所有的公司都赶出去了,只有我们一家在做从这个方面来讲,我们的敏捷式的开发方法远远比其他公司好得多 第一就是个人和交互要远远比流程和工具重要,第二能工作的软件超越应尽的义务 主持人:谢谢胡主任!胡主任做了一个非常精彩的报告!18号文件颁布以来,我们国家的软件产业得到了比较快的发展,我们对于今后来看,是我们软件产业发展的关键时刻,大家好多人都理解到我要想更快的做大做强,甚至有些人要搞100多平方公里的基脑力开发时期地,甚至我现在有1、20亿,到一两年以后,就变成5、600亿北京软件产业发展基础胡主任做了一个很好的分析 我们公司在软件开发的过程中,不管是技术上还是开发理念上,一些很多技术人员写了很多这方面的书,包括分析模式等等很多公司对我们的评价主要是从技术上,创新是我们公司的一个最核心的理念结合机会和挑战,我们这个时候,把我们从西方学到的经验带到中国来,希望能够真正和中国软件企业一起成长谢谢大家! 这种开发计划性非常强,因为你知道什么人在什么时候做什么事情但是它会带来很多问题,主要是软件开发和传统的建筑工程学有很多不同的地方,最主要的是客户需求是不断变化的首先是商业软件,市场本身是在不断变化,客户需求也在不断变化,客户不知脑力开发误区道自己需要什么,过两天市场一变,他的需求也变了客户本身他脑子里并不是很清楚他自己需要什么,他只有自己最后真正看到这个软件了,才有这个想法,这个东西是我确实需要的,但是使用起来,发现不是这样的,我想用另外一个方式,这就给工程学带来了很大的困难 下面我简单介绍一下敏捷式开发的原理提到敏捷式的开发,大概在60年代的时候,软件开发是有计划性的,基本是写出来,谁也不知道什么时候能交付,大概在60年代的时候,在美国召开一次会议上头一次提出来,软件工程学的概念,传统工程学通常是把项目分成三步或者四步,先把需求确立起来,进行设计构建应用到软件里是开始先由分析人员对需求进行分析,然后设计,架构师把整体的东西设计出来,再确脑力开发误区定下来交给编程的团队,编程的团队把需求文章拿过来,照着这个再弄出来所有的这些东西是由不同的人在不同的时间完成的 首先我先简单介绍一下思特沃克公司,我在这个公司工作了已经大概6、7年了这是一家跨国的软件公司,总部设在芝加哥,是93年成立的总在英国、加拿大、澳大利亚、印度、中国都有分公司我们使用最先进的技术物系比如敏捷式的管理方法、soa等)来更快更好的交付技术解决方案 能治愈白癜风的医院 白癜风医院在哪里 转载请注明原文网址:http://www.huangjinshoucang.com/nlkfsq/193.html |