展开全部
在效果图质量保证的前题下可以以下方式开展业务方面的工作室。
1、吸纳一些有能力的业务员,且有客户群者优先。
2、招聘一个有能力、有关系网及客户群体的业务部管理者。
3、培训一些业务员在网上和电话方式开展业务。
1、应用顾问式销售技巧。把这些潜在的客户想象成向你寻求建议的邻居,以同样轻松、自在的口吻向地方推介你的“建议”。
2、知道自己要推介的是什么。一旦你弄明白了这些潜在客户将如何从你的产吕或服务中受益,你的推介就更具针对性。
3、明确你臻电对方的目的。你是希望通过这次交谈争取到一个与对方会面机会,还是仅是为了让对方听完你的报价?根据不同的目的组织你要向对方说的话。
4、在开场白中报上你的姓名、公司名以及你认为你可以帮助对方解决的问题。在一开始就给他一个充足的理由,让他相信他应该听你说下去。
5、注意提问的技巧。先用封闭式的提问(用“是”或“不是”这样的词就能回答的问题)开始双方的对话,再用开放式的提问“诱使”对方透露更多的信息。
6、将自己定位在与竞争对手相对的位置上。如果发现对方正的使用你的竞争对手的产品,你要向对方表明你的产品将帮助他实现哪些使用当前的产品所无法实现的利益。
7、在了解了潜在的客户的更多情况后,在谈话的结尾直接询问他是否乐意与你公司达成交易。即使这次对话不不足以打动对方的心,也一定要给对方留下一个积极的印象。
1、吸纳一些有能力的业务员,且有客户群者优先。
2、招聘一个有能力、有关系网及客户群体的业务部管理者。
3、培训一些业务员在网上和电话方式开展业务。
1、应用顾问式销售技巧。把这些潜在的客户想象成向你寻求建议的邻居,以同样轻松、自在的口吻向地方推介你的“建议”。
2、知道自己要推介的是什么。一旦你弄明白了这些潜在客户将如何从你的产吕或服务中受益,你的推介就更具针对性。
3、明确你臻电对方的目的。你是希望通过这次交谈争取到一个与对方会面机会,还是仅是为了让对方听完你的报价?根据不同的目的组织你要向对方说的话。
4、在开场白中报上你的姓名、公司名以及你认为你可以帮助对方解决的问题。在一开始就给他一个充足的理由,让他相信他应该听你说下去。
5、注意提问的技巧。先用封闭式的提问(用“是”或“不是”这样的词就能回答的问题)开始双方的对话,再用开放式的提问“诱使”对方透露更多的信息。
6、将自己定位在与竞争对手相对的位置上。如果发现对方正的使用你的竞争对手的产品,你要向对方表明你的产品将帮助他实现哪些使用当前的产品所无法实现的利益。
7、在了解了潜在的客户的更多情况后,在谈话的结尾直接询问他是否乐意与你公司达成交易。即使这次对话不不足以打动对方的心,也一定要给对方留下一个积极的印象。
展开全部
思特沃克软件技术(西安)有限公司中国区副总经理 郭晓做主题演讲(骆磊 摄)
以下为其演讲全文:
郭晓:我们中国的分公司在今年年初2月份的时候刚刚成立,我们公司核心业务是做定制软件,在这个过程中,我有意见,使用最先进的技术,SOA面向服务的架构体系,以及架构模式能够更快更好为企业交付解决方案。我们核心业务是软件开发,同时也做很多技术咨询管理咨询等工作,我们没有一个固定的行业,我们的客户包括金融保险电信等等。
在过去四五十年软件发展中,软件应用规模越来越大,过去几千到几万,到现在的上百万,系统开发复杂程度如果不加以控制,肯定比较难以来操作。70年代中期出现了WF,八十年代中心出现CASE,90年代出现具有代表性就是面向对象结构,规则引擎,最近几年这种波浪式的发展状况,又到了一个波峰时候,最近出现一个新的技术,最有代表性的就是软件开发管理方法SOA面向体系服务架构,以及开放性软件等等。
要提到敏捷性开发,必须提到CMM,CMM它是通过使用数值分析方法,对软件开发过程进行不断改进,通过使用CMM,很多软件投资开放方法确实得到提高,但是它的成本太高。还有一个就是证书业务,尤其是CMM创始人,最早在美国军方工作,后来被ThoughtWorks合并了,它对政府业务比较深恶痛绝,比较好的初衷被政府严重扭曲了,很多的西方公司最近几年来,已经逐渐开始使用了这种方法,尤其很多的印度IT公司,也就是最快取得CMM认证,取得效益最好的公司,已经开始改变内部开发方法,逐渐开始转到敏捷式开发。
敏捷式开发在西方虽然比较新,最近几年来,逐渐成为一项主流的开发技术,有这样一个数据统计,大概80%的财富五百强企业,开发软件过程中,已经使用。有20%的企业全部使用敏捷式开发。比如我们公司十几年来做了上百个项目,所有的软件项目都是用敏捷式开发方法来做,我们的客户有英国石油,IBM、微软也是我们的客户,比如壳牌石油等等。所有的项目我们都是不管多大的项目,都是使用敏捷式的方法来完成的。
First公司是把新技术跟商业服务量化,使用敏捷式方法要求IT和业务方面参与者紧密,敏捷开发在质量上有很大提高。从开发成本上降低62%,开发时间要降低69%,它的这些数据都是建立在很多我们公司包括其他公司使用的一些开发方法,这些公司案例的情况。下面我简单把一些相关的案例稍微介绍一下。
比如说美国的一家NI保险公司,有一个项目需要分包给其他公司来做,当时一家印度公司,非常有名的印度外包公司,他们使用的方法做出估测以后这个项目大概200万美元,一年工作日时间,最后这个方法是我们敏捷式方法做出来,一共花了八个月时间,整个项目成本110万。如果按照印度的做法投资回报不到4%。这家印度公司很奇怪,派了另外一批人对这个项目进行重新预测,使用他们的方法确实需要200万美元,12个月的时间,于是他们觉得,后来把我们公司的技术人员请到印度公司总部,给他们五六十个高级管理人员做了培训,他们内部开始使用敏捷式开发方法。
从质量上来讲,另外一个例子,这是一个施工管理利用,一共有12万五千,一共12个月开发时间,这个项目因为用户验收测试的时候,花了三个月时间,一共发现12个缺陷,投入使用以后出现全部缺陷只有88个,这么小的缺陷率是非常不容易的事情。另外也是一个例子,就是戴尔公司,他们内部也开发了很多项目,它的很多项目和第三方软件公司一起做,几年以后,把所有合作的公司都弄走了,也就只有我们一家公司了,我们公司敏捷式开发方法,远远比其他公司成本低得多。另外一家是英国的APC公司,营业额达到60亿英镑,这个公司不久以前,决定把所有店面里的计算机系统,就是最后客户买的店面多媒体系统全部更换下来,这个量非常大,而且要和很多内部应用程序和外部供应商结合,而且时间很紧。为什么呢?在前期请了一个非常非常大的很有名的软件咨询公司帮他做了这个项目,花了两年的时间还没有做成,还有八个月要上市了,因为我们在美国做了很多的工作,所以他们决定把我们请过去,使用敏捷式的方法,最后八个月时间,就把这个做出来,到现在为止,在最近一两年,他们最后做到了500,所有的包括底下的一切都更换了。这个过程中,这两百人开发团队有一百多人是我们公司员工,另外几十个人是他们自己IT部门内部的员工,通过这个项目的开发,等于是把整个IT部门里完全使用敏捷式开发方法,产品做出来效果非常好,使得这个零售业平均交易额上升,交易成本大大降低,取得非常好的效果。
下面我简单介绍敏捷开发到底是一个什么样的东西,原理是什么样的。提到敏捷式开发,大概在60年代的时候,那个时候软件开发没有计划性的,基本上写完了改,谁也不知道什么时候能够写完,1968年召开软件工程会议,那个会议上,软件工程学概念第一次被提出来,传统的工程学概念介绍到应用到软件开发当中来,于是形成软件工程学的概念。传统的工程学把项目分三步四步,先把需求确定下来,进行设定,进行构建,最后投入使用,应用到软件里,就是开始先有分析人员对需求进行分析,然后让客户签字,交给架构师进行设计,这些架构师把整个详细整体设计出来,使用UM2语言或者其他方法再写成文章,再决定下来。再编程,照着文档把程序开发出来,所有这些是不同的人在不同的时间完成。这种工程学的方法,确实使得软件开发计划性很强,因为你知道什么时候谁在做什么事情,过去几十年确实起到很重要的作用。但是也带来一些问题,比如文件开发和传统的建造不一样,因为软件最主要一点客户需求不断变化,工程学的特点,就是在最开始的时候,需要把需求确定下来,但是软件开发不一样,首先尤其是商业软件,客户市场本身是不断变化,客户需求也不断变化,你很难除了客户自己都不知道市场需要什么,过两天市场变了,需求也变了。
第二客户本身脑子里不是很清楚想要什么软件,你如果跟他讲也可能讲不清楚,只能真正自己见到这个软件,才会觉得这个东西是我需要的。另外一个这个东西我确实这么想,但是使用起来不是这样的,我想要另外一种方式,这给工程学方法带来很大的困难。从工程学的角度来讲,不管需求的变化还是构建的变化,它的成本随着时间的推移不断增加的。在开始的需求或者分析阶段,对需求和设计做任何改动是非常容易的一件事情,但是如果进行测试或者投入生产的时候再进行改动,成本是非常高的,所以工程学最核心的概念,很多人都讲变化是最可怕的事情,我们所要做的事情就是避免变化。所以工程学是这样,在这个过程中,忽略所有的客户需求变化,等于说把这个需求确定下来以后,就不管客户需求,我按照这个需求一步一步做。任何客户提出任何要求,我都不管。这个结果,并没有避免问题,而只是推迟了问题的发生。最后交付的时候,所有的需求一下子全部明白了。这也就是瀑布的来源,这种方法拿到你交付的东西,其实是我一年以前或者半年以前想要的都是,不是现在想要的东西,所以满意度大家可知。又要对此重新设计,最后客户得到的还是半年或者一年以前想要的东西。敏捷式采取的一种适应性的态度,换句话说,敏捷式开发,作为开发方法不应该想办法避免变化,而是想办法使变化成为轻而易举的事情,最核心一点就是叠带式开发,针对一小部分需求进行测试部署,每一个循环时间非常短也就是两个星期或者更短时间,通过这种叠带的形式,软件从小到大,由很少一点到不断增长扩大,最后形成整个软件过程。而且增长过程是软件不断修改过程,修改在敏捷式开发里不是可怕的事情,而是必须做的一件事情,作为这样一种方式,客户可以对哪些不能开发的优先考虑,某些功能先开发,有些功能后开发,开发到一定程度,可以对项目方向根据市场变化来做出调整。敏捷式开发可以做到这一点,因为不是分成三个或者四个最主要的阶段来做的,而是叠带的方式来做的。
前面得到的都是一大堆文档到最后真正编辑代码的时候,得到的才是程序。敏捷式开发也会做高层分析或者架构分析,只不过这些设计非常的粗略,非常高层,针对一小部分需求进行设计开发,每一次小的叠带中是达到可以发布的软件,当这些功能积累到一定程度,客户决定把这个投到市场,最后一点一点完成。最大一个好处就是客户的反馈,无论怎么样,项目最后做完以后,才能提供反馈,而是开发过程中,每个循环的时候,可以让客户测试使用,对软件满意不满意,哪些东西想改,哪些东西不想改,将来开发哪些东西,软件开发掌握在客户手中,由他来决定,因为市场是他的,他是唯一知道软件开发应该往哪个方向的关键人。从软件投入使用角度来讲,产品上市时间非常重要,尤其是竞争性非常强的行业,金融保险,如果有一个产品提前上市,对市场占有率影响不可忽略,所以如果作为一个客户,觉得核心部门已经开发出来,可以投入市场让客户使用。就可以让客户决定,这种提高上市时间,最主要是能够极大加快商业利润的实现。从架构的角度来讲,提早进行编程,可以减少风险。
叠带式开发并不是没有人尝试过,像70年代的时候,IBM公司都做过尝试,发现代码成本太高,修改的成本需要重新做一遍,现在我们可以做最主要一点就是掌握了很多,包括OV的技术,我们知道能够怎样修改代码,然后就是汽车制造业瘦身管理,比如快速反馈提高质量,这种反馈包括频繁的发布,由最终的客户提供反馈,通过缩短叠带周期,通过设计和编程的交替让客户反馈。还有就是叠带的测试也成为了可能。
还有就是这个变化的修改成本和刚才看到的几个技术增长的形势正好相反,使得对系统的修改达到平稳的极端,在任何情况下对系统进行修改,而不会花很大的代价。很多人对敏捷开发尤其架构师,作为设计者来讲,原来坐下来把问题想清楚,再做文档,现在叠带式开发是不是没有设计了,现在敏捷式开发不排除设计,只不过这个设计不是由架构师单独坐在屋里想出来,而是会想到一些高层设计,开发过程中,每次叠带都要进行开发设计,设计开发,这样不断循环交替的形式做出来的,系统的设计等于从简单到复杂,到细化,最后逐渐形成。这个过程不是非常容易的事情,有很多技术要来支撑叠带式开发进行改进,最核心的就是测试系统开发,重购还有自动化。测试系统开发,就是在敏捷开发过程中,测试系统是扮演非常重要的角色。任何一个功能开发过程中,作为一个程序员,既要写出测试程序,也要写出功能程序,测试程序通常先于功能程序写出来,换句话说,拿到功能以后,跟分析人员进行讨论,先把测试东西写出来,怎么样进行运行测试,这个测试通过了,这个功能做出来了,这个时候再去写功能,把需求忘掉,写的目的是为了测试。很简单的一点就是它确实减少了很多浪费,因为这个过程中,光对需求的考虑通常会使得程序员写出很多没有必要的东西来,如果集中在测试上,能够减少很多的浪费,而且能够有效保证质量,这些测试可以不断重复执行,换句话说,一个系统开发过程中,这些终端程序不断增加,你手里的测试不断增加,从几十个,几百个,上千个,最后到系统开发快结束的时候,你可以随便运行一下所有的测试程序,就可以知道以前开发过的功能是否还在,是否没有被破坏掉,这就是我们的重构的概念成为可能,通过有继续性的修改来改善设计,这种对设计的改善是一小步一小步的改善。不是说想把三层的架构改成四层的架构,而是在一个类里有重复的,我怎么样提取一个方法出来,或者相似的东西提出一个类来。这个小范围改动,使得你的程序一直保持在具有极高的灵活性上,第一使你的细节设计可以得到不断提高,第二可以使你的将来进行任何大范围或者大规模的改动变成非常轻而易举的一件事情。这样才真正使得我们的设计是在不断改进过程中成为真正的可能。
还有一点就是从成本角度讲,自动化很重要的一个方面,很多我们提到的测试,编辑、集成都可以用机器完成,这些测试工具,大家可能都听说过。谁都可以自己来使用。敏捷开发还有一个很大特点,是以人为本,而不是以方法为本,因为软件开发是一个有创造性的脑力活动,不是一个简单的插接一些程序单元的工作,在这个过程中,如果设计出一套方法,不管什么方法,强加到人的头上,让每个人适应这个方法,最后开发的效果,反而不如组建一个进取性的团队让他们决定什么样的团队最适合自己,敏捷方法有很多的分支,细节不一样,先选择一个方法,开发过程中,不断对方法进行反思,直到达到开发效益最高的成果为止,换句话说,一个项目结束的时候,标准的敏捷开发,项目结束的时候,方法的细节和项目开始已经完全不一样了,这个方法最适合一个团队开发使用的方法,而且这个方法的改进,不是一个项目经理或者管理人员执行,而是项目所有人的工作,这一点其中CMM非常接近,CMM一到四都不可以改动方法,到五个时候就是可以改动了。所以说,敏捷式开发和CMM有相近的地方。我们这个时候对敏捷式开发做定义,敏捷开发不是单一固定方法,有很多的分支,包括极限编程,DSDM,五六年以前,这些方法开发的创始人,包括我们公司的首席构建家,他们一起开了会议,总结方法,提出敏捷开发的概念,换句话说,敏捷开发只要你具有跟这所有方法相似的,开发哲学,你就算敏捷开发,这些开发哲学体现在敏捷式开发宣言里,最核心的四点,我刚才讲的过程中已经反映出来了,第一个人和交互,与客户的协作远远比合同的协商更重要,对电话的相应远远比原守的计划更重要。
通过在中国开展业务差不多四五个月时间,我们发现中国市场有很多他们自己的特点,其中一个很多各种不同的软件不断在使用,生命周期比较短,我们遇到的情况,软件尤其定制软件很少有能做到第二、第三个版本以上的,通常做了第一个版本以后,就由其他的软件包来替代了。敏捷式开发变化的速度,对一个企业提高软件竞争力是很高的。还有一个就是对CMM过渡依赖,可能是认证业务,尤其印度走在前面,尤其外包方面得到很大利益。但是这牺牲了时间和客户满意度,如果你采用敏捷式开发,产品上市时间大大提高,第二客户满意度大大提高,因为CMM开发出来的东西,很多客户抱怨,你做出来的东西已经不是我想要的了,如果一个软件交换不是最后的成功,而是最后客户满意才是真正的成功。
上午包括很多报告都看到中国现在软件市场在世界上独一无二的,最主要是发展速度非常快,由于整个经济市场发展,电视上随之而来的机会非常多。还有一个特点,在以前的方法积累不是特别多,这也是一个好处,就是说,在西方过去几十年里犯过的错误得到的经验可以在中国很轻易的实施,但是西方的敏捷式开发走的历程太长,既使知道有些东西是对的,但是也没有办法实施新的技术,如果说中国能够把握住这个机会,带开发方法或者其他系统方面,采用最先进在美国和欧洲最先进的技术,而不是跟着它以前的东西来做的,很可能对中国企业制式来说,使得中国企业本身真正在局部上,跟美国企业进行竞争。比如有很多公司我们遇到的银行的公司,如果你是软件系统跟不上,你作为一个企业很难和他们竞争的。
如果说要赶上新一轮创新浪潮,一个是敏捷式开发从CMM,不是说CMM不要做,而是不要全部做,有些开发比敏捷式开发适合得多,在外包行业,印度很多外包公司已经开始使用敏捷开发的概念,如果我们还使用CMM的开发,永远落后于别人的后面。从架构方面,包括架构模式等等这些东西,以及开源代码,不仅仅是操作系统,在操作系统之上,有很多包括数据库,包括应用服务器,各种开发供应有很多的开源工具,我们公司还有一个很大特点,做很多很多开源代码,我们公司做定制软件的,我们现在有130多个开源项目了。在我们公司的网页上大家可以看到。我们公司在软件开发过程中,不管从技术还是开发理念上都是属于一个领先的地位。我们公司首席科学家拉丁帕迈先生写了很多这方面的书,包括写了很多书。在很多的大公司对我们的评价,主要技术上处于领先地位,创新是我们公司最核心的理念。我们刚才提到敏捷式开发方法,开源代码,这些都是我们公司处于领先的地位,结合中国的市场还有所遇到的机会和挑战,我们觉得把我们在西方遇到的这些问题和经验,带到中国来,能够真正的帮助中国的软件企业一起成长,走到世界领先地位。谢谢大家!
以下为其演讲全文:
郭晓:我们中国的分公司在今年年初2月份的时候刚刚成立,我们公司核心业务是做定制软件,在这个过程中,我有意见,使用最先进的技术,SOA面向服务的架构体系,以及架构模式能够更快更好为企业交付解决方案。我们核心业务是软件开发,同时也做很多技术咨询管理咨询等工作,我们没有一个固定的行业,我们的客户包括金融保险电信等等。
在过去四五十年软件发展中,软件应用规模越来越大,过去几千到几万,到现在的上百万,系统开发复杂程度如果不加以控制,肯定比较难以来操作。70年代中期出现了WF,八十年代中心出现CASE,90年代出现具有代表性就是面向对象结构,规则引擎,最近几年这种波浪式的发展状况,又到了一个波峰时候,最近出现一个新的技术,最有代表性的就是软件开发管理方法SOA面向体系服务架构,以及开放性软件等等。
要提到敏捷性开发,必须提到CMM,CMM它是通过使用数值分析方法,对软件开发过程进行不断改进,通过使用CMM,很多软件投资开放方法确实得到提高,但是它的成本太高。还有一个就是证书业务,尤其是CMM创始人,最早在美国军方工作,后来被ThoughtWorks合并了,它对政府业务比较深恶痛绝,比较好的初衷被政府严重扭曲了,很多的西方公司最近几年来,已经逐渐开始使用了这种方法,尤其很多的印度IT公司,也就是最快取得CMM认证,取得效益最好的公司,已经开始改变内部开发方法,逐渐开始转到敏捷式开发。
敏捷式开发在西方虽然比较新,最近几年来,逐渐成为一项主流的开发技术,有这样一个数据统计,大概80%的财富五百强企业,开发软件过程中,已经使用。有20%的企业全部使用敏捷式开发。比如我们公司十几年来做了上百个项目,所有的软件项目都是用敏捷式开发方法来做,我们的客户有英国石油,IBM、微软也是我们的客户,比如壳牌石油等等。所有的项目我们都是不管多大的项目,都是使用敏捷式的方法来完成的。
First公司是把新技术跟商业服务量化,使用敏捷式方法要求IT和业务方面参与者紧密,敏捷开发在质量上有很大提高。从开发成本上降低62%,开发时间要降低69%,它的这些数据都是建立在很多我们公司包括其他公司使用的一些开发方法,这些公司案例的情况。下面我简单把一些相关的案例稍微介绍一下。
比如说美国的一家NI保险公司,有一个项目需要分包给其他公司来做,当时一家印度公司,非常有名的印度外包公司,他们使用的方法做出估测以后这个项目大概200万美元,一年工作日时间,最后这个方法是我们敏捷式方法做出来,一共花了八个月时间,整个项目成本110万。如果按照印度的做法投资回报不到4%。这家印度公司很奇怪,派了另外一批人对这个项目进行重新预测,使用他们的方法确实需要200万美元,12个月的时间,于是他们觉得,后来把我们公司的技术人员请到印度公司总部,给他们五六十个高级管理人员做了培训,他们内部开始使用敏捷式开发方法。
从质量上来讲,另外一个例子,这是一个施工管理利用,一共有12万五千,一共12个月开发时间,这个项目因为用户验收测试的时候,花了三个月时间,一共发现12个缺陷,投入使用以后出现全部缺陷只有88个,这么小的缺陷率是非常不容易的事情。另外也是一个例子,就是戴尔公司,他们内部也开发了很多项目,它的很多项目和第三方软件公司一起做,几年以后,把所有合作的公司都弄走了,也就只有我们一家公司了,我们公司敏捷式开发方法,远远比其他公司成本低得多。另外一家是英国的APC公司,营业额达到60亿英镑,这个公司不久以前,决定把所有店面里的计算机系统,就是最后客户买的店面多媒体系统全部更换下来,这个量非常大,而且要和很多内部应用程序和外部供应商结合,而且时间很紧。为什么呢?在前期请了一个非常非常大的很有名的软件咨询公司帮他做了这个项目,花了两年的时间还没有做成,还有八个月要上市了,因为我们在美国做了很多的工作,所以他们决定把我们请过去,使用敏捷式的方法,最后八个月时间,就把这个做出来,到现在为止,在最近一两年,他们最后做到了500,所有的包括底下的一切都更换了。这个过程中,这两百人开发团队有一百多人是我们公司员工,另外几十个人是他们自己IT部门内部的员工,通过这个项目的开发,等于是把整个IT部门里完全使用敏捷式开发方法,产品做出来效果非常好,使得这个零售业平均交易额上升,交易成本大大降低,取得非常好的效果。
下面我简单介绍敏捷开发到底是一个什么样的东西,原理是什么样的。提到敏捷式开发,大概在60年代的时候,那个时候软件开发没有计划性的,基本上写完了改,谁也不知道什么时候能够写完,1968年召开软件工程会议,那个会议上,软件工程学概念第一次被提出来,传统的工程学概念介绍到应用到软件开发当中来,于是形成软件工程学的概念。传统的工程学把项目分三步四步,先把需求确定下来,进行设定,进行构建,最后投入使用,应用到软件里,就是开始先有分析人员对需求进行分析,然后让客户签字,交给架构师进行设计,这些架构师把整个详细整体设计出来,使用UM2语言或者其他方法再写成文章,再决定下来。再编程,照着文档把程序开发出来,所有这些是不同的人在不同的时间完成。这种工程学的方法,确实使得软件开发计划性很强,因为你知道什么时候谁在做什么事情,过去几十年确实起到很重要的作用。但是也带来一些问题,比如文件开发和传统的建造不一样,因为软件最主要一点客户需求不断变化,工程学的特点,就是在最开始的时候,需要把需求确定下来,但是软件开发不一样,首先尤其是商业软件,客户市场本身是不断变化,客户需求也不断变化,你很难除了客户自己都不知道市场需要什么,过两天市场变了,需求也变了。
第二客户本身脑子里不是很清楚想要什么软件,你如果跟他讲也可能讲不清楚,只能真正自己见到这个软件,才会觉得这个东西是我需要的。另外一个这个东西我确实这么想,但是使用起来不是这样的,我想要另外一种方式,这给工程学方法带来很大的困难。从工程学的角度来讲,不管需求的变化还是构建的变化,它的成本随着时间的推移不断增加的。在开始的需求或者分析阶段,对需求和设计做任何改动是非常容易的一件事情,但是如果进行测试或者投入生产的时候再进行改动,成本是非常高的,所以工程学最核心的概念,很多人都讲变化是最可怕的事情,我们所要做的事情就是避免变化。所以工程学是这样,在这个过程中,忽略所有的客户需求变化,等于说把这个需求确定下来以后,就不管客户需求,我按照这个需求一步一步做。任何客户提出任何要求,我都不管。这个结果,并没有避免问题,而只是推迟了问题的发生。最后交付的时候,所有的需求一下子全部明白了。这也就是瀑布的来源,这种方法拿到你交付的东西,其实是我一年以前或者半年以前想要的都是,不是现在想要的东西,所以满意度大家可知。又要对此重新设计,最后客户得到的还是半年或者一年以前想要的东西。敏捷式采取的一种适应性的态度,换句话说,敏捷式开发,作为开发方法不应该想办法避免变化,而是想办法使变化成为轻而易举的事情,最核心一点就是叠带式开发,针对一小部分需求进行测试部署,每一个循环时间非常短也就是两个星期或者更短时间,通过这种叠带的形式,软件从小到大,由很少一点到不断增长扩大,最后形成整个软件过程。而且增长过程是软件不断修改过程,修改在敏捷式开发里不是可怕的事情,而是必须做的一件事情,作为这样一种方式,客户可以对哪些不能开发的优先考虑,某些功能先开发,有些功能后开发,开发到一定程度,可以对项目方向根据市场变化来做出调整。敏捷式开发可以做到这一点,因为不是分成三个或者四个最主要的阶段来做的,而是叠带的方式来做的。
前面得到的都是一大堆文档到最后真正编辑代码的时候,得到的才是程序。敏捷式开发也会做高层分析或者架构分析,只不过这些设计非常的粗略,非常高层,针对一小部分需求进行设计开发,每一次小的叠带中是达到可以发布的软件,当这些功能积累到一定程度,客户决定把这个投到市场,最后一点一点完成。最大一个好处就是客户的反馈,无论怎么样,项目最后做完以后,才能提供反馈,而是开发过程中,每个循环的时候,可以让客户测试使用,对软件满意不满意,哪些东西想改,哪些东西不想改,将来开发哪些东西,软件开发掌握在客户手中,由他来决定,因为市场是他的,他是唯一知道软件开发应该往哪个方向的关键人。从软件投入使用角度来讲,产品上市时间非常重要,尤其是竞争性非常强的行业,金融保险,如果有一个产品提前上市,对市场占有率影响不可忽略,所以如果作为一个客户,觉得核心部门已经开发出来,可以投入市场让客户使用。就可以让客户决定,这种提高上市时间,最主要是能够极大加快商业利润的实现。从架构的角度来讲,提早进行编程,可以减少风险。
叠带式开发并不是没有人尝试过,像70年代的时候,IBM公司都做过尝试,发现代码成本太高,修改的成本需要重新做一遍,现在我们可以做最主要一点就是掌握了很多,包括OV的技术,我们知道能够怎样修改代码,然后就是汽车制造业瘦身管理,比如快速反馈提高质量,这种反馈包括频繁的发布,由最终的客户提供反馈,通过缩短叠带周期,通过设计和编程的交替让客户反馈。还有就是叠带的测试也成为了可能。
还有就是这个变化的修改成本和刚才看到的几个技术增长的形势正好相反,使得对系统的修改达到平稳的极端,在任何情况下对系统进行修改,而不会花很大的代价。很多人对敏捷开发尤其架构师,作为设计者来讲,原来坐下来把问题想清楚,再做文档,现在叠带式开发是不是没有设计了,现在敏捷式开发不排除设计,只不过这个设计不是由架构师单独坐在屋里想出来,而是会想到一些高层设计,开发过程中,每次叠带都要进行开发设计,设计开发,这样不断循环交替的形式做出来的,系统的设计等于从简单到复杂,到细化,最后逐渐形成。这个过程不是非常容易的事情,有很多技术要来支撑叠带式开发进行改进,最核心的就是测试系统开发,重购还有自动化。测试系统开发,就是在敏捷开发过程中,测试系统是扮演非常重要的角色。任何一个功能开发过程中,作为一个程序员,既要写出测试程序,也要写出功能程序,测试程序通常先于功能程序写出来,换句话说,拿到功能以后,跟分析人员进行讨论,先把测试东西写出来,怎么样进行运行测试,这个测试通过了,这个功能做出来了,这个时候再去写功能,把需求忘掉,写的目的是为了测试。很简单的一点就是它确实减少了很多浪费,因为这个过程中,光对需求的考虑通常会使得程序员写出很多没有必要的东西来,如果集中在测试上,能够减少很多的浪费,而且能够有效保证质量,这些测试可以不断重复执行,换句话说,一个系统开发过程中,这些终端程序不断增加,你手里的测试不断增加,从几十个,几百个,上千个,最后到系统开发快结束的时候,你可以随便运行一下所有的测试程序,就可以知道以前开发过的功能是否还在,是否没有被破坏掉,这就是我们的重构的概念成为可能,通过有继续性的修改来改善设计,这种对设计的改善是一小步一小步的改善。不是说想把三层的架构改成四层的架构,而是在一个类里有重复的,我怎么样提取一个方法出来,或者相似的东西提出一个类来。这个小范围改动,使得你的程序一直保持在具有极高的灵活性上,第一使你的细节设计可以得到不断提高,第二可以使你的将来进行任何大范围或者大规模的改动变成非常轻而易举的一件事情。这样才真正使得我们的设计是在不断改进过程中成为真正的可能。
还有一点就是从成本角度讲,自动化很重要的一个方面,很多我们提到的测试,编辑、集成都可以用机器完成,这些测试工具,大家可能都听说过。谁都可以自己来使用。敏捷开发还有一个很大特点,是以人为本,而不是以方法为本,因为软件开发是一个有创造性的脑力活动,不是一个简单的插接一些程序单元的工作,在这个过程中,如果设计出一套方法,不管什么方法,强加到人的头上,让每个人适应这个方法,最后开发的效果,反而不如组建一个进取性的团队让他们决定什么样的团队最适合自己,敏捷方法有很多的分支,细节不一样,先选择一个方法,开发过程中,不断对方法进行反思,直到达到开发效益最高的成果为止,换句话说,一个项目结束的时候,标准的敏捷开发,项目结束的时候,方法的细节和项目开始已经完全不一样了,这个方法最适合一个团队开发使用的方法,而且这个方法的改进,不是一个项目经理或者管理人员执行,而是项目所有人的工作,这一点其中CMM非常接近,CMM一到四都不可以改动方法,到五个时候就是可以改动了。所以说,敏捷式开发和CMM有相近的地方。我们这个时候对敏捷式开发做定义,敏捷开发不是单一固定方法,有很多的分支,包括极限编程,DSDM,五六年以前,这些方法开发的创始人,包括我们公司的首席构建家,他们一起开了会议,总结方法,提出敏捷开发的概念,换句话说,敏捷开发只要你具有跟这所有方法相似的,开发哲学,你就算敏捷开发,这些开发哲学体现在敏捷式开发宣言里,最核心的四点,我刚才讲的过程中已经反映出来了,第一个人和交互,与客户的协作远远比合同的协商更重要,对电话的相应远远比原守的计划更重要。
通过在中国开展业务差不多四五个月时间,我们发现中国市场有很多他们自己的特点,其中一个很多各种不同的软件不断在使用,生命周期比较短,我们遇到的情况,软件尤其定制软件很少有能做到第二、第三个版本以上的,通常做了第一个版本以后,就由其他的软件包来替代了。敏捷式开发变化的速度,对一个企业提高软件竞争力是很高的。还有一个就是对CMM过渡依赖,可能是认证业务,尤其印度走在前面,尤其外包方面得到很大利益。但是这牺牲了时间和客户满意度,如果你采用敏捷式开发,产品上市时间大大提高,第二客户满意度大大提高,因为CMM开发出来的东西,很多客户抱怨,你做出来的东西已经不是我想要的了,如果一个软件交换不是最后的成功,而是最后客户满意才是真正的成功。
上午包括很多报告都看到中国现在软件市场在世界上独一无二的,最主要是发展速度非常快,由于整个经济市场发展,电视上随之而来的机会非常多。还有一个特点,在以前的方法积累不是特别多,这也是一个好处,就是说,在西方过去几十年里犯过的错误得到的经验可以在中国很轻易的实施,但是西方的敏捷式开发走的历程太长,既使知道有些东西是对的,但是也没有办法实施新的技术,如果说中国能够把握住这个机会,带开发方法或者其他系统方面,采用最先进在美国和欧洲最先进的技术,而不是跟着它以前的东西来做的,很可能对中国企业制式来说,使得中国企业本身真正在局部上,跟美国企业进行竞争。比如有很多公司我们遇到的银行的公司,如果你是软件系统跟不上,你作为一个企业很难和他们竞争的。
如果说要赶上新一轮创新浪潮,一个是敏捷式开发从CMM,不是说CMM不要做,而是不要全部做,有些开发比敏捷式开发适合得多,在外包行业,印度很多外包公司已经开始使用敏捷开发的概念,如果我们还使用CMM的开发,永远落后于别人的后面。从架构方面,包括架构模式等等这些东西,以及开源代码,不仅仅是操作系统,在操作系统之上,有很多包括数据库,包括应用服务器,各种开发供应有很多的开源工具,我们公司还有一个很大特点,做很多很多开源代码,我们公司做定制软件的,我们现在有130多个开源项目了。在我们公司的网页上大家可以看到。我们公司在软件开发过程中,不管从技术还是开发理念上都是属于一个领先的地位。我们公司首席科学家拉丁帕迈先生写了很多这方面的书,包括写了很多书。在很多的大公司对我们的评价,主要技术上处于领先地位,创新是我们公司最核心的理念。我们刚才提到敏捷式开发方法,开源代码,这些都是我们公司处于领先的地位,结合中国的市场还有所遇到的机会和挑战,我们觉得把我们在西方遇到的这些问题和经验,带到中国来,能够真正的帮助中国的软件企业一起成长,走到世界领先地位。谢谢大家!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先做好自己的业务水平
一开始接触客户就要用自己的作品来打动客户才行
一开始接触客户就要用自己的作品来打动客户才行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、服务质量
2、品牌效应
3、策略技巧
4、渠道人脉
5、操作规程
6、人才资源
2、品牌效应
3、策略技巧
4、渠道人脉
5、操作规程
6、人才资源
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1借助关系2做广告让人知道3一定独一无二
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询