国外IT人员提高软件开发效率和效益的经验课件_第1页
国外IT人员提高软件开发效率和效益的经验课件_第2页
国外IT人员提高软件开发效率和效益的经验课件_第3页
国外IT人员提高软件开发效率和效益的经验课件_第4页
国外IT人员提高软件开发效率和效益的经验课件_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国外IT人员提高软件开发效率和效益的经验IT经济学第十三章国外IT人员提高软件开发效率和效益的经验IT经济学第十三章113.1寻找“钱包”最满和握有“棒球棒”的项目支持者钱包棒球棒项目管理者和项目支持者间的关系13.1寻找“钱包”最满和握有“棒球棒”的项目支持者213.2IT人员离不开培训和拓展的机会项目管理的培训和咨询软件开发组织的日常工作有培训经验的人的重要性13.2IT人员离不开培训和拓展的机会项目管理的培训和咨询313.3充分认识软件开发的复杂性和风险性软件危机软件危机(SoftwareCrisis)是计算机软件在它的开发和维护过程中所遇到的一系列严重问题。概括地说,主要包含两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

“软件危机”使得人们开始对软件及其特性进行更深一步的研究,人们改变了早期对软件的不正确看法。早期那些被认为是优秀的程序常常很难被别人看懂,通篇充满了程序技巧。现在人们普遍认为优秀的程序除了功能正确,性能优良之外,还应该容易看懂、容易使用、容易修改和扩充。13.3充分认识软件开发的复杂性和风险性软件危机413.3充分认识软件开发的复杂性和风险性软件危机最为突出的例子是美国IBM公司于1963年~1966年开发的IBM360系列机的操作系统。该软件系统花了大约5000人一年的工作量,最多时,有1000人投入开发工作,写出近100万行的源程序。尽管投入了这么多的人力和物力,得到的结果却极其糟糕。据统计,这个操作系统每次发行的新版本都是从前一版本中找出1000个程序错误而修正的结果。可想而知,这样的软件质量糟到了什么地步。难怪该项目的负责人F·D·希罗克斯在总结该项目时无比沉痛地说:“……正像一只逃亡的野兽落到泥潭中作垂死挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾难,……程序设计工作正像这样一个泥潭……一批批程序员被迫在泥潭中拼命挣扎,……,谁也没有料到问题竟会陷入这样的困境……。”IBM360操作系统的历史教训已成为软件开发项目中的典型事例被记入历史史册。13.3充分认识软件开发的复杂性和风险性软件危机513.3充分认识软件开发的复杂性和风险性软件危机如果开发的软件隐含错误,可靠性得不到保证,那么在运行过程中很可能对整个系统造成十分严重的后果,轻则影响到系统的正常工作,重则导致整个系统的瘫痪,乃至造成无可挽回的恶性事故。如,银行的存款可能被化为乌有,甚至弄成赤字;工厂的产品全部报废,导致工厂破产。1963年,美国用于控制火星探测器的计算机软件中的一个“,”号被误写为“·”,而致使飞往火星的探测器发生爆炸,造成高达数亿美元的损失。为了克服这一危机,一方面需要对程序设计方法、程序的正确性和软件的可靠性等问题进行系列的研究;另一方面,也需要对软件的编制、测试、维护和管理的方法进行研究,从而产生了程序设计方法学。13.3充分认识软件开发的复杂性和风险性软件危机613.3充分认识软件开发的复杂性和风险性软件危机的主要表现

1.对软件开发成本和进度的估计常常很不准确。实际成本比估计成本有可能高出一个数量级,实际进度比预期进度拖延几个月甚至几年的现象并不罕见。这种现象降低了开发组织的信誉。为赶进度和节约成本所采取的权宜之计往往又损害了软件产品的质量,从而不可避免地引起用户的不满。2.用户对“已完成的”软件系统不满意的现象经常发生。软件开发人员常常在对用户需求只有模糊的了解,甚至对所要解决的问题还没有确切认识的情况下,就仓促上阵匆忙着手编写程序。软件开发人员和用户之间的交流往往很不充分,“闭门造车”必然导致最终产品不符合用户实际需要。3.软件产品的质量常常靠不住。软件可靠性和质量保证的确切定量概念刚刚出现,软件质量保证技术(审查、复审和测试)还没有坚持不懈地应用到软件开发的全过程中,这些都会导致软件产品发生质量问题。13.3充分认识软件开发的复杂性和风险性软件危机的主要表现

