面向企业的软件研发管理解决方案

上传人:ji****n 文档编号:54551587 上传时间:2018-09-14 格式:PPT 页数:36 大小:1,013KB
返回 下载 相关 举报
面向企业的软件研发管理解决方案_第1页
第1页 / 共36页
面向企业的软件研发管理解决方案_第2页
第2页 / 共36页
面向企业的软件研发管理解决方案_第3页
第3页 / 共36页
面向企业的软件研发管理解决方案_第4页
第4页 / 共36页
面向企业的软件研发管理解决方案_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《面向企业的软件研发管理解决方案》由会员分享,可在线阅读,更多相关《面向企业的软件研发管理解决方案(36页珍藏版)》请在金锄头文库上搜索。

1、http:/ ,上 海 漫 索 计 算 机 科 技 有 限 公 司,面向企业的软件研发管理解决方案 常见问题分析 基础方法论介绍 整体解决方案,林 锐 博士,目录,1. 企业研发管理的理念 2. 常见问题分析 3. 中型企业的研发管理需求 4. 基础方法论介绍CMM 5. 基础方法论介绍 PMBOK 6. 基础方法论介绍敏捷开发 7. 基础方法论介绍 RUP 8. 漫索公司的软件研发管理解决方案 9. 基于Web的集成化软件研发管理系统 Future2.0 介绍 10. 相关著作,1. 企业研发管理的理念,1.1 目标 企业的根本目标是“合法地赚取尽可能多的利润,使企业利益最大化”。企业所有的

2、特定目标和行动都是围绕根本目标开展的。根本目标进一步决定了企业研发管理的目标和策略。 企业研发管理的基本目标是:让所有人员有条不紊地开展工作,在预定的时间和成本之内,开发完成质量合格的产品,从而使企业和个人获得预定的利益。 企业研发管理的奋斗目标是:调动一切积极因素,努力提高产品质量、提高工作效率并且降低成本,使企业和个人获得比预定目标更多的利益。 1.2 质量、进度(时间)、成本 “质量、进度(时间)、成本”通常是衡量企业研发管理“优劣”的三个关键指标。不同的企业,甚至同一企业在不同时期,对三者的重要性看法是不一样的。 如果出现“三者难以同时兼得”的情况,那么产品的决策者一定要搞清楚质量、进

3、度(时间)、成本之间的复杂关系,判断孰重孰轻,给出优化和折衷的措施。 1.3 规范化 vs. 超越规范化 在企业里,大部分的工作是成熟的,有成功的模式可以套用,应当走规范化的路线;而另外小部分的工作可能是独特的,并不适宜套用规范(也可能没有规范可以套用),那么应当采用超越规范化的管理方式。通常前者约占80%,而后者约占20%,2.1 常见问题分析:立项管理,2.1.1 自主研发产品的立项问题 拥有决策权的领导人独自决定,或者招集有关人员开会商议是否开发某个产品。决策过程中的主观臆断比较多,风险很高。如果决策错误,即使人们努力开发出功能很好的产品,却可能在商业上失败。 由于没有进行充分必要的调研

4、、可行性分析、立项建议、立项评审等工作,企业领导在组建开发团队时难以给出恰当的资源和进度计划。团队只知道干活,却不了解产品的开发背景,不清楚用户期望的产品应该是什么样的。在开发过程中经常迷失方向,导致进度延误、费用超支等问题。 2.1.2 合同项目的立项问题委托方(客户方)和承包方(开发方)在签订合同的时候,双方对软件需求的了解并不深入,合同中对“开发什么”的描述比较空洞。合同签订之后,客户经常变更需求,开发方被迫不断修改软件,弄得疲惫不堪。夸张地概括:除了合同金额不变,其它一切都可能改变。刚签订合同时开发方似乎赚钱了,后头却可能得不偿失。 双方在签订合同的过程中给出了一些空头承诺(例如对进度

5、、质量、费用的估计过于乐观),在实际执行时却难以兑现这些承诺。处理不好将引发合同纠纷,轻则双方提前终止合同,重则双方反目成仇。 2.1.3 建议 创建一种群体决策的立项管理规范,不仅让群众贡献智慧,而且让群众分担责任,使成功的经验被企业不断复用,并升华成为企业的制度。,2.2 常见问题分析: 结项管理,2.2.1 共性问题 某些项目由于进度拖延,不能按计划结项;某些项目即使开发完成了,由于利益关系也不愿结项。这些“不良”项目或者已经完成的项目一直占用企业资源(如人力资源和设备),无疑违背企业利益最大化的目标。 在结项时,人们往往对财务和设备进行了详细的清算,却忽视了对知识财富、经验教训的总结。

