软件工程文化培养电子教案

上传人:yuzo****123 文档编号:137576221 上传时间:2020-07-09 格式:PPT 页数:43 大小:351KB
返回 下载 相关 举报
软件工程文化培养电子教案_第1页
第1页 / 共43页
软件工程文化培养电子教案_第2页
第2页 / 共43页
软件工程文化培养电子教案_第3页
第3页 / 共43页
软件工程文化培养电子教案_第4页
第4页 / 共43页
软件工程文化培养电子教案_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《软件工程文化培养电子教案》由会员分享,可在线阅读,更多相关《软件工程文化培养电子教案(43页珍藏版)》请在金锄头文库上搜索。

1、软件工程文化培养,软件工程文化及其创建 1、问题的提出 Tom DeMarco,Timothy Lister 在Peopleware一书中提到: 程序员之间的能力比为10:1 甚至有的研究得出的结果为20:1 DeMarco,Lister还研究了92个软件开发组织: 个人产出比为11:1 结论:软件开发组织必须采取有效的方法解 决这一问题。,2、软件文化的概念 The American Heritage Dictionary: “Culture” as “the totality of socially transmitted behavior patterns,arts,beliefs,in

2、stitutions,and all other products of human work and thought characteristic of a community or population.” 可见,文化包括:一组共享的价值(观)、目的和原则, 它们指导人们朝着一个共同目标工作的行为、活动、优先的 思索(priorities)和决策。 -有的文化是由不同的观点和行为表征的,而不是由“价 值”表征的。 -共享一种文化是相当困难的。 -每一组织均有自己的文化,但有的文化与其它文化相比 则是具有生命力的。,2)面向质量的文化 关注质量的文化,是“健康”的软件文化。这一文化有三个基本

3、成分: 个人承诺(commitment):每一个开发人员承诺,通过系统化地应用有效的软件工程实践,创建有质量的产品; 组织承诺:所有层次上的管理者承诺,提供一个环境,在这一环境中,软件质量是一个基本的成功驱动,并且,该环境能够使每一个开发者达到这一目标。 所有人员承诺:不断改善他们所使用的过程,由此不断改善他们所创建的产品。,其中: 开发组成员所具有的价值观和信仰,定义了质量和 生产率的目标; 这一目标隐含了实现这一目标所采取的实践; 这些实践活动的一致应用,以及表明实现所期望结 果的能力,增强了所致力的软件工程的文化。 文化提供了决策和活动(action)的基础; 一致地应用这一文化,进一步

4、增强了该文化的价值; 并且,该文化可以帮助该组织的管理人员建立他们 优先思考的问题。, 在该组织的所有层次上,管理者通过发送消息所传 达的一致的优先考虑的问题,共享了有关软件质量的承诺。 这些增强的反馈环,支持该软件文化的演化,以改善其性能。 由此可以看出: 在具有软件工程文化环境中工作的人们,进行的是应用 开发,而不是单编(hacking out)一个程序。 即针对应用问题,通过使用的不同工具和技术,集中于 开发有用的应用,而不是简单地编写程序。 应用开发包括项目计划和管理、问题域分析、需求规 约、体系结构和程序设计、验证以及建立文档等任务。 -为可靠的编码奠定了基础。,3、文化的培养 1)

5、文化不能“购买”,而只能培育 原因: -每一个开发队伍工作在不同技术背景,不同的应用领域, 面对不同的用户期望并受约于不同的管理。 其中不变的事情是:关注质量的态度和健全的工程过程。 -对于创建一个软件工程文化,不存在一个简单的“处方” 或“核对表”,仅存在: 一组有助于建造质量软件产品的技术实践; 应用于这些实践的个体的原则;以及 培育关注质量文化的领导阶层的行为。,2)培养一种软件工程文化,需要一个过程 这一过程由很多步骤组成(但没有现成的步骤可循), 其中每一步骤将建设性地贡献于这一文化,贡献于改善该 组织内人们所创建的产品。 原因: -在一个队伍中,如果没有共享软件优点的目标,那么就没