713.3充分认识软件开发的复杂性和风险性软件危机的主要表现4.软件常常是不可维护的。程序中的错误很难改正,实际上不可能使这些程序适应新的硬件环境,也不能根据用户的需求在原有程序中增加新的功能。5.软件通常没有适当的文档资料。软件不仅是程序,还应该有一整套文档资料。这些文档资料是在软件开发过程中产生出来的,而且应该是“最新的”(与代码完全一致)。缺乏文档必然给软件的开发和维护带来许多严重的困难和问题。6.软件成本在计算机系统总成本中所占比例逐年上升。随着微电子技术的进步和生产自动化程度的提高,硬件成本逐年下降,然而软件开发需要大量的人力,软件成本随着通货膨胀以及软件规模和数量的不断扩大而逐年上升。美国在1995年的调查表明,软件成本大约已占计算机系统总成本的90%。13.3充分认识软件开发的复杂性和风险性软件危机的主要表现813.3充分认识软件开发的复杂性和风险性软件危机的现状软件危机的出现,使得人们去寻找产生危机的内在原因,发现其原因可归纳为两方面,一方面是由软件生产本身存在着复杂性,另一方面却是与软件开发所使用的方法和技术有关。软件工程正是为克服软件危机而提出的一种概念,并在实践中不断地探索它的原理,技术和方法。在此过程中,人们研究和借鉴了工程学的某些原理和方法,并形成了一门新的学科─软件工程学,但可惜的是时至今日人们并没有完全克服软件危机。13.3充分认识软件开发的复杂性和风险性软件危机的现状913.3充分认识软件开发的复杂性和风险性影响因素众多:超过100个软件项目开发效率和软件组织的工作效率变化很大具有重要影响的因素有效的程序重复使用良好的成本预算和时间安排13.3充分认识软件开发的复杂性和风险性影响因素众多:超过11013.4如何离开软件开发的慢车道具有消极影响的因素软件开发过程中的严格程度:有正规的流程规划以及严格执行13.4如何离开软件开发的慢车道具有消极影响的因素1113.5软件开发的商务规则商务规则是指从事经济活动所必须遵循的一些规矩。商务规则的意义用例和商务规则商务规则的对策13.5软件开发的商务规则商务规则是指从事经济活动所必须遵循1213.6IT软件开发人员怎样与客户合作商务规则的寻找:与客户充分交流,合作建模积极寻找客户的商业赞助13.6IT软件开发人员怎样与客户合作商务规则的寻找:与客户1313.7软件开发的团队规模问题较小团队,适应性开发优秀的人员,极高的工作效率小型团队利于信息同步13.7软件开发的团队规模问题较小团队,适应性开发1413.8IT产品生产问题解决之途径案例分析:综合性会计系统适应性方法:一个原型设计---一个有效的反复过程数据模型可保持相对稳定13.8IT产品生产问题解决之途径案例分析:综合性会计系统1513.9IT软件开发中的经验教训是瑰宝适应性方法所有的要素在合适的位置上增强凝聚力应明确进度表合理的激励机制同股东沟通高层管理人员的全力支持13.9IT软件开发中的经验教训是瑰宝适应性方法16印度软件开发优势:成本、质量、生产力今天,IBM印度公司的相关负责人AmeetaRoy女士在谈到印度在软件开发方面的优势时说,印度的优势是成本、质量、生产力。她表示,印度外包企业的成功,从一开始是从成本降低的角度,因为美国的项目可能外包给印度,印度的语言是英语,沟通起来更方便。但这些不是这么多国家把项目拿到印度的主要原因,多年可以发现印度的企业不断演进,不断提高,这些交付出来的产品的质量非常好,让客户非常放心,这是印度多年的可以获得更多客户的主要原因。她介绍说,IBM的项目开发在美国做,编码测试工作在印度拜嘉罗尔做,因为跟在美国时间是在一个时期,可以做一些大家上班的时间可以做互相传递的工作,这个时候美国下班的时候,可能是印度下班的时候,可以做相应的编码测试的工作,有了结果之后,第二天美国上班的时候可以看到前一天编译的结果。现在可以看到另外一个趋势是会逐渐把设计工作放到印度去。印度软件开发优势:成本、质量、生产力今天,IBM印度公司的相17印度软件开发优势:成本、质量、生产力印度外包的优势是,印度的人力成本是最低的,有30%的节省。还有生产力优势,以及它的系统开发出来的质量。因为印度很多的外包公司基本上是CMMI的一些公司,他们非常重视产品质量。如果客户交付给它产品,一定可以作出高质量的产品。因为印度和美国有时差的关系,早上我们在美国做需求,印度可以晚上开发,第二天可以拿这个开发的系统,给客户做验证。在印度确保质量,主要是通过一些标准的流程控制它。通过ISO9000,CMMLevel-3,CMMlevel-5,还有SixSigma标准,可以达到降低开发成本的目的。印度软件开发优势:成本、质量、生产力印度外包的优势是,印度的18印度软件开发优势:成本、质量、生产力一些核心的模块,把这些总结出来放在行业里面实现它,这样有了一些软件基础,可以降低整个项目,以后不断交互项目的复杂度;其次是流程的管理,因为一个企业有很多种项目,有一些大项目,还有一些小项目,针对一些行业有不同的行业特点,要做到让流程适合企业的所有的项目;最佳实践是非常诚实地检验自己的系统。只要定出度量,印度的开发人员会非常认真地去得到这些的度量,然后得到这样的报表,然后跟客户一起分析系统的状况。最后是做持续的测试。林肯说过“如果给我八个小时砍这个树,我会花六个小时磨我的刀”。“做一个项目确保成功之前,一定要确信你的团队和你的人有这样相应的技能可以实现这个东西。”她表示。出处:天极ChinaByte作者:熊海燕2007-08-30

