《软件过程改进与敏捷方法》由会员分享,可在线阅读,更多相关《软件过程改进与敏捷方法(25页珍藏版)》请在金锄头文库上搜索。
1、上海计算机软件技术开发中心上海市计算机软件评测重点实验室 敏捷之旅上海软件过程改进与敏捷方法 杨根兴 博士/研究员/博导 上海市软件行业协会 秘书长 华东理工大学、上海交通大学 教 授 中国软件测评机构联盟 常务副理事长 上海市计算机软件评测重点实验室 学术委员会主任(上海计算机软件技术开发中心)2010年11月13日863软件专业孵化器(上海)基地 联航路1588号, 业务受理:钦州路100号1号楼702室 热线电话:02164511296,网站:WWW.SSTL.ORG.CN上海计算机软件技术开发中心上海市计算机软件评测重点实验室 上海市计算机软件评测重点实验室(SSTL) (WWW.SS
2、TL.ORG.CN)软件产品 评测系统评测 与调优网络测试国家标准 制订质量体系 咨询质量测试 培训测试与QA 外包专业 能力软 件 生 命 周 期需求设计开发测试运维QA 外包、测试服务SQA驻场服务 CMMI咨询服务需求管理、产品评审 功能审计、节点控制性能测试调优 系统健康检查质量保证平台项目监控平台测试管理平台有经验的专业团队产品评测系统测试QA咨询 外包服务 评测管理2上海计算机软件技术开发中心上海市计算机软件评测重点实验室 上海市计算机软件评测重点实验室(SSTL) (WWW.SSTL.ORG.CN)3上海计算机软件技术开发中心上海市计算机软件评测重点实验室 上海市计算机软件评测重
3、点实验室(SSTL) (WWW.SSTL.ORG.CN)n为信息系统高效、稳定、健康上线运行保驾护航!n质量保证与测试的成功案例:n上海证券交易系统3GSS项目质量保证n农行上海分行质量体系建设咨询n中国大地财产保险:系统测试与咨询n上海世博会票务系统测试n上海市公安局系统测试n上海电力系统测试n4上海计算机软件技术开发中心上海市计算机软件评测重点实验室 报告内容n1.软件过程模型面临的挑战n2.软件过程的线性与非线性 n3.软件过程与文化背景 n4.软件开发的主体是人 n5.过程改进与敏捷方法5上海计算机软件技术开发中心上海市计算机软件评测重点实验室 1.软件过程模型面临的挑战n随着软件“时
4、间、成本、交付”的压力,不少软件 企业的过程体系流于形式,即使有了一大堆规范 也很少参照,软件质量问题依旧存在。究其原因 ,有以下方面: n软件的交付期越来越短;n软件的规模越来越大;n软件需求的不确定性已成为现实;n软件的变更越来越多且越来越频;n软件企业的成本压力越来越大。6上海计算机软件技术开发中心上海市计算机软件评测重点实验室 2.软件过程的线性与非线性软 件 生 命 周 期需求设计开发测试运维计划 评审需求 评审设计 评审节点 控制交付物 评审功能 审计UAT 测试单元 测试集成 测试系统 测试UAT 测试场景 测试建立长效机制:依据规范、建立一套体系,如:CMMI3过程测试体系7上
5、海计算机软件技术开发中心上海市计算机软件评测重点实验室 瀑布型8上海计算机软件技术开发中心上海市计算机软件评测重点实验室 软件开发V模型用户需求获取需求描述需求分析需求规约设计设计规约详细设计模块设计书编程程序单元测试已测试模块集成已集成软件集成测试软件确认测试已确认软件运行测试软件产品评审评审评审评审静态 检查评审评审评审评审测试案例 集成计划 建立文档9上海计算机软件技术开发中心上海市计算机软件评测重点实验室 增量型(Incremental)n构造一系列可执行的中间版本 (Version by Version) 10上海计算机软件技术开发中心上海市计算机软件评测重点实验室 螺旋型11上海计
6、算机软件技术开发中心上海市计算机软件评测重点实验室 Agile LifecycleInitiate projectProduct vision Project goals, constraints Coarse-grain requirements Coarse-grain estimates Iteration & release plans . . Release 1.4. . Release 1.3. Release 1.2. Rel 1.1ProductionProject Status2 - 6 weeksDeliver product incrementsProduction-qu
7、ality product12上海计算机软件技术开发中心上海市计算机软件评测重点实验室 2.软件过程的线性与非线性n软件企业不是从主观上排斥已建立的过程体系,而是从客观 上无法遵循。因为,软件过程实际上是一种非线性过程,需 要一种适应双向多次交流、多轨并行、实时迭代的过程模型 。n特别是软件服务化的趋势明显,有三个方面值得我们关注: n一是软件与硬件的融合n二是软件与服务的融合 n三是软件与网络的融合 n软件的开发已不再是一个单纯的软件问题,而是一个融合产 品、服务产品的开发问题,对软件过程模型提出了挑战。 13上海计算机软件技术开发中心上海市计算机软件评测重点实验室 2.软件过程的线性与非线
8、性规划分析设计实施运行变更时间维知识维逻辑维明 确 问 题选 择 目 标系 统 综 合系 统 分 析优 化 评 价系 统 决 策系 统 实 施基本技能专业基础标准规范文档模板技术工具模型方法霍尔的三维方法论14上海计算机软件技术开发中心上海市计算机软件评测重点实验室 3.软件过程与文化背景n目前,软件工程的过程模型基本上是从欧美引 进的,也增加了不少日本的元素,其文化背景 是明显的。因此,过程模型的引入相对容易, 但文化的引入实为困难。 n有一次接待台南软件代表团时,谈到CMMI对 中国文化的适应性问题,我提出了一个 Chinese CMMI(CCMMI)的观点,得到台 南软件代表团同胞的一致
9、响应,可谓同根同祖 、血脉相通。 15上海计算机软件技术开发中心上海市计算机软件评测重点实验室 3.软件过程与文化背景n欧美的文化从本质上讲,是一种“责任认同”文 化,有规程就应该遵循。日本文化从本质上看 ,是一种长官意志,部下只能回答“是”,实质 上也是一种“责任认同”文化。n中国的文化,在文革前是提倡孔子的“克己复 礼”,文革中是“最高指示”,改革开放后各种 文化并存,更多体现了一种“个性”文化,目前 正在倡导“和谐”和“包容性”文化。n不同的文化背景应该产生不同的软件工程的过 程模型。这也是不能照搬照抄、引进消化再创 新的道理。 16上海计算机软件技术开发中心上海市计算机软件评测重点实验
10、室 4.软件开发的主体是人n软件开发的主体是人,而不是过程。试图把软件开发 工程师作为制造业生产线上的工人进行管理,是一种 极大的认识错误。导致过程执行的心理障碍。n软件开发是一项高智力的劳动,靠软件开发的人去完 成。而人的思想丰富,其行为具有不确定性,办事很 难保持一致,善于从实例中学习工作。n过程体系规定的是一种刻板的过程,需要人去遵循; 遵循的不好,需要不断地强化评审和检查,从而增加 了软件的成本。n充分发挥人的创造性和协作精神,加强沟通的条件和 建立有效的沟通机制,是我们需要关注的,而不是一 味地加强“监管”措施。17上海计算机软件技术开发中心上海市计算机软件评测重点实验室 5.过程改
11、进与敏捷方法n5.1沟通n软件开发是个人智慧的产物,更是团队合作的 成果。人的思维具有跳跃性和非线性特征,团 队中的沟通成为项目成败的关键因素。沟通除 了个人的主动性外,更需要沟通的环境、机会 、频度、共同理解的语言符号、机制等条件的 建立。 n这实际上是敏捷方法中的Daily Stand-Up Meetings的含义。 18上海计算机软件技术开发中心上海市计算机软件评测重点实验室 5.过程改进与敏捷方法n5.2 需求 n需求沟通 :引导、导读、例会、DEMO等n需求变更:n敏捷方法是规避需求变更风险的好方法;n项目开始时就应进行需求变更风险的评估;n项目中发生变更。首先要判断此变更的提出者是
12、 否是客户的权威要求,再判断此变更是否超出项 目的范围,然后再走变更流程。 19上海计算机软件技术开发中心上海市计算机软件评测重点实验室 5.过程改进与敏捷方法n5.3文档编写 n代码的文档化。一本规范的编码手册,是有 经验软件企业的标志。 n变文档编写为文档改写。文档的编制不仅要 有模板框架,而更有用的是案例模板。 20上海计算机软件技术开发中心上海市计算机软件评测重点实验室 5.过程改进与敏捷方法n5.4文档与设计的一致性文档与设计的一致性追溯矩阵 需求 No一级级 需求二级级 需求三级级 需求设计设计 文档 : 章、节节、段源代码标识码标识 : 子系统统、单单 元测试测试 用例:No变变
13、更 标标志修订订 标标志12-21上海计算机软件技术开发中心上海市计算机软件评测重点实验室 5.过程改进与敏捷方法n5.5评审n软件评审作为软件质量的一种有效的监督检查 手段,评审的目的是找出开发成果物中的缺陷 ,但评审又是最费时间成本的。软件工程的专 家提出了诸如 “审查”、“ 结对编程”、“ 小组评审”、“ 同行桌面检查”、“ 传阅” 、“ 轮换评审”、“走查”、“同行评审” 和“临时评审”等许多方法。 n在敏捷方法的一个开发周期中应提倡“同行评 审”和“临时评审”,一个小版本发布时可采 用团队的“小组评审”,以降低评审的成本。 22上海计算机软件技术开发中心上海市计算机软件评测重点实验室
14、 5.过程改进与敏捷方法n5.6知识共享n团队中、企业中实现知识共享是企业成熟的表现, 软件企业最有价值的是知识的积累。知识共享是一 种文化,企业应该营造知识共享的氛围和推进机制 。 n目前,大部分企业仅把基线文档入库,作为配置管 理的手段。这是远远不够的。其实,知识的片断有 时显得更为重要、更为有用与实用。 n人是最容易在反面教材中获得教育的。因此,建立 缺陷知识库十分重要。 23上海计算机软件技术开发中心上海市计算机软件评测重点实验室 银弹?! 全靠实践! 在实践中创新!结语:24上海计算机软件技术开发中心上海市计算机软件评测重点实验室 请批评、指正! 谢谢各位!杨根兴,,1391630446325