6、有一个人将感 到需要改变。 -解除过程改善的努力,这是很容易发生的事情。 为什么?存在抵触的种子,如一些成员喜欢以新的方式工作,而其他成员 抱怨他们是工作的阻力。 当该组中大多数人朝着软件工程的未来社会稳步前进时,不具有新的文化 的那些人可能会产生一些抱怨,其结果:离开这一文化和社会;或可能努力拖 带这一队伍返回到他们自己感到安逸的水平。,途径: (1) 同一原则和价值 -提供了改善工作环境和工作结果的机遇 例如:通过小组的集体讨论训练,或正式的过程评定, 可以最好地团结组内成员共同地行使改进活动。 由该组选出的代表一起工作,标识较好的方式, 来执行该组的软件任务。 软件管理者不可以简单地裁决

7、需要做的改变, 并期望任意具有建设性的事情发生。他的任务是 把握该队伍朝着关键改进域-建立软件工程文化的 下一步骤-方向工作。,(2)训练可重复、可度量的开发过程 - 一个共享的文化 训练可重复、可度量的开发过程是实现软件过程成熟的必要 基础。随着一个组织为了改善它的规程和过程,系统且仔细地 工作,一种公共文化就自然形成。 在这一过程中,面向质量的文化可以使所有成员发挥他们 全部能力,经过个体的努力和有效的合作来建造优秀的产品。 工作在这一文化中的人们,知道使用定义的过程开发软件 并没有抑制他们的创造,而将他们的创造力转换力到开发生存 周期的其它方面,如需求工程和软件设计。,一旦改善过程受到控

8、制并且已成为做事情的正常方式的 一部分,则可以更加关注产品本身。公司和组织不提出过程 -他们创建产品的过程,就不要期望取悦于他们的客户。 当该文化支持过程改善-作为正常的事,人们就不必消 耗精力抵制有益处的改变;反而,会使用改进了的技术,集 中其创造力,建造新的、更好的软件产品。 尽管一个组织文化的多个方面可以以文档记录之,但真 实的文化是由该组中的每一个人的行为所揭示。 其中,写出任务陈述、想法、价值以及原则是最有激情的事情。任务陈述可以帮助该组中的每一个人理解他们在合作的方案中的任务,有助于统一于描述长远目标的想法,也提供了关注持续不变的功绩。,(3)文化的“定型” -规范企业的运行 企业

9、文化的确可以通过一类实用的、有意义的、共享 的文档予以“定型”,它们为创建企业文化提供了有用的 工具,而不是小组偶尔思考的结果。,结论 (1)一个健康的文化是通过实践培育的。从一个角度来讲,文化是“到底是如何做事情”。其中,避免: 标榜:使用一些陈词滥调。例如,“我们重视对他人的忠诚、正直和尊重”。“我们是世界级的软件供应商”。“我们将生产零缺欠的产品”。实际上,没有几个是和这样崇高的目标不一致的。但它们是现实的吗?它们可以予以度量吗?它们对在组内工作的人们有任何影响吗?领导实行了“墙壁上鼓吹的口号”吗? 期望与实践脱节:一个组织所期望的行为被记录在一个满架子上的软件开发标准中。但一是并没有遵

10、循并努力实施;二是这些标准对过程改善和产品质量的提高并没有什么价值,而只是开发人员之间的一些玩料;三是这些标准与潜在的组织文化是不一致的,也就是说,这些标准没有考虑组织成员之间的信任和尊重,没有体现管理者和团体成员言行一致的品质。,(2)走向一种软件工程文化的路径,涉及小组行为的 改变,他们遵循已证明了的、产生上好软件的实践。通过朝 着每一个成员可以有效地应用最好的软件工程方法这一环境 发展,则该小组就享受了改进质量和生产率的乐趣。当开发 人员真正掌握了软件工程的概念,那么这些概念就定义了 构造软件的方法(a way),而没有定义有的人可以有选择 地构造软件的方法。有趣于软件工程实践的开发者可

11、以使 用这些概念-如果方便的话,但从业于软件工程的开发者, 尽管这些概念在有些时候并不是方便的,也应遵循一种有 纪律的途径。,4、健康软件文化的体现 一个软件组织的文化是通过个体、小组、管理者的 行为揭示的,并作为一个整体,存在于该组织的特征之 中。一个真正作好软件工程为目标的团体和管理者,应 该具有以下特征: 个体行为 每一个个体在每一个项目的某些方面比以前更 加明显地努力工作,在持续的发展中体现出个人的贡献。 大方地鼓励组内成员向其他同事提交工作产品 以便复审,接受工作中发现的错误并吸取教训。 花费一定的个人时间阅读软件书籍,定期地掌握 最新的技术,并不断寻找应用上好技术解决问题的方法。,