印度软件开发优势:成本、质量、生产力一些核心的模块,把这些总19国外IT人员提高软件开发效率和效益的经验IT经济学第十三章国外IT人员提高软件开发效率和效益的经验IT经济学第十三章2013.1寻找“钱包”最满和握有“棒球棒”的项目支持者钱包棒球棒项目管理者和项目支持者间的关系13.1寻找“钱包”最满和握有“棒球棒”的项目支持者2113.2IT人员离不开培训和拓展的机会项目管理的培训和咨询软件开发组织的日常工作有培训经验的人的重要性13.2IT人员离不开培训和拓展的机会项目管理的培训和咨询2213.3充分认识软件开发的复杂性和风险性软件危机软件危机(SoftwareCrisis)是计算机软件在它的开发和维护过程中所遇到的一系列严重问题。概括地说,主要包含两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

“软件危机”使得人们开始对软件及其特性进行更深一步的研究,人们改变了早期对软件的不正确看法。早期那些被认为是优秀的程序常常很难被别人看懂,通篇充满了程序技巧。现在人们普遍认为优秀的程序除了功能正确,性能优良之外,还应该容易看懂、容易使用、容易修改和扩充。13.3充分认识软件开发的复杂性和风险性软件危机2313.3充分认识软件开发的复杂性和风险性软件危机最为突出的例子是美国IBM公司于1963年~1966年开发的IBM360系列机的操作系统。该软件系统花了大约5000人一年的工作量,最多时,有1000人投入开发工作,写出近100万行的源程序。尽管投入了这么多的人力和物力,得到的结果却极其糟糕。据统计,这个操作系统每次发行的新版本都是从前一版本中找出1000个程序错误而修正的结果。可想而知,这样的软件质量糟到了什么地步。难怪该项目的负责人F·D·希罗克斯在总结该项目时无比沉痛地说:“……正像一只逃亡的野兽落到泥潭中作垂死挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾难,……程序设计工作正像这样一个泥潭……一批批程序员被迫在泥潭中拼命挣扎,……,谁也没有料到问题竟会陷入这样的困境……。”IBM360操作系统的历史教训已成为软件开发项目中的典型事例被记入历史史册。13.3充分认识软件开发的复杂性和风险性软件危机2413.3充分认识软件开发的复杂性和风险性软件危机如果开发的软件隐含错误,可靠性得不到保证,那么在运行过程中很可能对整个系统造成十分严重的后果,轻则影响到系统的正常工作,重则导致整个系统的瘫痪,乃至造成无可挽回的恶性事故。如,银行的存款可能被化为乌有,甚至弄成赤字;工厂的产品全部报废,导致工厂破产。1963年,美国用于控制火星探测器的计算机软件中的一个“,”号被误写为“·”,而致使飞往火星的探测器发生爆炸,造成高达数亿美元的损失。为了克服这一危机,一方面需要对程序设计方法、程序的正确性和软件的可靠性等问题进行系列的研究;另一方面,也需要对软件的编制、测试、维护和管理的方法进行研究,从而产生了程序设计方法学。13.3充分认识软件开发的复杂性和风险性软件危机2513.3充分认识软件开发的复杂性和风险性软件危机的主要表现