6、殊不知设备越用越差,但是知识财富越用越好,可谓主次颠倒。 没有对项目的价值进行评估,开发人员干完活后,不知道自己的工作成果产生多大的效益,缺乏成就感。 结项后,不能对员工的业绩进行公正考核,自然不能很好地激励员工。 合同软件项目在结项之前,还面临“客户验收”的一些问题。例如缺乏双方认同的“验收标准”,导致验收过程混乱,过多地消耗双方的精力。 2.2.2 建议 首要措施是建立企业的“结项管理规范”和“验收与发布”规范。 自主研发的软件产品在结项之前,公司内部要进行类似的“验收”,防止不良项目蒙混过关。,2.3 常见问题分析:项目规划,2.3.1 共性问题 在项目刚开始阶段,人们对产品需求和技术的

7、了解还比较肤浅,项目不确定因素比较多,此时很难对工作量和进度作出比较准确的估算。软件工程教科书和CMM推荐的COCOMO模型、代码行估算方法等等,对大多数国内项目无法适用,效果如同“电脑算命”。由此制定的项目计划可能不切实际,后面经常发生项目计划的变更(所以业界流传“计划快不如变化快”),将导致项目管理的复杂性和风险提高。 项目的人员已经被上级领导限定死了,再多的活也是那几个人干;项目的结束日期早就被领导和客户指定了,不管合理不合理,反正时间一到就要交付软件;除了办公计算机和工资外,这个项目没有其它经费,项目经理只有干活的权利没有用钱的权利。如果人员、资金、时间都已经被毫无道理地指定了,那么项

8、目规划就失去意义,这样的项目在国内非常普遍。 2.3.2 建议 建立企业的“项目规划规范”,给出合适的项目估算方法和项目计划模板。 使用方便的软件工具,帮助项目经理进行项目规划。,2.4 常见问题分析:项目监控,2.4.1 共性问题 许多项目经理肩负重要的软件开发工作,他们往往把注意力集中在开发上面,很少认真考虑如何进行项目监控 。 没有突出项目监控的重点,项目经理要么什么都不监控(导致项目失控),要么监控得太多而陷入琐碎事务中。 项目经理写周期性项目进展报告时,记流水帐,或者复制上次的报告,应付了事。懒得动脑筋分析项目遇到的一些问题,例如某些任务的进度延误了,不分析为什么延误了,就顺延。导致

9、问题越积越多。 项目实际执行情况与原定的项目计划严重脱节,领导、客户、市场人员、开发团队不了解项目真正的状况,使项目计划行同虚设。 2.4.2 建议 建立企业的“项目监控规范”,使用方便的软件工具,帮助项目经理进行项目监控。 上级领导和相关人员每周都要检查项目的监控要素,及时发现问题,及时解决问题,既要关心结果也要关心过程。,2.5 常见问题分析:配置管理和变更管理,2.5.1 共性问题 有些软件机构竟然不使用软件配置管理工具,用最原始的方式手工管理代码和文档,经常出现“成果丢失、版本混乱”等问题。 不少机构按照的CMM的要求制定了配置管理规范。该规范在理论上比较完善,面面俱到,但是实际操作比

10、较麻烦,没有突出重点。久而久之,人们厌烦后就逐渐放弃了规范,按自己的习惯操作,留下了隐患。例如不少程序被 checkout 后长久没有 checkin;有些程序保留在开发者本机,根本就没有放入配置库。 维护期间修改了程序,但是没有放入配置库。 没有变更控制流程,经常随意变更需求、设计、代码等,严重影响项目的正常开发进程。 2.5.2 建议 建立简单有效的“配置管理规范”和“变更管理规范”。 并使用方便的工具,帮助团队进行软件配置管理和变更管理。,2.6 常见问题分析:质量管理,2.6.1 共性问题 虽然人们大都认可软件的质量很重要,但是许多软件人员并不懂得如何有效地改善软件质量属性如正确性、健

11、壮性、可靠性、性能、易用性、安全性、可扩展性、可复用性、兼容性、可移植性等等。不会分析当前软件的质量要素是什么,没有把精力集中在改善对经济效益贡献最大的质量要素上面。 有些软件机构没有软件质量管理的措施,开发人员把完成功能当成终极目标。用户在使用软件的过程中发现许多Bug,导致开发方的纠错性维护代价很高。 有些软件机构虽然很重视软件质量,按照ISO,CMM 的要求建立了管理规范,但是效果不明显。人们搞不清楚软件测试、技术评审、质量保证的作用和关系。不懂得内建质量,主要靠修补错误的方式提升质量,代价比较高。 很多人误以为提高软件质量是质量保证人员和测试人员的责任,没有意识到任何开发人员、管理人员