12、团队行为 开发者之间相互尊重,允许开展有生气的讨论,而不 是压制之。 新来的成员从那些具有更多经验人们的指导中,有效 地得到益处。 小组成员使用通用的工程规程和工具,以便更有效地 的合作。合作是规则,而不是反对。 广阔地复用现存的工作产品,包括编码,因为最大的 生产率来自已经做的工作。 该组共有一种态度-第一次就作好。在质量方面,强调 是预防缺欠,而不是当客户或测试人员抱怨时祢补它们。 收集并分析小组的软件产品和过程的数据。以寻找在 以后的项目中做得更好的方法。 在软件需求规约和设计中要以软件产品的用户为中心,管理行为 管理者和公司要为开发人员提供继续学习的条件,例如 举办讲座、付费送大学学习

13、,和定期地购买一些技术书籍等。 管理者者应购买一些先进的工具,并在项目进度中安排 适当的时间进行新技术、新方法的培训。培训是项目进度的 要素。 高级的、非软件技术的管理人员认识到优秀的软件工程实 践与公司所期望的业务结果是一致的。 管理者是言行一致的。他们了解软件工程前提(premises) 并且他们表彰那些一直实践好的人员。,组织行为 不断致力于过程改善。所有小组成员参与改善活动, 作为正常任务的一部分。 “拱型”事务(overarching business)和信息技术策 略,为组织、决策以及优先设置等的演化提供了一种框架。 所编制的可控的软件开发规程,被组内成员所采纳并 有规则的遵守。

14、在这里描述的理想完美的境界可能真正并不存在。实 现这一境界是一项艰巨的工作,需要有创意的领导,并需 要小组持续不变的工作一个很长的时间。在你的环境中可 以发现其中的一些特征,对未来的雇员将更有魅力,他们 希望工作在一个质量驱动的文化中。,5、不健康的软件文化 个体行为 团体成员之间的个人保守意识很强; 编程员只按自己的方式工作,丝毫不考虑团体的目标和 利益;当项目出现麻烦时,不靠集体解决,而只靠“聪明 才子”的英雄来解决; 没有时间实施简单的质量控制措施,例如相互审查、系统测试、文档编制等; 项目经理为了赢得主管和客户的满意,将项目管理当作一种游戏,如随意同意不可能的交付日期等。,管理行为 没

15、有系统的、以管理驱动的努力,来提高软件质量;一直迫于项目进度的压力; 进度永远比质量重要; 总是证明Brooks的名言:将个人力量加到一个已经推迟的项目上会更迟; 管理者对雇员不诚实,为了团体利益总是不顾雇员的个人目标; 贫乏的领导能力、繁重的工作量以及不现实的进度安排导致了很低的周转率。,企业行为 不断地尝试新的技术、工具,企图寻找一种“神奇”的解决方案,使项目得到突破性进展; 开发人员陷入永无止境的辣手问题之中,没有机会得到发展成长; 高强度的工作和不良的经济环境,导致开发人员和管理人员总是承受很大的心理压力; 企业没有任何关于如何开展工作的规定,导致每个人按自己的方式进行工作;对完成的项

16、目不进行分析,致使增大了失败的可能性。,6、表怔不同文化的组织范型(按改变工作方式所产生的结果)(Larry Constantine 1993) 封闭型(CLOSED) 按传统的责任层次体系,在这样的体系中,决策总是由上级作出追求稳定和持续发展; 开发型(OPEN) 其主要特征为:具有创新的稳定发展,个人服从集体的利益,有合作、有弹性; 随意型(RANDOM) 其创新有团体成员表现之;企业在个人的创意中自发的改变;成员可能是有创造性的、有活力的,但决策是个人自发的行为; 同步型(SYNCHRONOUS) 个人目标和企业目标是一直的,不欢迎不一致的行为发生;组织成员在角色、责任分工上是很默契的。 注:这仅仅是一种分类,说明不同的改进技术可能在不同的环境中会得到成功,而不是说明一种文化比其它的文化好。,封闭型(CLOSED) 开发型(OPEN) Hierarchical innovative To

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号