1.对软件开发成本和进度的估计常常很不准确。实际成本比估计成本有可能高出一个数量级,实际进度比预期进度拖延几个月甚至几年的现象并不罕见。这种现象降低了开发组织的信誉。为赶进度和节约成本所采取的权宜之计往往又损害了软件产品的质量,从而不可避免地引起用户的不满。2.用户对“已完成的”软件系统不满意的现象经常发生。软件开发人员常常在对用户需求只有模糊的了解,甚至对所要解决的问题还没有确切认识的情况下,就仓促上阵匆忙着手编写程序。软件开发人员和用户之间的交流往往很不充分,“闭门造车”必然导致最终产品不符合用户实际需要。3.软件产品的质量常常靠不住。软件可靠性和质量保证的确切定量概念刚刚出现,软件质量保证技术(审查、复审和测试)还没有坚持不懈地应用到软件开发的全过程中,这些都会导致软件产品发生质量问题。13.3充分认识软件开发的复杂性和风险性软件危机的主要表现

2613.3充分认识软件开发的复杂性和风险性软件危机的主要表现4.软件常常是不可维护的。程序中的错误很难改正,实际上不可能使这些程序适应新的硬件环境,也不能根据用户的需求在原有程序中增加新的功能。5.软件通常没有适当的文档资料。软件不仅是程序,还应该有一整套文档资料。这些文档资料是在软件开发过程中产生出来的,而且应该是“最新的”(与代码完全一致)。缺乏文档必然给软件的开发和维护带来许多严重的困难和问题。6.软件成本在计算机系统总成本中所占比例逐年上升。随着微电子技术的进步和生产自动化程度的提高,硬件成本逐年下降,然而软件开发需要大量的人力,软件成本随着通货膨胀以及软件规模和数量的不断扩大而逐年上升。美国在1995年的调查表明,软件成本大约已占计算机系统总成本的90%。13.3充分认识软件开发的复杂性和风险性软件危机的主要表现2713.3充分认识软件开发的复杂性和风险性软件危机的现状软件危机的出现,使得人们去寻找产生危机的内在原因,发现其原因可归纳为两方面,一方面是由软件生产本身存在着复杂性,另一方面却是与软件开发所使用的方法和技术有关。软件工程正是为克服软件危机而提出的一种概念,并在实践中不断地探索它的原理,技术和方法。在此过程中,人们研究和借鉴了工程学的某些原理和方法,并形成了一门新的学科─软件工程学,但可惜的是时至今日人们并没有完全克服软件危机。13.3充分认识软件开发的复杂性和风险性软件危机的现状2813.3充分认识软件开发的复杂性和风险性影响因素众多:超过100个软件项目开发效率和软件组织的工作效率变化很大具有重要影响的因素有效的程序重复使用良好的成本预算和时间安排13.3充分认识软件开发的复杂性和风险性影响因素众多:超过12913.4如何离开软件开发的慢车道具有消极影响的因素软件开发过程中的严格程度:有正规的流程规划以及严格执行13.4如何离开软件开发的慢车道具有消极影响的因素3013.5软件开发的商务规则商务规则是指从事经济活动所必须遵循的一些规矩。商务规则的意义用例和商务规则商务规则的对策13.5软件开发的商务规则商务规则是指从事经济活动所必须遵循3113.6IT软件开发人员怎样与客户合作商务规则的寻找:与客户充分交流,合作建模积极寻找客户的商业赞助13.6IT软件开发人员怎样与客户合作商务规则的寻找:与客户3213.7软件开发的团队规模问题较小团队,适应性开发优秀的人员,极高的工作效率小型团队利于信息同步13.7软件开发的团队规模问题较小团队,适应性开发3313.8IT产品生产问题解决之途径案例分析:综合性会计系统适应性方法:一个原型设计---一个有效的反复过程数据模型可保持相对稳定13.8IT产品生产问题解决之途径案例分析:综合性会计系统3413.9IT软件开发中的经验教训是瑰宝适应性方法所有的要素在合适的位置上增强凝聚力应明确进度表合理的激励机制同股东沟通高层管理人员的全力支持13.9IT软件开发中的经验教训是瑰宝适应性方法35印度软件开发优势:成本、质量、生产力今天,IBM印度公司的相关负责人AmeetaRoy女士在谈到印度在软件开发方面的优势时说,印度的优势是成本、质量、生产力。她表示,印度外包企业的成功,从一开始是从成本降低的角度,因为美国的项目可能外包给印度,印度的语言是英语,沟通起来更方便。但这些不是这么多国家把项目拿到印度的主要原因,多年可以发现印度的企业不断演进,不断提高,这些交付出来的产品的质量非常好,让客户非常放心,这是印度多年的可以获得更多客户的主要原因。她介绍说,IBM的项目开发在美国做,编码测试工作在印度拜嘉罗尔做,因为跟在美国时间是在一个时期,可以做一些大家上班的时间可以做

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论