12、都会对质量产生影响,都要对质量负责。另外,质量保证人员的权力比较小,很难推动质量改进措施。 2.6.2 建议 让人们理解“什么是软件质量”及常见的软件质量属性,树立全面软件质量管理的理念(模型),制定软件测试、技术评审、质量保证的规范。 并使用方便的工具,帮助团队进行软件质量管理。,2.7 常见问题分析:需求开发与管理,2.7.1 共性问题 对于大部分软件机构而言,需求开发与需求管理是问题最多、最难解决的过程域。 软件机构中,通晓需求调查、需求分析、需求定义、需求评审、需求跟踪、需求变更控制的人员本来就比较少,也不容易招聘和培养这样的人才。 用户说不清楚需求、用户经常变更需求是普遍现象,令开发

13、方非常头痛。 开发人员不善于写文档,很难写出清楚、完整的软件需求规格说明书。后续开发人员可能误解需求,做出与需求不一致的设计、代码、测试用例等等,最后不得不大量返工重做。 最难办的事情是莫过于“拒绝客户提出的需求变更请求”。客户会想当然地以为变更需求是他的权利,因为他付钱给开发方。通常情况下开发方是不敢得罪客户的,但是无原则地退让将使开发小组陷入困境。 2.7.2 建议 建立“需求开发与管理规范”,给出合适的文档模板,采用方便的需求分析和管理工具。 还要多请有经验的人来培训、传授实战经验。 制定应对需求变更的办法,例如:(1)双方签订需求变更管理协议;(2)将重大需求变更延缓到下个软件版本中实

14、现;(3)让客户欠下人情。,2.8 常见问题分析:软件设计,2.8.1 共性问题 对于大部分软件机构而言,用户界面设计是弱项。国内绝大多数大学的计算机学科没有开设人机工程学、美学、心理学这些必修课。由于学生们接受的教育几乎全是科学与技术,他们根本不知道怎样才能设计出易用、美观的用户界面,很多人甚至想都没有想过。当他们毕业后真正参与软件产品开发时,只好凭着个人的经验与感觉设计软件的用户界面,这样产生的界面往往得不到大众用户的认可。 大部分软件机构都有一些技术出色的软件人员,他们在系统构架、数据库方面的设计能力相当不错。但是很多人不愿意、不善于写系统设计报告,这不利于后续的软件开发和维护。 软件设

15、计应当“细到什么程度”很难把握。太粗了的话,对后续开发工作的指导价值不高;反之倘若太细的话,耗费时间就比较多,如果后面不断改进设计的话,前面的设计浪费太多。 2.8.2 建议 建立“软件设计规范”,给出合适的文档模板,采用方便的设计工具。 还要多请有经验的人来培训、传授实战经验。,2.9 常见问题分析:编程与调试,2.9.1 共性问题 软件机构的大部分程序员的技能是合格的,但是他们编写的程序风格差异较大,代码质量有高有低。大多数软件机构没有编程规范,即使有的话,开发人员也没有很好地按规范编程。 相当多的程序员没有养成对所有代码进行“单步跟踪调试”的习惯。 嫌单元测试很麻烦,懒得执行,却没有替代

16、方案。 2.9.2 建议 制定简单明了、重点突出的“编程规范”,让团队遵照此规范编写程序。 采用集成化的开发调试工具,提高编程质量和效率。,2.10 常见问题分析:软件测试,2.10.1 共性问题 许多软件人员没有系统地学习过软件测试,搞不清楚各种测试的概念,例如单元测试、集成测试、验收测试、黑盒测试、白盒测试、功能测试、性能测试等等,混为一谈,不知如何下手。 测试人员没有掌握有效测试的方法,大多凭感觉测试,结果重复测试已经测试过的,那些深藏的bug却发现不了。客户在使用软件的过程中发现的bug比公司内部测试时发现的还多,不仅改错代价高,而且降低了客户对产品的满意度。 团队没有采用有效的缺陷跟踪工具。测试人员发现bug时,口头告知有关人员或者记在Word、Excel文件中,修改bug信息或者测试报告时非常麻烦。难以及时从bug列表中找出规律,测试的效率比较低。 2.9.2 建议 建立“软件测试规范”,采用方便的测试管理工具。 还要多请有经验的人来培训、传授实战经验。,

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

当前位置:首页 > 中学教育 > 初中教育

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